Интеграция Arduino в авто по полной)))

SHAleks
Offline
Зарегистрирован: 05.12.2012

Всем привет.

У меня уже давно зрела и на дня всетаки созрела эта идея. Вот решил создать проект чтобы просить у вас помоши)))

Пока коротко о проекте:

хочу взять http://www.mircom.ru/production/bortovaja-informatsionnaja-sistema-m500 (M500 U2/M/G/C4/SD) который работает на WinCE 6.0 и подключить к нему Arduino!

подклучать к ней буду почти всю машиту (Датчик давления (4колеса, 1масла, и тд), датчики температуры (двигателя, салона, за бортом, и тд), 2 датчика крена, клапона управления подвеской (8), управления печкой+кондером(климот контроль) и тд). входов и выходов надо куча и разных

задача чтобы Ардуино справлялась с анализам покозаний датчиков и управлением(втом числе и автономном и автоматическом) электроникай авто

ЗЫЗЫ в проект собираюсь вложить всю душу и силы так что если несложно отвечайти и критикуйте по теме и как можно развернутее плиз.

Зарание спасибо!

SHAleks
Offline
Зарегистрирован: 05.12.2012

Забыл сказать о себе. Я вообше веб-программист но раньше програмировал и на других языках (думаю особых проблем с этим небудет). А вот по поводу плат уже сложнее (пояльнок та не раз держал а вот с глубокими познаниями пока не айс). Но буду серовно делать сам так как все всегда делаю сам (по принципу раз живем надо все попробывать)))

И так первый вопрос к знатокам этих плат.

1) Какой контролер выбрать?

ЗЫ пока склоняюсь к http://arduino.ru/Hardware/ArduinoDue но рассматриваю еще и другие.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Если смотреть на М500, то Uno Вам не хватит точно, памяти мало, если только будете несколько блоков делать, тогда может быть, и то на предмет поиграться.

Если в тачке есть CAN шина или типа того, то это одно, если нет, то - другое.

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

Еще нужно смотреть, в каких местах нужен реалтайм и какое расстояние от датчиков/органов управления до исполнительных механизмов.

Я себе взял Leonardo, чтобы немного поиграться, на нем можно обкатать идеи и т.п. А если что то делать, буду докупать прочее. Смотрю в сторону 32 битных контроллером, но мне они не нужны, из пушки по воробьям получится. Пока всё, что хочу сделать, Leonardo справится легко. И реалтайма мне не нужно. ИК управление, управление нагрузкой до нескольких ампер, вот и всё пока, что мне нужно.

Удачи!

Да, про Due я Вам сказал, чтобы Вы не забывали, что там не 5 В и больше 3,3 В на входы подавать нельзя, во всяком случае так в доках пишут, да и я бы не рисковал, всё таки машина, а не велосипед. Я сам на Due тоже поглядываю, но пока только так, издалека :)

 

SHAleks
Offline
Зарегистрирован: 05.12.2012

Спасибо за ответ.

КАН есть но то что я хочу сделать сам этого в авто пока нет (климат контроль, годнокриленс, подкачку калес, блокировка мостов(автомотически)) + вывисти показания всех данных датчиков (половина будет браться с к-линии(я так пологаю это возможно) а половины там простотнет(давление шин, износ колодок, температура колодок(так как у меня колесики на 10см. больше чем надо уже 3 раза на этом чуть не влител), клиренс, крен и тд)) просто люблю знать по возможности максимум.

по поводу разбитее на несколько модумей я уже тоже задумался вот только потом несоздаст ли это проблему так как мне это надо будет подключить к м500 а на это у меня 1 юсб.

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

поэтому поевился еще один вопрос:

1) потянит ли Юно вышесказоное

2) как просчитать поизводительность(всмысли как сильно можно их нагружать)

ЗЫ с компами та я знаю по опыту а с микро я только начинаю. обидно будет если я возму например Леонардо прокину провода, припояю, пропишу и тд. а на практике он тупа будет висеть. предположим определение крена http://avrlab.com/node/122 и в зависемости от крена, скорости, тонгожа, вышины каждой подвески, нагрузки на каждое колесо по определенной логике изменить высоту подвески(причем эти данные меняются по сто раз за сек и это надо делать онлайн в отличии допустим от клиимота там можно данные обрабатывать раз в секунду). поэтому хочу взять сразу с запасом мошности.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

