Soir пише:
barbus пише:
Микроконтроллер Атмега 16, датчик тока ACS 758 хх-100, на 100А
С этим ясно. Хотя все должно поместиться и в ATMEGA8, но с 16-ой мне будет проще.
Остальные моменты (переполюсовка, защита от КЗ...), если они должны быть завязаны с программой микроконтроллера - пишите, каким образом следует их учесть в прошивке. Если нет, то определяйтесь без меня. Выдайте мне только готовую схему силовой части.
Теперь мне нужно подробное описание алгоритма работы программ. Желательно на конкретном примере. Пока из Вашего описания мне ничего непонятно.
Я думаю начать работу на мега 16 в последствии если поместится в мега 8 перейти будет не сложно.
- Защита от переполюсовки сделаем схемно и программно продублируем, если на выводе МК будет обратное напряжение то подача тока запретить.
- КЗ тоже схемно и программно понижать ток до приемлемого значения, программно можно реализовать так, если за 10 микросекунд ток резко возрастет до поставленного значения то считать это коротким замыканием и снижать ток.
Алгоритм зарядки таков так как у нас высокие токи то надо в первоначальной стадии ограничить ток и поднимать напряжение и ток постепенно во времени.
Зарядку разделена на две вида, по достижению напряжения и по окончанию цикла таймеров.
Пример аккумуляторы на 70 В 90А
Зарядка по напряжению.
Акк. разряжен до 50В(10В на батарею), ток на первой стадии от номинальной емкости 0.01C до достижения на батарее 57.5В (11.5В на батарее), потом постепенно поднять до 0.2C до достижения на батарее 62.5В (12.5в на батарее)потом снижать до 0.1С до достижения 67.5В(13.5В на батарее) потом зарядка идет на поддержание напряжения до 69 В (13.8В на батарее).
Возможность программно задавать пороговые напряжения и зарядный ток.
Контроль температур на Т1 ключах и Т2 батарей.
Т1 управления вентилятором охлаждения по ШИМ.
Т2 если превысил порог программно сделать паузу программы зарядки до снижения температуры батарей
Если напряжение достигло до 13.8 вольт пикать каждые 20 секунд
задать максимальное время для зарядки (скажем Т = 72 часа), отключить зарядку по истечению времени, индицируя на табло об этом
Зарядка по таймерам.
Алгоритм зарядки по 10 последовательный таймеров с возможностью задания напряжение и тока зарядки для каждого времени/
пример
в начальной стадии заряжаем 6 часов по 6 ампером, потом 20 часов по 20А и на последок 5 часов по 5 вампиров и так далее/
В этом режиме добавить в таймеры паузу, алгоритм паузы токов
скажем заряжаем певый этап 6 часов по 6 ампером подать одинчас 6А потом пауза 5 минут и дальше один час пауза 5 минут до оканчания 6 часов, второй этап 20 часов по 20А тоже с паузамы и на последок третый этап 5 часов по 5 вампиров тоже с паузамы
Если в таймере заданы время, ток и напряжение то включить в программу если из трех параметров один отсутствует таймер исключить из программы
Если до окончании остается 5 минут начинать пикать как в UPS-ах постепенно повышая до окончания.
Контроль температур на Т1 ключах и Т2 батарей.
Т1 управления вентилятором охлаждения по ШИМ.
Т2 если превысил порог программно сделать паузу программы зарядки до снижения температуры батарей
Во всех алгоритмах стабилизировать ток и напряжение контролировать температуру.
Возможность вкл/Откл пищалки, и задания времени оканчания (не болше 10минут) и парог напраяжения для пикания
Возможность в памяти сохранить несколько задданых программ дла разных типов аккумлятров 1.2Ач, 7А/ч 22А/ч, 45А/ч,55А/ч и так далее.
В обшем алгоритм понятен, по ходу работ будем доробатывать...
Сиаловую часть дорисую прикреплю.