Jump to content

Устройство импульсного заряда/разряда АКБ на МК PIC (Эх, заряжу - 01)


Recommended Posts

3 часа назад, LYNA сказал:

Для чего нужен этот режим

Если для питания ЗУ используется регулируемый блок питания (например переделанный из ATX) -  то ЗУ  используется как индикатор + триггерная защита от КЗ.

3 часа назад, LYNA сказал:

Может все таки возьметесь изменить лучшую сторону

У меня отпала необходимость в данном устройстве (как минимум на ближайшие пару лет) - а так лень.

3 часа назад, LYNA сказал:

Импульсный/постоянный

увы реализация  заряда постоянным током очень усложнит схему

3 часа назад, LYNA сказал:

Обычно мечты пишут в Снегу зимой

Может стоит потратить пару дней на изучение С++, и замутить все самому?  Это ведь не asm.

Вот примерно что получилось (присутствуют баги - меню обновляется только при переходе)

Charger 8.D9.hex

Алгоритм: 

1 разряд - до выбранного напряжения

2 десульфатация - до 14,5В

3 заряд - до падения тока заряда

4 да-да-да КАЧЕЛИ - оставлю их из вредности :)

МЕню:

1.PNG.1869df218a12c6835e797057f61dce9f.PNG

Выбираем ток разряда и напряжение до которого разряжаем АКБ

2.PNG.6ee2e6f57ebdb6e91d250c07699f6f0d.PNG

устанавливаем ток заряда/разряда при десульфатации

3.PNG.81d2b869242bdc7668d7761c4c26453e.PNG

задаем напряжение до которого заряжать и максимальный ток заряда

4.PNG.c45473c7fe76d6e8cacbcc232198c78e.PNG

указываем напряжение "остывания" АКБ, и минимальный ток перехода в режим "КАЧЕЛИ"

 

07.11.2021 в 17:04, LYNA сказал:

измерительный и разрядный резисторы по 0,1 Ом

т.е. АКБ разряжается на 0,2 Ом

если акб 12В  то I=12/0.2=60A

ЭЭЭЭ? Как бы оно и не работает.

Edited by postaloi
Link to comment
Share on other sites

 Здравствуйте postaloi.  Спасибо за Ваш проект  Эх заряжу,   я сделал 3 зарядных  устройства  и  на работе  сделал для заряда 50В АБ.   На работе  мои коллеги сделали себе тоже хотя на форуме не зарегистрированы. Увидел  я первый раз Эх заряжу у коллеги на работе примерно 5 лет назад это Попель Владимир  вы с ним начинали делать   он на форуме зарегистрирован. Спасибо Вам еще раз  за ваш труд и если будет новое вдохновение  внести что-то новое  в  в данное ЗУ то за это только   большое Вам  СПАСИБО. Желаю Вам крепкого здоровья и  больших успехов во всех делах.

Link to comment
Share on other sites

