![]() |
Универсальный "OBD" для безмозглых автомобилей
http://funkyimg.com/u2/432/873/torpedo_modest.png
Disclaimer:
1.1 Ядро Ключевая часть устройства заключается в одном-единственном микроконтроллере pic16F877a, к которому в свою очередь подключаются различные датчики, кнопки и прочие аналоговые и цифровые устройства. Распиновка микропроцессора с точки зрения созданной программы указана на схеме. Синим выделены используемые аналоговые входы (на них замеряется напряжение относительно земли, но не более 5В), фиолетовым - цифровые и зеленым ножки, к которым подключается преобразователь компьютерных сигналов. Передача трансмиссии шифруется резистивным делителем. Питание устройства осуществляется с интерфейса USB или внешнего источника питания +5В. 1.2 Датчики 1.2.1 Тахометр, спидометр В различных автомобилях кодирование оборотов и скорости может быть выполнено различными средствами. Для ВАЗ-2110 имеем: Цитата:
Минимальной измеряемой скоростью является 1 км/ч, максимальной - 255. Для тахометра максимальный предел - 8000 оборотов в минуту. 1.2.2 Аналоговые приборы Датчики, имеющие на выходе от 0 до 15В (аккумуляторная батарея в том числе) подключаются через делитель напряжения, собранный из 20КОм и 10КОм резисторов. На выходе делителя имеем напряжение от 0 до 5 В. 1.2.3 Дискретные цепи 12В В зависимости от характера цепи (общий анод, общий катод) выбирается один из двух вариантов подключения, указанных на схеме. 1.2.4 Кнопки Подключение кнопок также показано на схеме. 1.2.5 Шифратор КПП Исходя из мнения, что в каждый момент времени может быть включена только одна передача или трансмиссия в положении нейтрали, для кодирования этой информации логично воспользоваться шифратором. Шифратор на пять передач + задний ход собран по принципу резистивного делителя и строится на резисторах 1-5 кОм. Нажатые кнопки (сверху вниз на схеме) кодирут передачи 1-5 и задний вход. Отсутствие замыкания на всех кнопках соответствует нейтрали. Подключается к третьему аналоговому входу МК. 1.3 Преобразователь интерфейсов. Подключение микроконтроллера к компьютеру производится через интерфейсы RS-232 или USB. Интерфейс RS-232 формируется при участии микросхемы max232. Схема подключения указана на рисунке. При таком подключении устройству необходим внешний источник питания +5В. Также не забудьте о температурном диапазоне выбираемых микросхем. Интерфейс USB реализуется через микросхему FT232Rl: 1.4 Печатная плата и монтаж Заготовка печатной платы под микропроцессор, FT232Rl и max232 в формате SprintLayout 5 находится в архиве с прошивкой, ссылка на который прикреплена в конце повествования. При должном соотношении пофигизм/аккуратность плата отлично изготовляется методом ЛУТа. 1.5 Программирование МК Исходный код программы и скомпилированная прошивка находится в соответствующем архиве. Программирование возможно как покупным программатором, так и программаторами из говна и палок. 2. Приложение для ПК 2.1 Описание Программа графически напоминает приборную панель автомобилей Lexus с добавлением необходимых для работы элементов. Тахометр, спидометр, индикаторы температуры жидкости и уровня топлива имеют стрелочный характер, номер передачи и напряжение бортовой сети выводятся текстом, прочие индикаторы имеют вид лампочек. На шкале Возможен запуск приложения под Windows, Linux и Mac (На Mac не тестировалось, в ОС Linux подключение возможно через com порт или usb в режиме преобразователя com). Программа позволяет "горячее" подключение и отключение устройства. 2.2 Настройка Перед запуском программу необходимо настроить. Настройка осуществляется изменением файла torpedo.ini в папке с программой (В Linux - ~/.config/Torpedo/torpedo_modest.ini) Код:
[window] Имя com-порта зависит от системы. В Windows оно имеет вид Com#, в Linux - /dev/ttyS# (при использовании USB преобразователя - /dev/ttyUSB#). 2.3 Калибровка значений датчиков Калибровка значений стрелочных датчиков производится путем изменения файла torpedo.ini. Параметр min отвечает за показание датчика, в котором стрелка должна находиться в нулевом положении, max - в максимальном. Для тахометра и спидометра введен дополнительный параметр factor - умножитель. Для уровня топлива и температуры охлаждающей жидкости дополнительный флаг invert для датчиков, работающих в обратном ключе. Калибровка значения бортового напряжения зависит от напряжения питания микроконтроллера. Параметр maxvoltage позволяет определить поправку на максимальное напряжение, параметр limitvoltage определяет значение напряжения, ниже которого загорается лампа разрядки аккумулятора. Для цифровых датчиков можно установить маску инвертирования. Биты, поступающие с микропроцессора будут инвертированы в том случае, если напротив них в маске будет установлена единица. В настройках маска записывается целым десятичным числом в диапазоне [0,255]. 2.4 Скриншоты программы http://funkyimg.com/t2/892/006/modest_screenshot.png http://funkyimg.com/t2/440/423/torpe...est_ubuntu.jpg 2.5 Самостоятельная разработка программ Общение с устройством возможно по двум интерфейсам: com (max-232, микросхема ft232 работает как переходник uart-usb) и usb. В обоих случаях необходимо выбрать асинхронный режим, 9600бод. После подключения, устройство возвращает восемь байт с информацией о состоянии автомобиля. Расшифровку показаний см. в исходном коде прошивки. Посланная команда 177 обнулит значение одометра. Общение по интерфейсу usb происходит через библиотеку ftd2xx.dll. Подробнее о ее фукциях см. на сайте производителя. Также вместе с программой поставляется ее исходный код. 3. Ссылки Прошивка микроконтроллера 02.09.09 Приложение для ПК + исходные коды 31.10.09 Драйвера для FT232Rl. |
шикарная штука.
Сорри за глупый вопрос, а на машинах с автоматом также датчик скорости устроен? |
Думаю, также
|
Urvin - ты крут!
Входы пика через диоды мож?.... |
Сильно. :yes4:
А почему не стал делать для готового устройства. Очень удобно бы получилось. Тем более что оно недорогое и доступное. Проще купить его чем спаять и прошить самодельное. Планировал сделать такое как отмечать закончу. :) |
Респект автору, завтра будем испытывать :)
|
Urvin, может поправишь программу для arduino Nano?
У тебя это гораздо быстрее выйдет. :yes4: |
serg_wolf, Дополнительных диодов не надо - будут только мешать работе МК
St@rz, у меня критическое отторжение Arduino как дорогой игрушки. Да и получается, что это очень сложная система для простых задач - как никто не покубает бухгалтерам четырехядерных писюков. В добавок цена Arduino - 700 рублей, эта же схема со всей обвязкой уместится в 450. При подключении к COM - еще на 150 рублей дешевле. Другое дело, что в Arduino уже правильно сидят сложнораспаиваемые элементы и не требуется программатор. Выбор уже зависит от кривизны рук и любознательности исполнителя. Мой выбор - за микроконтроллерами - всяко железнее и полезнее. Про правку программы - я по программированию ардуины ничего досконально не читал, потому уйдет некоторое время. Вообще попробую. Tores, ждем отчета. Если нароешь инфу по датчику скорости в твоей машине и заснимешь сигнал на осциллограф, можно будет и считалку импульсов сделать. ёперный театр! Забыл схему шифратора КПП UPD: добавил |
Что у меня выходит для arduino Nano v3
Уж насколько ненавижу "теоретическое" программирование... Устройства у меня нет, потому исхожу из предположений и документации. Как я понял, в arduino сидит переходник USB-COM, и компьютер определяет устройство именно как "нечто на ком-порту". Также я понял, что если мы хотим использовать связь с компьютером, у нас пропадают цифровые входы-выходы D0 и D1. У Carduino Nano цифровых входов маловато, потому отказываемся от индикации "Check Engine" и передачи трансмиссии. Увы. Подключение аналоговых датчиков (см. схемы п.1 первого поста): A0 - спидометр; A1 - тахометр; A2 - охлаждающая жидкость; A3 - уровень топлива; A4 - АКБ A5 - [в программе не отображается, но прием налажен] Подключение дискретных цепей: D2 - водительская дверь; D3 - задняя левая дверь; D4 - передняя правая дверь; D5 - задняя правая дверь; D6 - левый поворотник; D7 - правый поворотник; D8 - аварийка; D9 - габариты/ближний свет; D10 - ручной тормоз; D11 - масло; D12 - тормоза; D13 - дальний свет. Программа для arduino следующая: Код:
// Массив значений по портам |
Цитата:
|
Цитата:
Еще для информации , в arduino nano v3 , восемь аналоговых портов , тоесть еще А6 и А7 Спидометр и тахометр для того чтобы считать расход бензина нужно подключить от датчика к цифровому порту , а вместо тахометра подключится к форсунке, и изменением коффициента впрыска каждый сможет откалибровать расход под свой автомобиль. |
St@rz, г. Пермь =) Не привык напрашиваться на подарки. Посмотрим, что получится и стоит ли это все дело переносить на arduino.
admin На входы А6 и А7 не смотрел, т.к. в представленной программе нет ни приема их значений, ни и отображений. Подключение спидометра и тахометра к цифре - это уже следующий шаг. Для реализации необходимо будет потанцевать вокруг машины с осциллографом, а у меня пока такого шанса не выпадает. |
Цитата:
|
Я правильно понял что ты всё это под десятку делаешь ?
|
badnetrnd, Тестовый персонаж - мой 2111, а так подходит для любой машины.
|
А почему решил к-л линию не использовать (для универсальности что ли ?)А на коробку отдельные концевики ставить будешь ?
|
Цитата:
Колличество впрыснутоно топлива зависит от длительности импульса на форсунке . Грубо говоря ШИМ . Измеряем длительность умножаем на коффициен умножаем на 2 (для 4-х цилиндрового движка) умножаем на число импульсов и считаем пройденое растояние. |
у меня почему то архив с прошивкой и программой не качаеться ?
|
Цитата:
Скоро переведу систему на расчет импульсов За форсунку спасибо - теории пора по этому делу не находил. Цитата:
Архив висит на народе. На кпп да, концевики. Если виноват не сервер, перезалью. All! Обещаю новую прошивку для измерения импульсов от спидометра и тахометра - данные будут точнее. Дополнительно рассматриваю перевод программы на несколько иное сообщение через USB - без эмулятора com. Электроника остается той же. |
вещь получаеться хорошая особенно радует внешний вид программы ! Тем более если прикупить еее в медиа маркт самая простая ща стоит 5000 то можно спокойно менять стандартную приборку и если еще добавить обд адаптер для инжекторных машин то получиться приборка с полной диагностикой машины примерно за 6000-7000 ! мне кажеться тебе надо всё доделать и заняться коммерчиским производством ! кстати у нас на авторынках продаються приборки на светодиодах +бортовой компьютер в ней же за 7000 !
у меня почему то до сих пор прога не качаеться :sad2: |
badnetrnd, в таком варианте что протино - что экран будет занимать некоторое свое квадратное место и все. Вокруг - пустое место или одинокие датчики как в семействе S-Optitron'ов на этом форуме. Идеальным был бы экранчик в половину ноутбучного.
В светодиодных приборках наценка, конечно большая, она складывается из стоимости расотрошенной (3000) + сиды (если покупать не в спецфирме, то дорого). Да и такую приборку купят от силы человек 10 Лови зеркало: http://ifolder.ru/13757654 |
Цитата:
|
Ну можно конечно использовать две 7 матрицы как в еее стоят получиться прямоугольник чуть больше чем сама панель (но будет совсе не бюджетно:sad2:) конечно можно попробовать отколоть пол 15 матрицы (с отколотым углом примерно см 5 работала ) но это мне кажеться извращение да и тем более пол матрицы наверно не будет работать :no2:
И ещё мне кажеться что в качестве датчиков для коробки можно герконы использовать магнит на сам рычаг и герконы вокруг него Кстати а почему ты пока себе комп не ставиш ? |
Цитата:
Впрочем, для перспективной поддержки carduino, лучше перевести на резистив. badnetrnd, вот и получается что пока не будут делать отрезаемые экраны ("Продавец, вырежьте мне, пожалйучта 22' монитор") или дешевые разноразмерные и пока компы грузятся более одной секунды, идея несколько несостоятельна. На ARM и ко мне слабо. Не хочу возиться с нелюбимым десятилетним караван-сараем. Идея с герконами исключительно правильная, будет меньше "дребезга" при самовольном движении ручки. Помню, я делал нечто на герконах, а они у меня по два раза срабатывали) Ну или я настолько безрук) |
Это точно:пока не будут делать отрезаемые экраны ("Продавец, вырежьте мне, пожалйучта 22' монитор") :rofl::rofl::rofl:Главное сделать аппаратную и программную часть а с мониторами пускай каждый сам решает . А ARM действительно зло вот один пытался комп из роутера замутить (http://www.pccar.ru/showthread.php?t=9516) ! А вообще мне по большому счёту она подойдёт осталось только деньги на еее найти ! А сбоку можно второй дисплей к основному компу подрубить для леокара
|
А можно-ли подобную прогу сделать под WinCE/Windows mobile (т.е. взять обычный GPS навигатор (один из последних который доводил до ума был MIO C520), заменить интерфейс по инструкции h_ttp://4pda.ru/forum/index.php?showtopic=92675 С прогой подозреваю что проблем возникнуть не должно. По ходу возникли следующие вопросы:
1 - можно-ли вышеописаную схему сбора данных подключить к этому навигатору? сомнения берут на счет варианта с USB, но есть еще блутуз, соответственно вопрос, можно-ли к этой схеме прицепить блутуз интерферйс, чтоб потом из под WinCE/Windows mobile собирать данные? телефоны же вяжутся с этими навигаторами.... 2 - можно-ли по блутузу подключить камеры, для заднего хода или найтвижена, слышал что и видеорегистраторы под WinCE/Windows mobile есть... (если да, то было бы здорово по включению задней передачи автоматически чтоб камера заднего вида включалась :) ) 3 - если запихнуть этот навигатор в приборку по аналогии как товарищ сделал http://pccar.ru/showpost.php?p=54550&postcount=103 и добавить в прогу функционал как у Multitronics VG1031GPL то получится уже что-то наподобии http://pccar.ru/showpost.php?p=78685&postcount=115 :) Тут конечно возникает вопрос с управлением, дополнительные кнопки лепить для переключения режимов отображения, а для управления навигатором воотще что-то наподобия тачпада нужно по блутузу вязать.... вот нашел блутуз клава http://www.pccar.ru/showthread.php?t=2792 с дровами как под WM так и под симбиан. Вот такая идея. |
[QUOTE=-=PAN=-;109052]А можно-ли подобную прогу сделать под WinCE/Windows mobile[QUOTE]
Можно, делайте (= Если серьезно, то я пока связываться с WinMobile не хочу, да и все мои разработки под мобильные устройства закончились на крестиках-ноликах под аппарат Siemens C60. Ссылка на 4пда нерабочая, но я экстрасенсорно догадался о чем там речь. Далее попунктно: 1. Устройства под WinMobile, имеющие на своем борту usb-вход всецело поддерживают подключение к себе устройств на микросхеме ft232rl, о чем напрямую указано на сайте производителя. Что с преобразователями интерфейсов uart-bluetooth я не знаю, но наверняка такие существуют, мир-то как-то вертится Тему не исследовал, потому ничего не знаю. 2. Bluetooth-камеры существуют, значит как-то можно. Далее проблемы софта. 3. Нет пока еще в широкой продаже экранов по размерам приборок - т.е. широкие и невысокие. Понятно, что можно заказать у китайцев с соответствующим бюджетом. Вторая проблема - время от включения питания приборки до полной ее загрузки и энергопотребление. На WM можно делать как на телефонах - отключение экрана и остановка программы. Но тогда возникает вопрос о здоровье аккумулятора и о его объеме. Ведь если по прошествии выходных на даче приборка будет грузиться секунд 15, пользователя это мало обрадует. Самое идеальное решение - это использование мощнецкого микроконтроллера и без дополнительных операционных систем. |
Обновлены прошивка и приложение для ПК:
- измерение скорости и оборотов вала ведется через импульсы соответствующи датчиков. Измерение скорости ведется до 255 км/ч; - для кодирования положения ручки КПП выбрана резистивная схема; - в приложение добавлен одометр. До включения приложения можно проехать 25,5 км; - в приложение добавлены дополнительные настройки для калибровки индикаторов. |
Цитата:
Цитата:
Цитата:
хотя даже само по себе подобное устройство уже будет интересно, спидометр да и "маршрутный компьютер" как правило уже реализованы в программах GPS навигации, А вот сбор данных с бортовой системы - открывает гораздо больше возможнотей для реализации интересных идей... Цитата:
Более подробно я представлял себе это следующим, т.к. вход и выход из этого режима происходит по нажатию одной и той же кнопки воизбежание путаницы представлял себе следующее решение: включение сделать с помощью какого-то одновибратора имитирующего нажатие на кнопку питания при включении, а возврат в режим слипа уже сдеать програмным, написав маленькую програмку следящую за включенным зажиганием (через вашу схему), и в случае его отключения спустя секкунд 15 (для предотвращения перехода в режим слипа при кратковременных включениях выключениях зажигания, к примеру как при нескольких попытках подряд запустить другатель) запускать переход в режим слипа. |
-=PAN=-, вот только получится довольно бесполезная тонна колхоза)
И я не очень хорошо отношусь к экранчикам в половинку панели - грустно это. Проект открытый до мозга костей, если хочется, то можно позаморачиваться. Я перспектив на мобильных платформах не вижу. |
блин до сих пор из головы не выходит мысль отрезать пол экрана сам уверен на 99.999 что в итоге я получю не рабочую матрицу:angry:
|
а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..
|
Цитата:
|
Цитата:
Я пока совершенствую передачу данных, с анимацией разбираться не хочу |
Цитата:
Небольшой опыт с написании простеньгих прог есть, думаю можно было бы разобраться, а вот в сопряжении этого всего хозяйства с железом сложнее, потому и написал сюда, наверняка найдутся люди с большим опытом чем у меня, если кому-то понравится такая идея. ЗЫ: я не пытаюсь вас переубедить или навязать свою точку зрения, просто аргументирую свою :) |
Обновлены схема, программа и прошивка.
- значение одометра при отключении питания сохраняется в памяти микроконтроллера; - реализовано общение через полноценный usb интерфейс. |
Трабл...
Здравствуйте! Есть проблемка -программа не стартует под XP sp2 ,подскажите в чем проблема.Спасибо.
|
Программа не запустится без библиотеки ftd2xx.dll. Для тестов и ознакомления ее можно отколупать из архива драйверов и положить в папку с программой.
|
Спасибо!
|
Слушай а как твое ус-во считает расход топлива или оно не считает просто где то проскакивал вариант на длительности открытия форсунок но ведь в "безмозглых" авто нет форсунок 7
|
Часовой пояс GMT +4, время: 16:04. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot