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

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

Зарядное устройство предназначено для автоматической зарядки свинцово-кислотных автомобильных аккумуляторов постоянным током (ток заряда устанавливается на этапе сборки устройства и может составлять от 1 до 6А). Устройство реализовывает такие функции как заряд, разряд, тренировка, десульфация и расчет емкости аккумулятора. Предусмотрено подключение к ПК для снятия зарядных кривых. Реализует в себе алгоритмы заряда аккумуляторов, изложенные в статье "Заряд кислотных аккумуляторов". Инструкция по эксплуатации и подробное описание работы устройства см. тут.

Схема устройства приведена ниже:


VERTER. Схема зарядного устройства.

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


VERTER. Разработка печатной платы зарядного устройства.

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


VERTER. Зарядное устройство в процессе сборки.

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


VERTER. Зарядное устройство.

Фото готового зарядного устройства VERTER:


VERTER. Зарядное устройство в сборе.

А так выглядит зарядное устройство в процессе эксплуатации:


VERTER. Зарядное устройство в процессе эксплуатации.

Программирование выполняется в следующей последовательности: подключить программатор к разъему версии 4, установить режим программирования на пониженной частоте, если необходимо, скорректировать fuseprog.bat и progprog.bat, указав свой программатор, запустить вначале fuseprog.bat, а затем progprog.bat

Скачать схему зарядного устройства, печатную плату в формате Sprint-Layout, HEX и EEP файлы для прошивки микроконтроллера, программу avrdude для программирования контроллера.

С другими вариантами реализации можно ознакомиться на этой странице.


AVRDUDESHELL. Запуск программы по ОС Linux (wine)

Для запуска программы AVRDUDESHELL (начиная с версии 01.09.2015) под управлением ОС Linux (wine) необходимо выполнить следующие действия:

1. Включить учетную запись root:
sudo su

2. Установить wine:
apt-get install wine

3. Установить утилиту avrdude:
apt-get install avrdude

4. Найти физическое размещение файлов утилиты avrdude, воспользовавшись командой whereis avrdude:

5. Дать разрешение на доступ к утилите avrdude:
chmod +s /usr/bin/avrdude

6. Скачать последнюю версию программы AVRDUDESHELL.

7. Распаковать архив программы AVRDUDESHELL в папку диска "c:\" программы wine, например в: "/.wine/drive_c/Application/AVRDUDESHELL/". Там же создать папку для размещения симлинков на программу avrdude, например avrdudelinux. Структура папок должна получится примерно следующей:

8. В папке avrdudelinux создать симлинки на файлы avrdude и avrdude.conf.

9. Запустить программу AVRDUDESHELL:

в параметрах программы на вкладке "Файлы и папки" назначить "Папку утилиты AVRDUDE для программирования чипов" - в нашем случае это папка avrdudelinux (см. п. 7).

Попробовать прочитать фьюзы:

Записать фьюзы:

Прочитать EEPROM и дизассемблировать:

10. Для удобства запуска можно разместить ярлык программы на рабочем столе, создав файл с любым именем и расширением ".desktop", например "avrdudeshell.desktop" со следующим содержанием:

[Desktop Entry]
Version=1.0
Type=Application
Name=AVRDUDESHELL
Comment=Программировать Atmega
Exec=wine avrdudeshell.exe
Icon=
Path=/home/alexander/.wine/dosdevices/c:/Application/AVRDUDESHELL
Terminal=false
StartupNotify=true


PCDUINO. Первая программа на FreePascal

Для того что бы опробовать FreePascal и научиться основам работы в консольной IDE, напишем первую программу. Пока ничего сложного - программа выведет на экран фразу "FIRST PROG".

Запускаем FreePascal:



Создаем новый проект File -> New:



Сохраняем проект File -> Save (F2):



Вводим код проекта:

program firstprog;

begin
   writeln('FIRST PROG');
end.




Запускаем проект Run -> Run (Ctrl + F9):



Результат:




PCDUINO. Выбор средства разработки

PCDuino - отладочная плата - микрокомпьютер с предустановленной операционной системой Linux - поэтому программирование может выполняться на любом языке программирования, который поддерживает эта платформа, например C, C++, FreePascal, Lazarus, Python и т.д.

Использование терминального режима для программирования PCDuino резко ограничиввает выбор IDE. Фактически я рассматривал два языка программирования: С (С++) в связке с редактором mcedit и FreePascal с собственной, достаточно продвинутой IDE. Выбор был сделан в пользу FreePascal из-за IDE.

Установка FreePascal для устройств на базе микропроцессоров ARM выполняется из специального дистрибутива, который можно скачать на сайте разработчика.

Скачиваем дистрибутив:

wget -P /home/ubuntu/Download/ ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/2.6.4/arm-linux/fpc-2.6.4.arm-linux.tar

Запускаем mc, заходим в скаченный архив как в папку, нажимаем F5 для распаковки.

Для установки запускаем скипт install.sh:

