Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

Бортовой компьютер на микроконтроллере PIC18F258 — Меандр — занимательная электроника
Site icon Меандр — занимательная электроника

Бортовой компьютер на микроконтроллере PIC18F258

Чесались руки сделать что-то для свежекупленного автомобиля, остановился на полезной вещи — бортовой компьютер. Автомобиль Nissan Almera N15 1.6SR, двигатель GA16DE. Лепил из того что было, и хотелось поскорее, так что за конструкторскую проработку не пинайте.

В передней панеле, под магнитолой имеется небольшое углубление, для хранения всякой мелочи, я решил в нём разместить БК.

Место не самое удобное для бордачка и для БК, но ничего более подходящего не нашёл. Корпус БК — сам бордачёк, передняя панель — кусок обычного фольгированного текстолита с наклееной чёрной пластиковой самоклеящейся плёнкой (такой холодильники обклеивают).

После перелопачивания определённого количества материала на тему БК, пришёл к выводу, что самый правильный подход реализован вот тут http://multi-set.ru/. Только дисплей всё-же у них слишком аскетичный. Поэтому и решил делать БК в том-же русле, весь теоретический материал есть на их сайте. Брать поток данных с БУ двигателя не хотелось, т.к. в нём не все есть, что надо, и это привязывает БК к конкретной марке автомобиля. Перегружать БК огромным количеством функий тоже считаю не нужным, только то, что нужно мне, но одновременно. С другой стороны исходники открыты и хорошо коментированы, ног свободных в контроллере много — дописывайте сами всё что хотите. (Сори за работу со  знакогенератором индикатора через ж, вверх ногами ставил дисплей, для лучших углов видимости сверху).

Кнопка, индикатор и его подсветка размещены на передней панели. Печатная плата под устройство не разрабатывалась, всё спаяно на  обычной макетке. Дополнительное гнездо прикуривателя с огромным конденсатором — не силовое, а для питания, чтобы при старте двигателя не перезагружался FM-MP3-трансмиттер, или навигатор.

Уличный термодатчик лучше всего выносить внутрь бокового зеркала, но тащить провода в дверь очень не удобно. У меня он расположен в самой левой передней части бампера, достаточно низко, подальше от противотуманки и радиаторов. Непосредственно на ножках датчика припаяны конденсаторы по 0.1 мкф. Необходимо обеспечить  герметичность датчика термоусадкой, эбоксидкой или другим способом. Внутренний термодатчик расположен прямо на передней  панели. Можно попытаться найти для него лучшее место, но меня устраивает и так.

Принципиальная схема :

МК PIC18F258 или PIC18F252 в DIP корпусе, установлен в панельке. Термодатчик TMP36 — заменим на микрочиповский MCP9700. MCP1525 — источник опорного напряжения +2.5В, заменим на TL431 + резистор 680 Ом к +3.3В. Индикатор TIC-120 и LED подсветку к нему TB1084 можно купить в Тритоне или Гамме, там же можно купить МК, опорник и термодатчик. Можно использовать и другие индикаторы 64х32 точки на контроллере PCF8531. LP2950-3.3V — стабилизатор питания на 3.3В, можно применить LM1117-3.3V, или какой-нибуть регулируемый. Хотя по большому счету тут надо использовать специализированый стабилизатор для автомобильного применения. На все детальки даташиты без труда можно найти гуглем. Дополнительный прикуриватель — от какой-то нашемарки.

Подключение. Всё подписано на схеме, добалю только, по цепи «+12v»ON»3» — провод, на котором появляется +12В только при 3 положении ключа зажигания. Все цепи не силовые, и по автомобильным меркам ничего не потребляют, кроме цепи «Масса» и «+12V Accu», их нужно подключить толстым проводом. К форсунке в автомобиле подходят два провода — +12В и сигнальный, к БК нужно подключить сигнальный.

Внешний вид экрана (в дежурном режиме и при включённом зажигании):

На первой строке отображается температура в салоне автомобиля (символ «мордочка») и на улице («солнышко»).

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

