Девайсы. Прототип зарядного устройства VERTER для автомобильного аккумулятора

Это зарядное устройство является прототипом для более совершенного девайса и предназначено для автоматической зарядки свинцово-кислотных автомобильных аккумуляторов постоянным током 6А или 3А. Устройство реализовывает такие функции как заряд, разряд, тренировка, десульфация и расчет емкости аккумулятора. Предусмотрено подключение к ПК для снятия зарядных кривых. Подробное описание работы устройства см. тут.


Общий вид зарядного устройства VERTER


Силовая часть собрана по схеме:


Cхема силовой части зарядного устройства VERTER


В качестве трансформатора Tr1 использован советский ТС-180-2 от старого черно-белого телевизора. Трансформатор был перемотан - собран из двух аналогичных для получения на выходе 24В 5А.


Советский трасформатор ТС-180-2


Выпрямительные диоды VDS2 силовой части любые, с максимальным прямым током до 10А, например КД213А или Д242А. Я использовал КД213А установленные на радиатор.


Выпрямительный мост из диодов КД213А


Нагрузочное сопротивление R15 - две 12-и вольтовые автомобильные лампы.


Нагрузочное "сопротивление"


Стабилизатор постоянного тока построен на LM317 (аналог КР14ЕН12А) и мощных n-p-n транзисторах 2SC5570, изъятых из строчной развертки ЭЛТ мониторов. В качестве транзисторов можно (лучше?) использовать транзисторы TIP35. КРЕН и транзисторы укреплены на общем радиаторе размером 5х4х14 см. Крепление выполняется с помощью винтов М3 через слюдяной изолятор с применением термопроводящей пасты. Для дополнительного охлаждения радиатор обдувается 12-и вольтовым вентилятором от компьютерного блока питания.


Источник тока на мощных транзисторах


Низкоомные сопротивления R14, R12 изготовлены из вольфрамовой проволоки диаметром около 0,15 мм смотанной в жгут из 8 жил. Сопротивление подбиралось опытным путем. В качестве нагрузки источника тока КРАТКОВРЕМЕННО подключался мультиметр, настроенный на измерение постоянного тока 20А.


Мощные низкоомные сопротивления источника тока


Схема цифровой части:


Cхема цифровой части зарядного устройства VERTER


Питается схема через импульсные стабилизаторы IC1 и IC3 LM2576ADJ: 12В для питания реле, 5В для работы цифровой части. Используя другую низковольтную обмотку трансформатора, питание схемы можно построить и на линейных стабилизаторах типа 7812 (12В) и 7805 (5В), укрепленных на небольших радиаторах. Для этого в схеме предусмотрен отдельный выпрямительный диодный мост VDS1.

Реле К1-К4 - 12-и вольтовые для управления нагрузкой до 10A.

Схему можно упростить, если исключить резервное реле K1 и светодиоды HL1-HL4, а вместо двух управляющих транзисторов (КТ315, КТ940) использовать один составной, например BC517.

Печатная плата цифровой части разработана в программе Sprint-Layout 5.0 и изготовлена по технологии ЛУТ.


Печатная плата цифровой части зарядного устройства VERTER


Корпус - обрезанный задний кожух от ЭЛТ монитора. Дно - фанера толщиной 4 мм (но надо толще, т.к девай получился достаточно тяжелым):


Корпус зарядного устройства VERTER


Эмуляция работы устройства в Proteus:


Эмуляция работы зарядного устройства VERTER


Прошивка микроконтроллера выполняется на плате через разъем v4 программатором USBASP в следующей последовательности: сначала, на пониженной частоте программируются фьюзы (файл fuseprog.bat), за тем програматтор переводится в режим программирования на "нормальной" скорости и запускается bat-файл progprog.bat.

Посмотреть подробное описание работы устройства
Скачать архив зарядного устройства VERTER одним файлом.

