Зарядное устройства 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 для программирования контроллера.

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


PCDUINO. Программирование на C++ или Python

Примеры программ для PCDuino, разработанные на C++ или Python можно найти на этой странице: https://learn.sparkfun.com/tutorials/programming-the-pcduino/introduction.

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