ЗУ для автомобильных аккумуляторов на Atmega8

Блоки питания, преобразователи напряжения, UPS'ы - это здесь :)
Аватара пользователя
san-san
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение san-san »

В статье написано что сперва выставить напяжение , а потом токи . А я даже напряжение не могу выставить, сразу ОШИБКА ПО ТОКУ.
Аватара пользователя
san-san
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение san-san »

Всё. Заработала! Перепаял на одно-полярное питание ОУ и впаял MCP 602. nbo-отличный зарядник, спасибо
Аватара пользователя
san-san
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение san-san »

попробовал зарядиьть автомобильный аккумулятор, прдварительно разрядив его на 50%. Начало было хорошее. Выставил ток заряда-6 ампер.
Ток заряда установился за 20 секунд. Напруга поднималась при стабильном токе-6 ампер. По достижению-14,4 вольта ток стал падать, но вместе с ним стала падать напруга, хотя не должна падать. Ток упал до 0,5 ампера при напруге 13,8 волта и как-бы зависло, не каких изменений. Автор, подскажите кде засада?
Аватара пользователя
nbo
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вт май 06, 2008 20:14:37
Откуда: Ukraine

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение nbo »

При достижении 14.4 вольта ток уменьшается, соответственно немного уменьшается напряжение. Заряд продолжается при новом (меньшем) значении тока до достижения напряжения 14.4 вольта. Далее цикл повторяется уже для меньшего тока вплоть до тока 0.5 ампера. Получается своеобразная пила на графике напряжения на батарее. В статье указано что при значении тока 0.5 ампера (либо при любом другом значении) и невозможности на протяжении 4-х часов достижения напряжения 14.4 вольта выводится надпись «Проверь батарею не берет заряд».
Аватара пользователя
san-san
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение san-san »

Понятно, получяется что я не дождался окончания заряда.
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

Решил повторить Вашу схему.
Но при её изучении возник вопрос, который также в форуме не поднимался (или я пропустил или чего не понял). На разъём BRIDGE подается 13В. Как этим напряжение заряжается аккумулятор до 14.4В?
Это же напряжение подается на D12 на котором упадет минимум 0.6В и далее на U7 падает примерно 2,5В (рекомендуется минимальное входное 14,5В). Как после этого на выходе U7 будет 12В?
Аватара пользователя
san-san
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение san-san »

Я подавал 16в.
Аватара пользователя
nbo
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вт май 06, 2008 20:14:37
Откуда: Ukraine

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение nbo »

Обозначения на схеме в части величины напряжения немного условны. Такие числа стоят только для того чтобы в Протеусе различались разные цепи по питанию. Реально на трансформаторе от УПСа напряжение вторичной обмотки около 16 вольт.
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

Это переменного или постоянного. Если переменного, то после моста будет 16 * 1,41 = 22,5
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?
Аватара пользователя
nbo
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вт май 06, 2008 20:14:37
Откуда: Ukraine

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение nbo »

Переменного. При слишком малом напряжении невозможно будет достичь максимального зарядного тока. Я отдельно экспериментов не проводил, но думаю что минимальное напряжение с учетом падения на тиристоре и диодном мосте около 14 вольт переменки.
Аватара пользователя
san-san
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение san-san »

[uquote="alex_iag",url="/forum/viewtopic.php?p=3369253#p3369253"]Это переменного или постоянного. Если переменного, то после моста будет 16 * 1,41 = 22,5
Я почему спрашиваю, не хочется лишнего падения на управляющем элементе и соответственно его разогрев. Каково минимально рекомендуемое?[/uquote]
22.5 ни как не получится, на выходе моста нет ёмкости,значит кофициент-1,41 не работает.
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

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

Сообщение san-san »

[uquote="alex_iag",url="/forum/viewtopic.php?p=3379043#p3379043"]
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

Сообщение nbo »

В архиве исправленная версия. Пробуйте. У меня пока нет времени проверить в железе.
Вложения
!!LCD_4bit M8-timer.rar
(562.1 КБ) 936 скачиваний
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

У меня железо ещё не готово, поэтому проверить пока не могу.
Я Ваш код переложил на С. Планирую функционал немного расширить (и заодно может найду ошибки) при полном соответствии схеме. Когда будет готово с Вашего позволения выложу исходник, может кому станет интересно. Это примерно в течении месяца, со временем напряжёнка.
Аватара пользователя
nbo
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вт май 06, 2008 20:14:37
Откуда: Ukraine

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение nbo »

Я только за. Спасибо за выявленную ошибку. Программист я начинающий, так что ошибки вполне возможны. Хотя читал описание в книге Евстифеева так там про различие таймеров ничего нет.
Не вытерпел - прошил исправленную версию. Поставил аккумулятор на зарядку. Из первых впечатлений более плавная анимация и вроде бы большая скорость при наборе тока до выставленного значения.
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

Я больше полагаюсь на datasheet элемента, причем на английском (в русских переводах встречал ошибки). Правда некоторые ньюансы со словарем приходится разбирать.
Аватара пользователя
nbo
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вт май 06, 2008 20:14:37
Откуда: Ukraine

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение nbo »

В общем исправленная версия работает. Зарядил успешно. Так что всем рекомендую обновить прошивку, и по возможности отписаться о различиях в сравнении со старой версией.
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

nbo
Возможно у Вас ещё важная ошибка.
Судя по коду, 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).
alex_iag
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт июн 27, 2017 21:56:58

Re: ЗУ для автомобильных аккумуляторов на Atmega8

Сообщение alex_iag »

Похоже я ошибся. Я всегда считал, что в в таймере 1 режиме 0 контроллер не генерит прерывания по совпадению с регистрами OCR1х.
Внимательней изучил доки и пришел к выводу, что я заблуждался. увы. :facepalm:
Ответить

Вернуться в «Питание»