Добрый день postalio ! Спасибо за прошивку!!! Залил эту прошивку. При включение сеть по умолчанию разряд. Прошел все подряд настраиваются напряжение и ток. Все настроил, последний раз нажимаю set и начинается разряд  до установленного напряжения, потом начинается десульфатация 10 по 10 сек.Тут что хотел сказать: если наживаем set: видим числа в ms .при одинаковых времени ms ток заряда очень опаздывает чем разряд. Нельзя ли чуток ток заряда поднять ,что бы шли по одинаковому току? Режим десульфатации пока до конца не проверил .т.е при достижение 14в должен перейти на обычный заряд. Что еще хотел спросить: Запустив режим :десульфатации сначала разряжает, идет десульфаатации до 14в и заряд. После завершения полного заряда ,откинуть клемму от АКБ можно будет посмотреть сколько АЧ набрал при разряде? Хорошо бы если есть. Если хотим перейти на качели, то сколько циклов решили делать с качели переход на заряд? Не важно переходим на качели или ждем минимального падения тока, попустим достигли на дисплее //Заряжен и напр АКБ 14,0в и все время мерить напряжение АКБ пока не отключим из сети.
При включение сеть ,то что пока мы видим по идее это должен быть режим настройки ,да туда еще добавить при каком токе вкл вентилятор и циклы в качелях. А тут после настроек при нажатии SET начинается разряд, этого не нужно делать. Можно сделать так: Вкл сеть по умолчанию режим заряд. Как в версииV1,8,12 нажимая  set выбираем режим заряд или десульфатация и все! Выбрали ,если дальше не нажимаем то автоматом начнется заряд через 2 мин, или принудительно запускаем режим удерживанием set.При включенном ЗУ в сеть, удерживая кнопку UP вызываем настройки. Это очень удобно, допустим запустили режим зарядки и в конце видим ,что ток больше не падает течение 2 часов, удерживаем кнопку(но в это время зарядку лучше не прерывать),(хотя и можно нажав resset) и на ходу выставляем минимальный ток и потверждаем удержанием кнопки DP  что сохранен. Это вам виднее нужно ли удерживать для сохранения кнопку DP.
 В общем пока данное время твк: вкл сеть настраиваем все подряд как нужно ,нажали set начинается разряд. Нажимаю на resset, теперь уже во всех  режимах настройки токи стоят по умолчанию, а не те настроенные.т.е нажимаю set вот тогда только видно те настроенные токи, это бы надо поправить, что бы показывал все время настроенные токи. То же самое ,если ЗУ вытащить из розетки токи видим по умолчанию, если нажимаем set то уже настроенные ранее. Прошу прощения, тут пока нет режим калибровки. Можно как в том варианте до вкл сеть удерживать SET и калибруем. Там оставить только саму калибровку, чтобы туда больше не лезть как в том варианте для поправки ток вентилятора и т.д.Пока данное время режим заряд не доступен.
 То что есть меню настроек очень понравился. Как закончиться поправки НЕХ ,все проверю, сниму видео особенно в режиме зарядки. В общем не должен выплывать большие пузыри, крайнем случае придется добавить еще один Z
к примеру так Z1- это у нас как тех версиях 0,05С/ Z2=0,1С /Z3=0.05С Z4 =0,02C/ Z5= минимальный ток переход качели. Вполне возможно все пройдет гладко как раньше от 1..4 Z. На счет благодарности обсудим с вами в личке.
 

Link to comment
Share on other sites

Транзисторы OptiMOS с ориентацией кристалла истоком вниз могут стать новым стандартом в изготовлении MOSFET

Традиционно производители дискретных силовых полупроводниковых приборов добиваются улучшения ключевых характеристик за счет усовершенствования кристалла. Однако специалисты компании Infineon добились впечатляющих результатов, сориентировав кристалл в корпусе истоком вниз. Такая ориентация кристалла применена, например, в серии MOSFET OptiMOS.

Подробнее

 Проверил режим десульфатации. Для этого есть убитый АКБ.Все идет правильно: Сначала разряд, десульфатациии при установленном минимальном токе переходит на качели.Для быстрой проверки на качелях установил 13,5 в,при снижение напруги  снова переходит на заряд.Прошел два цикла с качели на заряд,далее отключил сам. Остается остальное доработать и все. Спасибо.
 ваш четвертый фото :можно чуток поправить
ZAR MIN  U=13.00V
                   I=1.00A
так
U kach  U=13.00V
I kach     I=1.00A
Прошу прощения,при случайном переполюсовке защита будет?

Edited by LYNA
Link to comment
Share on other sites

Приглашаем на вебинар «Необычное в обычном. Сравнительный анализ современных решений Recom» (27.01.2022)

Приглашаем 27/01/2022 всех желающих посетить вебинар, посвященный двум наиболее растущим сегментам интегрированных источников питания – AC/DC малой мощности (1-20Вт) и сегменту решений PoL без изоляции. На вебинаре рассмотрим проблему выбора AC/DC в бюджетном сегменте и концепцию тестирования ускоренного старения, проведем сравнительный анализ подходов к интеграции AC/DC модулей. Сделаем обзор решений концепции POL с доисторических времен до современных технологий и средств для разработки и тестирования.

Подробнее

10.11.2021 в 12:34, vladimir1962 сказал:

Желаю Вам крепкого здоровья и  больших успехов во всех делах

Спасибо.

10.11.2021 в 14:42, LYNA сказал:

при случайном переполюсовке защита будет

