PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Общение с машиной (http://pccar.ru/forumdisplay.php?f=14)
-   -   Универсальный "OBD" для безмозглых автомобилей (http://pccar.ru/showthread.php?t=9586)

Urvin 27.08.2009 23:52

Универсальный "OBD" для безмозглых автомобилей
 
http://funkyimg.com/u2/432/873/torpedo_modest.png

Disclaimer:
  • Это сугубо универсальная связка устройство-программа, позволяющая завести данные о состоянии автомобиля в компьютер;
  • Устройство и программа созданы для первоначального старта пользователей в деле ввода данных в компьютер, а также с целью получения и обмена опытом и мыслями, всеобщего благоденствия и радио "Радонеж";
  • Автор не несет ответственности за сожженные компьютеры, микропроцессоры и автомобили в результате действий исполнителя;
  • Автор будет крайне огорчен и раздосадован в результате использования идентифицирующих эту работу частей в сторонних проектах, а особенно под названиями "Смотрите, какую приборку вчера забабахал" и т.п.
1. Электроника и электротехника

1.1 Ядро
Ключевая часть устройства заключается в одном-единственном микроконтроллере pic16F877a, к которому в свою очередь подключаются различные датчики, кнопки и прочие аналоговые и цифровые устройства. Распиновка микропроцессора с точки зрения созданной программы указана на схеме. Синим выделены используемые аналоговые входы (на них замеряется напряжение относительно земли, но не более 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:

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]
pos=@Point(50 50)    - положение программы при старте
frame=true          - наличие системной рамки окна и заголовка
alwaysontop=true    - расположение ппрограммы поверх остальных

[usb]
useusb=true          - использование в режиме usb (при значении false импользуется com-порт)
serial=FTSDH1IL      - серийный код устройства, полученный при прошивке (см далее)

[com]
name=Com5            - имя com-порта

Серийный код устройства возвращается программой MProg после его прошивки. Неоходимо заполнить все поля данных в соответствии с картинкой (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/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.

DDenis 28.08.2009 00:15

шикарная штука.
Сорри за глупый вопрос, а на машинах с автоматом также датчик скорости устроен?

Urvin 28.08.2009 00:40

Думаю, также

serg_wolf 28.08.2009 09:14

Urvin - ты крут!

Входы пика через диоды мож?....

St@rz 28.08.2009 13:51

Сильно. :yes4:
А почему не стал делать для готового устройства. Очень удобно бы получилось. Тем более что оно недорогое и доступное. Проще купить его чем спаять и прошить самодельное.
Планировал сделать такое как отмечать закончу. :)

Tores 28.08.2009 14:24

Респект автору, завтра будем испытывать :)

St@rz 28.08.2009 14:38

Urvin, может поправишь программу для arduino Nano?
У тебя это гораздо быстрее выйдет. :yes4:

Urvin 28.08.2009 14:43

serg_wolf, Дополнительных диодов не надо - будут только мешать работе МК

St@rz, у меня критическое отторжение Arduino как дорогой игрушки. Да и получается, что это очень сложная система для простых задач - как никто не покубает бухгалтерам четырехядерных писюков. В добавок цена Arduino - 700 рублей, эта же схема со всей обвязкой уместится в 450. При подключении к COM - еще на 150 рублей дешевле.
Другое дело, что в Arduino уже правильно сидят сложнораспаиваемые элементы и не требуется программатор.
Выбор уже зависит от кривизны рук и любознательности исполнителя.
Мой выбор - за микроконтроллерами - всяко железнее и полезнее.

Про правку программы - я по программированию ардуины ничего досконально не читал, потому уйдет некоторое время.
Вообще попробую.

Tores, ждем отчета. Если нароешь инфу по датчику скорости в твоей машине и заснимешь сигнал на осциллограф, можно будет и считалку импульсов сделать.



ёперный театр! Забыл схему шифратора КПП
UPD: добавил

Urvin 28.08.2009 17:53

Что у меня выходит для 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 следующая:
Код:

// Массив значений по портам
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 значения.

St@rz 28.08.2009 20:48

Цитата:

Сообщение от Urvin (Сообщение 108927)
Уж насколько ненавижу "теоретическое" программирование... Устройства у меня нет, потому исхожу из предположений и документации.

Urvin, если тебе интересно, то могу подарить тебе одну штуку arduino. Предполагаю что наличие у тебя этого устройства будет полезно для всех. :bye:

admin 28.08.2009 21:30

Цитата:

Сообщение от Urvin (Сообщение 108927)
Что у меня выходит для 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
Спидометр и тахометр для того чтобы считать расход бензина нужно подключить от датчика к цифровому порту , а вместо тахометра подключится к форсунке, и изменением коффициента впрыска каждый сможет откалибровать расход под свой автомобиль.

Urvin 28.08.2009 21:39

St@rz, г. Пермь =) Не привык напрашиваться на подарки. Посмотрим, что получится и стоит ли это все дело переносить на arduino.

