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

 
 
> Управление полумостом выходами таймера, сквозной ток
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
Ответов
smk
сообщение Dec 31 2009, 18:51
Сообщение #2


Гуру
******

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



Цитата
Попробуйте протеусом...


Я в него не верю. Как-то не производит впечатление серьезного продукта.

На счет идеи не совсем пойму как выбирались значения MIN и MAX и почему они менялись по ходу? Прниведенный код обрабатывался в прерывании или в каком месте?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Jan 1 2010, 00:25
Сообщение #3


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Как то однажды делал так, ЕМНИП при кварце 16Мгц плучалось около 200 кгц на выходе, естественно используются выходы таймера, удобно получилось и прерывания не надо обрабатывать.
Код
/*Используется для формирования сигналов управления для преобразователя*/
void TIMER1_INIT(void)
{
  TCCR1B=(1<<WGM13)|(1<<CS10);
  TCCR1A=(1<<COM1B0)|(1<<COM1B1)|(1<<COM1A1)|(1<<WGM11);
  OCR1BH=0x00;
  OCR1BL=0x14;
  OCR1AH=0x00;
  OCR1AL=0x10;
  ICR1H=0;
  ICR1L=0x24;
  TCNT1H=0;
  TCNT1L=0;
}


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post



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

 


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


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