ЗУ для автомобильных аккумуляторов на Atmega8
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
В статье написано что сперва выставить напяжение , а потом токи . А я даже напряжение не могу выставить, сразу ОШИБКА ПО ТОКУ.
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Всё. Заработала! Перепаял на одно-полярное питание ОУ и впаял MCP 602. nbo-отличный зарядник, спасибо
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
попробовал зарядиьть автомобильный аккумулятор, прдварительно разрядив его на 50%. Начало было хорошее. Выставил ток заряда-6 ампер.
Ток заряда установился за 20 секунд. Напруга поднималась при стабильном токе-6 ампер. По достижению-14,4 вольта ток стал падать, но вместе с ним стала падать напруга, хотя не должна падать. Ток упал до 0,5 ампера при напруге 13,8 волта и как-бы зависло, не каких изменений. Автор, подскажите кде засада?
Ток заряда установился за 20 секунд. Напруга поднималась при стабильном токе-6 ампер. По достижению-14,4 вольта ток стал падать, но вместе с ним стала падать напруга, хотя не должна падать. Ток упал до 0,5 ампера при напруге 13,8 волта и как-бы зависло, не каких изменений. Автор, подскажите кде засада?
- nbo
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт май 06, 2008 20:14:37
- Откуда: Ukraine
Re: ЗУ для автомобильных аккумуляторов на Atmega8
При достижении 14.4 вольта ток уменьшается, соответственно немного уменьшается напряжение. Заряд продолжается при новом (меньшем) значении тока до достижения напряжения 14.4 вольта. Далее цикл повторяется уже для меньшего тока вплоть до тока 0.5 ампера. Получается своеобразная пила на графике напряжения на батарее. В статье указано что при значении тока 0.5 ампера (либо при любом другом значении) и невозможности на протяжении 4-х часов достижения напряжения 14.4 вольта выводится надпись «Проверь батарею не берет заряд».
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Понятно, получяется что я не дождался окончания заряда.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Решил повторить Вашу схему.
Но при её изучении возник вопрос, который также в форуме не поднимался (или я пропустил или чего не понял). На разъём 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В?
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Я подавал 16в.
- nbo
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт май 06, 2008 20:14:37
- Откуда: Ukraine
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Обозначения на схеме в части величины напряжения немного условны. Такие числа стоят только для того чтобы в Протеусе различались разные цепи по питанию. Реально на трансформаторе от УПСа напряжение вторичной обмотки около 16 вольт.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Это переменного или постоянного. Если переменного, то после моста будет 16 * 1,41 = 22,5
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?
- nbo
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт май 06, 2008 20:14:37
- Откуда: Ukraine
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Переменного. При слишком малом напряжении невозможно будет достичь максимального зарядного тока. Я отдельно экспериментов не проводил, но думаю что минимальное напряжение с учетом падения на тиристоре и диодном мосте около 14 вольт переменки.
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
[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 не работает.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
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 ;ЗАГРУЗКА ЧИСЛА В СЧЕТНЫЙ РЕГИСТР ТАЙМЕРА.Вы для Т2 устанавливаете делитель как для Т0, а у Т2 (согласно даташит) он другой. Для Т0 011 это делитель 64, а для Т2 011 это делитель 32, нужно для него 100 (или больше в 2 раза OCR2)
Соответственно прерывания будут через 0,5 мсек, если судя по описаниям кварц на 8МГц.
Все временные интервалы на него завязаны.
- san-san
- Нашел транзистор. Понюхал.
- Сообщения: 158
- Зарегистрирован: Пт дек 18, 2009 09:01:32
- Откуда: г.Тайшет Иркутская обл.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
[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 ;ЗАГРУЗКА ЧИСЛА В СЧЕТНЫЙ РЕГИСТР ТАЙМЕРА.Вы для Т2 устанавливаете делитель как для Т0, а у Т2 (согласно даташит) он другой. Для Т0 011 это делитель 64, а для Т2 011 это делитель 32, нужно для него 100 (или больше в 2 раза OCR2)
Соответственно прерывания будут через 0,5 мсек, если судя по описаниям кварц на 8МГц.
Все временные интервалы на него завязаны.[/uquote]
А можно вашу версию прошивки,с исправлениями?
- nbo
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт май 06, 2008 20:14:37
- Откуда: Ukraine
Re: ЗУ для автомобильных аккумуляторов на Atmega8
В архиве исправленная версия. Пробуйте. У меня пока нет времени проверить в железе.
- Вложения
-
- !!LCD_4bit M8-timer.rar
- (562.1 КБ) 936 скачиваний
Re: ЗУ для автомобильных аккумуляторов на Atmega8
У меня железо ещё не готово, поэтому проверить пока не могу.
Я Ваш код переложил на С. Планирую функционал немного расширить (и заодно может найду ошибки) при полном соответствии схеме. Когда будет готово с Вашего позволения выложу исходник, может кому станет интересно. Это примерно в течении месяца, со временем напряжёнка.
Я Ваш код переложил на С. Планирую функционал немного расширить (и заодно может найду ошибки) при полном соответствии схеме. Когда будет готово с Вашего позволения выложу исходник, может кому станет интересно. Это примерно в течении месяца, со временем напряжёнка.
- nbo
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт май 06, 2008 20:14:37
- Откуда: Ukraine
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Я только за. Спасибо за выявленную ошибку. Программист я начинающий, так что ошибки вполне возможны. Хотя читал описание в книге Евстифеева так там про различие таймеров ничего нет.
Не вытерпел - прошил исправленную версию. Поставил аккумулятор на зарядку. Из первых впечатлений более плавная анимация и вроде бы большая скорость при наборе тока до выставленного значения.
Не вытерпел - прошил исправленную версию. Поставил аккумулятор на зарядку. Из первых впечатлений более плавная анимация и вроде бы большая скорость при наборе тока до выставленного значения.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Я больше полагаюсь на datasheet элемента, причем на английском (в русских переводах встречал ошибки). Правда некоторые ньюансы со словарем приходится разбирать.
- nbo
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт май 06, 2008 20:14:37
- Откуда: Ukraine
Re: ЗУ для автомобильных аккумуляторов на Atmega8
В общем исправленная версия работает. Зарядил успешно. Так что всем рекомендую обновить прошивку, и по возможности отписаться о различиях в сравнении со старой версией.
Re: ЗУ для автомобильных аккумуляторов на Atmega8
nbo
Возможно у Вас ещё важная ошибка.
Судя по коду, Timer1 у Вас работает в режиме 4 (CTC), а если так то ошибка в следующем:
1. Инициализация таймера
установлен режим 0 (Normal) - в нем считает до переполнения TCNT1 , в этом режиме по идее не должны быть прерывания TIMER1_COMPA и TIMER1_COMPB по совпадению с OCR1A и OCR1B.
Далее при выключении таймера Вы стираете все настройки Timer1 если бы они были, например:
Но хуже что и при включении их также не задаёте, например:
Скорее всего при инициализации Timer1 и при включении (если стерли при выключении) нужно указывать:
Всё это актуально, если я правильно понял в каком режиме работает таймер. Если я ошибся с режимом подскажите в каком режиме Вы планировали (вряд ли 0).
Возможно у Вас ещё важная ошибка.
Судя по коду, Timer1 у Вас работает в режиме 4 (CTC), а если так то ошибка в следующем:
1. Инициализация таймера
Код: Выделить всё
; Настройка таймера TCNT1 (T1)
OUTI TCCR1B,0b0000[b]0[/b]000; изначальный прескал здесь 0, а будет 64 далее в проге
установлен режим 0 (Normal) - в нем считает до переполнения TCNT1 , в этом режиме по идее не должны быть прерывания TIMER1_COMPA и TIMER1_COMPB по совпадению с OCR1A и OCR1B.
Далее при выключении таймера Вы стираете все настройки Timer1 если бы они были, например:
Код: Выделить всё
OUTI TCCR1B,0b00000000 ;Вырубаем таймер Т1
Но хуже что и при включении их также не задаёте, например:
OUTI TCCR1B,0b00000011 ;Врубаем таймер Т1 прескал 64
Скорее всего при инициализации Timer1 и при включении (если стерли при выключении) нужно указывать:
Код: Выделить всё
; Настройка таймера TCNT1 (T1)
OUTI TCCR1B,0b0000[b]0[/b]000; изначальный прескал здесь 0, а будет 64 далее в проге
.....
OUTI TCCR1B,0b0000[b]1[/b]011 ;Врубаем таймер Т1 прескал 64
Всё это актуально, если я правильно понял в каком режиме работает таймер. Если я ошибся с режимом подскажите в каком режиме Вы планировали (вряд ли 0).
Re: ЗУ для автомобильных аккумуляторов на Atmega8
Похоже я ошибся. Я всегда считал, что в в таймере 1 режиме 0 контроллер не генерит прерывания по совпадению с регистрами OCR1х.
Внимательней изучил доки и пришел к выводу, что я заблуждался. увы.
Внимательней изучил доки и пришел к выводу, что я заблуждался. увы.