admin На входы А6 и А7 не смотрел, т.к. в представленной программе нет ни приема их значений, ни и отображений.
Подключение спидометра и тахометра к цифре - это уже следующий шаг. Для реализации необходимо будет потанцевать вокруг машины с осциллографом, а у меня пока такого шанса не выпадает.

St@rz 28.08.2009 22:15

Цитата:

Сообщение от Urvin (Сообщение 108935)
необходимо будет потанцевать вокруг машины с осциллографом

А тут еще и осциллограф на arduino есть.

badnetrnd 29.08.2009 01:02

Я правильно понял что ты всё это под десятку делаешь ?

Urvin 29.08.2009 01:11

badnetrnd, Тестовый персонаж - мой 2111, а так подходит для любой машины.

badnetrnd 29.08.2009 01:18

А почему решил к-л линию не использовать (для универсальности что ли ?)А на коробку отдельные концевики ставить будешь ?

Chip 29.08.2009 01:25

Цитата:

Сообщение от Urvin (Сообщение 108935)
Подключение спидометра и тахометра к цифре - это уже следующий шаг. Для реализации необходимо будет потанцевать вокруг машины с осциллографом, а у меня пока такого шанса не выпадает.

спидометр реализован просто, у него на выходе датчика хола уже TTL уровни или 12в импульсы, на десятке на один оборот колеса примерно 6 импульсов с датчика(можно будет в настройках сделать параметр для калибровки.) также можно добавить поправку на разный радиус колес
Колличество впрыснутоно топлива зависит от длительности импульса на форсунке . Грубо говоря ШИМ . Измеряем длительность умножаем на коффициен умножаем на 2 (для 4-х цилиндрового движка) умножаем на число импульсов и считаем пройденое растояние.

badnetrnd 29.08.2009 01:53

у меня почему то архив с прошивкой и программой не качаеться ?

Urvin 29.08.2009 02:54

Цитата:

Сообщение от Chip (Сообщение 108948)
спидометр реализован просто, у него на выходе датчика хола уже TTL уровни или 12в импульсы, на десятке на один оборот колеса примерно 6 импульсов с датчика(можно будет в настройках сделать параметр для калибровки.) также можно добавить поправку на разный радиус колес
Колличество впрыснутоно топлива зависит от длительности импульса на форсунке . Грубо говоря ШИМ . Измеряем длительность умножаем на коффициен умножаем на 2 (для 4-х цилиндрового движка) умножаем на число импульсов и считаем пройденое растояние.

Танцы с осциллографом удобны тем, что можно увидеть то, что пытаешься обработать. Из теории, конечно, все понятно)
Скоро переведу систему на расчет импульсов
За форсунку спасибо - теории пора по этому делу не находил.


Цитата:

Сообщение от badnetrnd (Сообщение 108947)
А почему решил к-л линию не использовать (для универсальности что ли ?)А на коробку отдельные концевики ставить будешь ?

У меня в машине компьютера вообще нет и не предвидется. Мне просто интересно осуществить задумку в таком формате.
Архив висит на народе. На кпп да, концевики.
Если виноват не сервер, перезалью.


All! Обещаю новую прошивку для измерения импульсов от спидометра и тахометра - данные будут точнее. Дополнительно рассматриваю перевод программы на несколько иное сообщение через USB - без эмулятора com. Электроника остается той же.

badnetrnd 29.08.2009 11:35

вещь получаеться хорошая особенно радует внешний вид программы ! Тем более если прикупить еее в медиа маркт самая простая ща стоит 5000 то можно спокойно менять стандартную приборку и если еще добавить обд адаптер для инжекторных машин то получиться приборка с полной диагностикой машины примерно за 6000-7000 ! мне кажеться тебе надо всё доделать и заняться коммерчиским производством ! кстати у нас на авторынках продаються приборки на светодиодах +бортовой компьютер в ней же за 7000 !
у меня почему то до сих пор прога не качаеться :sad2:

Urvin 29.08.2009 15:23

badnetrnd, в таком варианте что протино - что экран будет занимать некоторое свое квадратное место и все. Вокруг - пустое место или одинокие датчики как в семействе S-Optitron'ов на этом форуме. Идеальным был бы экранчик в половину ноутбучного.
В светодиодных приборках наценка, конечно большая, она складывается из стоимости расотрошенной (3000) + сиды (если покупать не в спецфирме, то дорого).
Да и такую приборку купят от силы человек 10

Лови зеркало: http://ifolder.ru/13757654

Chip 29.08.2009 23:36

Цитата:

1.2.5 Шифратор КПП
Исходя из мнения, что в каждый момент времени может быть включена только одна передача или трансмиссия в положении нейтрали, для кодирования этой информации логично воспользоваться шифратором. Он позволит при той же функциональности задействовать меньшее количество ножек микропроцессора.
Я бы воспользовался аналоговым входом и резестивным делителем. Принцип тех же рулевых резестивных кнопок

badnetrnd 30.08.2009 10:52

Ну можно конечно использовать две 7 матрицы как в еее стоят получиться прямоугольник чуть больше чем сама панель (но будет совсе не бюджетно:sad2:) конечно можно попробовать отколоть пол 15 матрицы (с отколотым углом примерно см 5 работала ) но это мне кажеться извращение да и тем более пол матрицы наверно не будет работать :no2:
И ещё мне кажеться что в качестве датчиков для коробки можно герконы использовать
магнит на сам рычаг и герконы вокруг него
Кстати а почему ты пока себе комп не ставиш ?

Urvin 30.08.2009 13:25

Цитата:

Сообщение от Chip (Сообщение 108992)
Я бы воспользовался аналоговым входом и резестивным делителем. Принцип тех же рулевых резистивных кнопок

Как один из датчиков положений рукоятки я хотел задействовать существующий концевик заднего хода.
Впрочем, для перспективной поддержки carduino, лучше перевести на резистив.

badnetrnd, вот и получается что пока не будут делать отрезаемые экраны ("Продавец, вырежьте мне, пожалйучта 22' монитор") или дешевые разноразмерные и пока компы грузятся более одной секунды, идея несколько несостоятельна. На ARM и ко мне слабо.
Не хочу возиться с нелюбимым десятилетним караван-сараем.

Идея с герконами исключительно правильная, будет меньше "дребезга" при самовольном движении ручки. Помню, я делал нечто на герконах, а они у меня по два раза срабатывали) Ну или я настолько безрук)

badnetrnd 30.08.2009 17:11