К сожалению дальше от меня толку будет мало, я новичок, моей ардуине меньше месяца :)

Датчики, объединение модулей в "сеть", это мне известно только в теории и по материалам в интернете, а их немало. Предполагаю, что здесь лучше всего I2C, вот только насколько он шустрый и насколько далеко можно разнести модули - не знаю. В любом случае - тянуть провода, никакого WiFi и т.п.

Очень понравилась книга "Adruino Cookbook" (англ.), много примеров и т.п. только она для Uno & Mega, для других МК приходится править примеры программ. Рекомендую.

Еще, вполне возможно, что Uno и не понадобится, возможно проще будет это всё спаять, поставив на одну плату сразу несколько контроллеров, например. Кроме того, есть еще и всякие Nano, Mini.

Вцелом напрашивается реалтайм модуль (или несколько) и один модуль для неспешного управления.

Кстати, в M500 два USB. Впрочем, возможно один Вы уже куда то подключите.

Надеюсь, если где то соврал, меня поправят.

 

usr-bin
Offline
Зарегистрирован: 04.09.2012

Нарисуйте примерную блок-схему вашего проекта. Примерно вот так:

блок-схема (пример)

После чего посчитайте, сколько датчиков вам надо, сколько нужно будет входов-выходов, сколько нужно будет использовать сдвиговых регистров и т.п. А потом посмотрите какие из готовых платформ разработки (ардуино разных вариантов) вам подойдет.

 

Рекомендую ознакомится с построением схем автоматизации различных процессов IDEF (пример). Помогает учесть все мелочи и потребности.

Стоит сказать что у ардуино по умолчанию нет прерываний, их вам придется организовывать для того что бы разные модули работали одновременно, а не последовательно. В связи с этим не вижу особой разницы, будет весь ваш проект вмещен в одну плату (МК) ардуино или в несколько.

Ввиду чего вижу 3 варианта (кроме этого еще нужно учесть потребности в памяти(ОЗУ) и флеш-памяти (ПЗУ) используемых МК):

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

2) купить несколько ардуин (или других сред прототипирования) для разных модулей (направлений измерения и обработки) по вашим запросам (см. схему, которую вы нарисуете)

3) Выбрать такую среду прототипирования, которая покроет по возможностям все ваши задумки.

kylibin666
Offline
Зарегистрирован: 10.03.2013

Надеюсь тема еще жива, есть мысли по интеграции

paulsk
Offline
Зарегистрирован: 16.10.2013

Привет всем.

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

Встает вопрос какие модули брать:

