Бортовой компьютер на PIC16F876 с LCD1602 - Измерительные устройства - Микроконтроллеры - Каталог статей - Собери свою радиосхему! Сайт радиолюбителей.
Собери свою радиосхему!
Воскресенье, 04.12.2016, 02:53 Приветствую Вас Гость

Чебоксары

Главная | Регистрация | Вход | RSS

Каталог статей

Главная » Статьи » Микроконтроллеры » Измерительные устройства

Бортовой компьютер на PIC16F876 с LCD1602

Особенность устройства:

1. Режим ожидания (при выключенном зажигании) -  на индикатор выводится текущее время и температура окружающей среды;

2. Рабочий режим, включающий в себя  измерение напряжения бортовой сети, тока заряда/разряда аккумулятора, оборотов двигателя, температуры двигателя, температуры на улице, индикацию текущего времени;

3. Аварийный режим (работает только при включенном зажигании) -  контролирует аварийный уровень тормозной жидкости (датчик штатный поплавок в расширителе ГТЦ), минимальный   уровень охлаждающей жидкости в расширительном бачке системы охлаждения (сделан самодельный поплавок с герконом и магнитом), перегрев двигателя (в случае нагрева двигателя выше 990С),  аварию генератора ( в случае понижения напряжения на аккумуляторе ниже 10,5В). Также при выключении зажигания, если водитель забыл выключить габариты, то устройство ему об этом обязательно напомнит.

Для того чтобы реализовать часы в бортовом компьютере, в программе были использованы прерывания, подсчет  1 секунды ведется по сотому уходу в прерывания, часы можно настраивать только при выключенном зажигании. При этом никакие сервисных функции нет, опрос кнопок инкрементирования часов и минут ведется постоянно, с периодичностью одного опроса датчика температуры улицы (это примерно каждые 0,7сек.). Так как при опросе датчика температуры запрещаются все прерывания, то тому, кто захочет повторить бортовой компьютер, нужно будет только откалибровать в программе (методом подбора) ежечасный коэффициент поправки регистра секунд (в программе находится после метки ZAGIG - это режим ожидания), и аналогично подобрать коэффициент поправки секунд после метки RABOTA. Делается элементарно - вместо цифр коэффициентов ставим нули, зашиваем в пик, включаете устройство на сутки. Затем, по окончании суток, измеряем погрешность хода часов. Допустим, часы отстали на 15мин, это 900 сек. Вычисляем часовую погрешность хода: 900/24=37,5сек, округляем в любую сторону, корректируем программу и снова проверяем.  Аналогично и  для рабочей части программы (не забудьте сымитировать включение зажигания и запуск стартера).


Принципиальная схема бортового компьютера:

Открыть схему в большем разрешении.



Алгоритм работы бортового компьютера:

В режиме ожидания, когда зажигание выключено, на индикатор выводится температура на улице и текущее время в формате ЧЧ:ММ. При включении зажигания, высвечивается приветственная надпись:




Затем выводится на LCD наружная температура и температура двигателя




Далее измеряется напряжение на аккумуляторе, и, если его уровень выше 11,0В, то выводится следующая надпись:






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




Затем последовательно опрашиваются каналы зажигания, стартера и аварийных поплавков. И, если всё в норме, то тревожные надписи, вместе с зуммером, не активируются. Затем, в момент включения стартера, выводится надпись о включении стартера.




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




При возникновении любого аварийного события программа «улетает» на вывод надписи названия аварии и включение прерывистой звуковой и световой сигнализации (будет пищать, пока не устранится неисправность). А если надоест, то можно все и выключить кнопкой включения бортового компьютера. При выключении зажигания, если включены фары, на индикатор выйдет надпись «Фары включены!». Зажигание выключено, следовательно, после выключения фар, бортовой компьютер попрощается, выведя прощальную надпись "ПОКА ХОЗЯИН" и перейдет в режим ожидания с текущими показаниями.



Работа LCD происходит по однонаправленному последовательному интерфейсу (вывод RW соединен с корпусом), организованному через порт B. Все входы контроллера (за исключением выводов термодатчиков DS1820), а также выводы питания, обвешены SMD конденсаторами по 0,1мкф, для повышения надежности при возникновении помех в бортовой сети.  Датчик тока включается последовательно в тонкий плюсовой провод зарядки аккумулятора от генератора (не путать с толстым проводом идущем плюсом на стартер). Все внешние цепи напряжением 12В (а именно: габариты, уровень тормозной жидкости, наличие тосола, включения стартера, включения зажигания  и провод, идущий к тахометру, на котором есть прерывания от катушки зажигания), соединены с «пиком» при  помощи транзисторных повторителей (ВС846В или аналогичных NPN в SMD исполнении).

В штатной схеме любого карбюраторного ВАЗа питание на лампочку аварийного снижения тормозной жидкости приходит +12В, поэтому при создании схемы бортового компьютера учитывались минимальные переделки в схеме авто, а именно -  провод, который шел к лампе тормозной системы, обрезаем и прикручиваем к выводу платы с меткой ТС (тормозная система). В этом случае подача напряжения на этот провод будет соответствовать аварийному снижению уровня тормозной жидкости. Аналогично с расширителем системы охлаждения двигателя, причем плюсовой провод, идущий к расширителю системы охлаждения, можно запараллелить с проводом, идущим от бачка с тормозной жидкостью.

По материалам сайта chipmk.ru

Скачать
файлы проекта.

Категория: Измерительные устройства | Добавил: Адвансед (15.07.2012)
Просмотров: 7559 | Комментарии: 1 | Теги: 1602, LCD, PIC16F876 | Рейтинг: 3.5/4
Всего комментариев: 1
1  
http://forum.zarulem.ws/uploads/201309/post-41521-1379327533.jpg

Собрал себе БК на Atmega 8 и LCD1602 - все работает. Вот фото
КодКод

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:
Категории раздела
Источники питания и приборы
Охрана и контроль доступа
Измерительные устройства
Часы, таймеры, счетчики
Световые эффекты
Защита и контроль
Для начинающих
Разное
BASCOM AVR
Информация по МК, FAQ
Поиск
Наш опрос
Какой из фьюзов при прошивке МК отключает вывод RESET?
Всего ответов: 102

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
у нас тут все на bascom)

Подавляющее количество часов на Atmega8 выполнены с использо...

В чем тогда может быть причина, что у меня показывает лишь в...

Рейтинг@Mail.ru