01.12.2011, 21:27 | #142 |
Администратор
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10 |
Tema0, Ничего страшного не произойдёт, если не будет этой привязки фронтов. Если используется аппаратный ШИМ таймера, то у него мы не можем влиять на эти фронты. Мы просто записываем в OCR-регистр соответствующего таймера нужное нам число, и оно будет определять скважность. Сейчас я использую таймер 0, у него 8-битный шим и два OCR регистра. OCR0A и OCR0B. Если в первый из них запишем 1 , а во второй - 254, то на первом выходе будет тонкая иголочка в 1/255 периода ШИМа, а во втором будет широкий импульс в 254/255 от полного периода ШИМа, но начинаться они могут только одновременно. Можно пробовать с одного канала брать прямой сигнал, а со второго - инверсный. Тогда получим, что если в первом канале импульс кончился, то во втором - начался. И о взаимной синхронизации снова не нужно думать.
|
02.12.2011, 11:00 | #143 |
VIP
|
Привязка фронтов конечно может и не быть, только задача в любом случае заключается в том, чтобы управляющие импульсы ШИМ на двух каналах не накладывались по времени иначе основная идея разделения энергии нарушится
в общем виде получается такая схема управления ключами. соответственно t1 - ширина общего импульса полученного по твоему алгоритму назовем его временем утилизации... т2 - импульс с первого канала ШИМ (зарядного) t3 - импульс второго канала ШИМ (балластного) ведущим является импульс t2. его ширина определяется потребность модуля заряда АКБ он может занимать от 0 до 100% от общего времени утилизации t1 импульс t3 - это разница времени t1-t2 в общем то понятно что процесс заряда АКБ в пределах большого количества периодов ШИМ практически не изменится... по этому основную логику твоего алгоритма нужно будет осуществлять вариацией времени t3 |
02.12.2011, 11:11 | #144 |
VIP
|
и я честно говоря не вижу возможности инверсией по второму каналу решить задачу привязки импульса t3
по идее самый простой способ такой канал ШИМ1 - формирует импульс утилизации t1 канал ШИМ2 - формирует инверсный импульс заряда АКБ t2 а импульс t3 получаем на элементе 2И из импульсов t1 и инверсного t2 тут же можно сформировать и защитный интервал. и получится что вся твоя программулина останется без изменений. вычитание времени сделаем снаружи. и добавим только программный модуль управления зарядом АКБ Последний раз редактировалось Tema0; 02.12.2011 в 11:35. |
02.12.2011, 18:49 | #145 | |
Администратор
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10 |
Цитата:
Фактически, нам нужно поставить условие системе, что Pwm1+Pwm2+.....+PwmN=Const. Тогда она будет сама перераспределять энергию и делать это правильно. Аналогичным образом использует ШИМ Sercat. Он не стал синхронизировать каналы и всё отлично работает на двух ветряках. Я предлагаю делать с самого начала максимально просто. Пусть система заработает. Тогда станет видно, что нужно сделать ещё. Такие вот мысли... Последний раз редактировалось Александр; 02.12.2011 в 19:54. |
|
03.12.2011, 19:05 | #146 |
новичок
Регистрация: 04.10.2011
Адрес: Новосибирск
Сообщений: 51
Вес репутации: 13 |
Александр, позволю себе по этому поводу поднять свой флаг Это не то же самое, что я предлагал, контролировать выходной ток с преобразователя стабилизируя напряжение?
|
03.12.2011, 21:53 | #147 |
VIP
|
Дмитрий 31, А это пока совсем другой алгоритм отлаживается, Александр пока отлаживает алгоритм загона винта в оптимальный для текущей скорости ветра режим работы.
и пока сливает все в балластную нагрузку. Александр, про фронты каналов шим я понял. просто разброс фронтов по времени более понятен для меня на этом этапе |
03.12.2011, 23:18 | #148 |
Администратор
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10 |
Дмитрий 31,
Да, Tema0 уже ответил. Tema0, по разбросу фронтов можно, я думаю, не особо заморачиваться. Ни у нас переключаются с частотой 7 кГц, поэтому мы можем о них вообще не думать, а делать всё в одно и то же время. Так оно и проще, кстати. |