Открытый проект универсального зарядника

sergee

Работал бы я с мегами , сам бы попробовал такой метод измерения, и усилитель включить попробовал бы . Да вокруг меня на работе к сожалению только PICи, да Signal ов немного.да и программировать некому, сам на них ничего не писал, а сильно разбираться некогда ,как всегда. Хотя может попробую на Signal , есть демо плата с 430-м, там дифвходы есть, только усилителей нет, а может и найду чего из старших моделей, там ацп покруче будут, есть и 12 и 16 разрядные и усилители перед ними. Да еще посмотрел даташит на мегу, разрядность всегда 10 бит не зависимо от усиления и есть аппаратная автокорекция смещения (то биш нуля), плюс можно дополнительно 0 скоректировать программно закоротив на уровне мультиплексора внутри входы между собой.

AlexN
sergee:

Работал бы я с мегами , сам бы попробовал такой метод измерения, и усилитель включить попробовал бы . Да вокруг меня на работе к сожалению только PICи

Аналогично, на работе только Пики 😃

sergee

У нас как-то Atmel не прижился, когда его пробовали мег еще толком не было а 90s какието мягко говоря не очень были 😃. Но у меня теперь есть пара штук , кипил себе поиграться 8 и 16, ктоб теперь еще программку написал 😁.

Chekhov

Уважаемые разработчики, а почему бы не отдать задачу оцифровки какому-нибудь другому девайсу - отдельному АЦП или МК с более расширенными возможностями в этом плане ( Вроде смотрел таблицу ADuC , там бывает приличная разрядность, тока стоят чёта дорого ), который будет передовать результаты на мегу.
Конечно сложность схемы только вырастет. У меги несколько ног освободится.
Просто интересно хотя-бы знать, перспективная ли это идея?

sergee

Вот из-за стоимости и не охото брать что-то другое. да и зачем умножать сущности. А так у Signalа в старших моделях и два АЦП есть и разрядность 16 бит , только стоят они не как мега.

Chekhov

А так у Signalа в старших моделях и два АЦП есть и разрядность 16 бит , только стоят они не как мега.

А что за Signal’ы ? первый раз слышу. Ссылку не дадите, а то попробовал поискать - ничего толкового не обнаружил.

sergee

Сейчас это Микроконтроллеры семейства C8051Fxxx фирмы Silicon Laboratories silabs.ru это руский сайт, родной соответственно .com. Тут много по ним в том числе и переводы даташитов и книги www.electrosnab.ru/silabs/Silabs. контроллеры 51 совместимые, система команд та-же , да и базовая переферия похожа , самое основное отличие- много дополнительной переферии и скорость до 100 MIPs бывает. встроен JTAG или его аналог. стоимость эмулятора-программатора-отладчика около 30 уе(вроде), но лучше взять в составе какого-нибуть кита www.electrosnab.ru/silabs/sil_kit.htm Единственное к чему надо привыкнуть, что уж больно сильно разные семейства отиичаются друг от друга, особенно переферией. Иногда тяжко перенести проект на другой кристал. Ну еще своеобразное распределение переферии по портам ввода вывода, оно программируется довольно своеобразно.
У них еще прикольные УКВ ЧМ стерео приемники и передатчики есть, размером 5х5 мм и без единой катушки😁

anton_z

Собрал этот зарядник пару месяцев назад, вот, что в итоге получилось.

Железо, вроде работает как положено. По программной части есть некоторые вопросы:

  1. Уже общался на эту тему с R2D2 - максимальные и минимальные напряжения зарядки и соответственно разрядки для некоторых типов аккумуляторов, как мне кажется, нуждаются в корректировке. В часности для SLA.
  2. Не работает режим десульфации(пробовал только для SLA): когда запускаешь c настройками по-умолчанию, то сразу выкидывает ошибку настроек, если отключить бит “разрешить струйный заряд” то при запуске заряда сразу же выскакивает - достигнуто Vmin. У кого-нить десульфация работает?
Nick_Shl
AlexN:

Сопротивление датчиков в зарядной и разрядной цепях - разное. Но никак не 0.05 Ома - это слишком мало.