должна работать. Проверь. 

Только в вашем случае разрядный резистор очень мал, а во время переполюсовки ток пойдет через паразитный диод разрядного транзистора, 60А, ой-ёй-ёй  что то будет :)

Link to comment
Share on other sites

Как улучшить параметры преобразователей с помощью карбид-кремниевых модулей WolfPACK

Необходим быстродействующий преобразователь питания средней мощности с высоким КПД? Он должен быть компактным и недорогим? Решение – карбид-кремниевые модули средней мощности WolfPACK производства Wolfspeed. В статье рассмотрены основные особенности модулей WolfPACK и показано, что переход на эту универсальную и масштабируемую платформу позволяет не только быстро разработать новые устройства, но и без значительных затрат времени и средств модернизировать уже существующие схемы на традиционной элементной базе.

Подробнее

LI/PR2 – надежные и недорогие ИП от MORNSUN на DIN-рейку

Компания Mornsun выпустила три серии источников питания с креплением на DIN-рейку в форм-факторе Home Automation на популярные значения выходной мощности 30, 60 и 100 Вт (серии LI30-20/PR2, LI60-20/PR2, LI100-20/PR2). Эти источники питания относятся ко второму поколению продукции (R2) и характеризуются высокой надежностью и хорошей стоимостью.

Подробнее

 Добрый день Postaloi! 

15 часов назад, postaloi сказал:

разрядный резистор очень мал

каким же номиналом он должен быть? В новой печатке после измерительного резистора добавил диод и за ним 62К/20К ,что бы схема не работало через диод полевика,когда нет электричества,так можно?
 

 

12 часов назад, postaloi сказал:

вынес настройки токов -  удерживать UP  при включении

Это как раньше? А во время зарядки удерживать кнопку и поправить минимальный ток на ходу не будет возможности? Сегодня я дома отдыхаю,завтра иду на 2 сутки проверю опишусь.Огромное спасибо,что не отказали,дай Бог Вам и вашей семье Здоровья и всех благ!
Прошу прощения ,а нет ли возможность LBP? не так как раньше.т.е выбрали режим LBP на выходе=0, выставляем нужный ток,включаем АКБ и по тихоньку должен открываться ключ стабилизируя установленный ток течение двух часов. Для чего нужен?  Это по идее не режим БП,а для перемешивания электролита. Есть тяжело потдающие АКБ как EFB  CA/CA/ после полного заряда не достигаются нужной плотности и минимальный ток.

Link to comment
Share on other sites

 Добрый день postaloi ! Прошивку проверил ве нормально работает. как на счет этих:

12.11.2021 в 12:11, LYNA сказал:

Это как раньше? А во время зарядки удерживать кнопку и поправить минимальный ток на ходу не будет возможности?

Это реально упрощает,а то надо во время зарядки прервать процес,откл,удерживая вкл и двигать по настройкам.
 

 

12.11.2021 в 12:11, LYNA сказал:

Прошу прощения ,а нет ли возможность LBP? не так как раньше.т.е выбрали режим LBP на выходе=0, выставляем нужный ток,включаем АКБ и по тихоньку должен открываться ключ стабилизируя установленный ток течение двух часов.

можно сделать?
Если нужно делать десульфатации: разряд-десульфатации-заряд.Вот тут нет возможности просмотра сколько АЧ был разряде.Если снять клемму с АКБ можно посмотреть?
Как я вижу нет режим калибровки.Но крайнем случае можно залить 1_8.12 калибровать и перепрошить,но как будут сохранены : сопротивление шунта и сопротивление проводов? они же не активно с прошивкой 8D9.
 

Edited by LYNA
Link to comment
Share on other sites

 Да еще и ток вентилятора,то же забыл написать. Наверное гораздо проще было бы просто удалить лишние с 1_8.12.Вызвать настройки удержанием  любом режиме.

Link to comment
Share on other sites

Добрый день Postaloi ! Как вы сказали  при переполюсовке ток пойдет через паразитный диод полевика. Тут нарисовал защиту от переполюсовки и за одно звуковая и световая индикация. Хотел спросить куда подключать делители? на GND  или на АКБ.Если на GND то падение напряжение на полевике не учитывается,хотя она будет мизерном,т.к полевик работает ключевом режиме,что скажете? Может полевик ставить Логическим управлением?  Вдруг АКБ окажется сильно севшим может не открыться полевик от переполюсовки.
 