Архив содержит:
  • Схему силовой части зарядного устройства VERTER.
  • Схему цифровой части зарядного устройства VERTER.
  • Печатную плату цифровой части зарядного устройства VERTER в формате *.lay.
  • Проект Proteus для эмуляции работы зарядного устройства VERTER.
  • Файлы *.hex и *.eep для прошивки микроконтроллера.
  • Программу avrdude для быстрого программирования микроконтроллера.

  • PS. Почему VERTER? Потому что понимает как "правильно" заряжать аккумулятор и похоже на голову робота.

    Atmega. Калькулятор для расчета параметров делителя АЦП для микроконтроллера

    При использовании АЦП микроконтроллеров Atmega существует ограничение на максимальное напряжение, которое разрешено подавать на вход АЦП - это 5В. Для большинства задач этого не достаточно. Для того что бы обойти это ограничение можно использовать простейший делитель на сопротивлениях R1 и R2.


    Подключение АЦП микроконтроллера для замера напряжения


    Классическая задача - это расчет значения сопротивления R2 и множителя К (используется в программе микроконтроллера для нахождения реального значения напряжения, поданного на вход АЦП) при максимально возможном напряжении на входе делителя Vmax. Особо любопытных - отправляю к даташиту на микроконтроллер и элементарному закону Ома, а всем остальным предлагаю воспользоваться калькулятором для расчета параметров делителя АЦП для микроконтроллера Atmega.

    Android. Создание обработчика событий OnClick для кнопки в Realtime

    В активности прописываем код:
    // Назначить для кнопки button1 событие при нажатии
    private void setOnClickListenerForButton1() 
    {
       // находим кнопку
       Button button1 = (Button)findViewById(R.id.button1);
       // и назначаем обработчик нажатия
       button1.setOnClickListener(onClickButton1);        
    }
        
    // Создаем обработчик нажатия кнопки
    private OnClickListener onClickButton1 = new OnClickListener() 
    {
       public void onClick(View v)
          {
          // Что-то делаем при нажатии на кнопку button1
          }
    };    
    

    Proteus. Изменение рабочей области

    В Proteus работать за пределами рабочей области (та, которая ограничена синим прямоугольником) очень не удобно. Для того что бы изменить размеры рабочей области идем в меню "System -> Set Sheet Sizes..." и устанавливаем новый размер.

    Proteus. Изменение рабочей области

    RFID. Собственный обработчик RFID данных на Lazarus

    Программа предназначена для работы с этим RFID считывателем. Написана на кроссплатформенной IDE Lazarus, поэтому код может быть скомпилирован как под ОС Windows так и под OS Linux.

    Для работы с COM портом (RS232) используется библиотека TComport.

    Установка библиотеки в IDE Lazarus выполняется в соответствии со статьей "Lasarus. Установка дополнительных компонент".

    Пример работы программы под OC Windows:



    Скачать программу обработчика RFID данных.
    Скачать исходный код обработчика RFID данных.
    Скачать компонент TComport.
    Скачать архив компонента TComport с зеркала.

    Lazarus. Установка дополнительных компонент и модулей

    Установку дополнительных ВИЗУАЛЬНЫХ компонент в IDE Lazarus рассмотрим на примере библиотеки TComport для работы с COM портом (RS232).

    1. Скаченный архив распаковываем в папку "\lazarus\components\comport\":



    2. Переходим в папку "comport" и запускаем на выполнение файл "*.lpk", в данном конкретном случае - файл "CPortLib10.lpk":



    Файлы *.lpk для установки компонентов можно открывать и из IDE Lazarus выбрав "Пакет -> Открыть файл пакета (*.lpk)":



    3. В открывшемся окне нажимаем "Компилировать":



    4. После удачной компиляции в этом же окне нажимаем "Использовать -> Установить":



    5. На запрос о пересборке Lazarus отвечаем утвердительно:



    6. После 5 операции IDE Lazarus будет автоматически закрыта и перезапущена уже с новым установленным компонентом:



    Установку НЕ ВИЗУАЛЬНЫХ модулей и библиотек выполняем следующим образом:

    1. Скачиваем библиотеку, например Synapse.

    2. Распаковываем библиотеку в папку "\lazarus\components\synapse\".

    3. Запускаем IDE Lazarus, открываем свойства проекта "Проект -> Параметры проекта -> Пути", заполняем параметр "Другие модули (-Fu)" указав папку с установленным модулем.



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


    Lazarus. Уменьшение размера исполняемого файла

    При компиляции проектов Lazarus размер исполняемого файла может привышать "разумные" размеры. Так, например, размер приложения, состоящего из одной формы, с настройками компиляции "по умолчанию", составляет 20,7 Мб и 13,9 Мб для Linux и Windows систем соответственно.

    Для того что бы уменьшить размер исполняемого файла необходимо настроить параметры компиляции. Для этого в IDE Lazarus выбираем "Project -> Project Options..." ("Проект -> Параметры проекта...") и устанавливаем флажки на вкладках:

    1. "Code Generation" (Генерация кода)
    - "Smart linkable (-СХ)" - Умная компоновка

    Lazarus. Вкладка "Code Generation" (Генерация кода)


    2. "Linking" (Компоновка)
    - Use external gdb debug symbol file (-Xg) - Использовать внешний файл отладочных символов GDB
    - Strip symbol from executable (-Xs) - Вырезать символы из исполняемого файла
    - Link smart (-ХХ) - Умная компоновка

    Lazarus. Вкладка "Linking" (Компоновка)


    Таким образом получается сократить размер исполняемого файла до 3,3 Мб (Linux) и 1,7 Мб (Windows).

    Использовав утилиту upx (сжимает исполнительный файл, официальная страница) можно уменьшить размер дополнительно - до 1,0 Мб (Linux) и 0,6 Мб (Windows).

    Для Linux мне пришлось установить пакет "upx-ucl" через Synaptic. Для Windows необходимо скачать вот этот архив.

    Пример использования утилит для Linux:

    upx --best путь_к_исполнительному_файлу


    и Windows:

    upx.exe --best путь_к_исполнительному_файлу