Похоже всё таки 0.05 Ома - зарядник показывает ток заряда 0.9-1.0 A а мультиметр включенный в разрыв красного провода 0.09-0.1 A. И заряжает ооочень медленно. Где бы теперь такие найти…

AlexN
Nick_Shl:

Где бы теперь такие найти…

Кусочек нихромовой проволоки - и подбирать длину экспериментальным путем.
Можно было бы медную, но при прогреве будет здорово уплывать сопротивление.

Nick_Shl
AlexN:

Кусочек нихромовой проволоки - и подбирать длину экспериментальным путем.

Мне повезло и на рынке я нашёл резисотры по 0,1 Ом. Впаял по два в параллель…
Ну китайцы, ну и пи****сы! Заряд - Ок. Разряд(благо батарея полудохлая и слабенькая) - тут же проваливалась напругаи загоралось что разряд окончен. Померял ток разряда - а он в 10 раз больше чем надо!
На приведённой схеме RC Power BC6 есть R53, R54 в парралель по 0,1 Ом(получается 0,05 Ом). Там же есть R50 номиналом 0,5 Ом. Вот похоже оба этих резистора они запаяли в 0,05 Ом и в результате при разряде транзистор и погорел…

P.S. Блок питания всё-таки добил - по хорошему не получилось(TL431 + 10К ​_+ 1,5К ​__+ подстроечник 1,5K - для регулировки 10~20В_) поэтому просто заменил стабилитрон на 15-ти вольтовый…

sergee

Провел небольшой эксперимент по измерению напряжения с помощью АЦП в диф. режиме(как в китайском заряднике). Использовался контроллер С8051F340 фирмы Silicon Laboratories (АЦП 10 бит без усилителя ). Один порт был назначен плюсовым входом, другой минусовым, на каждом входе стоял делитель 215к на 21.5к на землю. Напряжение подавалось на входы делителей от отдельного источника. Минус этого источника можно было смещать относительно земли микроконтроллера на 0-1 В. Программа проводила 2048 измерений, вычисляла напряжение в миливольтах с учетом Vref = 2.440 В (встроенный) и коэффициента деления входных делителей 11 и вычитала значение нуля полученное при закороченных входах. Потом выводила через COM в терминал, это же напряжение сравнивалось с показаниями вольтметра 0,03 класа точности.
Вот несколько значений(слева вольтметр,справа МК с АЦП, у него значения со знаком минус , так как плюс напряжения подавался на отрицательный вход АЦП):
5 -7
175 -173
241 -236
511 -505
991 -987
1579 -1577
2117 -2113
4295 -4295
10947 -10943
12718 -12719
13674 -13700
15319 -15347
18664 -18697
20644 -20670
23166 -23195
26377 -26406
Смещение источника относительно земли МК на напряжение до 600 мВ добавляло не больше 5 мВ к измеренному значению.
При изменении полярности источника(типа переполюсовали батарейку), значение меняет знак на положительный и до 1,5 Вольт даже можно точно мерять . Выше врет😁, но полярность определяется однозначно.
Вывод.
При таком включении можно точно мерять напряжение на батарее и полярность ее подключения, при этом до лампочки чего и как падает на шунте измерения тока.
правда после 13, 7 В что-то подвирать стал, но может где в вычисления чего переполнилось, или АЦП некорректно считывается (младший ,старший байты), так как программа на С ваялась на очень скорую руку ;)на основе какого-то примера.

Nick_Shl
sergee:

Провел небольшой эксперимент по измерению напряжения с помощью АЦП в диф. режиме(как в китайском заряднике).

Я тоже проводил подобный эксперимент в AtMega128. Могу сказать - фуфло. Пытался использовать псевдодиф. режим(отритцательный вывод один, все остальные мультиплексируются на положительный) для смещения 0 при оцифровке ручек передатчика. В результате шум ± 1 единица… Всё потому что без этого режима вход идёт напрямую в АЦП, а при включении - через буферный ОУ паршивенького качества.

P.S. С зарядником закончил - дейстительно не так запаяли. Даже в инете фотку с правильными резисторами на таком же заряднике нашёл. А с TL431 я сам лоханулся - перевернул(в даташите вид сверху, а я подумал снизу).