переполюслвка.jpg

Edited by LYNA
Link to comment
Share on other sites

2 часа назад, LYNA сказал:

ток пойдет через паразитный диод

так может просто поставить разрядный резистор на 2Ом?????

Ну или диод в разрядную цепь перенести?

22222.PNG.32139235d76221987d89a511db8afc39.PNG

Хотя диод - лишнее, но будет разряд в 5А  при переполюсовке (нестрашно).

Пищалку можно добавить.

Link to comment
Share on other sites

Добрый вечер  postaloi. Я вас понял. Но во время разряда при токе 3А резистор 0,1 довольно сильно греются,а при 2 Ом? Не знаю правильно ли я считаю: Разрядный ток 3А* 2  ом=6 в   3А*6в=18Вт .Ой-йой.
 Так вы не ответили: Как с калибровкой ,он будет? или сначала прошить 1.8.12 калиброваться и перепрошить. Да с вентилятором понятно вы его прописали вкл при 2А. Мне самое главное решить вопрос вход настройкам. Ну не удобно так работать.Включили ЗУ в сеть идет заряд ,что то не нравиться удерживаем кнопку и поправляем как нравиться ,просто чудо. Зачем прерывать процесс выключая ЗУ?Я вас очень прошу сделайте пожалуйста. Так же в настройках,я уже писал было выше.т.е все настроили как надо зарядили выключили. Если еще раз зайдем в настройки напряжение стоит как было ранее выбрано,а вот токи стоят по умолчанию не те настроенные.если нажать set  стрелка переходит на поправку тока,да тогда там стоят то что настроено в прошлый раз.Можно это как то поправить,что бы не было по умолчанию,а сразу казал настроенные. Я свое обещание помню,просто жду финала как доработаем, Осталось совсем маленько,Спасибо что не отказали релизе.

Link to comment
Share on other sites

 Для разряда током 6А добавил еще один полевик. Два полевика на разряд+1 на переполюсовку все три IRL3713/,Два полевика на один порт выдержит?
 

Переполюслвка.jpg

Link to comment
Share on other sites

Добрый день Postaloi. Вы куда то потерялись такое нужное время.Если вы не желаете доработать,может исходником поделитесь: 1.8.12 и 8D6? Мне так важен две вещи :
1)Режим БП.Выставляем нужный ток(стаб тока) и все ,напряжение без ограничение.
2)Режим настройки.Подаем питание,удерживаем кнопку и настраиваем и все. Может поможете реализовать до конца? Спасибо за ранее.

Link to comment
Share on other sites

В 14.11.2021 в 18:12, LYNA сказал:

Не знаю правильно ли я считаю:

неправильно

В 14.11.2021 в 18:12, LYNA сказал:

Зачем прерывать процесс выключая ЗУ

процессор не многопоточный. По другому никак.

В 14.11.2021 в 18:12, LYNA сказал:

Можно это как то поправить

можно, но тогда места не хватит на остальное

В 14.11.2021 в 23:04, LYNA сказал:

добавил еще один полевик

1707364250_.PNG.1e16f90fab935e6c9e568af459d54a0a.PNG

Надеюсь так понятно? 

Link to comment
Share on other sites

 Добрый день postaloi ! Огромное вам спасибо!!! Дай Бог вам долгих лет жизни и здоровья!!!
Разрядный резистор все таки надо на 2,0 Ом? По идее я хотел второй полевик разряда ,затвор пустить через тумблер,что бы можно было разряжать 0,05С и 0,1С. У меня еще проблема,то что резисторы с китая до сих пор нет.Продавец продлил до 30.11.21 и три месяца будет.Придется по новой заказать.Резистор 2 Ом 50 Вт нормально будет? Я заказал такие.
Прошу прощения:

В 18.11.2021 в 10:28, LYNA сказал:

1)Режим БП.Выставляем нужный ток(стаб тока) и все ,напряжение без ограничение.

 Для этого места нет?

cats.jpg