1. Seeeduino Ethernet V1.0 (http://devicter.ru/goods/Seeeduino-Ethernet-ATmega-328)

2. GROVE - Mega Shield V1.0, который нам позволит подключить кучу датчиков(http://devicter.ru/goods/modul-stem-mega-shield)

3. GROVE - Модуль Реле (10А) для управления нагрузкой (http://devicter.ru/goods/modul-rele)

Различные датчики и расширения можно найти на сайте http://devicter.ru

В интеренет полно кода для реботы с Ethernet на Arduino. Если есть какие-то дополнения можно обговорить.

 

dmw
Offline
Зарегистрирован: 24.03.2013

А для объединения всех узлов вашей сети вы хабы по всей машине натыкаете чтоли? Идея использовать ethernet это только удорожание и утяжеление проекта. Я бы на вашем месте подумал на RS485 все сделать.

paulsk
Offline
Зарегистрирован: 16.10.2013

В моем случае будет один хаб, который я планирую расположить в районе панели приборов(авто Audi 80)

       Первый Ethernet модуль будет в районе багажника. Он будет отвечать за задние световые сигналы, состояние открытия и свет в багажнике. Возможно в будущем захочется сделать автоматическое открывание-закрывание багажника или еще какие нибудь прибамбасы. Для этих целей останутся резервные входа/выхода.

      Второй модуль будет в районе капота. Он будет отвечать за передние световые сигналы, свет в капоте, принимать сигнал от датчиков температуры охлаждающей жидкости, включать вентилятор радиатора и т. д. В каждом модуле имеем 14 входов/выходов и 6 аналоговых входов/выходов.

     Третий модуль бадет отвечать за сигналы панели приборов: ближний/дальний, поворотники, габаиты, аварийка, печка, дворники и т. д. и т. п.

     Для бортового компьютера можно выбрать гаджет под Android или Windows 8, который поддерживает Ethernet. Например http://devicter.ru/goods/Devicter-S-Board-Cortex-A8-2 хоть уже и устаревший вариант, но для авто попрет, единственное что отпугивает ни разу не програмировал для Ethernet под Android. 

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

com
Offline
Зарегистрирован: 06.09.2013

а штатной проводки вообще нет, что ли? сейчас за свет ближний/дальний/габариты/аварийку никто не отвечает?

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

paulsk
Offline
Зарегистрирован: 16.10.2013

Естественно все сигналы от панели приборов всякие кнопки и переключатели будут приходить на третий Ethernet модуль, который в зависимости от предназначения будет посылать сигналы на остальные, а те и будут реагировать соответствующим образом. Все модули взаимодействуют между собой  в соответствии с логикой которую на них возложили.

com
Offline
Зарегистрирован: 06.09.2013

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

paulsk
Offline
Зарегистрирован: 16.10.2013

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

Я занимаюсь разработкой систем управления для промышленного оборудования и сейчас заложилась такая тенденция, что разработчики уходят от применения кипы проводов, которые тянутся в один блок управления, допустим в контроллер, в пользу цифровых модулей. Благодаря этому в контроллер приходит всего только один цифровой кабель, в зависимости от того, какой протокол используется(EtherCAT, Sercos, Ethernet/IP или другой). Такими модулями могут быть цифровые развет-коробки, модули цифровых входов/выходов, сервопривода, модули энкодеров и т. д. Поскольку это все проще при монтаже, пусконаладке и диагностике.

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

axill
Offline
Зарегистрирован: 05.09.2011

paulsk пишет:

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

я надеюсь вы не собираетесь перекладывать проводку в своем авто?) просто она уже (кипа проводов) там уже есть, и смысл что-то городить?

вот если бы вы конструировали свой автомобиль, что называется с нуля, тогда да - разумно

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

paulsk
Offline
Зарегистрирован: 16.10.2013

Действительно, я собираюсь переделывать проводку в авто и хочу внести и добавить туда что-то свое. Автомобиль у меня Audi 80 B3, поэтому и не жалко с ним немного поэксперементировать. Кому интересно вот ссылка на фото http://www.drive2.ru/cars/audi/80/80_b3/paulsk/journal/1977035/

axill
Offline
Зарегистрирован: 05.09.2011

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

paulsk
Offline
Зарегистрирован: 16.10.2013

Честно вам признаюсь у меня был опыт применения Arduino в промышленном станке. Мы на нем делали устройство цифровой индикации(УЦИ) положения осей станка(Металлобработка). УЦИ из 18 сегментов по 9 на каждую ось. Данные оно получало по Ethernet (использовался Arduino Ethernet купленный на этом сайте), а передавало по SPI интерфейсу. Станок уже как год работает и никто не жалуется. Далее планируем подключить к нему Board Shield для приема/передачи сигналов с ручного пульта управления в контроллер движения, который находится в электрошкафу, тем самым уберем кипу не нужных проводов тысяч так на десять нашими рублями.

axill
Offline
Зарегистрирован: 05.09.2011

со станком вы рискуете или не рискуете своим здоровтем и своими удобствами, а вот на дороге ситуация другая

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

paulsk
Offline
Зарегистрирован: 16.10.2013

Хорошо из-за сомнений в надежности свет можно оставить отдельно, а на счет маршрутов, то весь Краснодарский край.

renoshnik
Offline
Зарегистрирован: 11.04.2013
axill
Offline
Зарегистрирован: 05.09.2011

renoshnik пишет:

http://habrahabr.ru/post/150667/

газели приделали джостик, чтобы крутить руль не сидя в кабине, а бегая за ней по улице? потрясающее достижение!) а главное очень полезное применение ардуины!

paulsk
Offline
Зарегистрирован: 16.10.2013

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

Я вот, что думаю, все современные автостроители (ну может ни все) для взаимодействия различных органов авто используют цифровую шину CAN, разработанную компанией BOSH еще в конце 80х годов. Надо изучить этот момент, типа какие контроллеры нужны, как программировать и т. д.. Может существуют какие-нибудь другие цифровые технологии в автостроении и как это все по дешевле сделать. 

axill прав для управления важными узлами авто arduino не пойдет тут нужно что-то прмышленное, но в то же вемя не дорогое. На ардуино можно сделать, допустим, управление стеклоподъемниками, багажником, там я не знаю, светом в салоне. Промышленный ethernet наверное дороговато будет. У кого какие мысли на это счет?

axill
Offline
Зарегистрирован: 05.09.2011

сегодня как раз читал даташиты на трансиверы шины CAN. У меня не возникло ощущения, что это технология прошлого, наоборот видно, что очень хорошо проработан вопрос надежности, это вам не onewire и не rs232, CAN намного надежней особенно в условиях большого количества помех и необходимости высокой надежности.

Конечно скорости передачи - десятки килобит (ну то что я читал сегодня, может есть лучше) - виде не потранслируешь)) Может только это говорит о "древности"