На третьей строке отображается мгновенный расход топлива — это скорость расходования топлива при текущем положении педали газа в текущем режиме работы двигателя. Т.е. количество топлива проходящее через инжектор за еденицу времени, в пересчете к литрам в час. Сначала был сделан еще и прогресбар этой велечины, (графическое отображение) но пришел к выводу, что это интересно только первые дни использования БК. В дежурном режиме, и первые 10 секунд после старта на месте мгновенного расхода отображается напряжение бортсети автомобиля. Остальное время оно вобщем не нужно, если не будет заряда при работе двигателя — загорится сигнальная лампа на приборной пенели. Длительным нажатием на кнопку, текущее значение параметра «F» принимается за 0% и запоминается. Параметр «F» — это усреднённое значение времени на которое откывается форсунка за один цикл работы двигателя.

На четвертой строке отображается количество израсходованно топлива и параметр «dF». Блок управления двигателем во время работы на основе сигнала с датчика кислорода (лямда-зонда) непрерывно корректирует время, в течении которого открыта форсунка. Параметр «dF» — это разница(разброс) между максимальным и минимальным значением времени на которое блок управления открывает форсунку в течении 10 циклов работы двигателя. Параметр «dF» отображается в микросекундах. Его увеличение говорит о разбалансировке системы например в следствии плохой свечи, или не качественной работе одного из клапанов.

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

Кнопка активна только при включенном зажигании. Простое нажатие — сброс счетчика накопленного расхода топлива, сопровождается кратковременной надписью «Reset» в нижней строке индикатора. Длительное нажатие — запоминание значений оборотов и времени открытого состояния форсунки. Сопровождается надписью «Save» в третьей строке.

На основе показаний параметров «F» и «dF» можно судить о качестве работы различных систем (впускная, зажигания, питания) и датчиков (воздуха, положения дроссельной заслонки). Велечины ухода параметров можно получить, если заранее сымитировать каждую из этих неисправностей.

Использование параметра «F»:
1. На холостых оборотах прогретого двигателя блок управления подает через форсунки определенную порцию топлива в цилиндры (параметр «F»), длительным нажатием на кнопку принимаем велечину этой порции за начальную точку отсчета — 0%.
2. Теперь при последующей эксплуатации автомобиля, выведя двигатель на холостые обороты всегда можно будет увидеть на сколько изменилось это значение, по отношению к запомненому. Его увеличение означает, что для того-же режима работы, двигателю требуется больше топлива, а значит времени для впрыска, например из-за засорения инжектора, или было заправлено не качественное топливо. Уменьшение будет наблюдаться наоборот, при заправке более качественным топливом, после чистки инжектора, или после правильных регулировок различных систем двигателя. А что-бы увидеть что на эту величину повлияли изменившиеся холостые обороты — их отклонение в процентах так-же отображается.
3. Резко, до пола, нажать на одну секунду педаль газа и тут же отпустить. Число до которого увеличится параметр «F» — это «прёмистость» двигателя. По сравнению с холостыми оборотами, объем топлива должен возрасти примерно в 3 раза, т.е. до 300%. Через короткое время после этого параметр «F» должен уменьшиться примерно до 100% — это работа экономайзера, который уменьшает подачу топлива. Для правильной работы экономайзера необходлимо правильно выставенное начальное положение датчика дроссельной
заслонки.
4. Плавно нажать на педаль газа и придержать 3000 об/мин. Параметр «F» должен показать некоторое уменьшение объёма топлива на один цикл, т.к. на таких оборотах возрастает КПД двигателя. В идеальном случае -20%, т.е. на пятую часть меньше, по сравнению к объёму топлива холостых оборотов.

Производительность форсунки двигателя GA16DE — 181-189cc, 185 см3/мин = 3.0833 мл/сек = 11.1 л/час.
Данные для других форсунок можно взять тут (47 kb). Для использования БК с другими автомобилями нужно скорректировать
исходник.

Файлы для MPLAB, прошивка, а так же исходники находятся в архиве — mplab.zip (26 kb).
Среду разработки MPLAB можно взять на сайте микрочипа.
Используемый компилятор — HI-TECH PICC-18 STD 9.51PL2.

Автор: А.Бывших. E-mail Сайт автора

Exit mobile version