Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

И снова ШИМ

Непрочитано 03.03.2012, 23:46  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Но я как бы хотел, что бы лишнее падение ныпряжение переходило именно на полевик а точней его нагрев не применяя сопротивления.
MisterDi я с тобой вполне согласен и опыт это бесценное качество каждого из нас.

Мир сейчас стал совсем жестоким и напрямую связанный с деньгами. И многие люди считают, что если он поделиться опытом, то кто то за счет его опыта сколотит себе состояние, я с этим не согласен, и сам если нужно помогаю людям.
Но мир не без добрых людей и я всех благодарю за помощь, над реализацией моего шедевра !!!!!!!!!
Про сторожевой таймер я читал и по моему он просто выставлялся в фузах МК или я ошибаюсь ? Я опять повторюсь что с МК знаком месяц и наверное для сторожевого тайменя существует какое либо прерывание но с этим я думаю в дальнейшем разобраться!

Буду использовать питание 5в так как сам МК на 5 да и лампы чуть ниже 5в так 5в мне с головой.
Реклама:
SAHA_T вне форума  
Непрочитано 03.03.2012, 23:50  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Но я только сейчас вспомнил что МК не может на выходе дать меньше чем 5в и пинцип шим заключается в скорости открытия этой 1 или 0 но в любом случае на выходе будет 5в или 0в, это я как то пропустил
SAHA_T вне форума  
Непрочитано 03.03.2012, 23:53  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
Но я как бы хотел, что бы лишнее падение ныпряжение переходило именно на полевик а точней его нагрев не применяя сопротивления.
Ик ... мосфет в ШИМ работает ключом , а не как вы думаете . Падение напряжения в открытом состоянии крайне мало .
И все таки погадаю.

Это подсветка приборной панели ?
И уже готовая ?
Что мешает яркие светодиоды с рассеивателем поставить ?
Или отрезки светодиодной ленты ?
И рулить ими ШИМ через ключи ?
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 03.03.2012 в 23:57.
dosikus вне форума  
Сказали "Спасибо" dosikus
SAHA_T (04.03.2012)
Непрочитано 04.03.2012, 00:12  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Лады расскажу секрет!
Решил родителям сделать подарок.
Они стоят на рынке и я хочу сделать электронного табло *Добро подаловать !* только с готовыми буквами буквы уже сделал и накидал диоды. Доды соединены параллельно. Каждая буква имеет разное количество светодиодов т.е как я писал ранее и эти фразы были непонятны многим на каждую букву мне нужно ставить определенное сопротивление в зависимости от тока потребления т.е ток для каждого светодиода я брал примерно 10-15мл т.е 40 светодиодов в 1 букве это 600мл и сопротивление примерно 8ом
Некоторые буквы состояли всего ил 10 светодиодов т.е там сопротивление нужно по больше до 18 ом.
И заодно хотел сделать что бы эти буквы по очереди зажигались и гасли в случайном порядке но это мелочи но также я хотел сделать что бы эти буквы зажигались плавно и гасли плавно.
Вот и поэтому я подумал что Шим можно применить для 1 буквы но как же применить шим для 15 букв.
И это просто подарок для родителей, за вес что они мне дали!!!!!!!!!
Но я хотел что бы это осталось секретом

Теперь хотел бы выслушать ваше мнение как мне это лучше реализовать!!!

Еще раз спасибо всем людям которые отозвались !

Сейчас я понял что баластные сопротивления придется все равно ставить как не крути.
В моей ситуации как мне лучше сделать ?
SAHA_T вне форума  
Непрочитано 04.03.2012, 00:18  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Ёёёёёёёё . Ну нельзя было сразу все расписать ?
1. каждый диод один фиг через резистор токо_ограничивающий .
2. Делайте ШИМ софтовый или BAM , что я дал или Стас.
3. Управляя ШИМ(BAM) по таблице эффектов , в ней учтете как и яркость групп ( для букв) так и ваши световые эффекты .
И я так понял - 15 ШИМ , один на букву ? А восклицательный знак ? Итого 16 .
Без помощи месяц писать будете ...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 04.03.2012 в 00:24.
dosikus вне форума  
Эти 2 пользователя(ей) сказали Спасибо dosikus за это сообщение:
leartis (04.03.2012), SAHA_T (04.03.2012)
Непрочитано 04.03.2012, 00:28  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Короче - таблица яркостей : 16 байт Х на количество световых эффектов.
256 градаций яркости . ‹- И то слишком много.
Продумывайте скорость смены эффектов . От этого будет зависит размер таблицы.
Хотя можно и не жестко забивать эффекты , а рассчитывать их по ходу .

Гы ... Я счас подобным занимаюсь . Но на PIC.
Ни чего там страшного нет . ШИМ софтовый однозначно. Частота ШИМ ~ 100 ГЦ, период 10 мс.
Этот период делим на желаемое число градаций , получаем период прерывания.
В прерывании по таймеру выводим ШИМ из буфера сразу на два порта . В основном цикле через промежутки равные скорости световых эффектов кидаем данные в буфер...

С BAM немного сложней с перекодировкой в буфер , зато меньше долбить таймеру....
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 04.03.2012 в 00:43.
dosikus вне форума  
Сказали "Спасибо" dosikus
SAHA_T (04.03.2012)
Непрочитано 04.03.2012, 00:31  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Не очень хотелось рассказывать ну да ладно
Наверное если сам то писать буду больше чем месяц.

Я смотрел ссылки http://bsvi.ru/bam-alternativa-shimu/
http://www.batsocks.co.uk/readme/p_art_bcm.htm
http://blindage.org/?p=3772

