ЗУ для автомобильных аккумуляторов на Atmega8
В статье написано что сперва выставить напяжение , а потом токи . А я даже напряжение не могу выставить, сразу ОШИБКА ПО ТОКУ.
- Реклама
Всё. Заработала! Перепаял на одно-полярное питание ОУ и впаял MCP 602. nbo-отличный зарядник, спасибо
попробовал зарядиьть автомобильный аккумулятор, прдварительно разрядив его на 50%. Начало было хорошее. Выставил ток заряда-6 ампер.
Ток заряда установился за 20 секунд. Напруга поднималась при стабильном токе-6 ампер. По достижению-14,4 вольта ток стал падать, но вместе с ним стала падать напруга, хотя не должна падать. Ток упал до 0,5 ампера при напруге 13,8 волта и как-бы зависло, не каких изменений. Автор, подскажите кде засада?
Ток заряда установился за 20 секунд. Напруга поднималась при стабильном токе-6 ампер. По достижению-14,4 вольта ток стал падать, но вместе с ним стала падать напруга, хотя не должна падать. Ток упал до 0,5 ампера при напруге 13,8 волта и как-бы зависло, не каких изменений. Автор, подскажите кде засада?
При достижении 14.4 вольта ток уменьшается, соответственно немного уменьшается напряжение. Заряд продолжается при новом (меньшем) значении тока до достижения напряжения 14.4 вольта. Далее цикл повторяется уже для меньшего тока вплоть до тока 0.5 ампера. Получается своеобразная пила на графике напряжения на батарее. В статье указано что при значении тока 0.5 ампера (либо при любом другом значении) и невозможности на протяжении 4-х часов достижения напряжения 14.4 вольта выводится надпись «Проверь батарею не берет заряд».
Понятно, получяется что я не дождался окончания заряда.
- Реклама
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
Решил повторить Вашу схему.
Но при её изучении возник вопрос, который также в форуме не поднимался (или я пропустил или чего не понял). На разъём BRIDGE подается 13В. Как этим напряжение заряжается аккумулятор до 14.4В?
Это же напряжение подается на D12 на котором упадет минимум 0.6В и далее на U7 падает примерно 2,5В (рекомендуется минимальное входное 14,5В). Как после этого на выходе U7 будет 12В?
Но при её изучении возник вопрос, который также в форуме не поднимался (или я пропустил или чего не понял). На разъём BRIDGE подается 13В. Как этим напряжение заряжается аккумулятор до 14.4В?
Это же напряжение подается на D12 на котором упадет минимум 0.6В и далее на U7 падает примерно 2,5В (рекомендуется минимальное входное 14,5В). Как после этого на выходе U7 будет 12В?
Обозначения на схеме в части величины напряжения немного условны. Такие числа стоят только для того чтобы в Протеусе различались разные цепи по питанию. Реально на трансформаторе от УПСа напряжение вторичной обмотки около 16 вольт.
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
Это переменного или постоянного. Если переменного, то после моста будет 16 * 1,41 = 22,5
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?
Переменного. При слишком малом напряжении невозможно будет достичь максимального зарядного тока. Я отдельно экспериментов не проводил, но думаю что минимальное напряжение с учетом падения на тиристоре и диодном мосте около 14 вольт переменки.
[uquote="alex_iag",url="/forum/viewtopic.php?p=3369253#p3369253"]Это переменного или постоянного. Если переменного, то после моста будет 16 * 1,41 = 22,5
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?[/uquote]
22.5 ни как не получится, на выходе моста нет ёмкости,значит кофициент-1,41 не работает.
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?[/uquote]
22.5 ни как не получится, на выходе моста нет ёмкости,значит кофициент-1,41 не работает.
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
Точно, я про это забыл.nbo писал(а):22.5 ни как не получится, на выходе моста нет ёмкости,значит кофициент-1,41 не работает.
nbo
В Ваших исходных программы я заметил ошибку.
Код: Выделить всё
;=================
TIM2_COMP: PUSHF ;СОВПАДЕНИЕ С РЕГИСТРОМ СРАВНЕНИЯ OCR2 ТАЙМЕРА 2
;Прерывание происходит раз в 1 мсек.
...
...
=================
; Прескалы для таймеров.
; 000-таймер выкл, 001-0, 010-8,011 - 64, 100 - 256, 101 - 1024
;=================
; Настройка таймера TCNT0 (T0)
; OUTI tccr0,0b00000000 ; прескал в программе будет 64
; OUTI OCR0,124 ; 64*125=8000 прерывание будет 1 раз ровно в 1 мсек.
;=================
...
...
; Настройка таймера TCNT2 (T2)
OUTI TCCR2,0b00001011 ;Настройка самого таймера
OUTI OCR2, 124 ;ЗАГРУЗКА ЧИСЛА В СЧЕТНЫЙ РЕГИСТР ТАЙМЕРА.Соответственно прерывания будут через 0,5 мсек, если судя по описаниям кварц на 8МГц.
Все временные интервалы на него завязаны.
[uquote="alex_iag",url="/forum/viewtopic.php?p=3379043#p3379043"]
nbo
В Ваших исходных программы я заметил ошибку.
Вы для Т2 устанавливаете делитель как для Т0, а у Т2 (согласно даташит) он другой. Для Т0 011 это делитель 64, а для Т2 011 это делитель 32, нужно для него 100 (или больше в 2 раза OCR2)
Соответственно прерывания будут через 0,5 мсек, если судя по описаниям кварц на 8МГц.
Все временные интервалы на него завязаны.[/uquote]
А можно вашу версию прошивки,с исправлениями?
Точно, я про это забыл.nbo писал(а):22.5 ни как не получится, на выходе моста нет ёмкости,значит кофициент-1,41 не работает.
nbo
В Ваших исходных программы я заметил ошибку.
Код: Выделить всё
;=================
TIM2_COMP: PUSHF ;СОВПАДЕНИЕ С РЕГИСТРОМ СРАВНЕНИЯ OCR2 ТАЙМЕРА 2
;Прерывание происходит раз в 1 мсек.
...
...
=================
; Прескалы для таймеров.
; 000-таймер выкл, 001-0, 010-8,011 - 64, 100 - 256, 101 - 1024
;=================
; Настройка таймера TCNT0 (T0)
; OUTI tccr0,0b00000000 ; прескал в программе будет 64
; OUTI OCR0,124 ; 64*125=8000 прерывание будет 1 раз ровно в 1 мсек.
;=================
...
...
; Настройка таймера TCNT2 (T2)
OUTI TCCR2,0b00001011 ;Настройка самого таймера
OUTI OCR2, 124 ;ЗАГРУЗКА ЧИСЛА В СЧЕТНЫЙ РЕГИСТР ТАЙМЕРА.Соответственно прерывания будут через 0,5 мсек, если судя по описаниям кварц на 8МГц.
Все временные интервалы на него завязаны.[/uquote]
А можно вашу версию прошивки,с исправлениями?
В архиве исправленная версия. Пробуйте. У меня пока нет времени проверить в железе.
- Вложения
-
- !!LCD_4bit M8-timer.rar
- (562.1 КБ) 939 скачиваний
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
У меня железо ещё не готово, поэтому проверить пока не могу.
Я Ваш код переложил на С. Планирую функционал немного расширить (и заодно может найду ошибки) при полном соответствии схеме. Когда будет готово с Вашего позволения выложу исходник, может кому станет интересно. Это примерно в течении месяца, со временем напряжёнка.
Я Ваш код переложил на С. Планирую функционал немного расширить (и заодно может найду ошибки) при полном соответствии схеме. Когда будет готово с Вашего позволения выложу исходник, может кому станет интересно. Это примерно в течении месяца, со временем напряжёнка.
Я только за. Спасибо за выявленную ошибку. Программист я начинающий, так что ошибки вполне возможны. Хотя читал описание в книге Евстифеева так там про различие таймеров ничего нет.
Не вытерпел - прошил исправленную версию. Поставил аккумулятор на зарядку. Из первых впечатлений более плавная анимация и вроде бы большая скорость при наборе тока до выставленного значения.
Не вытерпел - прошил исправленную версию. Поставил аккумулятор на зарядку. Из первых впечатлений более плавная анимация и вроде бы большая скорость при наборе тока до выставленного значения.
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
Я больше полагаюсь на datasheet элемента, причем на английском (в русских переводах встречал ошибки). Правда некоторые ньюансы со словарем приходится разбирать.
В общем исправленная версия работает. Зарядил успешно. Так что всем рекомендую обновить прошивку, и по возможности отписаться о различиях в сравнении со старой версией.
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
nbo
Возможно у Вас ещё важная ошибка.
Судя по коду, Timer1 у Вас работает в режиме 4 (CTC), а если так то ошибка в следующем:
1. Инициализация таймера
установлен режим 0 (Normal) - в нем считает до переполнения TCNT1 , в этом режиме по идее не должны быть прерывания TIMER1_COMPA и TIMER1_COMPB по совпадению с OCR1A и OCR1B.
Далее при выключении таймера Вы стираете все настройки Timer1 если бы они были, например:
Но хуже что и при включении их также не задаёте, например:
Всё это актуально, если я правильно понял в каком режиме работает таймер. Если я ошибся с режимом подскажите в каком режиме Вы планировали (вряд ли 0).
Возможно у Вас ещё важная ошибка.
Судя по коду, Timer1 у Вас работает в режиме 4 (CTC), а если так то ошибка в следующем:
1. Инициализация таймера
Код: Выделить всё
; Настройка таймера TCNT1 (T1)
OUTI TCCR1B,0b0000[b]0[/b]000; изначальный прескал здесь 0, а будет 64 далее в проге
Далее при выключении таймера Вы стираете все настройки Timer1 если бы они были, например:
Код: Выделить всё
OUTI TCCR1B,0b00000000 ;Вырубаем таймер Т1
Скорее всего при инициализации Timer1 и при включении (если стерли при выключении) нужно указывать:OUTI TCCR1B,0b00000011 ;Врубаем таймер Т1 прескал 64
Код: Выделить всё
; Настройка таймера TCNT1 (T1)
OUTI TCCR1B,0b0000[b]0[/b]000; изначальный прескал здесь 0, а будет 64 далее в проге
.....
OUTI TCCR1B,0b0000[b]1[/b]011 ;Врубаем таймер Т1 прескал 64
- Сообщения: 43
- Зарегистрирован: Вт июн 27, 2017 21:56:58
Похоже я ошибся. Я всегда считал, что в в таймере 1 режиме 0 контроллер не генерит прерывания по совпадению с регистрами OCR1х.
Внимательней изучил доки и пришел к выводу, что я заблуждался. увы.
Внимательней изучил доки и пришел к выводу, что я заблуждался. увы.


