Мото бортовой компьютер. Компьютер для мотоцикла
Бортовой компьютер для мотоцикла с LCD от Nokia 6280
В данном проекте мото-бортового компьютера вы увидите как можно использовать LCD-дисплей от мобильного телефона Nokia 6280, управляемый микроконтроллером PIC18F4455. Данный БК установлен на мотоцикле Yamaha TDM850 (99 г. выпуска).
Характеристики устройства:
- отображение текущей передачи (с 1 по 5), плюс нейтральная передача
- напряжение аккумулятора. Отображение аналоговое и цифровое
- время с запуска
- отображение аналогового и цифрового спидометра
- суточный счетчик
- отображение положения ручки газа (в процентах)
- отображение аналогового и цифрового тахометра
- если мотор не заведен, то отображается надпись «Engine Stop»
- отображение температуры воздуха, охлаждающей жидкости, масла
- при определенных оборотах отображается надпись «GearUp» (переключить передачу вверх). В режиме настроек (Debug Mode) возможна корректировка об/мин при которых появляется предупреждающая надпись
- на 5-ой передаче при раскручивании движка более 3500 об/мин и при параметре TRP меньшем чем задан в настройках (к примеру 17%), отображается надпись «Economic Drive» (экономичная езда)
Режим настроек (Debug Mode):
В данном режиме БК показывает данные датчика скорости, TPS датчика (ручка газа), уникальные коды устройств датчика температуры DS18B20. Также, врежиме настроек вы можете поменять параметры для режимов «GearUp», «Economic Drive» и настроить подсветку LCD.
В устройстве не предусмотрены какие-либо кнопки для изменения параметров, поэтому используются сигналы от датчиков переключателя передач и TPS-датчика ручки газа.
Вход в режим настроек и изменение параметров:
- ручку переключения передач передвиньте на нижнюю передачу и включите питание. На экране устройства появится надпись Debug Mode.
- для пролистывания параметров передвигайте вниз ручку переключателя передач.
- для изменения параметра используйте ручку газа
- для сохранения изменений параметра, передвиньте ручку переключателя передач вверх. Параметр изменит свой цвет на синий.
Все данные хранятся в энергонезависимой памяти и не стираются после выключения питания бортового компьютера. Для выхода из режима настроек выключите питание, а потом снова включите.
Вся электронная начинка расположена слева от защиты и с LCD экранчиком соединена плоским шлейфом. С второй стороны электронного блок БК отходят соединения к модулю зажигания, температурным датчикам и датчику положения ручки передач.
От модуля зажигания БК получает +12В, сигналы об/мин (RPM) и ручки газа.
Температурные сенсоры DS18B20 подключены по протоколу 1Wire, в режиме «parasite power» (т.е. не требуют внешнего питания).
Датчики переключателя передач расположены под левой защитой картера двигателя. В качестве датчиков используются 2 оптических сенсора. На фотографиях вы можете увидеть все 3 положения: обычное положение, положение при переключении передачи вниз и положение при переключении передачи вверх.
На данном мотоцикле нет заводского датчика скорости, поэтому я сделал его своими руками. В качестве датчика скорости я использовал датчик-Холла TLE4945. Датчик установлен под крышкой картера двигателя.
![](/img/kompyuter-dlya-motocikla_3.jpg)
В принципиальной схеме используется простое решение для связи PIC18F4550 и Nokia 6280 Lcd (320×240 пикселей) через параллельный порт. Для термодатчиков DS18B20 используется 1 канал ввода\вывода 1Wire. Для датчика положения передач и нейтральной передачи используется 3 линии МК, один вход МК используется для датчика скорости, 2 аналоговых входа для измерения напряжения питания и датчика ручки газа, и один выход используется для подсветки LCD. USB разъем используется для программирования и тестирования.
Как было сказано выше, все 3 датчика DS18B20 сидят на одной линии 1Wire и для правильной работы устройства надо знать их уникальные 64-разрядные коды.У моих датчиков были следующие коды:«Воздух» = 9300000078625728«Вода» = D5000002061B2128«Масло» = 4600000206125A28
Для правильной работы БК, в коде программы вы должны изменить эти коды на коды своих датчиков (см. скриншот выше).
Скачать прошивку
Оригинал статьи на английском языке (Перевод: Колтыков А.В. для сайта cxem.net)
Небольшое видео работы устройства:
elektro-shemi.ru
MM5 - мотокомпьютер
Надежный, водонепроницаемый мото-компьютер для отслеживания бортового напряжения, времени путешествия, мото-часов и температуры со встроенным лаптаймером и секундомером. Не боится вибраций. Управление с помощью одной кнопки.
5 режимный мото компьютер
Возможности:
- измерение температуры воздуха с регистрацией максимальной и минимальной температур
- измерение бортового напряжения с фиксацией максимального и минимального напряжения
- программируемое предупреждение, информирующее о выходе из строя генератора или реле регулятора
- измерение напряжения перед запуском стартера
- учет времени мото-путешествия (для туристов)
- учет мото-часов
- секундомер
- лаптаймер
Особенности устройства:
- графический LCD дисплей с подсветкой
- простая установка - подключение с помощью 2ух проводов
- 6 режимов
- совместимость с мотоциклами, автомобилями, ATV и другими транспортными средствами
- в комплекте с высокоточным широкополосным датчиком температуры
- цифровой датчик температуры позволяет проводить измерения с точностью ± 0.1C. Датчик температуры не предназначен для погружения в жидкости. Но, если примотать датчик к патрубку и термически изолировать от внешней среды с помощью полоски шумоизоляции - можно измерять температуру антифриза с точностью +/- 1C
- диапазон измерения температур от -35С до +120С
- маленькие габариты (42х42х15 мм)
- настройка с помощью одной кнопки
- работа на напряжениях от 6 до 18 В.
- энергопотребление 28мА/48мА без/с подсветкой
- защита от коротких замыканий, скачков напряжения, реверсивных напряжений
- усиленная конструкция, водонепроницаем, 2 года гарантии
![](/img/kompyuter-dlya-motocikla_6.jpg)
Режим измерения напряжения показывает не только текущее напряжение, но и позволяет фиксировать отклонения напряжения, связанные с выходом из строя реле регулятора или генератора (пропал заряд или перезаряд). Часто, при выходе из строя реле регулятора мы узнаем об этом в последнюю очередь. В отличие от автомобилей, генератор мотоцикла не управляемый. С ростом оборотов - растет переменное напряжение. При пробое реле регулятора, бортовое напряжение может достигать сотен вольт, причем единственным сдерживающим фактором, не дающим напряжению расти является кипящий аккумулятор. По мере выкипания электролита, сопротивление аккумулятора растет, а бортовое напряжение - повышается.
Режим измерения напряжения - гарантирует, что вы сразу узнаете о проблемах электрики, вне зависимости в каком режиме сейчас находится mm5, при сбое в электропитании отобразит тревогу.
Кроме того, перед стартом мотора, mm5 будет отображать текущее напряжение.
В режиме Мото Путешествие - MM5 ведет отсчет времени, в течение которого не выключался мотор (или зажигание, на выбор). Удобно для мото-путешественников, которые теперь могут делать привал по часам.
В режиме измерения моточасов MM5 регистрирует время работы мотора (или включения зажигания, на выбор). Существует много двигателей, к примеру - кроссовых, обслуживание которых происходит не по километражу, а по мото-часам.
В режиме измерения температуры MM5 фиксирует текущую, максимальную и минимальную температуры окружающей среды.
В этих режимах MM5 работает как секундомер и лапатймер. Лаптаймер срабатывает по нажатию кнопки (см инструкции)
Добавить комментарий
www.healtech.ru
Мото бортовой компьютер. — Новосибирский скутер клуб — все о мокиках, скутерах, мопедах в Новосибирске
Ссылаясь на все плюсы и минусы первой версии БК для мотороллера, я решил заняться второй версией. В этом проекте был задействован более быстрый процессор, лучший дисплей, увеличено количество функций БК и гибкость всей системы вцелом. К автомату опережения зажигания добавлен датчик дроссельной заслонки, это увеличит КПД двигателя на малых и средних нагрузках. На данный момент БК имеет 12 выбираемых функций, спидометр, одометр, пин-кодовый иммобилизатор, автомат управления освещением. Дисплей имеет 32 символа в двух рядах. Вот приблизительный внешний вид расположения данных на дисплее.
В левой части расположены спидометр и одометр. В правой части дисплея выводятся 2 из всех возможных функций БК. Выбор отображаемой функции производится нажатием клавиши управления. Короткое нажатие клавиши перебирает функции в верхней части, длинное нажатие - в нижней части. Удержание клавиши на 4 секунды производит сброс функции в верхней части дисплея.
Краткое описание функций:
-тахометр, 400 ... 13500 об/мин, с дискретностью 100 оборотов -вольтметр, 9,0 ... 16,0 вольт, с дискретностью 0,1 вольт -температура двигателя, -40 ... 200 градусов цельсия, с дискретностью 1 градус -температура наружного воздуха, -40 ... 125 градусов цельсия, с дискретностью 1 градус -указатель уровня бензина, 0 ... 20 литров, с дискретностью 100 грамм -период замены масла, километров до замены -время в пути / секундомер, секунды, минуты, часы -суточный одометр, км, с дискретностью 100 метров. -средняя скорость за час, км -максимальная скорость, км -расход топлива, литров на 100 км., с дискретностью 0,1 литр -разгон до 100 км, секунды, с дискретностью 0,1 сек
При удержании клавиши БК и включении зажигания БК входит в режим настройки функций. Настройка БК.
-тарировка спидометра, окружность колеса в миллиметрах, или расстояние, пройденое за один оборот колеса, мм -настройка тахометра, циклов зажигания за один оборот колена, 1-2-3-4 -активация предупреждения низкого и высокого заряда. -аварийная температура двигателя, 110-120-130-140 -предупреждение гололёда, 0град С - 1град С - 2град С - 3град С - выкл. -тарировка датчика уровня топлива. Процедура довольно непростая:))))))))))) 1. Входим в режим настройки (удержание клавиши при включении зажигания), и сливаем всё топливо с бака. 2. Выбираем пункт настройки датчика, и удерживаем клавишу, для активации режима настройки датчика. При этом в нижней части дисплея выводится строка "xx,x - yyy". Где xx,x - уровень топлива в литрах, ууу - восьмибитный код АЦП сигнала датчика топлива. 3. Заливаем в бак 100 грамм топлива, после того, как код АЦП перестанет плавать, нажимаем клавишу, при этом происходит запись текущего значения АЦП в еепром и инкремент уровня топлива. 4. Выполняем пункт 3, пока бак ненаполнится полностью, после чего нужно нажать клавишу на 5 секунд, для выхода из режима настройки датчика топлива. После этого показатель уровня топлива сбрасывается на 0, для следуещей возможной калибровки датчика. З.Ы. При калибровке датчика нужно следить за изменением АЦП, очень желательно добиться того, чтоб один код АЦП как можно меньше соответствовал разным уровням топлива. Для этого может потребоваться уменьшение подтягивающего резистора на плате БК к 5 вольтам. З.Ы.2 Если после калибровки датчика показания топлива существенно отличаются, или очень сильно плавают, необходимо заменить родной датчик топлива трёхпроводным потенциометром 4,7...10k. Подтягивающий резистор на плате нужен только для двухповодного датчика. -предупреждение резервного уровня топлива, 0,4-0,6-0,8-1,0-1,2-1,4-1,6-1,8 литра -период для замены масла, 1000-1500-2000-2500-3000-выкл. -ограничитель оборотов, 3000-4000-5000-6000-7000-8000-9000-10000-11000-12000-13000-14000-15000 -ограничитель скорости, 20-40-60-80-100-120-140-160 -показатель времени в пути - фактор учитывания скорости-работы двигателя-включенного зажигания. -лимит скорости для теста на разгон, 40-60-80-100, км/час -пин-код иммо, четыре числа -автомат управления габаритами, с задержкой 30 - с задержкой 60сек - выкл -автомат управления фарой , включение с двигателем - при превышении скорости 50км/час-вкл 65км/час-вкл 80км/час-вкл 95км/час- выкл -подсветка дисплея яркая-тусклая-автомат -настройка фронта сигнала датчика коленвала -тарировка датчика дроссельной заслонки, 0-100%-выкл -настройка типа дисплея (OLED/LCD) -настройка активатора аварийных сообщений всех датчиков b0 - неисправность датчика мотора b1 - неисправность датчика воздуха b2 - неисправность датчика дросселя b3 - неисправность датчика уровня топлива b4 - смена масла b5 - гололёд -настройка порта зажигания. (ФУОЗ / Блок+ / Блок- ). Здесь можно отключить ФУОЗ, и поставить реле блокировки на родную систему зажигания, используя вывод ФУОЗа , предварительно настроив тип блокировки реле зажигания (нормально замкнутые контакты / нормально открытые контакты). Вход тахометра нужно подключить к родному датчику коленвала. При этом, если он имеет индуктивный тип, подключение следует производить через резистор 10k. -настройка языка (рус/eng) -разрешение дисплея (16*2/20*2) -начальная граница ФУОЗа (1200/2700) -калибровка датчиков температур. 1бит = 0,488 градусов. -калибровка вольтметра. 1бит = 0,1 вольт -тип зажигания (батарейное/CDI)
Во врямя работы, БК контролирует все показания функций. При достижении аварийных границ, БК выводит предупреждение на нижнюю часть дисплея и включает моргание красного светодиода. Аварийные уведомления:
-напряжение ниже 12 вольт(при высоких оборотах двигателе) или больше 15 вольт, после сброса сообщения обновляется через 40 секунд -превышение аварийной температуры двигателя, после сброса сообщения обновляется через 20 секунд -период замены масла, 30 секунд предупреждения после включения зажигания -гололёд, единократное сообщение -минимум топлива, после сброса сообщения обновляется через 120 секунд -ограничение оборотов, сообщение в зоне ограничения -ограничение скорости, сообщение в зоне ограничения -нарушение целостности энергонезависимой памяти -неисправность датчиков. ERROR1 - обрыв или КЗ в цепи сигнала датчика температуры мотора.
Напряжение питания устройства - 9 ... 16 вольт. Потребление в рабочем режиме - не более 60 мА (без подсветки ЖКИ). Диапазон рабочих температур - от -25 до + 60 С
Вот принципиальная схема на 18.05.08.
Вот список деталей для самостоятельного изготовления схемы:
процик PIC18F252 - 1шт. панель (28пин) - 1шт. дисплей (1602) - 1шт. диод 1N4004 - 3шт. стабилизатор 7805 (ТО-220) - 1шт. варистор - FNR-05K220 -1шт. ёмкость 6800mkF*25V - 1шт. ёмкость 4700mkF*6,3 - 1шт. ёмкость 47mkF*25 - 1шт. клавиша без фиксации на замыкание - 1шт. стабилитрон 4,7V, 20мА - 1шт. кварц(лодочка) 10Мhz - 1шт. фотодиод ФД 263-01 - 1шт. светодиод 5мм, яркий - 1шт.
зистора: КТ816Г - 3шт. КТ817В - 1шт. IRGS14C40L - 1шт. (для батарейной системы зажигания) 12 (0,125W) - 1шт. 100 (0,125W) - 1шт. 200 (0,125W) - 1шт. 560 (0,125W) - 1шт. 1k4 (0,125W) - 1шт. 10k (0,125W) - 1шт.
smd 0805: 000 - 1шт. 100 - 1шт. 501 - 4шт. 102 - 10шт. 103 - 5шт. 203 - 6шт. 243 - 1шт. 104 - 1шт.
24p - 2шт. 1n - 4шт. 22n - 8шт. 47n - 17шт.
sm4007 - 2шт. bc848c - 4шт. bc858c - 1шт. 6n136s - 1шт.
Датчики: lm235(A)(Z) - 1шт. lm335(A)(Z) - 1шт. gerkon & magnit - 1шт. релюхи 12вольт, 10А -2шт.
Инсталяция на скутер 4Т 150сс.
Теперь от теории переходим к практике установки девайса. Первым делом курочим щиток приборов, и ищем место, куда вставить схему и индикатор. Так как на моём дрыне спидометр приказал всем долго жить, БК поставил вместо спидометра.
Вот так выглядит линейный датчик температуры воздуха lm335 -
Датчик спидометра. В качестве датчика холла я поначалу использовал S541A. Позже установил дешёвый геркон , работает нехуже, зачем платить больше?))) На диске был установлен магнит в предварительно высверленное отверстие.
Клавиша управления выводится на руль.
Установка датчика температуры двигателя. Датчик устанавливается на головку или блок цилиндра. Крепится с помощью винта и скобы на термопасту. Датчик lm235 имеет верхний предел 125 градусов. Для любителей поотжигать на двухтактнике можно использовать lm135, у него линейная характеристика сохраняется до 150 градусов.
Дальше следует переделка системы зажигания на батарейную. После долгих раздумий я решил оставить родной датчик коленвала. Теперь в любой момент можно переподключить сигнальный провод на родную систему зажигания. В качестве силового ключа управления катушкой я применил IRGS14C40L. Это мощный IGBT транзистор специально изготовлен для управления автомобильной катушкой зажигания. С 14.09.08 прошивка поддерживает конденсаторно - тиристорное зажигание (CDI), смена типа зажигания в настройках.
Вот тестовая бетта версия прошивки под 252 пик. mbk_20_tb.hex- (58,1к). Немного доделанная бетта версия (22.06.08). mbk_20_b.hex- (65,0к). Добавлена CDI (14.09.08). mbk_21_b.hex- (68,2к).
Прошивать пик можно программой WinPic800, предварительно выставив требуемые настройки.
Здесь макет печатки в проге layout 3.3 mbk20.lay- (101к). Таблица OpenOffice.org для расчёта массива опережения зажигания UOZ.xls- (141,3к).
А вот так выглядет готовая плата перед сборкой.
Теперь кое-что про алгоритмы работы программы:
ФУОЗ (формирователь угла опережения зажигания). Таблица опережения прошита в памяти программы. Таблица имеет 128 слов. В одном слове 2 байта. Каждое слово соответствует шагу частоты вращения коленвала в 100 оборотов в минуту. При этом первое слово в таблице соответствует частоте вращения коленвала в 800 обр/мин. А последнее слово, следовательно, соответствует частоте вращения коленвала в 13600 обр/мин. Теперь о главном, сами слова представляют собой задержку опережения зажигания. 1 бит в этом слове соответствует задержке 3,2 мксек. Тоесть, если требуется опережение в 1 миллисекунду, слово должно равняться 312. Процесс опережения происходит так - по фронту датчика коленвала микроконтроллер перезапускает счётчик подсчёта периода вращения коленвала, и запускается таймер зажигания, который равняется периоду вращения коленвала минус задержка на опережение. Порог включения ФУОЗа выбирается в настройках, и может равняться 1200 или 2700 оборотов в минуту коленвала. До включения ФУОЗа опережение статическое, и соответствует положению датчика коленвала. Фронт сигнала датчика коленвала должен иметь опережение для холостого хода, по умолчанию равняется 12 градусам до ВМТ. Если частота вращения мотора или скорость превышают пользовательские настройки, то происходит отсечка зажигания с небольшим гистерезисом. Если ФУОЗ отключён в настройках, то вместо отсечки происходит изменение уровня сигнала блокировки для родной системы зажигания. Как изменить таблицу опережения? Всё просто. Редактируем таблицу (OpenOffice.org), и переписываем массив c 800 по 13600 оборотов в прошивку по адресу 0x200 - 0x280 в любом хекс редакторе. Прошиваем и смотрим на столе с помощью генератора и осцилла результат.
Статья взята с: http://www.kievavtoelektrik.narod.ru/stat/BKFM2/bkfm2.htm
Please enable JavaScript to view the comments powered by Disqus.www.scooternsk.ru