paulsk
Offline
Зарегистрирован: 16.10.2013

Вы ошибаетесь скорость доходит до 1 мегабита. Их существует три класса надежности. 1 клас регламентироется до 500 кбит, он как раз предназначен для двигателей, ABS, коробок передач, для наиболее важных узлов авто. Остальные похуже. Сейчас как раз начинаю изучать этот материал, ну и все сопутствующие вопросы, которые с ним связаны. Все равно в жизни когда нибудь да пригодится.Еще CAN применяется в некоторых системах ЧПУ для общения с переферией PLC.

melvladimir
Offline
Зарегистрирован: 08.03.2013

Для начала нужно составить список того, что хочется реализовать. Потом постепенно накручивать или вычеркивать.

Вопрос для размышления: что будет, если перебить 2-3 провода в кабеле? Да и провода там - 0,15-0,22 квадрата...

Теперь усугублю :) Для питания задних фонарей надо, например, 10А ток. Протянули кабель, поставили электронные приблуды, но вопрос питания это не решило, т.е. надо протянуть еще 2 провода ("+" и "-", протяжка только плюса увеличит кол-во помех) на всю эту мощность. Смысл увеличивать кол-во проводов в переводе на сечение, если можно протянуть необходимый минимум (вернее он уже протянут)?

com
Offline
Зарегистрирован: 06.09.2013

paulsk пишет:

На ардуино можно сделать, допустим, управление стеклоподъемниками, багажником, там я не знаю, светом в салоне.

во-во, хорошая идея. начните со стеклоподъемников. это относительно безопасно :)

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

kylibin666
Offline
Зарегистрирован: 10.03.2013

Доброго времени суток, есть мысли по центральной консоли ваз 2115, а именно, хочу внедрить навигатор с семи дюймовым экраном и AV входом, камеру заднего вида уже поставил, для того что бы освободить место, было решено убрать органы управления печкой и поставить 3 серводвигателя с 6 кнопками, переключатель оборотов тоже заменить на поменьше в размерах, соответственно верхний ряд кнопок( фары, габариты и тюдю) сместятся вниз, проблема в написании скетча, может кто поможет, материал-arduino uno? мотор MG995, понимаю что разобраться не успею, хотелось бы до зимы закончить, заранее спасибо!!!

melvladimir
Offline
Зарегистрирован: 08.03.2013

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

Теперь конкретно по этой идее. А нельзя текущую систему управления просто перенести без нагромождения сервоприводов и др.?
Или можно в другое место поставить 7" экран (например, вместо центрального обдува, а его вывести в другое место).

ЗЫ: есть здесь раздел "платной помощи" - прикиньте сколько Вы готовы заплатить за разработку кода (сразу скажу - услуги программиста стоят дороже всего) и создайте там тему. Бесплатно - только Вы сами сделаете и только.

kylibin666
Offline
Зарегистрирован: 10.03.2013

melvladimir по поводу переноса центрального обдува, перенести его невозможно, проще исключить вообще, есть скетч на управление одним мотором одним патенциометром, думаю что смогу сам переписать его на 3 комплекта, но, всётаки хочу с кнопками, будет красивше, по поводу платной помощи програмистов, я как бы не жадный, но просьба моя заключается в помощи в написании, я никого не заставляю писать его полностью за спасибо! каждый труд должен быть оплачен, да же бесплатный, вобщем то если кому не трудно жду ответов по существу, а пока буду сам ковырятся, заранее спасибо!