Это точно:пока не будут делать отрезаемые экраны ("Продавец, вырежьте мне, пожалйучта 22' монитор") :rofl::rofl::rofl:Главное сделать аппаратную и программную часть а с мониторами пускай каждый сам решает . А ARM действительно зло вот один пытался комп из роутера замутить (http://www.pccar.ru/showthread.php?t=9516) ! А вообще мне по большому счёту она подойдёт осталось только деньги на еее найти ! А сбоку можно второй дисплей к основному компу подрубить для леокара

-=PAN=- 31.08.2009 02:20

А можно-ли подобную прогу сделать под 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 так и под симбиан.

Вот такая идея.

Urvin 31.08.2009 20:35

[QUOTE=-=PAN=-;109052]А можно-ли подобную прогу сделать под WinCE/Windows mobile[QUOTE]
Можно, делайте (=
Если серьезно, то я пока связываться с WinMobile не хочу, да и все мои разработки под мобильные устройства закончились на крестиках-ноликах под аппарат Siemens C60.
Ссылка на 4пда нерабочая, но я экстрасенсорно догадался о чем там речь.
Далее попунктно:
1. Устройства под WinMobile, имеющие на своем борту usb-вход всецело поддерживают подключение к себе устройств на микросхеме ft232rl, о чем напрямую указано на сайте производителя.
Что с преобразователями интерфейсов uart-bluetooth я не знаю, но наверняка такие существуют, мир-то как-то вертится Тему не исследовал, потому ничего не знаю.
2. Bluetooth-камеры существуют, значит как-то можно. Далее проблемы софта.
3. Нет пока еще в широкой продаже экранов по размерам приборок - т.е. широкие и невысокие. Понятно, что можно заказать у китайцев с соответствующим бюджетом.
Вторая проблема - время от включения питания приборки до полной ее загрузки и энергопотребление. На WM можно делать как на телефонах - отключение экрана и остановка программы. Но тогда возникает вопрос о здоровье аккумулятора и о его объеме. Ведь если по прошествии выходных на даче приборка будет грузиться секунд 15, пользователя это мало обрадует. Самое идеальное решение - это использование мощнецкого микроконтроллера и без дополнительных операционных систем.

Urvin 31.08.2009 20:40

Обновлены прошивка и приложение для ПК:
- измерение скорости и оборотов вала ведется через импульсы соответствующи датчиков. Измерение скорости ведется до 255 км/ч;
- для кодирования положения ручки КПП выбрана резистивная схема;
- в приложение добавлен одометр. До включения приложения можно проехать 25,5 км;
- в приложение добавлены дополнительные настройки для калибровки индикаторов.

-=PAN=- 02.09.2009 11:26

Цитата:

Сообщение от Urvin (Сообщение 109130)
Далее попунктно:
1. Устройства под WinMobile, имеющие на своем борту usb-вход всецело поддерживают подключение к себе устройств на микросхеме ft232rl, о чем напрямую указано на сайте производителя.

Что с преобразователями интерфейсов uart-bluetooth я не знаю, но наверняка такие существуют, мир-то как-то вертится Тему не исследовал, потому ничего не знаю.

ну если можно к WinMobile подключать usb устройства - то и с блутузом получается можно не городить огород

Цитата:

Сообщение от Urvin (Сообщение 109130)
2. Bluetooth-камеры существуют, значит как-то можно. Далее проблемы софта.

опять как и в предыдущем случае, достаточно поставить usb хаб, а к нему натыкать камер, как заднюю так и переднюю

Цитата:

Сообщение от Urvin (Сообщение 109130)
3. Нет пока еще в широкой продаже экранов по размерам приборок - т.е. широкие и невысокие. Понятно, что можно заказать у китайцев с соответствующим бюджетом.

а зачем именно широкую на всю панель, достаточно размерами со спидометр в центре, сделать многофункциональный спидометр в центре, по внешнему радиусу сделать тахометр, получится компромис.

хотя даже само по себе подобное устройство уже будет интересно, спидометр да и "маршрутный компьютер" как правило уже реализованы в программах GPS навигации, А вот сбор данных с бортовой системы - открывает гораздо больше возможнотей для реализации интересных идей...

Цитата:

Сообщение от Urvin (Сообщение 109130)
Вторая проблема - время от включения питания приборки до полной ее загрузки и энергопотребление. На WM можно делать как на телефонах - отключение экрана и остановка программы.
Но тогда возникает вопрос о здоровье аккумулятора и о его объеме. Ведь если по прошествии выходных на даче приборка будет грузиться секунд 15, пользователя это мало обрадует. Самое идеальное решение - это использование мощнецкого микроконтроллера и без дополнительных операционных систем.

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

Urvin 02.09.2009 14:40

-=PAN=-, вот только получится довольно бесполезная тонна колхоза)
И я не очень хорошо отношусь к экранчикам в половинку панели - грустно это.
Проект открытый до мозга костей, если хочется, то можно позаморачиваться.
Я перспектив на мобильных платформах не вижу.

badnetrnd 02.09.2009 15:00

блин до сих пор из головы не выходит мысль отрезать пол экрана сам уверен на 99.999 что в итоге я получю не рабочую матрицу:angry:

duts33 02.09.2009 15:06

а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..

badnetrnd 02.09.2009 15:10

Цитата:

Сообщение от duts33 (Сообщение 109334)
а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..

если будет сенсорный экран (если его вставлять в приборку то наверно будет не очень удобно ) то можно будет. только если модифицировать программу

Urvin 02.09.2009 15:16

Цитата:

Сообщение от duts33 (Сообщение 109334)
а можно сделать чтобы скажем по клику на спидометре он становится больше, остальные приборы уходят как бы на второй план..и так для всех приборов. чтобы можно было какой то один скажем увеличить..

Можно, увеличивайте :tease: исходники в комплекте
Я пока совершенствую передачу данных, с анимацией разбираться не хочу

-=PAN=- 02.09.2009 15:41

Цитата:

Сообщение от Urvin (Сообщение 109327)
-=PAN=-, вот только получится довольно бесполезная тонна колхоза)
И я не очень хорошо отношусь к экранчикам в половинку панели - грустно это.
Проект открытый до мозга костей, если хочется, то можно позаморачиваться.
Я перспектив на мобильных платформах не вижу.

