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

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

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

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

1. E-TWOW S2 разбираем (Электросамокаты E-twow и аналоги) от GENnady (19.06.2019 в 18:38)2. Электродвигатель на задние колёса автомобиля (Электромобили) от biv4 (19.06.2019 в 18:37)3. Kugoo S3 Lux, прошивка 1.0 - в БК не настраивается максимальная скорость (Электросамокаты Kugoo S серии и аналоги ) от 08 (19.06.2019 в 18:36)4. Kugoo S3 (Электросамокаты Kugoo S серии и аналоги ) от pangolizard (19.06.2019 в 18:35)5. Клуб 2х2 (Электровелосипеды) от Vik3 (19.06.2019 в 18:32)6. Одна скорость, КПП, цепи и другое :) (Электровелосипеды с подвесным двигателем) от Бешеный енот (19.06.2019 в 18:31)
Не нравится реклама? Пройдите простую регистрацию на форуме и не будете видеть рекламу.

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

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

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

ILYANOV

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

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


И так легенда такова. Повторюсь. делаем батарею из б/у аккумуляторов, отсортировали с саморазрядом и замерили ёмкость, скомпоновали по ёмкости например я делаю 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

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

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

ILYANOV

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

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

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

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

Alex_mac

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

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

kor

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

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

ILYANOV

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

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

i

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

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

ILYANOV

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

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

i

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

У меня фузы шьются прямо из листинга, например так:
\ ==================== фузы и локи ===================================================
 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

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


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

Возможно я ошибаюсь, но вроде для "доктора" чип должен быть свободен от внешних цепей, то есть его нужно изымать из платы.
да, контроллер у меня на панельке
У меня фузы шьются прямо из листинга, например так:
\ ==================== фузы и локи ===================================================
 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
Просмотров: 1657
Последний ответ 09 Июл 2018 в 12:51
от Pau62
Контроллер детского электромобиля. Навороченый.

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

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

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

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

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

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

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

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