Я понял принцип работы BAM (Binary Angle Modulation) http://bsvi.ru/bam-alternativa-shimu/.
Теперь мне нужно его реализовать.
На мой взгляд http://blindage.org/?p=3772 по проще чем http://www.batsocks.co.uk/readme/p_art_bcm.htm

Но у меня есть некоторые вопросы по исходнику
SAHA_T вне форума  
Непрочитано 04.03.2012, 00:35  
leartis
Частый гость
 
Регистрация: 04.10.2007
Адрес: Запорожье
Сообщений: 43
Сказал спасибо: 8
Сказали Спасибо 14 раз(а) в 13 сообщении(ях)
leartis на пути к лучшему
По умолчанию Re: И снова ШИМ

Фуух.. Наконец-то. Совершенно согласен с уважаемым dosikus по всем пунктам, особенно с п.1. Быстрее, наверное, будет наваять ШИМ. Где-то у меня в закромах есть программка на 18 каналов, если хотите, поищу. Хотя ВАМ, конечно, интересней, но головоморочней (недавно делал на нем проект, поэтому еще свежо )
leartis вне форума  
Сказали "Спасибо" leartis
SAHA_T (04.03.2012)
Непрочитано 04.03.2012, 00:48  
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Я сейчас много раз прочитал то что вы написали *Частота ШИМ ~ 100 ГЦ, период 10 мс.Этот период делим на желаемое число градаций , получаем период прерывания.
В прерывании по таймеру выводим ШИМ из буфера сразу на два порта . В основном цикле через промежутки равные скорости световых эффектов кидаем данные в буфер...*
Но я повторюсь что с МК знаком очень мало и на примере было бы как то проще

давайте я скину пример для того что бы разобрать его на запчасти

Прежде всего нужно инициализировать таймер:

void init_timer()
{
TCCR1A = (0 ‹‹ WGM10) | (0 ‹‹ WGM11);
TCCR1B = (0 ‹‹ CS12) | (1 ‹‹ CS11) | (1 ‹‹ CS10) | (1 ‹‹ WGM12) | (0 ‹‹ WGM13);
OCR1A = 128;
TIMSK |= _BV(OCIE1A);
sei();
}
Обработчик таймера должен выглядеть примерно так:

static volatile uint8_t arr_value = 128,
led_value = 0,
led_value_bit = 0;

ISR(TIMER1_COMPA_vect)
{
// изменение задержки
OCR1A = (uint16_t) arr_value;
arr_value = arr_value / 2;

// проверяем первый бит яркости
if (led_value & 0x80)
LED_PORT &= ~LED_BIT; // 0 - выкл диод
else
LED_PORT |= LED_BIT; // 1 - вкл диод

led_value ‹‹= 1; // сдвиг значения яркости на бит влево
led_value_bit++; // запоминаем текущий бит

// если посмотрели все 8 битов, то сбрасываемся и берем значение яркости заново
if (led_value_bit › 7) {
led_value = led_brightness;
led_value_bit = 0;
arr_value = 128;
}
}
А теперь основная программа

#include ‹avr/io.h›
#include ‹avr/delay.h›
#include ‹avr/interrupt.h›
#include ‹inttypes.h›

#define LED_PORT PORTB
#define LED_DDR DDRB
#define LED_BIT (1‹‹PB4)
#define LED_GREEN (1‹‹PB3)

void main()
{
LED_DDR |= LED_BIT | LED_GREEN;
init_timer();

while (1) {
_delay_ms(20);
LED_PORT ^= LED_GREEN; // моргаю зеленым. так, для красоты.
led_brightness = 1;
led_value = led_brightness; // делаем копию для прерывания

/*
//медленно изменяем яркость туда-сюда
if (led_direction › 0) { led_brightness++; } else { led_brightness--; }
if (led_brightness == 255) led_direction = 0;
if (led_brightness == 0) led_direction = 1;
*/
}
return 0;
}


leartis мне очень интересно взглянуть на твой проект но мне еще интересней разобраться самому и так как ты недавно это делал я буду благодарен если ты мне поможешь в данной задаче
SAHA_T вне форума  
Непрочитано 04.03.2012, 00:52  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: И снова ШИМ

Код:
  
static unsigned char Counter ;
      static unsigned char Data = 0;

PWM_PORT = Data;
        
      if((Counter++)›=PWM_MAX)Counter=0;      
      Data = 0;
        if (Counter ‹ PWM_val[0]) Data |= 0x01;
        if (Counter ‹ PWM_val[1]) Data |= 0x02;
        if (Counter ‹ PWM_val[2]) Data |= 0x04;
        if (Counter ‹ PWM_val[3]) Data |= 0x08;
        if (Counter ‹ PWM_val[4]) Data |= 0x10;
        if (Counter ‹ PWM_val[5]) Data |= 0x20;
        if (Counter ‹ PWM_val[6]) Data |= 0x40;
        if (Counter ‹ PWM_val[7]) Data |= 0x80;
Код исполняемый в прерывании . Пока для одного порта .
Counter - число градаций .
Причем если число градаций степень двойки , можно юзать такой счетчик :
Например число градаций 128 - 0b10000000.
Код:
 #define  PWM_MAX 0x7F // 0b01111111
  Counter++;
  Counter &= PWM_MAX;
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 04.03.2012 в 01:01.
dosikus вне форума  
Сказали "Спасибо" dosikus
SAHA_T (04.03.2012)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СНОВА ЖКИ Gladkih Микроконтроллеры, АЦП, память и т.д 0 27.12.2009 23:48
И снова блютуз! Haulpak Ремонт оргтехники 0 10.03.2009 05:06
Снова DNA1001 R666 Информация по радиокомпонентам 0 25.01.2008 16:39
И снова температура ua_gruzin Поиск схем. Делимся схемами 0 14.02.2007 01:18


Часовой пояс GMT +4, время: 20:35.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.