sergee

Ну такой шум совсем не плохо, тем более усреднение поможет. В моем эксперименте единица младшего разряда вообще около 50 мВ, а конечный ркзультат больше пары , другой миливольт не болтается. Правда там отсчетов много. Тем более здесь основная задача отвязаться от падения на шунте и разности между землями АЦП и заряжаемой батареии

AlexN

Да, идея поставить внешний нормальный дифференциальный АЦП разрядов на 12 уже обсуждалась где-то в дебрях этой ветки 😃

Nick_Shl:

В результате шум ± 1 единица…

Всего 1 единица младшего разряда? Так это ещё замечательный результат!

Nick_Shl
AlexN:

Всего 1 единица младшего разряда? Так это ещё замечательный результат!

Не единица, а ± единица(ориентировочно). А это уже 3. А 3 это 10. Так что плавают 2-е единицы младших разрядов. Но стоящие как в копанные без диф. режима гораздо лучший результат.

sergee

По даташиту у меги одиночное преобразование 1.5 LSB в обычном режиме и 17 LSB в диф режиме , так что все как по писанному. А отсутствие шума иногда даже во вред, хочется еще битик другой вытащить , ан нет шума нет . А результатам одиночных измерений я вообще никогда не доверяю, разве что на макете😁.

Enigm

Извините за вопрос
А версия 1.7 уже разведена? и где взять печатку ?
На сайте нашел с расширением PСB чем его просмотреть и распечатать ?
Мой старенький PiСad2004 что-то не хотит его открывать
с уважением Владимир

R2D2

Пришел из отпуска навалилась работа и ремонт. 1.7 версии пока нет.
Версия 1.7 делается на KiCad (бесплатной, соответственно со странностями) программе.

Enigm

Еще вопрос Мега на схеме это в корпусе TQFP44 а то с ДИП корпусом ноги не совпадают
Еще можно на схеме обозначить мощность резисторов, хотя бы тех что больше 0.125ватт
да и что это за конденцаторы к примеру С55 и С57 - 4.7 ? это 4.7U типа СМД как в компах ?
И будет ли прошивка под ДИП вариант корпуса? . а то что то не могу у нас даже под заказ найти ((
Решил попробовать печатку сделать под утюг )) правда рисую в Proteuse

10 days later
Denn

добавлю свои пять копеек…
На днях закончил переделку своего зарядника ( послабее и без балансира ).
Перед этим посмотрел осциллограммы фирменного Muliplex зарядника, и понял как он работает ( имею ввиду ШИМ часть ). Всё оказалось очень просто - нужно использовать Fast PWM 9 bit ( а лучше 10 ) процессора и следующую логику работы:
например OCR1A управляет ключом с + питания, а OCR1B - ключом на минус ( т.е. силовая схема должна быть не сепик, а step-up-down ). При измерении заданного параметра ( тока или напряжения аккумулятора ) определяем, надо ли увеличить его.
Если да, то если OCR1A<511 OCR1A++ , иначе OCR1B++ . В сторону уменьшения сначала уменьшаем OCR1B, а если OCR1B=0, то OCR1A-- . Получается следующая картина: при напряжении на аккумуляторе < Uпитания работает только ключ по + ,
т.е. типичная схема step-down , при повышении напряжения ключ по + остаётся включен постоянно, а начинает работать ключ на -, т.е. типичная схема step-up .
КПД при этом >90% !!!
Теперь замечания и пожелания:
у меня частота кварца 12 МГц, ШИМ 9 бит. Визуально на индикаторе есть периодические изменения тока, хотя по мультиметру ток не меняется. Напряжение стабильное. Желательно иметь ШИМ 10 бит для более точной подстройки при одновременном увеличении частоты кварца. Я думаю, что мою Атмегу16 можно запустить на 20 МГц. А так, как сейчас - это минимальные параметры.
И ещё: напряжение аккумулятора у меня меряет ADC1110 - прекрасный АЦП ! Всего 2 провода к процессору, самокалибровка, измеряет отрицательные напряжения, и стоимость до кризиса около 110 руб.