sh install.sh

На вопросы по параметрам установки IDE отвечаем поумолчанию.

Запускается FreePascal файлом fp из каталога bin.


FreePascal. Консольная IDE

PCDUINO. Подготовка к запуску и настройка

PCDuino - отличная отладочная плата - это вы поймете сразу же после первого включения - возможность разработки и отладки программного обеспечения на целевом устройстве много чего значит, а использование графического интерфейса и рабочего стола LXDE делает этот процесс еще более удобным и приятным.

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

Для себя решение этой проблемы я нашел в протоколе SSH - протоколе удаленного управления операционной системой.

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

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

Подключаем монитор, клавиатуру, мышь, сетевой провод и провод питания к плате. Включаем:


PCDUINO. Первый запуск



PCDUINO. Первый запуск


Открываем терминал, проверяем подключение к Internet:

ping ya.ru


PCDUINO. Проверка подключения к Internet


Прочитаем текущий IP адрес платы:

ifconfig


PCDUINO. Проверка сетевой конфигурации


Проверим, видим ли мы PCDuino с другого ПК. Для чего пропингуем адрес платы с соседнего компьютера:

ping 192.168.100.3


PCDUINO. Проверка видимости платы с другого ПК


Все хорошо? Тогда возвращаемся к PCDuinо и устанавливаем терминальный файловый менеджер:

sudo apt-get install mc


PCDUINO. Установка файлового менеджера mc


После установки - запускаем его:

mc


PCDUINO. Файловый менеджер mc


Создадим структуру папок (кнопка F7 в mc):

/home/ubuntu/settings/network


PCDUINO. Создание структуры папок


Создадим симлинки на сетевые настройки платы - на файлы:

  • /etc/hosts
  • /etc/network/interfaces
  • /etc/samba/smb.conf


  • PCDUINO. Симлинки на сетевые настройки платы


    Выходим из mc (кнопка F10), и запускаем его под root-ом:

    sudo mc

    Назначаем статический IP адрес для PCDuino: находим и правим файл /etc/network/interfaces (кнопка F4). Разумеется, параметры сетевой конфигурации у вас будут свои:

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    # auto eth0
    # iface eth0 inet dhcp

    # My static network
    iface eth0 inet static
    address 192.168.100.56
    netmask 255.255.255.0
    gateway 192.168.100.1
    dns-nameservers 82.209.195.12 193.232.248.2
    auto eth0



    PCDUINO. Настройка статического IP


    Сохраняем файл (кнопка F2) и выключаем PCDuino. Отключаем монитор, клавиатуру и мышь. Перезапускаем плату.

    Через минуту пробуем подключиться по SSH (пароль: "ubuntu") из Linux:

    ssh -p 22 ubuntu@192.169.100.56


    PCDUINO. Подключение к плате по SSH в ОС Linux


    Или Windows, через PuTTY:


    PCDUINO. Подключение к плате по SSH в ОС Windows через PuTTY



    PCDUINO. Подключение к плате по SSH в ОС Windows через PuTTY

    PCDUINO. Краткий обзор

    Уже как полтолра года назад в известном китайском интернет магазине я приобрел отладочную плату PCDuino, и вот пришло время ее опробовать в деле, но для начала предлагаю вам ознакомиться с кратким описанием этого устройства.


    PCDuino. Упаковка.


    Сей девайс является полнофункциональным мини компьютером с предустановленной операционной системой Linux (адаптированной версией Lubuntu). Железо представляет собой следующую конфигурацию:

  • Процессор: 1GHz ARM Cortex A8
  • Графический процессор: OpenGL ES2.0, OpenVG 1.1 Mali 400 core
  • ОЗУ: 1GB
  • Встроенная энергонезависимая память: 2GB
  • Возможность подключения SD карты: до 32GB
  • Видео выход: HDMI
  • Поддерживаемые операционные системы: Linux, Android
  • USB: 2 шт.
  • USB OTG: 1 шт.
  • Сетевой интерфейс: RJ45
  • Питание: 5В, 2А

  • Для связи с внешними устройствами имеет достаточно обширную периферию, а именно:

  • 14 цифровых портов
  • UART
  • PWM
  • ADC
  • SPI
  • I2C


  • PCDUINO. Миникомпьютер.

    Поскольку PCDuino это мини ПК, разработка программного обеспечения может выполняться на любом языке программирования, разумеется, в рамках поддерживаемых установленной операционной системой, например C, C++, FreePascal, Lazarus, Python и т.д.

    Стоит отметить, что проект PCDUINO активно развивается и в настоящий момент существует достаточное количество перефирийных устройств, совместимых с данной платформой, а сама отладочная плата существует в нескольких ревизиях: от Lite (самой простенькой) до pcDuino3B (с поддержкой SATA и встроенными WiFi).

    Получить более подробную информацию можно с сайта производителя: pcduino.com

    Девайсы. Прототип зарядного устройства 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.