Реклама:  Контроллер литиевого аккумулятора детского авто на attiny13

Расширенный поиск      

Хочешь стать куратором любимой темы?

* Комментарии к новостям

1. Помогите начинающему... электрифицировать велосипед (Электровелосипеды) от bobshishkn 2. " Элик-77" Почти без подзарядки. переднеприводный 12в 24 В 220в (Изобретаем вечный двигатель ) от Андрей Вакушенко 3. О зарядных устройствах и свинцовых АКБ от А до Я (по версии Kass) (Зарядные устройства для свинцовых аккумуляторов) от Serg 4. Зарядное устройство для AGM с режимом авто (Зарядные устройства для свинцовых аккумуляторов) от dvlad666 5. Помогите выбрать моноколесо! (Моноколеса (электроунициклы)) от Геннадий_S 6. Eltreco Iconic - факты, отзывы, обсуждение (Электросамокаты) от Максим54
Не нравится реклама? Пройдите простую регистрацию на форуме и не будете видеть рекламу.

Прочитано 1085 раз

0 Пользователи и 1 Гость просматривают эту тему.

02 Май 2018 в 23:37
Прочитано 1085 раз
Оффлайн

ILYANOV

Россия, Самара Сообщений: 239
Здравствуйте.
Выкладываю свою разработку  для своего детского авто.

ВНИМАНИЕ это не полноценный контроллер который смотрит за состоянием всех банок и занимается зарядом и контролирует разряд и прочее.
Это простой контроллер который позволит вам не разряжать аккумулятор до критического состояния, смотреть примерно процент заряда и отрубать нагрузку при низком напряжении.
Сразу предупреждаю не надо писать что так не правильно и прочее.
Это устройство для тех кто понимает для чего это, как оно работает, и понимает все преимущества и недостатки этой схемы.


И так легенда такова. Повторюсь. делаем батарею из б/у аккумуляторов, отсортировали с саморазрядом и замерили ёмкость, скомпоновали по ёмкости например я делаю 5S18P

Делаем контрольный разряд, смотрим разбаланс, и ищем самую слабую - на неё то мы и будем ориентироваться.

Схема

Схема работает так:
Когда включаем двойной тумблер, на стабилитроне появляется напряжение 12 вольт которое открывает силовой транзистор. И на нагрузке появляется напряжение.
При включении также на АЦП микроконтроллера появляется напряжение с нашей "слабой" банки которую нужно обязательно поставить вниз.
Микроконтроллер измеряет напряжение.
При 4,2 вольта считаем за 100 процентов заряда. 3,0 вольта за 0 процентов
Отключение нагрузки при 2,8 вольта -  сразу отвечаю почему такое низкое напряжение. Уже при тесте на лампочках я заметил особенность что при достижении 3,00 вольт на банке. При отключении нагрузки напряжение сразу поднимается, аккумулятор как бы само восстанавливается. и не рационально отключать при 3.00 вольт.
По этому я решил что пусть отключение под нагрузкой будет при 2,8
Кто захочет другое напряжение может поставить в программе любое.
Транзистор IRFB7437PBF N-канал 40В 195А 2.0мОм, [TO-220AB] на токе 40 ампер будет выделять 3,2 ватта.
Когда срабатывает защита, транзистор BC547 замыкает стабилитрон на минус. На затворе силового транзистора появляется 0 и он закрывается отключая нагрузку от батареи.
Вентилятор поставил на всякий случай, вдруг при зарядке или езде будет греться.

Всё сделано навесным монтажом, некогда мне травить платы и красоту наводить, Главное всё работает и я приготовился к сезону
И напомню какая получилась батарея - 18,5 вольт 33Ач  где то 600ватчас, вес 4,6кг
специально ставил не самые хорошие банки(хорошие куда нибудь применю ещё), а ставил среднячки
Внимание если кто будет повторять. То сначала снимаем фьюз CKdiV8(делитель частоты на 8 )потом программируем и проверяем что всё работает и напряжение показывает. ТОЛЬКО после этого отключаем Ресет и делаем эту ногу портом PB5. После этого микроконтроллер не возможно будет перепрограммировать. Только высоковольтным программатором или фьюздоктором.
Дисплей любой с общим катодом. 4 разрядами и 12 ногами.
распиновка обычно вот такая

