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

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

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

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

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

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

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

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

Сообщение nbo »

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

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

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

Сообщение alex_iag »

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

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

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

Сообщение nbo »

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

Сообщение alex_iag »

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

Сообщение nbo »

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

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

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

Сообщение 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МГц.
Все временные интервалы на него завязаны.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 158
Зарегистрирован: Пт дек 18, 2009 09:01:32
Откуда: г.Тайшет Иркутская обл.

Сообщение 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

Сообщение nbo »

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

Сообщение alex_iag »

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

Сообщение nbo »

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

Сообщение alex_iag »

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

Сообщение nbo »

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

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

Сообщение alex_iag »

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

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