Приедисловие
Когда-то давно загорелся идеей бортового компа для своей машинки. Интересно стало, чем она живет, то есть захотелось иметь параметры движки в реальном времени, чтоб там температуру видеть, время впрыска форсунки углядеть, ну всего по чуть чуть, но особенно интересовал расход. Всякие там готовые бортовые компы типа мультитроникса (это вообще отдельный рассказ) и прочей фигни не устраивали, так как они работали в универсальном режиме (на тот момент), и параметры расчитывали косвенно (то есть нужно было с нимим долго е..ться, чтоб отъюстировать все параметры), да и диагностику мозгов они не делали. Как потом мне стало ясно, моя машинка с OBD1 (Как я завидовал обладателям OBD2), с которого не так просто вытащить параметры двигла, только диллерским Хондовским сканером, либо приблудой от доктроникса за хреновую кучу бабок. Естественно, меня ни одно ни второе не устраивало, поэтому начал рыть все про OBD1 наших машинок, нарыл протокол, описание и интерпретацию данных. Результатом тех трудов (не только моих) стали бесплатные программы, которые с простым адаптером позволяли делать элементарную диагностику двигателя, считывать параметры, стирать ошибки. Это позволило многим пользователям самим проводить диагностику, находить причину некорректной работы двигателя, тем самым экономить свои деньги и нервы. Более подробно можно узнать здесь..
А теперь основное
и вот теперь, спустя время, моя идея воплотилась в жизнь (даже не смотря на появления ребенка, и прочих бытовых трудностей). И хочу поделится со всеми, как я это сделал, может кто-то себе тоже захочет. Значит, по сути, бортовой компьютер у меня представляет из себя КПК (ASUS MyPAl A696) в связке с адаптером. Адаптер подключается к диагностическому разъему и представляет из себя хитрый преобразователь, который сам постоянно считывает парметры двигателя и передает их через BlueTooth на КПК. При этом мы получаем отсутствие каих либо проводов и компактные размеры устройства. На КПК стоит программа,которая принимает эти параметры от адаптера, преобразует их в понятный вид и выводит интересующие значения на экран.
Теперь более подробно расскажу об адаптере. Представляет из себя платку (см. фото), на которой находятся микроконтроллер фирмы ATMEL типа ATMEGA128, модуль Bluetooth фирмы BlueGiga WT11-A-AI, DC/DC преобразователь фирмы Texas Instrument типа TPS61110 и сам K-Line преобразователь для подключения к диагностическому разъему. В микроконтроллер залито специальное программное обеспечение (разработано мной), которое позволяет считывать данные с мозгов машины и передавать их в модуль BlueTooth. В модуле Bluetooth настроены определенным образом его профиля, которые позволяют довольно просто работать с ним с КПК. Подробно смотрите на сайте производителя модуля. DC/Dc преобразователь предназначен для понижения напряжения с бортовой сети автомобиля до напряжения, необходимое для работы адаптера. КПД преобразователя довольно таки высок, поэтому нагрев его минимален. Ну и K-line преобразователь нужен для согласования уровней мозга с уровнями адаптера. Кто хочет, можете глянуть схему адаптера для понимания того, что я написал.
А теперь о КПК. С этим пришлось немного повозится, так как я электронщик и в основном работаю с железками. Написать для меня софт под Винду довольно сложное занятие, тем более под КПК. Но... как говорится век живи - век учись...Сначала у меня в руках был стандартный GPS навигатор с ОС WinCe 4.2, которая якобы заточена под технологию .NET, и я начал рыть в этом направлении, так как мне казалось, что это будет просто и быстро. Позже я столкнулся с тем, что для запуска программ на навигаторе, написаных под .NET (начал изучать С#), нужно было устанавливать framework (для КПК есть типа compactframework). Эта хрень устанавливается в системные папки, хоть навигатор и имел системную память, но она была оперативной, то есть после перезагруки снова надо было устанавливать copactframework. Еще большее разочарование меня постигло, когда я узнал,
что для работы с COM портами из навигатора нужно ставить compactframework версии не ниже второй, который даже не становился в навигатор из-за своего большого объема. В итоге я забил на этот .NET (и на С# в том числе). Потом я начал рыть в сторону С++ и написанию прог посредством готовых API функций системы Windows, так для запуска таких программ ничего не надо было устанавливать дополнительно. Признаюсь честно, я очень долго вникал, как же работает сама эта винда (тупой механизм очередей сообщений и их обработка), и как проги на ней работают. Начиная немного понимать и экспериментировать с навигатором, понимаю, что WInCe 4.2 - это полный кастрат (извеняюсь за выражения, но другими словами это не назовешь), у которой большинство API функций не работают. В итоге забиваю на навигатор (а это потраченное время, упреки жены на отсутсвия внимания и т.д.), и приобретаю КПК Asus MyPal A696 с Windows Mobile 6. И это совсем другое дело. Единственное отмечу, что при работе с Bluetooth, что в КПК, нужен специальный SDK от Broadcomm (с набором библиотек под Bluetooth). В итоге, на свет появилась прога, которая
выводит параметры двигла на экран. Правда есть косяки, но их со временем уберу и немного приукрашу сам интерфейс. В перспективе, хочу навесить на свой адаптер термодатчики, типа температура на улице и внутри салона, пару датчиков тока, чтоб видеть, как нагружен генератор и аккумулятор, и опять же, ве это смотреть на своем БК. Ниже представлены скрины проги и фото адаптера.
P.S. К любителям перепечатывать статьи на других форумах, прошу давать ссылку на первоисточник, то есть этот форум.
ссылка на тему автора изобретения http://anglo-civic.com.ua/forum/view...hp?f=19&t=1241