например вот такой модуль подойдет CA56-21EWA 4х7сегм. красный ОА 6.4мКд 14,2мм  ссылка
Схема(плата) модуля с индикатором
тут стоят два сдвиговых регистра 74HC595D ссылка стоят по 10 рублей корпус SO16

Прошивка плата схема и проект в Atmel Studio 6.1 ссылка
Всё - можно ругать :-D :-D :-D
« Последнее редактирование: 30 Июн 2018 в 00:18 от ILYANOV »
Сообщение понравилось: kor, Серик

28 Июн 2018 в 07:44
Ответ #1
Оффлайн

Alex_mac

Пока Москва Сообщений: 1187
отключение нагрузки термоконтактом не оч подходит. по идее ограничить бы мощность при 60-70 град, а при 80-90 тогда рубить напругу. и напряжением моргать при достижении критических параметров.
ну и не стоит на одном замерять напругу- при разном внутреннем сопротивлении ячейки ведут себя непредсказуемо. лучше бы скопировать систему замера напряжения с аймакса например.

28 Июн 2018 в 09:52
Ответ #2
Оффлайн

ILYANOV

Россия, Самара Сообщений: 239
отключение нагрузки термоконтактом не оч подходит. по идее ограничить бы мощность при 60-70 град, а при 80-90 тогда рубить напругу. и напряжением моргать при достижении критических параметров.
ну и не стоит на одном замерять напругу- при разном внутреннем сопротивлении ячейки ведут себя непредсказуемо. лучше бы скопировать систему замера напряжения с аймакса например.
1. Опыт показал - батарея совсем не греется, я ни разу не обнаруживал что она теплее окружающей среды
2. путь измерения на напряжения на самой слабой банке правильный (для меня) ( я её специально сделал чуть слабее остальных) сборки идут ноздря в ноздрю что называется
меня такая точность ВПОЛНЕ устраивает. До минимума разряжал только на тесте с лампочками.
3. Я ни разу не разряжал ниже 60% (не получалось), просто за одно гулянье 1-2 часа  мы тратим в среднем около 15%. И я заряжал просто по привычке.
За день (даже за два) искатать всю батарею для нас не реально.

Исходя из всего вышеперечисленного что-то менять считаю не целесообразно. Да и лень.
Зачем лезть в устройство которое и так отлично работает.

Авто у меня получилось экономичное.
Легкое, колёса слики, задняя ось не заблокирована. Водитель лёгкий.
по этому и расход низкий

28 Июн 2018 в 12:08
Ответ #3
Оффлайн

Alex_mac

Пока Москва Сообщений: 1187
технически проще сделать два уровня по температуре- не будет обрубания питания резкого.
плюс батареи все же имеют деградацию- меняют параметры. но это заметно после второй тысячи элементов. а на БУ иногда быстрее.
плюс сортировать их надо с учетом вн сопротивления.  есть такой друг у меня. лень было перемерять каждый элемент. загорелись они в квартире. жена с тещей все ему припомнили.
нагрузка в 10 ампер для новых то элементов достаточно большая, когда это может во что то вылиться - неизвестно. иногда требования надежности диктуют свои правила.
ну в общем то нас учили хорошо по советским наукам и неземным правилам. вас видимо эффективные менеджеры.

28 Июн 2018 в 15:17
Ответ #4
Оффлайн

kor

г. Ижевск Сообщений: 722
Оригинальное решение - внизу поставить сборку аккумуляторов самую слабую и контролировать только ее напряжение. Схема здорово упрощается. Мне понравилась. Можно еще платок балансирных с али купить за недорого и подцепить на все элементы батареи.

28 Июн 2018 в 16:03
Ответ #5
Оффлайн

ILYANOV

Россия, Самара Сообщений: 239
Оригинальное решение - внизу поставить сборку аккумуляторов самую слабую и контролировать только ее напряжение. Схема здорово упрощается. Мне понравилась. Можно еще платок балансирных с али купить за недорого и подцепить на все элементы батареи.
Спасибо.
Можно и балансиры поставить, но лично у меня нет необходимости в этом - я заряжаю вот такой зарядкой.
 Контроллер литиевого аккумулятора детского авто на attiny13
Она мне показывает напряжение на банках и общий заряд залитый в батарею. Самое большее 15Ач заливал
мне удобно и зарядка 6 ампер

28 Июн 2018 в 16:10
Ответ #6
Оффлайн

i

Администратор Иваново Сообщений: 3796
отключаем Ресет и делаем эту ногу портом PB5. После этого микроконтроллер не возможно будет перепрограммировать.
Если в прошивке есть ошибки (а они там есть) или появиться новая идея, то апгрейд заменой тиньки -  не очень хорошая идея.
Этого можно избежать:
1. использовать Reset для переключения режимов, есть возможно узнать в проге, что именно вызвало сброс, вкл питания или нажатие кнопки "режим", тем более, что она уже подключена туда.
2. использовать пин1 как ADC0, для измерения напряжения ячейки, главное чтобы это напряжение не опускалось ниже Vcc/2.

28 Июн 2018 в 20:47
Ответ #7
Оффлайн

ILYANOV

Россия, Самара Сообщений: 239
Если в прошивке есть ошибки (а они там есть)Какие ошибки? или появиться новая идея, то апгрейд заменой тиньки -  не очень хорошая идея.
Если появится новая идея то для этого применяют фузебит доктор. И вообще то сначала тестируют на макете а в готовое устройство заливают уже оттестированную прошивку.
Этого можно избежать:
1. использовать Reset для переключения режимов, есть возможно узнать в проге, что именно вызвало сброс, вкл питания или нажатие кнопки "режим", тем более, что она уже подключена туда. У меня никаких сбросов не происходит
2. использовать пин1 как ADC0, для измерения напряжения ячейки, главное чтобы это напряжение не опускалось ниже Vcc/2.
а вот это плохое предложение - которое чревато неожиданными сюрпризами в любой самый неподходящий момент
Эта программа нужна была очень срочно - написана за вечер , потому что собирал батарею и нужно уже было кататься, сами понимаете
Сделал по быстрому, конечно решение сделать ресет входом не самое лучшее решение - но переходить на более жирный контроллер мне не хотелось.
По сути эта кнопка не нужна, смотреть напряжение в вольтах нужно только во время настройки, а потом обычно на проценты смотрю.
Самое правильное решение это посадить эту кнопку на 2 ногу. А в программе указать что если на АЦП ноль то показываем вольты из памяти, а не проценты.
И тогда 1 нога освободится.
Всё сразу не предусмотришь

29 Июн 2018 в 11:15
Ответ #8
Оффлайн

i

Администратор Иваново Сообщений: 3796
Эта программа нужна была очень срочно - написана за вечер
Какие ошибки?
Разве этого не достаточно? Не знаю как Вы, а я всегда "портачу" в первых версиях, то тут забыл, то это работает не так как я думал... да мало ли.
для этого применяют фузебит доктор
У меня нет этой штуки, потому что нет необходимости (видел в инете, да поленился делать). У Вас он видимо есть, поэтому Вы так и сделали... Ваше право.
Возможно я ошибаюсь, но вроде для "доктора" чип должен быть свободен от внешних цепей, то есть его нужно изымать из платы.

У меня фузы шьются прямо из листинга, например так:
\ ==================== фузы и локи ===================================================
 FUSE{ CKDIV8 }=1    \ RC  8МГц
 FUSE{ bodlevel0 EESAVE }=0 \ запрограммировать 1v8 напряжение сброса, защита EEPROM от стирания

 lock{ lb1 lb2 }=0  \ чип будет залочен
\ lock{ lb1 lb2 }=1  \ чип будет разлочен

Сделал так специально, что бы не путаться в них при прошивке десятков чипов. При заливке программатор сравнивает фузы чипа с требуемыми и, либо их изменяет в нужном ключе, либо нет.  Получается очень удобно.
Я могу так делать потому, что использую самописный программатор и компилятор. Еще у меня в запасе есть бутлоадер, тоже самопал.

Вы имеете полное право не прислушиваться к моим советам и поступать так, как считаете нужным.
Удачи!

30 Июн 2018 в 00:34
Ответ #9
Оффлайн

ILYANOV

Россия, Самара Сообщений: 239
Разве этого не достаточно? Не знаю как Вы, а я всегда "портачу" в первых версиях, то тут забыл, то это работает не так как я думал... да мало ли.
Я обычно отлаживаю одну часть программы которая без нажатия на кнопку.
Потом отлаживаю вторую часть программы которая должна быть с нажатой кнопкой которая на ресете висит. (но внутри делаю маркер какую часть программы показывать.
а потом делаю этот марке зависимым от кнопки и отключаю ресет.
И - вуаля обе части программы отлажены


У меня нет этой штуки, потому что нет необходимости (видел в инете, да поленился делать). У Вас он видимо есть, поэтому Вы так и сделали... Ваше право.
фузебит доктор экономит деньги, когда накопилось значительное количество неработающих контроллеров -сделал и вернул их к жизни
и должен быть у каждого разработчика, потому что заблокировать можно не только переводя ресет в пин

Возможно я ошибаюсь, но вроде для "доктора" чип должен быть свободен от внешних цепей, то есть его нужно изымать из платы.
да, контроллер у меня на панельке
У меня фузы шьются прямо из листинга, например так:
\ ==================== фузы и локи ===================================================
 FUSE{ CKDIV8 }=1    \ RC  8МГц
 FUSE{ bodlevel0 EESAVE }=0 \ запрограммировать 1v8 напряжение сброса, защита EEPROM от стирания

 lock{ lb1 lb2 }=0  \ чип будет залочен
\ lock{ lb1 lb2 }=1  \ чип будет разлочен

Сделал так специально, что бы не путаться в них при прошивке десятков чипов. При заливке программатор сравнивает фузы чипа с требуемыми и, либо их изменяет в нужном ключе, либо нет.  Получается очень удобно.
Я могу так делать потому, что использую самописный программатор и компилятор. Еще у меня в запасе есть бутлоадер, тоже самопал.
Ну мне пока далеко до самопальных программаторов  :-)
Вы имеете полное право не прислушиваться к моим советам и поступать так, как считаете нужным.
Удачи!
Спасибо. на самом деле там памяти в притык ещё - занято 95% по этому особо не разгуляешься объединением ног
Это устройство из разряда - сделал - работает и забыл
Но может быть когда нибудь потребуется это устройство, то освобожу ресет  :kidding:

 

Контроллер для детского квадроцикла 36в 500в

Автор OskarРаздел Микроэлектроника

Ответов: 18
Просмотров: 1129
Последний ответ 09 Июл 2018 в 12:51
от Pau62
Контроллер детского электромобиля. Навороченый.

Автор av-masterРаздел Детский электротранспорт

Ответов: 9
Просмотров: 6013
Последний ответ 15 Июн 2012 в 21:26
от Александр67
контроллер квадрацикла детского Profi Cross DCX-R

Автор бакРаздел Детский электротранспорт

Ответов: 7
Просмотров: 1087
Последний ответ 20 Май 2016 в 08:56
от alpatov
контроллер на 36v, батарея 54v, не сгорит ли контроллер?

Автор unnellРаздел Электровелосипеды

Ответов: 13
Просмотров: 468
Последний ответ 21 Ноя 2018 в 02:23
от TULSUNDUR
Контроллер света bLight (аппаратный контроллер для широкой публики)

Автор redimerРаздел Микроэлектроника

Ответов: 36
Просмотров: 4107
Последний ответ 15 Мар 2015 в 21:47
от atred