Просмотр полной версии : Универсальный "OBD" для безмозглых автомобилей
http://funkyimg.com/u2/432/873/torpedo_modest.png
Disclaimer:
Это сугубо универсальная связка устройство-программа, позволяющая завести данные о состоянии автомобиля в компьютер;
Устройство и программа созданы для первоначального старта пользователей в деле ввода данных в компьютер, а также с целью получения и обмена опытом и мыслями, всеобщего благоденствия и радио "Радонеж";
Автор не несет ответственности за сожженные компьютеры, микропроцессоры и автомобили в результате действий исполнителя;
Автор будет крайне огорчен и раздосадован в результате использования идентифицирующих эту работу частей в сторонних проектах, а особенно под названиями "Смотрите, какую приборку вчера забабахал" и т.п.
1. Электроника и электротехника
http://funkyimg.com/t2/874/123/modest_scheme.png (http://funkyimg.com/viewer.php?img=/2/874/123/modest_scheme.png)
1.1 Ядро
Ключевая часть устройства заключается в одном-единственном микроконтроллере pic16F877a (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010242), к которому в свою очередь подключаются различные датчики, кнопки и прочие аналоговые и цифровые устройства. Распиновка микропроцессора с точки зрения созданной программы указана на схеме. Синим выделены используемые аналоговые входы (на них замеряется напряжение относительно земли, но не более 5В), фиолетовым - цифровые и зеленым ножки, к которым подключается преобразователь компьютерных сигналов.
Передача трансмиссии шифруется резистивным делителем.
Питание устройства осуществляется с интерфейса USB или внешнего источника питания +5В.
1.2 Датчики
1.2.1 Тахометр, спидометр
В различных автомобилях кодирование оборотов и скорости может быть выполнено различными средствами. Для ВАЗ-2110 имеем:
Спидометр работает совместно с электронным датчиком скорости автомобиля, установленном на коробке передач. Принцип его действия основан на эффекте Холла. Датчик выдает прямоугольные импульсы напряжения (нижний уровень - не более 1 В, верхний - не менее 5 В) с частотой, пропорциональной скорости вращения ведущи колес. 6 импульсов датчика соответствуют 1 м пути автомобиля.
Таким образом, к соответствующему входу микроконтроллера подключается цепь из транзистора и двух резисторов, позволяющая передавать в микроконтроллер лишь информацию о состоянии импульса и защищающая его от повышенных напряжений. Обработка импульсов осуществляется программным способом. Дополнительно считается пройденное расстояние.
Минимальной измеряемой скоростью является 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:
http://funkyimg.com/t2/436/527/ftdi_cx.gif (http://funkyimg.com/viewer.php?img=/2/436/527/ftdi_cx.gif)
1.4 Печатная плата и монтаж
Заготовка печатной платы под микропроцессор, FT232Rl и max232 в формате SprintLayout 5 находится в архиве с прошивкой, ссылка на который прикреплена в конце повествования.
При должном соотношении пофигизм/аккуратность плата отлично изготовляется методом ЛУТа.
1.5 Программирование МК
Исходный код программы и скомпилированная прошивка находится в соответствующем архиве. Программирование возможно как покупным программатором, так и программаторами из говна (http://urvin.livejournal.com/73870.html) и палок (http://miliamper.narod.ru/Extra-PIC/Extra-PIC.htm).
2. Приложение для ПК
2.1 Описание
Программа графически напоминает приборную панель автомобилей Lexus с добавлением необходимых для работы элементов. Тахометр, спидометр, индикаторы температуры жидкости и уровня топлива имеют стрелочный характер, номер передачи и напряжение бортовой сети выводятся текстом, прочие индикаторы имеют вид лампочек.
На шкале
Возможен запуск приложения под Windows, Linux и Mac (На Mac не тестировалось, в ОС Linux подключение возможно через com порт или usb в режиме преобразователя com).
Программа позволяет "горячее" подключение и отключение устройства.
2.2 Настройка
Перед запуском программу необходимо настроить. Настройка осуществляется изменением файла torpedo.ini в папке с программой (В Linux - ~/.config/Torpedo/torpedo_modest.ini)
[window]
pos=@Point(50 50) - положение программы при старте
frame=true - наличие системной рамки окна и заголовка
alwaysontop=true - расположение ппрограммы поверх остальных
[usb]
useusb=true - использование в режиме usb (при значении false импользуется com-порт)
serial=FTSDH1IL - серийный код устройства, полученный при прошивке (см далее)
[com]
name=Com5 - имя com-порта
Серийный код устройства возвращается программой MProg (http://www.ftdichip.com/Resources/Utilities.htm#MProg) после его прошивки. Неоходимо заполнить все поля данных в соответствии с картинкой (http://funkyimg.com/u2/418/474/modest_mprog.png) (1), затем нажать кнопку прошивки(2). При этом все usb-устройства, за исключением собранного лучше отсоединить. В поле (3) будет возвращен серийный номер устройства.
Имя 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/viewer.php?img=/2/892/006/modest_screenshot.png) http://funkyimg.com/t2/440/423/torpedo_modest_ubuntu.jpg (http://funkyimg.com/viewer.php?img=/2/440/423/torpedo_modest_ubuntu.jpg)
2.5 Самостоятельная разработка программ
Общение с устройством возможно по двум интерфейсам: com (max-232, микросхема ft232 работает как переходник uart-usb) и usb.
В обоих случаях необходимо выбрать асинхронный режим, 9600бод. После подключения, устройство возвращает восемь байт с информацией о состоянии автомобиля. Расшифровку показаний см. в исходном коде прошивки.
Посланная команда 177 обнулит значение одометра.
Общение по интерфейсу usb происходит через библиотеку ftd2xx.dll. Подробнее о ее фукциях см. на сайте производителя (http://www.ftdichip.com/Projects/CodeExamples.htm).
Также вместе с программой поставляется ее исходный код.
3. Ссылки
Прошивка микроконтроллера (http://narod.ru/disk/12725216000/modest_firmware_020909.rar.html) 02.09.09
Приложение для ПК + исходные коды (http://narod.ru/disk/14631990000/modest_pc_app_311009.rar.html) 31.10.09
Драйвера (http://www.ftdichip.com/Drivers/VCP.htm) для FT232Rl.
шикарная штука.
Сорри за глупый вопрос, а на машинах с автоматом также датчик скорости устроен?
serg_wolf
28.08.2009, 09:14
Urvin - ты крут!
Входы пика через диоды мож?....
Сильно. :yes4:
А почему не стал делать для готового устройства (http://www.compcar.ru/forum/showthread.php?t=4745). Очень удобно бы получилось. Тем более что оно недорогое и доступное. Проще купить его чем спаять и прошить самодельное.
Планировал сделать такое (http://www.compcar.ru/forum/showthread.php?t=4604) как отмечать закончу. :)
Респект автору, завтра будем испытывать :)
Urvin, может поправишь программу для arduino Nano (http://www.compcar.ru/forum/showthread.php?t=4745)?
У тебя это гораздо быстрее выйдет. :yes4:
serg_wolf, Дополнительных диодов не надо - будут только мешать работе МК
St@rz, у меня критическое отторжение Arduino как дорогой игрушки. Да и получается, что это очень сложная система для простых задач - как никто не покубает бухгалтерам четырехядерных писюков. В добавок цена Arduino - 700 рублей, эта же схема со всей обвязкой уместится в 450. При подключении к COM - еще на 150 рублей дешевле.
Другое дело, что в Arduino уже правильно сидят сложнораспаиваемые элементы и не требуется программатор.
Выбор уже зависит от кривизны рук и любознательности исполнителя.
Мой выбор - за микроконтроллерами - всяко железнее и полезнее.
Про правку программы - я по программированию ардуины ничего досконально не читал, потому уйдет некоторое время.
Вообще попробую.
Tores, ждем отчета. Если нароешь инфу по датчику скорости в твоей машине и заснимешь сигнал на осциллограф, можно будет и считалку импульсов сделать.
ёперный театр! Забыл схему шифратора КПП
UPD: добавил
Что у меня выходит для arduino Nano v3 (https://duino.ru/arduino-nano-v30-ch340-usb.html)
Уж насколько ненавижу "теоретическое" программирование... Устройства у меня нет, потому исхожу из предположений и документации.
Как я понял, в 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 следующая:
// Массив значений по портам
char resultInput[8];
void setup()
{
char i;
// Обнуление массива значений
for(i=0; i<8; i++)
{
resultInput[i]=0;
}
// Инициализация цифровых портов
for(i=2; i<14; i++)
{
pinMode(i,INPUT);
}
// Инициализация порта
Serial.begin(9600);
}
void loop()
{
// Сбор данных по шести АЦП, диапазон значений [0, 255]
for(char i=0; i<6; i++)
{
resultInput[i]=analogRead(i)/4;
}
// Перевод состояний на цифровых входах в общее число
resultInput[6] = digitalRead(2) +
digitalRead(3)*2 +
digitalRead(4)*4 +
digitalRead(5)*8 +
digitalRead(6)*16 +
digitalRead(7)*32 +
digitalRead(8)*64;
resultInput[7] = digitalRead(9) +
digitalRead(10)*2 +
digitalRead(11)*4 +
digitalRead(12)*8 +
digitalRead(13)*16;
// Если на порт что-то пришло
if (Serial.available()>0)
{
int command = Serial.read();
// Команда - вывести значение одного из портов
if (command<=8)
{
Serial.print(resultInput[command-1])
}
// Если команда - вывести все сразу
else if (command==15)
{
Serial.print(resultInput);
}
}
}
Если программа и мои предположения верны, то в написанной мной приборке будут показываться подаваемые на arduino значения.
Уж насколько ненавижу "теоретическое" программирование... Устройства у меня нет, потому исхожу из предположений и документации.
Urvin, если тебе интересно, то могу подарить тебе одну штуку arduino. Предполагаю что наличие у тебя этого устройства будет полезно для всех. :bye:
Что у меня выходит для arduino Nano v3
Подключение аналоговых датчиков (см. схемы п.1 первого поста):
A0 - спидометр;
A1 - тахометр;
A2 - охлаждающая жидкость;
A3 - уровень топлива;
A4 - АКБ
A5 - [в программе не отображается, но прием налажен]
Подключение дискретных цепей:
D2 - водительская дверь;
D3 - задняя левая дверь;
D4 - передняя правая дверь;
D5 - задняя правая дверь;
D6 - левый поворотник;
D7 - правый поворотник;
D8 - аварийка;
D9 - габариты/ближний свет;
D10 - ручной тормоз;
D11 - масло;
D12 - тормоза;
D13 - дальний свет.
.
Огромное спасибо за программу!
Еще для информации , в arduino nano v3 , восемь аналоговых портов , тоесть еще А6 и А7
Спидометр и тахометр для того чтобы считать расход бензина нужно подключить от датчика к цифровому порту , а вместо тахометра подключится к форсунке, и изменением коффициента впрыска каждый сможет откалибровать расход под свой автомобиль.
St@rz, г. Пермь =) Не привык напрашиваться на подарки. Посмотрим, что получится и стоит ли это все дело переносить на arduino.
admin На входы А6 и А7 не смотрел, т.к. в представленной программе нет ни приема их значений, ни и отображений.
Подключение спидометра и тахометра к цифре - это уже следующий шаг. Для реализации необходимо будет потанцевать вокруг машины с осциллографом, а у меня пока такого шанса не выпадает.
необходимо будет потанцевать вокруг машины с осциллографом
А тут еще и осциллограф на arduino (http://www.compcar.ru/forum/showthread.php?t=4457) есть.
badnetrnd
29.08.2009, 01:02
Я правильно понял что ты всё это под десятку делаешь ?
badnetrnd, Тестовый персонаж - мой 2111, а так подходит для любой машины.
badnetrnd
29.08.2009, 01:18
А почему решил к-л линию не использовать (для универсальности что ли ?)А на коробку отдельные концевики ставить будешь ?
Подключение спидометра и тахометра к цифре - это уже следующий шаг. Для реализации необходимо будет потанцевать вокруг машины с осциллографом, а у меня пока такого шанса не выпадает.
спидометр реализован просто, у него на выходе датчика хола уже TTL уровни или 12в импульсы, на десятке на один оборот колеса примерно 6 импульсов с датчика(можно будет в настройках сделать параметр для калибровки.) также можно добавить поправку на разный радиус колес
Колличество впрыснутоно топлива зависит от длительности импульса на форсунке . Грубо говоря ШИМ . Измеряем длительность умножаем на коффициен умножаем на 2 (для 4-х цилиндрового движка) умножаем на число импульсов и считаем пройденое растояние.
badnetrnd
29.08.2009, 01:53
у меня почему то архив с прошивкой и программой не качаеться ?
спидометр реализован просто, у него на выходе датчика хола уже TTL уровни или 12в импульсы, на десятке на один оборот колеса примерно 6 импульсов с датчика(можно будет в настройках сделать параметр для калибровки.) также можно добавить поправку на разный радиус колес
Колличество впрыснутоно топлива зависит от длительности импульса на форсунке . Грубо говоря ШИМ . Измеряем длительность умножаем на коффициен умножаем на 2 (для 4-х цилиндрового движка) умножаем на число импульсов и считаем пройденое растояние.
Танцы с осциллографом удобны тем, что можно увидеть то, что пытаешься обработать. Из теории, конечно, все понятно)
Скоро переведу систему на расчет импульсов
За форсунку спасибо - теории пора по этому делу не находил.
А почему решил к-л линию не использовать (для универсальности что ли ?)А на коробку отдельные концевики ставить будешь ?
У меня в машине компьютера вообще нет и не предвидется. Мне просто интересно осуществить задумку в таком формате.
Архив висит на народе. На кпп да, концевики.
Если виноват не сервер, перезалью.
All! Обещаю новую прошивку для измерения импульсов от спидометра и тахометра - данные будут точнее. Дополнительно рассматриваю перевод программы на несколько иное сообщение через USB - без эмулятора com. Электроника остается той же.
badnetrnd
29.08.2009, 11:35
вещь получаеться хорошая особенно радует внешний вид программы ! Тем более если прикупить еее в медиа маркт самая простая ща стоит 5000 то можно спокойно менять стандартную приборку и если еще добавить обд адаптер для инжекторных машин то получиться приборка с полной диагностикой машины примерно за 6000-7000 ! мне кажеться тебе надо всё доделать и заняться коммерчиским производством ! кстати у нас на авторынках продаються приборки на светодиодах +бортовой компьютер в ней же за 7000 !
у меня почему то до сих пор прога не качаеться :sad2:
badnetrnd, в таком варианте что протино - что экран будет занимать некоторое свое квадратное место и все. Вокруг - пустое место или одинокие датчики как в семействе S-Optitron'ов на этом форуме. Идеальным был бы экранчик в половину ноутбучного.
В светодиодных приборках наценка, конечно большая, она складывается из стоимости расотрошенной (3000) + сиды (если покупать не в спецфирме, то дорого).
Да и такую приборку купят от силы человек 10
Лови зеркало: http://ifolder.ru/13757654
1.2.5 Шифратор КПП
Исходя из мнения, что в каждый момент времени может быть включена только одна передача или трансмиссия в положении нейтрали, для кодирования этой информации логично воспользоваться шифратором. Он позволит при той же функциональности задействовать меньшее количество ножек микропроцессора.
Я бы воспользовался аналоговым входом и резестивным делителем. Принцип тех же рулевых резестивных кнопок
badnetrnd
30.08.2009, 10:52
Ну можно конечно использовать две 7 матрицы как в еее стоят получиться прямоугольник чуть больше чем сама панель (но будет совсе не бюджетно:sad2:) конечно можно попробовать отколоть пол 15 матрицы (с отколотым углом примерно см 5 работала ) но это мне кажеться извращение да и тем более пол матрицы наверно не будет работать :no2:
И ещё мне кажеться что в качестве датчиков для коробки можно герконы использовать
магнит на сам рычаг и герконы вокруг него
Кстати а почему ты пока себе комп не ставиш ?
Я бы воспользовался аналоговым входом и резестивным делителем. Принцип тех же рулевых резистивных кнопок
Как один из датчиков положений рукоятки я хотел задействовать существующий концевик заднего хода.
Впрочем, для перспективной поддержки carduino, лучше перевести на резистив.
badnetrnd, вот и получается что пока не будут делать отрезаемые экраны ("Продавец, вырежьте мне, пожалйучта 22' монитор") или дешевые разноразмерные и пока компы грузятся более одной секунды, идея несколько несостоятельна. На ARM и ко мне слабо.
Не хочу возиться с нелюбимым десятилетним караван-сараем.
Идея с герконами исключительно правильная, будет меньше "дребезга" при самовольном движении ручки. Помню, я делал нечто на герконах, а они у меня по два раза срабатывали) Ну или я настолько безрук)
badnetrnd
30.08.2009, 17:11
Это точно:пока не будут делать отрезаемые экраны ("Продавец, вырежьте мне, пожалйучта 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://www.neva-pl.ru/) то получится уже что-то наподобии 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, о чем напрямую указано на сайте производителя (http://www.ftdichip.com/).
Что с преобразователями интерфейсов uart-bluetooth я не знаю, но наверняка такие существуют, мир-то как-то вертится Тему не исследовал, потому ничего не знаю.
2. Bluetooth-камеры существуют, значит как-то можно. Далее проблемы софта.
3. Нет пока еще в широкой продаже экранов по размерам приборок - т.е. широкие и невысокие. Понятно, что можно заказать у китайцев с соответствующим бюджетом.
Вторая проблема - время от включения питания приборки до полной ее загрузки и энергопотребление. На WM можно делать как на телефонах - отключение экрана и остановка программы. Но тогда возникает вопрос о здоровье аккумулятора и о его объеме. Ведь если по прошествии выходных на даче приборка будет грузиться секунд 15, пользователя это мало обрадует. Самое идеальное решение - это использование мощнецкого микроконтроллера и без дополнительных операционных систем.
Обновлены прошивка и приложение для ПК:
- измерение скорости и оборотов вала ведется через импульсы соответствующи датчиков. Измерение скорости ведется до 255 км/ч;
- для кодирования положения ручки КПП выбрана резистивная схема;
- в приложение добавлен одометр. До включения приложения можно проехать 25,5 км;
- в приложение добавлены дополнительные настройки для калибровки индикаторов.
Далее попунктно:
1. Устройства под WinMobile, имеющие на своем борту usb-вход всецело поддерживают подключение к себе устройств на микросхеме ft232rl, о чем напрямую указано на сайте производителя (http://www.ftdichip.com/).
Что с преобразователями интерфейсов uart-bluetooth я не знаю, но наверняка такие существуют, мир-то как-то вертится Тему не исследовал, потому ничего не знаю.
ну если можно к WinMobile подключать usb устройства - то и с блутузом получается можно не городить огород
2. Bluetooth-камеры существуют, значит как-то можно. Далее проблемы софта.
опять как и в предыдущем случае, достаточно поставить usb хаб, а к нему натыкать камер, как заднюю так и переднюю
3. Нет пока еще в широкой продаже экранов по размерам приборок - т.е. широкие и невысокие. Понятно, что можно заказать у китайцев с соответствующим бюджетом.
а зачем именно широкую на всю панель, достаточно размерами со спидометр в центре, сделать многофункциональный спидометр в центре, по внешнему радиусу сделать тахометр, получится компромис.
хотя даже само по себе подобное устройство уже будет интересно, спидометр да и "маршрутный компьютер" как правило уже реализованы в программах GPS навигации, А вот сбор данных с бортовой системы - открывает гораздо больше возможнотей для реализации интересных идей...
Вторая проблема - время от включения питания приборки до полной ее загрузки и энергопотребление. На WM можно делать как на телефонах - отключение экрана и остановка программы.
Но тогда возникает вопрос о здоровье аккумулятора и о его объеме. Ведь если по прошествии выходных на даче приборка будет грузиться секунд 15, пользователя это мало обрадует. Самое идеальное решение - это использование мощнецкого микроконтроллера и без дополнительных операционных систем.
Ну так так и сделано в большинстве навигаторов, кратковременное нажатие на кнопку питания переводит устройство в режим слипа, соответственно выход из этого режима занимает пару секунд. Потребление энергии в режиме слипа, я так понимаю, минимальное, и если подключить устройство к сети автомобиля - то о проблеме питания можно вообще забыть.
Более подробно я представлял себе это следующим, т.к. вход и выход из этого режима происходит по нажатию одной и той же кнопки воизбежание путаницы представлял себе следующее решение: включение сделать с помощью какого-то одновибратора имитирующего нажатие на кнопку питания при включении, а возврат в режим слипа уже сдеать програмным, написав маленькую програмку следящую за включенным зажиганием (через вашу схему), и в случае его отключения спустя секкунд 15 (для предотвращения перехода в режим слипа при кратковременных включениях выключениях зажигания, к примеру как при нескольких попытках подряд запустить другатель) запускать переход в режим слипа.
-=PAN=-, вот только получится довольно бесполезная тонна колхоза)
И я не очень хорошо отношусь к экранчикам в половинку панели - грустно это.
Проект открытый до мозга костей, если хочется, то можно позаморачиваться.
Я перспектив на мобильных платформах не вижу.
badnetrnd
02.09.2009, 15:00
блин до сих пор из головы не выходит мысль отрезать пол экрана сам уверен на 99.999 что в итоге я получю не рабочую матрицу:angry:
а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..
badnetrnd
02.09.2009, 15:10
а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..
если будет сенсорный экран (если его вставлять в приборку то наверно будет не очень удобно ) то можно будет. только если модифицировать программу
а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..
Можно, увеличивайте :tease: исходники в комплекте
Я пока совершенствую передачу данных, с анимацией разбираться не хочу
-=PAN=-, вот только получится довольно бесполезная тонна колхоза)
И я не очень хорошо отношусь к экранчикам в половинку панели - грустно это.
Проект открытый до мозга костей, если хочется, то можно позаморачиваться.
Я перспектив на мобильных платформах не вижу.
Понятно что полноценный PC функциональнее мобильной системы, но если исходить из рациональности.... если нужно всего лишь отображать скорость, расход, декодировать коды ошибок - с этими задачами справляются и более простые устройства типа Multitronics VG1031GPL (http://www.neva-pl.ru/)(как я уже писал раньше), а WM - нужен только для более удобного наглядного отображения этой информации. В случае с WM это достигается с гораздо меньшими (в разы) затратами. (Ясно что тем у кого уже имеется системник в машине эта идея неинтересна).
Небольшой опыт с написании простеньгих прог есть, думаю можно было бы разобраться, а вот в сопряжении этого всего хозяйства с железом сложнее, потому и написал сюда, наверняка найдутся люди с большим опытом чем у меня, если кому-то понравится такая идея.
ЗЫ: я не пытаюсь вас переубедить или навязать свою точку зрения, просто аргументирую свою :)
Обновлены схема, программа и прошивка.
- значение одометра при отключении питания сохраняется в памяти микроконтроллера;
- реализовано общение через полноценный usb интерфейс.
Здравствуйте! Есть проблемка -программа не стартует под XP sp2 ,подскажите в чем проблема.Спасибо.
Программа не запустится без библиотеки ftd2xx.dll. Для тестов и ознакомления ее можно отколупать из архива драйверов (http://www.ftdichip.com/Drivers/CDM/CDM%202.04.16%20WHQL%20Certified.zip) и положить в папку с программой.
badnetrnd
09.09.2009, 00:23
Слушай а как твое ус-во считает расход топлива или оно не считает просто где то проскакивал вариант на длительности открытия форсунок но ведь в "безмозглых" авто нет форсунок 7
а как все это работает с ардуиной, кто нибудь пробовал?
vipalbum
22.09.2009, 08:50
Всем доброго времени суток
интересная разработка,сам давно хотел такую приборку
для автора темы если интересно готов стать подопытным,живу в вао новогиреево,авиамоторная
машина ниссан альмера 96 года инжектор,автомат,протокол диагностики консульт
сам к сожелению паять не умею,но готов буду купить готовое устройство для моего нисанчега
вобщем чем могу тем и хочу помочь проекту
а то больше года тут идут движухи по поводу приборок тфт но так и никуда не дойдут пока
duts33, для мозглика надо переписать программу, можт и будет работать. Все условия для приема данных на компьютере есть.
vipalbum, раз инжектор, то должен быть и какой-то из протоколов обмена - can, obd. Возможно, лучше сделать на этих устройствах? Всяко точнее и более элегантно.
vipalbum
22.09.2009, 12:11
да я не против сделать хоть что то,я в электронике не зуб ногой
протокол у меня обд первый или как его называют консалт до 97 года который был
как сказали обд2 это уже не моё
поэтому и незнаю где тыкаться все ветки уже облазил
может кто сделает что то уже для наших старых протоколов
автору-респект, но мне кажется, что проект приборки не должен базироваться на ПК, особенно с Windows. Да и "линухоидам" я бы его тоже не доверил.
Это не проект приборки, на данный момент присутствует только стилизация.
volchara
28.09.2009, 02:14
Здравствуйте! Впечатляет! У меня вопрос у меня mersedes 1990 г w 124 на него это можно поставить? Заранее спасибо!
Какие транзисторы использовать?
Например, наши КТ315. По большому счету некатегорично.
Urvin вот тут http://wiki.pic24.ru/doku.php/osa/articles/vga_game интересный материал по выводу изображения на монитор, может можно и без компьтера обойтись, два контроллера объединить как нибудь?
Обьясните безталковому....Что куда подключать, как зашить код в арудино, как связать это спрограммой??????
tukzar, с ссылкой прекрасно знаком, даже были мысли повторить все это дело. Потом их не стало.
Без копмьютера можно прекрасно обойтись, но я этой темой в рамках этого проекта заниматься не хочу)
vinik, физическое подключение датчиков к ардуино полностью совпадает с представленным вариантом. Прошивка под ардуино, представленная на стр.1 уже устарела.
Новую прошивку можно составить на основе исходных кодов программы для микропроцессора.
Опишите по-подробнее схему подключения arduino к этой проге. А то вот я туплю жестко....
Код для arduino выложил здесь (http://www.compcar.ru/forum/showthread.php?t=4604)
Просьба к Urvin сделать поярче и побольше дату с часами и напряжение борт сети
Обновил. Добавил в настройки (torpedo.ini):
[drawing]
led_color = Цвет надписей "экрана", формат AARRGGBB, шестнадцатеричная система
led_size = Размер шрифта данных и вольтметра
gear_size = Размер шрифта передачи
data_point = Точка рисования даты, фотмат @Point(x y)
voltage_point = Точка рисования вольтметра
gear_point = Точка рисования передачи
прикольно... почитал оч. интерессно...
Ali-baba
13.04.2010, 07:51
Urvin, не могли бы вы подправить вашу программу торпеда.
у меня дизель и нужно чтоб на панели было не больше 4000 об/мин, и 140 км/час максимум. я смог бы сам попробовать перерисрвать картинку: но это эффекта не даст, надо компилировать чем-то.
и второе нельзя ли задействовать еще один канал АЦП, чтоб вывести давление масла, хотя бы в цифре.
заранее спасибо
я готов купить готовую коробочку и программу адаптированную под не инжекторный Ваз.(21099) хорошо бы под 800х600 чтоб не мучаться.
Мне тема очень помогает с идеями,так как делаю тоже самое на Ардуино и GLCD по простой причине "быстрый запуск и независимость от компа" .По кускам уже всё готово,осталось соединить всё в один проект,единственный гвоздь в заднице это онлайн расход топлива
Ali-baba
21.05.2010, 14:28
я тоже сделал на пике pic16f877: без компьютера. выводит напряжение обоих аккумуляторов, давление масла (штатный датчик), температуру двигателя(ds1621), топливо в баке, сообщает о ручнике и поворотке (часто забываю). тахометр и немного всякого сервиса (прогрев свечек и управление моторчиком глушилки с турботаймером), а вот как сделать одометр, мыслей нет, может кто скажет какой алгоритм. сейчас хочу дописать управление краном печки и вывести индикатор скорости.
я тоже сделал на пике pic16f877: без компьютера. выводит напряжение обоих аккумуляторов, давление масла (штатный датчик), температуру двигателя(ds1621), топливо в баке, сообщает о ручнике и поворотке (часто забываю). тахометр и немного всякого сервиса (прогрев свечек и управление моторчиком глушилки с турботаймером), а вот как сделать одометр, мыслей нет, может кто скажет какой алгоритм. сейчас хочу дописать управление краном печки и вывести индикатор скорости.
может поделитесь наработками? было бы интересно почитать
Ali-baba
09.06.2010, 07:45
попробую начать, для начала опишу тахометр. идея: оставить стрелочный прибор. сделан на pic16f628, можно на 16f84. датчик - сделан из датчика холла от старого дисковода. измеряю не частоту а ширину импульса, так точнее на малых оборотах. при оборотах <500 показывает 0. выход, сам показометр (стрелка) управляется PWM. для калибровки: при включении в течение 20 сек подается шим-сигнал соответствующий 2000 об/сек. все написано на picbasic pro
к сожалению я не могу вставить картинку
balamytt
13.12.2010, 20:15
проект умер?
интересует готовое устройство. кто сможет сделать?
Я с паяльником на ВЫ(
У меня стоит на шестёрки бортовик собранный на пике, выводит всё на дисплей Принцип тот же самый.
А идея не плохая И заморочек меньше, тем более всё отлажено стоит только подумать как соглсовать с компом и цена, я брал рублей за 800
Roman_SL
19.01.2011, 18:53
Всем привет! Хотел бы задать такой вопрос - а сможет кто-нибудь из участников форума собрать мне приборку на жк-дисплее (вместо штатной приборки), запрограммировать, написать несколько скинов? Машина Дэу нексия. Старую приборку могу предоставить.
to Urvin а значок аккумулятора загорается при включенном зажигании и выключенном двигателе, и при отсутствии заряда от генератора? программа сама это определяет или надо с соответствующей лампочки сигнал брать, что то на схеме нету куда подключать этот сигнал?
В какой программе(языке) писалась программа для компьютера?
Код для arduino выложил здесь (http://www.compcar.ru/forum/showthread.php?t=4604)
Просьба к Urvin сделать поярче и побольше дату с часами и напряжение борт сети
Пожалуйста, вышлите мне коды к принадлежащий мне email redondo29@hotmail.com
Я новичок я хотел бы знать, если они закончили этот проект и посмотреть, как я
собрал данное устройство, спасибо автору! есть несколько вопросов. при подключении устройства к компу, приборка оживает, и через несколько сек начинает мигать всеми лампочками, двери все открываются и закрываются, потом успокаивается, затем через пару сек то же самое. и так раз 5-6 далее вообще отключает устройство, значок юсб становится красным, и ни на что не реагирует.
и второй вопрос, после смены серийного кода устройства, само устройство в диспетчере перестало отображаться как com порт, и отображается только в портах ЮСБ, соответственно поменять номер порта, скорость невозможно... что я сделал не так? да еще если подать на вход АКБ питание до 5 вольт то вольтметр работает. так же срабатывают от прикосновений пальцами все остальные лампочки и стрелочки. то бишь сама схема работает...но глючит
Тема получила развитие здесь (http://www.compcar.ru/forum/showthread.php?t=4604&page=46)
Работает на vBulletin® версия 3.8.4. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot