реклама на сайте
подробности

 
 
> Управление полумостом выходами таймера, сквозной ток
smk
сообщение Dec 31 2009, 12:43
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Есть такой код инициализации таймера в Mega48:
Код
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0; //setup
TCNT1L = 0;
OCR1AH = 0x03;
OCR1AL = 0x6D;
OCR1BH = 0;
OCR1BL = 1;
ICR1H  = 0x03;
ICR1L  = 0x6D;
TCCR1A = 0x50;
TCCR1B = 0x19; //start Time
}

Таймер инвертрует свои выходы при совпадении. Смысл - переключать плечи полумоста выходами таймера. Полумост незначительной мощности (2 Вт). Собственно вопрос в том как отследить сам момент переключения и посмотреть на предмет сквозного тока. Драйвер не советовать - питание 2 В, а они от 10 В. Можно ли как-то в студии посмотреть состояния выходов после каждого тактового тика? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
oran-be
сообщение Jan 20 2010, 12:30
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



У выходов ШИМ в АВР есть косяк - если записать в регистр сравнения 0, то на выходе ШИМ все равно будут присутствовать короткие импульсы, что приводит к появлению сквозного тока в мосту (полумосту). Поэтому надо отслеживать софтово 0 в регистре сравнения и в этом случае переконфигурировать пин тупо на вывод. Косяк был обнаружен мною при разработке однфазного инвертора на асинхронный двигатель на Меге8 после того, как "ушли" 2 пары полевиков. После написания патча девайс начал работать, как задумывалось.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 14:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016