Link to comment
Share on other sites

 Тест прошел.нормально.Единственное swing  переход на качели минимальный ток до 100ма,нельзя ли его делать от нуля,АКБ могут быть и разные 12АЧ соответствующим шунтом. Вход калибровку: напругу настроил одинаково с потенциометрами.Мерю на ножке 2 и 3 напряжение немного отличается. Если напругу погонять одинаково на 2 и 3 ножке то на дисплее два разных напряжения. Почему так? У нас ведь нет тока не на чем падать,не ужели  шунт влияет,даже без тока?

Link to comment
Share on other sites

обновил ПО Changer_v9.11 (31.10.21).hex проблема ушла.

сделал тест проверки правильности измерения емкости АКБ. использовал LiIon 3*4,2В, указал точку разряда до 8,4В. замер показал разряд 2.5Ач, заряде 2.7Ач (заряжал до 4.2В на элемент). при прогоне этих же элементов  другим заводским устройством показало 2.25ач на каждом элементе,  по паспорту элементы имеют емкость 2.1Ач.

зарядное собрано на ОУ и настроено до сотых вольта, шунт 0.1Ом.  есть ли варианты калибровки для более точных замеров. прихоть конечно, но быть может есть варианты?

Edited by roma_BLR
Link to comment
Share on other sites

  • 2 weeks later...

Добрый день Postaloi.
После полевика IRF4905 поставил диод.Вкл ЗУ в сеть Накидываю концы от ЗУ на АКБ и на дисплее : КЗ ток больше 10А!.Убираю диод ,все нормально.Диод ни куда не касается висит на воздухе.По идее не понятно что происходит?  в ПО есть программная защита от превышение тока 10А,как он должен влиять на диод? Если во время зарядки отключат электричество ,то микроконтроллер и дисплей,вентилятор,получат питание от внутреннего диода полевика,что есть не хорошо. Без диода,откинул исток  полевика ,вкл АКБ и то же самое //КЗ ток больше 10А// Это почему так?

cats5.jpg

Edited by LYNA
Link to comment
Share on other sites

В 24.11.2021 в 09:11, roma_BLR сказал:

разряд 2.5Ач, заряде 2.7Ач

КПД заряда не =100% 

В 24.11.2021 в 09:11, roma_BLR сказал:

емкость 2.1Ач

ток разряда порядка 100мА 

Если нужны такие маленькие токи то и калибровку делайте на таких токах. 

В 22.11.2021 в 16:42, LYNA сказал:

на ножке 2 и 3 напряжение немного отличается

1861394935__2021-12-12_110646.png.e49a1efd62635626843d1a23a320c1f2.png

немного это сколько?

1 разряд АЦП= 4,883 мВ 

т.е. ацп видит 500 единиц при напряжении на входе МК от 2,441В до 2,446В