kylibin666
Offline
Зарегистрирован: 10.03.2013
#include <Servo.h> 
 
Servo myservo1;  // create servo object to control a servo 
Servo myservo2;  // create servo object to control a servo
Servo myservo3;  // create servo object to control a servo
 
int potpin1 = 0;  // analog pin used to connect the potentiometer
int val1;    // variable to read the value from the analog pin 
int potpin2 = 1;  // analog pin used to connect the potentiometer
int val2;    // variable to read the value from the analog pin
int potpin3 = 2;  // analog pin used to connect the potentiometer
int val3;    // variable to read the value from the analog pin
 
void setup() 
{ 
  myservo1.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo2.attach(8);  // attaches the servo on pin 8 to the servo object
  myservo3.attach(7);  // attaches the servo on pin 7 to the servo object 
} 
 
void loop() 
{ 
  val1 = analogRead(potpin1);            // reads the value of the potentiometer (value between 0 and 1023) 
  val1 = map(val1, 0, 1523, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
  myservo1.write(val1);                  // sets the servo position according to the scaled value 
  delay(1);                           // waits for the servo to get there 
  val2 = analogRead(potpin2);            // reads the value of the potentiometer (value between 0 and 1023) 
  val2 = map(val2, 0, 1523, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
  myservo2.write(val2);                  // sets the servo position according to the scaled value 
  delay(1);                           // waits for the servo to get there
  val3 = analogRead(potpin3);            // reads the value of the potentiometer (value between 0 and 1023) 
  val3 = map(val3, 0, 1523, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
  myservo3.write(val3);                  // sets the servo position according to the scaled value 
  delay(1);                           // waits for the servo to get there
} 

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

Олег_Б
Offline
Зарегистрирован: 05.06.2014

Попали в аварию, противоположная счторна утверждает, что не видела сигналов, стоп, поворот или ещё чего. Проводят экспертизу, а световая аппаратура на машинге... не сертифицированна заводом!

Приплыли. 

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

stels
Offline
Зарегистрирован: 03.01.2014

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

Lemur
Offline
Зарегистрирован: 11.01.2016

всякие световые сигналы не являются причиной освобождающей от требования держать дистанцию

DenVik
Offline
Зарегистрирован: 03.03.2016

Гм. Все же интересно, чем закончилось столь бурное начало проекта. Так много всего хотелось, а что же получилось?

Alex_l79
Alex_l79 аватар
Offline
Зарегистрирован: 04.06.2019

Всем здравия! Только начинаю знакомиться с ардуиной, есть вопрос: имеется монитор от ноута (без никто, только панель, шина и блок розжига ламп), как на него можно вывести картинку? Планирую его на панель приборов.

b707
Онлайн
Зарегистрирован: 26.05.2017

Alex_l79 пишет:

Всем здравия! Только начинаю знакомиться с ардуиной, есть вопрос: имеется монитор от ноута (без никто, только панель, шина и блок розжига ламп), как на него можно вывести картинку? Планирую его на панель приборов.

с ардуины - никак, разве что добавить к монитору ноут

Alex_l79
Alex_l79 аватар
Offline
Зарегистрирован: 04.06.2019

Странно, вроде видел посты, как цеплять мониторы через HDMI модуль... Там что, какие-то особенные мониторы? Ну ладно модуль, его купить можно, а сами то панели я думал универсальные все. Или я не прав?

b707
Онлайн
Зарегистрирован: 26.05.2017

Alex_l79 пишет:

Странно, вроде видел посты, как цеплять мониторы через HDMI модуль... Там что, какие-то особенные мониторы? Ну ладно модуль, его купить можно, а сами то панели я думал универсальные все. Или я не прав?

начните с того, что определитесь, что за контроллер у вас будет "мозгом" системы. Практически ни одна ардуина HDMI не потянет по ресурсам. Ваша задачка - для одноплатного компьютера типа Расбери или Оранж, но их обсуждают в другом месте.

Alex_l79
Alex_l79 аватар
Offline
Зарегистрирован: 04.06.2019

Возможно я и правда перепутал его с малиной)))