Мониторинг напряжения бортовой сети автомобиля » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Авто » Мониторинг напряжения бортовой сети автомобиля
    Мониторинг напряжения бортовой сети автомобиля
    Автор публикации: alex Просмотров: 8173 Добавлен: 26-03-2013, 09:15 Комментарии: 0

         Многие современные автомобили оборудованы системами диагностики, имеют бортовые компьютеры, которые предоставляют пользователям много дополнительной информации и значения основных параметров бортовых систем автомобиля в реальном времени. Однако, многие из них становятся доступными при подключении бортового компьютера к специальному диагностическому оборудованию. Одним из важных параметров, который необходимо отслеживать в реальном времени является напряжение аккумулятора автомобиля, а также система его подзарядки, т.к. выход ее из строя приводит к неисправности аккумулятора. Если система зарядки аккумулятора работает неправильно, батарея не получает нужного напряжения заряда (около 13.8 В).

    Устройство для мониторинга напряжения бортовой сети автомобиля

         В статье мы рассмотрим простое устройство на микроконтроллере компании Microchip PIC16F1827, позволяющее отслеживать напряжение бортовой сети автомобиля в реальном времени. Подключается оно в гнездо прикуривателя и на 4-хразрядном светодиодном индикаторе отображает значение напряжения.
         Микроконтроллер для точного аналого-цифрового преобразования напряжения использует внутренний источник фиксированного опорного напряжения.
         Данный проект - ничто иное, как точный цифровой вольтметр, подключаемый к бортовой сети автомобиля, который отображает мгновенное значение напряжения батареи. При остановленном двигателе  значение напряжения будет соответствовать действительному напряжению аккумулятора, при запущенном двигателе автомобиля устройство измеряет напряжение заряда на аккумуляторе. Функциональная блок-схема устройства изображена ниже.
    Блок-схема устройства мониторинга напряжения бортовой сети автомобиля

         Источник напряжения 5 В для питания микроконтроллера поступает от регулятора напряжения LM7805. Измерение напряжения аккумулятора производится с помощью АЦП микроконтроллера (канал AN4). Встроенный в микроконтроллер модуль фиксированного опорного (АМК) напряжения микроконтроллера конфигурируется на доставку положительного стабильного напряжения 4.096 В к АЦП для точного преобразования. Перед АЦП необходимо использовать резисторный делитель (R1 и R2), чтобы понизить входное напряжение АЦП (напряжение аккумулятора) ниже опорного напряжения.
    Принципиальная схема устройства
    Схема устройства мониторинга напряжения борт. сети автомобиля

         Максимальное входное напряжение АЦП 4.096 В. Таким образом, максимальное напряжение VBattery (напряжение аккумулятора автомобиля), которое может быть измерено с помощью АЦП, получаем из выражения:

    4.096 В = R2×VBattery / (R1 + R2),
    или
    VBattery = 16.93 В.

         Диапазон входного напряжения АЦП можно увеличить, понизив сопротивление резистора R2. Стабилитрон в цепи делителя (параллельно R2) установлен с целью защиты входа микроконтроллера при повышении напряжения выше 5.1 В, т.к. любое случайное высокое входное напряжение может навсегда вывести из строя порт микроконтроллера.
         Измеренное значение напряжения выводится на 4-разрядный светодиодный индикатор с общим катодом. Семь сегментов (a-g) и десятичная точка (DP) управляемые непосредственно микроконтроллером, подключены к порту B. Катоды индикатора подключены к микросхеме ULN2003, которая подключена к порту A микроконтроллера.
    Расположение выводов микроконтроллера PIC16F1827

    Расположение выводов микроконтроллера PIC16F1827

         Вместо использования регулятора напряжения LM7805, для подключения устройства к бортовой сети автомобиля возможно использование доработанного автомобильного USB зарядного устройства. Как известно, USB порт имеет 4 вывода: +5 В, D+, D-, GND. В зарядном устройстве линии D+ и D- не используются. Поэтому, вскрыв корпус зарядного устройства, нужно отключить линию D+ от схемы и подключить его к +12 В с помощью отрезка провода. При таком решении мы получим: питающее напряжение +5 В для микроконтроллера, прямое подключение к бортовой сети автомобиля (+12 В), D- (не используется) и общий GND в USB коннекторе зарядного устройства.


    Для подключения указанных сигналов к нашему вольтметру можно использовать переходник USB-A Male - USB B Male.

         Конечно, такое решение (использование автомобильного USB зарядного устройства с переходником) не совсем удачное, т.к. пассажиры или водитель может случайно повредить конструкцию. Также и само устройство необходимо выполнить в более компактном варианте.
         Программное обеспечение для микроконтроллера разработано в компиляторе mikroC для PIC микроконтроллеров от компании mikroElektronika.
         Уравнения, чтобы получить значение напряжения от 10-битного аналого-цифрового преобразователя, приведены ниже. От АЦП мы получим число, которое обозначим DN (Digital Number).

    VBattery = VADC, IN × (R1 + R2/R2) = 4.13×VADC, IN
    Разрешение АЦП = 4.096/1024 = 4 мВ/DN
    VADC, IN = DN × 4 (мВ)

         Следовательно, значение напряжения бортовой сети

    VBattery = 4.13×4×DN (mV) = 0.0165×DN (Вольт)

         Для использования внутреннего источника опорного напряжения АЦП необходимо выполнить настройку регистров FVRCON и ADCON1 микроконтроллера. Компилятор mikroC предоставляет библиотеку для работы с АЦП микроконтроллера PIC16F1827, но, по умолчанию, в нем, в качестве источника опорного напряжения, используется напряжение питания Vdd. Поэтому, в нашем случае, применить встроенную библиотеку компилятора мы не можем и будем использовать собственную функцию работы с АЦП.
         Полный исходный код доступен для скачивания в разделе загрузок.
         Подключив вольтметр к бортовой сети автомобиля (в гнездо прикуривателя), мы должны увидеть на дисплее значение напряжения около 12 В. После запуска двигателя, аккумулятор начинает заряжаться от генератора автомобиля и значение напряжение должно быть около 13.8 В.

    Мониторинг напряжения бортовой сети автомобиля
    Мониторинг напряжения бортовой сети автомобиля

         Пользователи могут самостоятельно усовершенствовать бортовой вольтметр, введя дополнительные функции, например, сигнализацию о пониженном (менее 11.8 В) и повышенном (более 14 В) напряжении бортовой сети.

    В архиве Проект MicroC (исходный код и прошивка)

    carbatterymonitor.rar [39,57 Kb] (cкачиваний: 485)

    Категория: Авто, PIC16
    « Назад
    Комментарии