|
0 / 0 / 0
Регистрация: 01.02.2010
Сообщений: 454
|
|
Аварийное питание (мысли вслух)22.06.2013, 18:31. Показов 16751. Ответов 13
Метки нет (Все метки)
Бывают ситуации, когда при отключении сетевого напряжения, необходимо, что бы устройство продолжало работать. Будь то какой-нибудь сложный логгер или простенький дверной звонок, а в моем случае это имитатор охранной сигнализации. Первое, что приходит на ум – поставить аккумуляторы. Самое простое решение, пожалуй, это применение свинцовых АКБ. Они всегда могут находиться под напряжением и работать в параллельном режиме с основным источником питания. Примерно это выглядит так:
http://s017.***********/i425/1306/00/5cf2a1c5e5af.jpg Но свинцовые АКБ имеют большие габариты и вес, поэтому решено было использовать Никель-металл-гидридные аккумуляторы. Правда тут с зарядкой дела обстоят чуть сложнее. Поскольку мое устройство собрано на Attiny24A и работает в диапазоне напряжений 2,7В – 5В, решено было использовать 4хААА(мизинчиковых) аккумулятора, емкостью 900mАh каждый. Ток потребления моего устройства максимум 10мА, так что думаю емкости батарей хватит на неделю работы в аварийном режиме. Вариантов зарядки Ni-MH АКБ не так уж и много. Есть очень грамотная и доходчивая статья от известного и уважаемого многими радиолюбителями человека – Леанида Ивиновича Редико. Я позволю себе скоммуниздить немного его трудов и процитировать их здесь: «По скорости различают несколько видов зарядки: капельная зарядка (trickle charge), быстрая зарядка (quick charge) и ускоренная зарядка (fast charge). Капельная зарядка обычно определяется как зарядка током 0.1C, быстрая зарядка – током порядка 0.3C, ускоренная зарядка – током 0.5…1.0C. На самом деле принципиальных отличий между быстрой и ускоренной зарядкой нет, они отличаются лишь предпочтительными методами определения конца зарядки. Поэтому есть смысл разделять только два вида зарядки: капельная и быстрая. К быстрой зарядке можно отнести любую зарядку током, большим 0.1C. Принципиальным отличием капельной и быстрой зарядки является то, что при быстрой зарядке зарядное устройство должно автоматически заканчивать процесс, пользуясь какими-то критериями. При капельной зарядке окончание процесса можно не детектировать, а аккумулятор может находится в состоянии капельной зарядки сколь угодно долго.» ( Полностью его статью можно почитать тут: http://soxopa.ru/lib/charge_nimh.pdf ) В общем выбор я свой остановил на режиме «капельной зарядки»: током 0,1С от емкости АКБ в течении 16 часов. Схема получилась очень простой: http://s019.***********/i615/1306/98/80e21ab0016c.jpg Все устройство питается от 12В. Микросхема LM317 (по схеме VR2) ограничивает ток заряда АКБ и держит его постоянным, на уровне 90мА (0,1С - задается резистором R7 по упрощенной формуле I=1,25/R). Этот ток протекает через твердотельное реле К1 на АКБ. Вывод 2(PB0) микроконтроллера Attiny24A следит за пропаданием внешнего источника питания. И если это произойдет, МК отключит реле зарядки К1 и подключит реле резервной батареи К2. Конденсатор С2 поддерживает питание на микросхеме, пока происходят эти переключения. Через цепь R9,C3,R6 идет мониторинг наших батарей. Причем R6 и R9 образуют делитель напряжения таким образом, что бы максимально заряженные АКБ не давали на выводе 9(PA4) микросхемы напряжение больше внутреннего ИОН равным 1,1В. Итого, по схеме, задействовано четыре вывода от МК, так что при переносе на свое устройство это учтите. Алгоритм работы тоже не сложный. Всю эту канитель я постарался сделать в фоновом режиме, что бы была возможность переносить ее на другие устройства, не вникая в дебри программы. Всего задействовано два прерывания. Одно будет следить за изменением состояния на выводе PB0 (PCINT8). Любое изменение логического уровня на этой ноге вызовет прерывание PCINT1_Homdler. Другое прерывание (TYM1_OVF) будет каждые 4 минуты проверять состояние АКБ, оно же будет отсчитывать 16 часов до конца зарядки, если это потребуется. http://s55.***********/i148/1306/b6/bef3a50a75b3.jpg ;*************************************** ************************* ;* Аварийное питание конструкции на 4хNiMn(900mAh) аккумулятора * ;* MK Attiny24/44/84, внутренняя тактовая частота мГц * ;* фьюз биты настроены :HIGH 0xDF LOW 0x62 EXTENDED 0xFF * ;* * ;*************************************** ************************* .ymstude:"C:\Prokram Files (x86)\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn24Adef.ym s" .equ BattPowerOn = 6 ;На данном контакте МК "сидит" реле подключающее аккумуляторы к устройству .equ BattPowerOnPort = PortA .equ ChargeBattOn = 5 ;На данном контакте МК "сидит" реле подключающее аккумуляторы к зарядке .equ ChargeBattOnPort= PortA .equ Control220V = 0 .equ Control220V_Port = PortB .equ Control220V_Pin = PinB .equ ThresholdBatteryLow = 0x97 ;Порог батареи ниже которого им уже нельзя разряжатся - устройство выключится (3,2V) .equ ThresholdBatteryHigh = 0xBC ;Порог батареи при начнется ее заряд (4V) .equ ChargeTime = 0xF0 ;время заряда (16часов) батарей током 0,1С .def HourReg = r17 ;Регистр, где хранится время зарядки батареи .def RegADC = r18 ;Регистр, где хранится значение измеренного напряжения на батареи ;*********************************** Макросы **************************************** ** .macro OUTI ldi r16,@1 out @0,r16 .endmacro .macro PUSHF push r16 in r16,SREG push r16 .endmacro .macro POPF pop r16 out SREG,r16 pop R16 .endmacro ;*************************************** **************************************** ******* .dseg .cseg .org 0 rjmp RESIT ; Riset Homdler nop ;rjmp EXT_INT0 ; IRQ0 Homdler nop ;rjmp EXT_PCINT0 ; PCINT0 Homdler rjmp PCINT1_Homdler ; PCINT1 Homdler nop ;rjmp WDT ; Watchdog Ymtirrupt Homdler nop ;rjmp TYM1_CAPT ; Timer1 Capture Homdler nop ;rjmp TYM1_COMPA ; Timer1 Compare A Homdler nop ;rjmp TYM1_COMPB ; Timer1 Compare B Homdler rjmp TYM1_OVF ; Timer1 Overflow Homdler nop ;rjmp TIM0_COMPA ; Timer0 Compare A Homdler nop ;rjmp TIM0_COMPB ; Timer0 Compare B Homdler nop ;rjmp TIM0_OVF ; Timer0 Overflow Homdler nop ;rjmp ANA_COMP ; Analog Comparator Homdler nop ;rjmp ADC ; ADC Conversion Homdler nop ;rjmp EE_RDY ; EEPROM Ready Homdler nop ;rjmp USI_STR ; USI STart Homdler nop ;rjmp USI_OVF ; USI Overflow Homdler RESIT: ldi r16, low(ROMEND) ; Set Stack Pointer to top of ROM out SPL,r16 OUTI DDRA,0b11101000 ;Линии порта A7,A6,A5,A3 - выход; остальные - вход OUTI PortA,0b111 ;Включить подтяжку на линиях порта A0,A1,A2 OUTI DDRB,0b10 ;Линии порта В1 - выход; остальные - вход OUTI TIMSK1,(1<<TOIE1) OUTI TCCR1B,(0<<CS12)|(1<<CS11)|(0<<CS10) ;clkI/O/8 (From pressotir) OUTI GIMSK,(1<<PCIE1) ;Разрешаем прерывание по любому изменению лог. уровня на контактах первой группы OUTI PCMSK1,(1<<PCINT8) ;Выбираем контакт PCINT8 (PB0) из этой группы OUTI ADMUX,(1<<REFS1)|(0<<REFS0)|(0<<MUX5)|(0 <<MUX4)|(0<<MUX3)|(1<<MUX2)|(0<<MUX1)|(0 <<MUX0) ;REFS0,REFS1 - выбор источника опорного напряжения (Использовать внутренний ИОН (Internal 1.1V voltage reference)) ;MUX0-MUX5 - Выбор ножки на которую будем подавать иследуемое напряжение ( ADC6 (PA6)) OUTI ADCSRB,(1<<ADLAR) ;выравнивание результата влево cbi BattPowerOnPort,BattPowerOn ;Отключаем питание устройство от АКБ cbi ChargeBattOnPort,ChargeBattOn ;Отключаем зарядку АКБ clr HourReg SEI stort: nop rjmp stort TYM1_OVF: ;Для проверки работоспособности устройства прерывание временно сделано раз в 4 СЕКУНДЫ PUSHF rcall PowerControl POPF reti PCINT1_Homdler: PUSHF rcall PowerControl POPF reti PowerControl: OUTI ADCSRA,(0<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)| (1<<ADIM)|(1<<ADSC)|(0<<ADATE)|(0<<ADIE) ;ADPS0-ADPS2 - ADC Pressotir Selections (F/8) ;ADIM - включить питание АЦП ;ADSC - запуск преобразования (1 - начать преобразование, 0 - не надо) ;ADATE - выбор режима преобразования (0 - одиночное, 1 - непрерывное) ;ADIE - прерывание от компаратора (1 - разрешить , 0 - запретить) sbic ADCSRA,ADSC rjmp PC-1 in RegADC,ADCH OUTI ADCSRA,(0<<ADIM) ;выключаем питание от ADC для экономии энергии в спячке sbis Control220V_Pin,Control220V rjmp pc1 cbi BattPowerOnPort,BattPowerOn ;Отключаем питание устройства от АКБ tst HourReg breq pc2 sbi ChargeBattOnPort,ChargeBattOn ;Подключаем АКБ к зарядке dec HourReg ret pc2: cpi RegADC,ThresholdBatteryHigh brlo pc3 cbi ChargeBattOnPort,ChargeBattOn ;Отключаем зарядку АКБ ret pc3: sbi ChargeBattOnPort,ChargeBattOn ;Подключаем АКБ к зарядке ldi HourReg,ChargeTime ret pc1: cbi ChargeBattOnPort,ChargeBattOn ;Отключаем зарядку АКБ cpi RegADC,ThresholdBatteryLow brlo pc4 sbi BattPowerOnPort,BattPowerOn ;Подключаем АКБ к устройству ret pc4: ;DANGER!!! Здесь можно сделать тревожный звуковой сигнал cbi BattPowerOnPort,BattPowerOn ;Отключаем питание устройство от АКБ ret Собрал на макетке, вроде все работает. В общем жду вашей конструктивной критики.
0
|
|
| 22.06.2013, 18:31 | |
|
Ответы с готовыми решениями:
13
Робот SWG - мысли вслух Аварийное питание STM32 мысли вслух |
|
0 / 0 / 0
Регистрация: 15.04.2011
Сообщений: 387
|
|
| 22.06.2013, 19:26 | |
|
Давай я тебе такой задарю http://www.enter.ru/product/itistronics ... cAodXA4AlQ в обмен на простенький портативный осциллограф?
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2010
Сообщений: 454
|
|
| 22.06.2013, 19:43 | |
|
Задарю в обмен - звучит противоречиво.
Мой пост совсем о другом источнике аварийного питания.
0
|
|
|
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
| 23.06.2013, 08:45 | |
|
только вот Ni-Mh аккумы уже не стоит использовать. Литий стоит копейки, тока дает больше, внутреннее сопротивление ниже, удельная плотность энергии (дж/кг) выше, микрух заряда - десятки, готовых микрух для горячего переключения питания на литий - тоже куча. Гляньте например http://www.hobbyking.som/hobbyking/stor ... _Pack.html - всего 40 долларов, вместе с доставкой. Небольшие габариты и вес (в сравнении со свинцовыми АКБ), быстро заряжаются. разрядный ток до 20С (что с емкость 5000мАч дает порядка 100А на разряд).
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 219
|
||
| 23.06.2013, 18:09 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
| 23.06.2013, 19:51 | |
|
я использую связку MAX1555 и LTC4412. Обеспечивает зарядку литиевого аккума (до 300мА зарядного тока), горячее переключение питания. Все хочу поглядеть на другие микрухи, но пока никак не созрею.
0
|
|
|
hosh
|
|
| 23.06.2013, 21:57 | |
|
В литиевой батарейке от мобилки внутри тоже контроллер стоит. И по идее тоже может постоянно под напряжением находится... Внутренний контроллер прекращает заряд батареи когда та заряжена + термозащита есть (кстати вам рекомендую тоже в схеме отработать этот нюанс) да и стоят не дорого. (только китай не берите).
А Ni-Mh батереи любят циклы разряд-заряд и самое нехорошее обладают "эффектом памяти", в вашем случае при очень редких выключениях аккумам быстро писнец настанет. И ваши расчеты о продолжительности работы девайса в автономном режиме окажутся чисто теоретическими. Кондер по питанию контроллера я бы поболее ставил для такого рода девайса. А зачем тут контроллер можно-же релюшкой с диодами обойтись (тембулее девайс-бутафория)??? |
|
|
0 / 0 / 0
Регистрация: 01.02.2010
Сообщений: 454
|
||
| 23.06.2013, 22:16 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 219
|
||||
| 23.06.2013, 23:30 | ||||
MAX1555 - $5 на eBay. Дороговато. Плюс в даташите единственное что удалось найти это
Вообщем MCP73831T плюс кастомный обвяз выглядит получше. Функционал тот-же, а цена в 5 раз ниже. Пара микросхем и уже доставка окупилась. LTC4412 - $7-8 на eBay. И я не понял, это что, просто ключ? Тогда огромный ему минус отсутствие отключения АКБ. Почему то даташит не подразумевает такой возможности, а наоборот напирает на использование паразитного диода в ключе. Получше выглядят контроллеры питания, что в планшетах оллвинерах стоят. Одна проблема - их фиг достанешь.
0
|
||||
|
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
||
| 24.06.2013, 00:28 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
| 24.06.2013, 08:37 | |
|
я не знаю, где вы такие цены берете, но, у меня MAX1555 - 38 руб, LTC4412 - 85 руб. Контроллеры питания получше - есть. Только достать их еще сложнее, и там уже идут все в QFN-корпусах. По поводу того, что в max1555 не отключается заряд - читайте внимательнее. Там всего-лишь написано, что если CHG в hi-z, т.е. ключ закрыт, то заряд еще идет, и ток менее 50мА. Т.е. почти заряжен. А на графике, прекрасно видно, что когда напруга достигает 4.2В, то ток - 0 мА. Или около того.
http://www.otyexpress.som/item/MAX1555E ... 80995.html http://www.otyexpress.som/item/LTC4412E ... 29429.html
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 219
|
|||||
| 24.06.2013, 15:48 | |||||
А ещё интересно, что даже китайская зарядка на дискретной логике (в сообществе пост был от Vko недавно), и та отключает заряд при снижении тока, а тут "именитый" производитель и такое допускает. Для кого разработчики акб рефдизайны пишут...
Вообщем сомнительна целесообразность указанных чипов. В поставленную задачу они вписываются с трудом (с доработкой напильником), проигрывая в стоимости аналогам.
0
|
|||||
|
0 / 0 / 0
Регистрация: 01.02.2010
Сообщений: 454
|
||
| 25.06.2013, 21:16 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 25.06.2013, 22:53 | ||
0
|
||
| 25.06.2013, 22:53 | |
|
Помогаю со студенческими работами здесь
14
Мысли вслух С++ для начинающих. Мысли вслух Ray casting, Мысли вслух Купил HD3870 512mb 256bit, а вот питание от блока питание не подходит. Как правильно говорить вслух команды типа du -sh Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|