Понятно что полноценный PC функциональнее мобильной системы, но если исходить из рациональности.... если нужно всего лишь отображать скорость, расход, декодировать коды ошибок - с этими задачами справляются и более простые устройства типа Multitronics VG1031GPL (как я уже писал раньше), а WM - нужен только для более удобного наглядного отображения этой информации. В случае с WM это достигается с гораздо меньшими (в разы) затратами. (Ясно что тем у кого уже имеется системник в машине эта идея неинтересна).

Небольшой опыт с написании простеньгих прог есть, думаю можно было бы разобраться, а вот в сопряжении этого всего хозяйства с железом сложнее, потому и написал сюда, наверняка найдутся люди с большим опытом чем у меня, если кому-то понравится такая идея.

ЗЫ: я не пытаюсь вас переубедить или навязать свою точку зрения, просто аргументирую свою :)

Urvin 02.09.2009 16:49

Обновлены схема, программа и прошивка.
- значение одометра при отключении питания сохраняется в памяти микроконтроллера;
- реализовано общение через полноценный usb интерфейс.

Gura 03.09.2009 23:25

Трабл...
 
Здравствуйте! Есть проблемка -программа не стартует под XP sp2 ,подскажите в чем проблема.Спасибо.

Urvin 03.09.2009 23:37

Программа не запустится без библиотеки ftd2xx.dll. Для тестов и ознакомления ее можно отколупать из архива драйверов и положить в папку с программой.

Gura 03.09.2009 23:41

Спасибо!

badnetrnd 09.09.2009 00:23

Слушай а как твое ус-во считает расход топлива или оно не считает просто где то проскакивал вариант на длительности открытия форсунок но ведь в "безмозглых" авто нет форсунок 7


Часовой пояс GMT +4, время: 04:38.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot