Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.10.2011, 22:26
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
http://www.labkit.ru/html/power_supply_shm?id=236
Нашел эту схему для зарядки герметичных аккумляторов на микроконтроллере, повтарил и оказалос не все здесь работет.
Вот какие проблемы при зарядке посдле несколько минут гаснут все светадиоды и идет заряд на польную, когда руку приближаю к МК то система рестартует.
В любом слючае когда руку поднашу к МК система или рестартует или просто виснет или отключается.
Автор писал что программа корявая, может в этом проблема?
В протеусе тоже не смог просимулировать, процесс виснет.
Есть человек который повтарил тоже и внес изменения в схему, хотя я думаю что они не так ощутимие. http://labkit.ru/forum/index.php?showtopic=1479
В любом слючае проблема есть.
Помагите разобратся.
Вот код
PHP код:
|
LIST P=PIC12F675
#include P12F675.INC
__CONFIG _MCLRE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
#include Pause.mac ; подключаем макрос формирования задержек
;=== описание ножек
#define Д1 GPIO,GP0 ; св.диод 1
#define Д2 GPIO,GP1 ; св.диод 2
#define Д3 GPIO,GP2 ; св.диод 3
#define Упр GPIO,GP5 ; управляющий выход
; внимание! включение элементов низким уровнем
; программа предопределена рисунком печатной платы
; блок переменных общего назначения
cblock h'20'
Reg:3
endc
org 0 ; начало программы
;=== подготовительные моменты
bsf STATUS,RP0 ; переход в банк 1
bcf TRISIO,GP0 ; вкл. GP0 на выход / св.диод 1
bcf TRISIO,GP1 ; вкл. GP1 на выход / св.диод 2
bcf TRISIO,GP2 ; вкл. GP2 на выход / св.диод 3
bcf TRISIO,GP5 ; вкл. GP5 на выход / управляющий выход
bsf TRISIO,GP4 ; вкл. GP4 на вход / АЦП
clrf ANSEL
bsf ANSEL,ANS3 ; выкл. цифрового буфера / АЦП
bcf ANSEL,ADCS2 ; тактовый сигнал АЦП Fosc/16
bcf ANSEL,ADCS1 ; ...
bsf ANSEL,ADCS0 ; ...
bcf STATUS,RP0 ; назад в банк 0
bcf INTCON,GIE ; глобальный запрет прерываний
movlw .7 ; отключение компараторов
movwf CMCON ; каналы GPIO - цифровые входы/выходы
bsf Упр ; заряд выкл.
;=== тестирование св.диодов (диагностика)
bcf Д1 ; вкл
bcf Д2 ; вкл
bcf Д3 ; вкл
call П1 ; 1 сек задержка
bsf Д3 ; выкл
call П1 ; 1 сек задержка
bsf Д2 ; выкл
call П1 ; 1 сек задержка
bsf Д1 ; выкл
call П1 ; 1 сек задержка
;=== инициализация АЦП
bsf ADCON0,ADON ; вкл. АЦП
bsf ADCON0,CHS0 ; выбор аналогового канала
bsf ADCON0,CHS1 ; ...
bcf ADCON0,VCFG ; опорное напряжение VDD
bcf ADCON0,ADFM ; левое выравнивание
;=== работа
работа call ADC ; АЦП преобразование
; оценка ряда напряжений 4В, 3В, 2В и вкл. св. диодов
bsf STATUS,C ; подняли флаг С
movf ADRESH,W ; W:=ADRESH
sublw .204 ; W:=204-W (204 = 4 вольта)
bsf Д3 ; предварительное выкл
btfss STATUS,C ; оценили флаг С
bcf Д3 ; вкл
movf ADRESH,W ; W:=ADRESH
sublw .153 ; W:=153-W (153 = 3 вольта)
bsf Д2 ; предварительное выкл
btfss STATUS,C ; оценили флаг С
bcf Д2 ; вкл
movf ADRESH,W ; W:=ADRESH
sublw .102 ; W:=102-W (102 = 2 вольта)
bsf Д1 ; предварительное выкл
btfss STATUS,C ; оценили флаг С
bcf Д1 ; вкл
; выбор режима заряда через оценку включенных св. диодов
btfss Д3
goto реж_3
btfss Д2
goto реж_2
btfss Д1
goto реж_1
bsf Упр ; заряд выкл. (продублировано для перестраховки)
goto работа ; реализация защиты от КЗ
; реализация режимов через отношение времени вкл/выкл в %
реж_3 ; 5вкл/95выкл
bcf Упр ; заряд вкл.
call П5
bsf Упр ; заряд выкл.
call П95
goto работа
реж_2 ; 50вкл/50выкл
bcf Упр ; заряд вкл.
call П50
bsf Упр ; заряд выкл.
call П50
goto работа
реж_1 ; 95вкл/5выкл
bcf Упр ; заряд вкл.
call П95
bsf Упр ; заряд выкл.
call П5
goto работа
;=== АЦП преобразование
ADC movlw .3 ; задержка 2*1,6 мкс
movwf Reg ; для заряда конденсатора
ADC1 decfsz Reg, F ; выборки хранения в АЦП
goto ADC1
bsf ADCON0,GO ; старт преобразования
ADC2 btfsc ADCON0,GO ; проверка завершения (!)
goto ADC2
bcf PIR1,ADIF ; сброс флага преобразования
return
;=== набор типовых задержек (для экономии места на макросах)
П5 Pause2 .125,.7 ; 5 миллисекунд (0.005 сек)
return
П50 Pause2 .238,.65 ; 50 миллисекунд (0.050 сек)
return
П95 Pause2 .95,.124 ; 95 миллисекунд (0.095 сек)
return
П1 Pause3 .173,.19,.6 ; 1 сек
return
end ; конец программы
|
Вложения:
|
ЗУ.rar (19.8 Кб, 267 просмотров) |
Последний раз редактировалось barbuss; 14.10.2011 в 22:42.
|
|
|
|
16.10.2011, 05:12
|
|
Прописка
Регистрация: 18.06.2006
Сообщений: 179
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Вывод GP3 - он же MCLR - висит в воздухе, одновременно в конфигурации указано, что этот вывод используется в качестве MCLR (сброс).
Так что удивительно, что, оно вообще как-то работает.
В простейшем случае достаточно к этому выводу подключить простейшую цепь сброса: С=0,1...1 мкФ на общий провод и R=1...10 кОм на +5.
Вообще создается впечатление, что автор хоть и опубликовал статейку, но сделал все, чтобы устройство у желающих его повторить не заработало.
|
|
|
|
16.10.2011, 10:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Применение кирилицы в именах меток настораживает...
Да и экономия места при применении макросов кажется сомнительной.
Места где? В тексте программы?
Последний раз редактировалось ut1wpr; 16.10.2011 в 10:40.
|
|
|
|
16.10.2011, 12:04
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Сообщение от atlab
|
В простейшем случае достаточно к этому выводу подключить простейшую цепь сброса: С=0,1...1 мкФ на общий провод и R=1...10 кОм на +5.
|
Просто биты конфигурации забыли дописать. Их там не много. Проще при программировании подправить.
|
|
|
|
16.10.2011, 12:05
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Сообщение от atlab
|
Вывод GP3 - он же MCLR- висит в воздухе, одновременно в конфигурации указано, что этот вывод используется в качестве MCLR (сброс).
Так что удивительно, что, оно вообще как-то работает.
В простейшем случае достаточно к этому выводу подключить простейшую цепь сброса: С=0,1...1 мкФ на общий провод и R=1...10 кОм на +5.
Вообще создается впечатление, что автор хоть и опубликовал статейку, но сделал все, чтобы устройство у желающих его повторить не заработало.
|
Я при программировании я снял MCLR, кое как все стало стабильным. но рука все равно влиял на работу схемы.
Решил 4 ногу подключить как советовали вы, думаю можно только R=10 кОм на +5В подключить.
Все стало стабильно.
Если асы програмирования смогли бы програму улучшить было бы прекрасно.
.
Всем спасибо
|
|
|
|
16.10.2011, 12:42
|
|
Прописка
Регистрация: 04.01.2007
Сообщений: 233
Сказал спасибо: 22
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Вот пдправил схему и всё заработало нормально.
Вложения:
|
Zu.rar (39.8 Кб, 519 просмотров) |
|
|
|
|
16.10.2011, 13:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
совсем недавно уткодроз в теме PICKIT2 тоже жаловался на ошибки в схеме с сайта лабкит - похоже это гнездилище ошибок
|
|
|
|
16.10.2011, 13:45
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Сообщение от cnc10
|
Вот пдправил схему и всё заработало нормально.
|
Я поставил 10К.
Спасибо.
|
|
|
|
17.10.2011, 14:39
|
|
Прописка
Регистрация: 18.06.2006
Сообщений: 179
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Сообщение от Easyrider83
|
Просто биты конфигурации забыли дописать..
|
Все там есть, и прописано как раз использование вывода как MCLR:
Код:
|
__CONFIG _MCLRE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT |
C резистором между GP5 и базой 10 кОм в базе работать схема вообще не должна, поскольку отпирающее напряжение на базе составляет 0,45 В - это слишком мало.
Отсюда и вывод: намеренное введение в заблуждение желающих повторить...
|
|
|
|
03.05.2015, 22:24
|
|
Прохожий
Регистрация: 20.12.2008
Сообщений: 7
Сказал спасибо: 23
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Автоматическое зарядное устройство для герметичных кислотных аккумуляторов
Собрал данную зарядку тоже глючила, но когда поцепил резистор на 10К к 4 ноге МК та +5м все заработало. В печатной плате от автора есть ошибка .
Также добавил защиту от переразряда АК взял с http://radiokot.ru/circuit/power/charger/11/.
Свой вариант ПП (рабочий ) со схемами.
Удачи.
Вложения:
|
1.rar (25.4 Кб, 230 просмотров) |
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:37.
|
|