Link to comment
Share on other sites

 Добрый день Postaloi . На АКБ 12,77в (на дисплее 12,76 при этом на 2 ноге =3,166в на 3 ноге 3,169в. если равнять обе одинаково то при ХХ показывает ток. Думаю что все в порядке,АКБ это не нано технологии. Извините,вы не смогли бы поправить 8D9  нет авто запуска через две минуты ,если не нажимаю кнопки. Это очень нужен,если отключили электричество и потом уже не запуститься,получим не заряженный АКБ. Я вам писал личку вы их получаете? Не смогли бы поделиться исходниками 1.8.12 оригинал с шунтом и 8D9.Я вам в личке написал о благодарности,но вы не отвечаете.

Link to comment
Share on other sites

Добрый день всем. Собрал зарядное по схеме версии 9, прошивку поставил версии 9.11. А где почитать про рабочие режимы, ко орые в неё заложены? Тему всю прочёл, но точного описания не нашёл. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Сообщения

  • Similar Content

    • By Falconist
      Уважаемые коллеги,
      немного "злоупотребил властью" и открыл отдельную тему, поскольку аналогичная тема на "Казусе" неожиданно получила достаточно большой резонанс (только "спасиб" - 148). Неоднократно отсылал туда, чтобы не дублировать одинаковые темы на разных форумах, но в связи с недавним усложнением регистрации на Казусе такая отсылка становится напряжной. Да и расползлась "та" тема до почти 800 постов, т.е. приблизилась к пределу "читабельности", при том что ещё почти столько же было выделено в 2 дочерние подтемы.
      Итак, "ближе к телу" (как говорил Ги де Мопассан).
      Схема зарядки (сразу предупреждаю!) не является абсолютно оригинальной, является гибридом статей М.Шумилова в "Радио".- 2009, № 1.- С.38-39; "Зарядное устройство из блока питания АТ-АТХ" и нескольких схем компьютерных БП АТ (варианты "А" и "В"), с датчиком тока на транзисторе.

      В третьем варианте ("С") использован принцип измерения тока заряда вторым компаратором самой TL494 ( http://kravitnik.nar...e/charge_4.html ).

      По принципу действия все они являются стабилизаторами тока с ограничением максимального напряжения на уровне 14,4 В. Выходной ток заряда может достигать 10...12 А с соответствующим трансформатором (ну уж не совсем "малюпусеньким"!). Эта зарядка НЕ ПРЕДНАЗНАЧЕНА для десульфатации, "тренировки" и прочих извращений, являющихся "тяжким наследием совейской действительности", когда стоимость нового аккумулятора была сопоставима с месячной зарплатой. Только чтобы подзарядить севший аккумулятор перед выездом после долгого стояния в гараже. А дальше - пусть справляется генератор самой машины. По этой же причине в ней нет и индикации тока заряда и напряжения - ток заряда в начале стабилен, задается для имеющегося аккумулятора, а перед концом начинает снижаться. Напряжение больше выставленных 14,4 В не вырастет. Ввести такие измерители не представляет никакого труда, но это уже вопрос моддинга.
      Все схемы построены по топологии АТ. Считаю с полным основанием, что дежурное питание для подобного сабжа, являющегося "вещью в себе", совершенно не нужно! Это ведь не компьютер, который должен находиться в дежурном режиме, чтобы иметь возможность включения по сети или звонку модема! БП АТ десятилетиями работали без нареканий.
      Оригинальной является только печатная плата.

      Она избыточна - для всех трех вариантов (некоторые детали просто не запаиваются, + устанавливаются перемычки.
      Распайка и сборка сабжа на новой плате может вызвать возражения, мол "проще выпаять ненужные детали на готовой плате, зачем городить огород?" Хорошо знакомо. Дело в том, что такой подход хорош для опытных любителей/профессионалов, хорошо знакомых с топологией печатных плат компьютерных ИИП. В этой связи для опытных могу порекомендовать отличнейшую статью на "Радиокоте по переделке ИИП. Малоопытные же встречают на этом пути серьезные трудности, времени иногда занимает намного больше с непредсказуемым результатом, вплоть до неработоспособности. Тоже хорошо знакомо. И чем меньше опыта, тем больше трудностей. Давайте не поднимать по этому поводу холивар. "Кому нравится поп, а кому - попадья"...
      Вторая причина: могут иметься в наличии несколько неработающих ИИП, каждый по себе не запускаемый, а вот детали от них "из общей кучи" могут быть целыми.
      Поскольку цоколевка управляющего трансформатора по "низковольной" стороне бывает самой разной ( http://forum.cxem.ne...showtopic=65531 ) - нужно внимательно рассмотреть топологию печатки-"донора" и скорректировать печатку в этой её части. Реле - на 30А (автомобильное), служит защитой от переполюсовки. Выходной дроссель перемотан проводом диаметром 1 мм - 30 витков (индуктивность около 56...62 мкГ).
      Единственными деталями, которые придется докупить, является выпрямительный полумост, который должен быть не менее, чем на 80...100 В обратного напряжения и на планируемый ток (те, которые стоят в канале +5 В - имеют слишком малое обратное напряжение, а в канале +12 В - слишком малый прямой ток), реле (в автомагазинах) и токоизмерительные резисторы по 0,1 Ом (вместо них можно поставить шунты от тестера или просто куска высооомного провода, хоть от электроплитки).
      Фото готового сабжа.

      В архиве - то же самое, в формате sPlan и SprintLayout.
      P.S. Планировалось по результатам обсуждения разработать гамма-версию, с опциональным режимом десульфатации, но из-за недостатка времени эта работа до конца не сделана. Разработана схема (вариант "D") с "жесткой" стабилизацией выходного напряжения (токоизмерительный резистор исключен из цепи стабилизации напряжения):

      По этой схеме изготовлены 2 ИИП на +12 и +5 В, суммарной мощностью до 60 Вт, с общим ограничением выходного тока на уровне 5 А, на плате размерами 70 х 100 мм.

      Эксперимент по заряду аккумулятора емкостью 45 А*ч с их помощью увенчался полным успехом. Однако, отсутствуют цепи питания кулера, защита от переполюсовки, плата нестандартная для корпуса компьютерного БП и т.п. Печатка на этот вариант и еще один (4 закладки, как в Экселе)
      На все вопросы отвечу, замечания и уточнения "по делу" приму с благодарностью.
      добавление от Starichok51:
      вот здесь я дал схему на свой Вариант Е:
      Charger_Acid_Auto.rar
    • By Super Akk
      Здравствуйте, я работаю в Proteus и у меня возникла ошибка Simulation is not running in real time due to excessive CPU load
      Подскажите пожалуйста как её исправить
      Код прошивки:
      #include <lm3s300.h> // Graphic Display functions #include <glcd.h> // Font used for displaying text // on the graphic display #include <font5x7.h> // Declare your global variables here void main(void) { unsigned char odin[] = { 0x08, 0x00, 0x08, 0x00, #ifndef _GLCD_DATA_BYTEY_ 0x00, 0x10, 0x18, 0x14, 0x10, 0x10, 0x7C, 0x00, #else 0x00, 0x00, 0x48, 0x44, 0x7E, 0x40, 0x40, 0x00, #endif }; // Declare your local variables here // Variable used to store graphic display // controller initialization data GLCDINIT_t glcd_init_data; // Crystal Oscillator division factor: 1 #pragma optsize- CLKPR=(1<<CLKPCE); CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0); #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif // Input/Output Ports initialization // Port B initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0A output: Disconnected // OC0B output: Disconnected TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2A output: Disconnected // OC2B output: Disconnected ASSR=(0<<EXCLK) | (0<<AS2); TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) | (0<<WGM21) | (0<<WGM20); TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2A=0x00; OCR2B=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // Timer/Counter 2 Interrupt(s) initialization TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2); // External Interrupt(s) initialization // INT0: Off // INT1: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-14: Off // Interrupt on any change on pins PCINT16-23: Off EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); EIMSK=(0<<INT1) | (0<<INT0); PCICR=(0<<PCIE2) | (0<<PCIE1) | (0<<PCIE0); // USART initialization // USART disabled UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR1=(0<<AIN0D) | (0<<AIN1D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); // SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); // Graphic Display Controller initialization // The KS0108 connections are specified in the // Project|Configure|C Compiler|Libraries|Graphic Display menu: // DB0 - PORTB Bit 0 // DB1 - PORTB Bit 1 // DB2 - PORTB Bit 2 // DB3 - PORTB Bit 3 // DB4 - PORTB Bit 4 // DB5 - PORTB Bit 5 // DB6 - PORTB Bit 6 // DB7 - PORTB Bit 7 // E - PORTC Bit 0 // RD /WR - PORTC Bit 1 // RS - PORTC Bit 2 // /RST - PORTC Bit 3 // /CS1 - PORTC Bit 4 // /CS2 - PORTC Bit 5 // Specify the current font for displaying text glcd_init_data.font=font5x7; // No function is used for reading // image data from external memory glcd_init_data.readxmem=NULL; // No function is used for writing // image data to external memory glcd_init_data.writexmem=NULL; glcd_init(&glcd_init_data); glcd_putimage(0,0, odin, GLCD_PUTCOPY); while (1) { // Place your code here } } Схема прикреплена ниже в архиве

      Схема.rar
    • By Н_Д_А
      Всем привет).
      Может, кому-то эта статья  сэкономит много времени и нервов. 
      Недавно  по работе встретился с интересной задачкой.
      Нужно было передать на железку по порту RS485 информацию для проверки работоспособности последней.
      Так как не всегда имеется в ремонте вся система, то для начала нужно было посмотреть, на заведомо исправной системе, что же там между ними (железками) передаётся.
      Логический анализатор показал что девайсы общаются по не совсем стандартному, а по  9ти битному протоколу (USART 9n1).
      А это усложняло задачу, так-так известные мне терминальные программы его не поддерживают.  И без бубна не обойтись))).
      Начались поиски решения.
      Через некоторое время стало понятно, что AVR позволяет это делать и даже в даташите подробно это описывает.
      Дело за малым. Реализация задуманного))). 
      Все регистры выставлены по документу………..Для Atmega8a.
      void USART_Init( unsigned int speed) //Инициализация модуля USART { UBRRH = (unsigned char)(speed>>8); UBRRL = (unsigned char)speed; UCSRB=(1<<RXEN)|( 1<<TXEN); //Включаем прием и передачу по USART UCSRB |= (1<<RXCIE); //Разрешаем прерывание при передаче UCSRA |= (1<<U2X); //удвоение скорости UCSRC = (1<<URSEL)|(1<<USBS)|(1<<UCSZ1)|(1<<UCSZ0); UCSRB |= (1<<UCSZ2); // Включаем 9bit режим // Обращаемся именно к регистру UCSRC (URSEL=1) // ассинхронный режим (UMSEL=0), без контроля четности (UPM1=0 и UPM0=0) // 1 стоп-бит (USBS=0), 8-бит посылка (UCSZ1=1 и UCSZ0=1) // если (UCSZ1=1 и UCSZ0=1 и UCSZ2=1) 9bit mode. // UCSRC |= (1<<UPM1);//четность } По даташиту передача 9го бита происходит установкой или сбросом TXB8. 
      То есть, установили бит, передаётся 1 в старшем 9ом разряде, сбросили – 0. 
      void USART_Transmit( unsigned int data ) // функция передачи 9ти бит из даташита. { /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ) ; /* Copy ninth bit to TXB8 */ UCSRB &= ~(1<<TXB8); if ( data & 0x0100 ) //не понял, что они хотели этим сделать. UCSRB |= (1<<TXB8); /* Put data into buffer, sends the data */ UDR = data; } И вот незадача, числа размером до 1 байт передаются без проблем, а числа больше 0xFF (255) нет).
      А устройство передаёт числа до 510.
      Предлагаю решение.  Может и не самое лучшее, но вполне работоспособное.
      int main(void) { USART_Init (103);//9600 //------------------------------------------------------------------------------------ while(1) { for (i=0; i<22; i++) { code_simbol = simbol[i]; //символ из массива //-------------------------------------отправка в UART-------------------------------- if (code_simbol > 255) { pr=1; // флаг передачи символа больше 0xff (255 десятичное) } else { pr=0; // флаг передачи символа меньше 0xff } USART_Transmit(code_simbol,pr);//собственно сама функция отаравки } } } А теперь и сама функция передачи .
      void USART_Transmit( unsigned char data, uint8_t prisnak ) //Функция отправки по USART { while ( !(UCSRA & (1<<UDRE)) ); //Ожидание опустошения буфера приема if (prisnak==1) { UCSRB |= (1<<TXB8); //устанавливаем для передачи еденицы в старшем разряде } else { UCSRB &= ~(1<<TXB8); //сбрасываем старший разряд } /* Put data into buffer, sends the data */ UDR = data; //Начало передачи данных asm volatile ("nop"); Соответственно если число для предачи мньше 256 мы передаём его при нулевом 9ом бите.
      Ну а если больше то 9й бит выставляем в единицу.
      А вот и результат.

       
    • By eyuw
      Б/у контролеры холодильной установки: 1) Eliwell 974LX  на atmega16A-PU , 3 реле - характеристики на фото.Цена 15 бел.руб. 2) Eliwell IDPlus974  на atmega32A-PU, 3 реле - характеристики на фото.Цена 18 бел.руб. Корпуса без передней панели закрывающей цифровой индикатор, без датчиков температуры! г.Толочин, Витебская обл. Отправка по Беларуси наложенным платежом. Покупатель также оплачивает почтовые расходы. 


    • By АртемК
      Уже весь интернет прошерстить, помогите найти, или где он приставует, чтоб его достать нужен очень срочно, или может у кого то есть куплю!

×
×
  • Create New...