|
Ардуино и авто
Вложений: 1
В общем, начну. Для кого-то не новость, для кого-то страшная электрика с элементами программирования.
Заказал с Алиэкспресс ардуино уно (стоимость варьируется от 150 до 350 р.), для привлечения старшего сына, 9 лет, оторвать от тупых игр на компьютере, планшете, телефоне... Познаю в итоге и учусь сам... Идея "видеть" параметры датчиков, особенно ШПЛ ЛЦ-1 онлайн (еще не установлен на авто, давно лежит на полке), а возможно просто побаловаться и забыть. Подробности пользования и программирования ардуины расписывать не буду... и не смогу, сам не силен, Гугл/Яндекс и пр. помогут. Изначально соединил ардуину и 16х2 (16 символов, 2 строки) LCD мониторчик, загорелся...Радость! Элементарную программу (скетч) зашил - показал БУКАФКИ, опять радость... Далее читая, изучая возможности, слепил из готовых скетчей свой, разумеется подправив его под свои нужды, даже скорее они служили образцом и шаблоном, он смог показать напряжение до 5 В на экране, а если с Аккумулятора снимать показания через делитель (три последовательно соединенных резистора) у меня это было 22кОм-22кОм-22кОм, т.е треть и в формулу добавить множитель 3, то получаем корректные показания Бортсети (испытано дома, сверено с китайским мультиметром и старым советским тестером в простонародье Цэшка). Далее подправив скетч, добавил второй аналоговый вход, на который подано напряжение с LC-1, коричневый провод, который по умолчанию запрограммирован выдавать от 0 до 5 Вольт, означающие диапазон 0v--7.35 AFR 5v--22,39 AFR (из описания инновейта). Добавив соответствующую формулу, получил какие-то показания на экранчике, близкие к реальным, но из-за перегрева лямбды,(вылетела в 8 ошибку) опыты пока прекратил...Наблюдать в Logworks 3.0 показания и на экранчике ардуины, одновременно, при этом пуская газ из зажигалки в датчик, который показывает в основном "крайности", или очень бедно или очень богато...как-то сложно!!! Да и чую можно ее подружить с ардуиной по цифровому входу...как-то давно Виктор (RotorB) упоминал про это... На фото снизу, программа на три секунды показывает надпись, потом показания (во второй строке) вольтметр и шпл,с двух аналоговых входов... Напряжение показывает с питания ардуины...почти 5 V, умножает на 3... Вместо ШПЛ подключено 3.3 V питание ардуины... Показания округлил до "десятых" (было до "сотых") https://uploads.tapatalk-cdn.com/201...d364c98a34.jpg https://uploads.tapatalk-cdn.com/201...7c2f9300d0.jpg https://uploads.tapatalk-cdn.com/201...462e0c7f64.jpg Ниже скетч (программа), пока сырой, в плане АФР, но идея, думаю, понятна... Развиваем идеи, мысли предложения... |
А LC-1 по цифре не умеет данные отдавать?
У LC-2 есть RS-232 с которого можно сразу обработанные данные брать. Сам такую херню задумал. Только на базе Меги с графическим LCD. Вот таким вот. http://ru.aliexpress.com/item/Free-s...83788780.html#! И кучу DS18B20 для измерения температуры всего и вся. |
Привет! Извини, что немного не в тему, но очень связано - снимаются показания непосредственно с шлп, или через котроллер инновейта? У меня есть показометр в машине, который как раз умеет отображать инфу с аналоговых входов, с возможность легкого программирования (моник от буст-контроллера гредди), хочу на него afr вывести.
|
itnick, через контроллер инновейта, коричнывый провод (Аналог №2)
sir_valentine, вроде умеет, Виктор РоторБ, писал как по ТТЛ/УАРТ подключать, вроде ж одно и тоже, почти..., точнее на вход ардуине + и - 15 В нельзя подавать - это РС 232, а вот уарт ттл кажется немного другое,но еще не пробывал...понять не могу, как куда и что он отобразит...читать надо... И про даллас18б20...про его подключение весь тырнет завален, дома и на улице да, а вот как будет с агрессивными средами взаимодействовать-вопрос...Наверноеэлучше датчики с ajs брать или того же али... |
Вот DS18b20 в герметичном корпусе из нержавейки. Думаю, что ему многое пофиг.
http://ru.aliexpress.com/item/Free-S...rchweb201560_2 Плюс, думаю, что его необязательно прямо как есть вставлять, можно какой-нибудь латунный переходник сделать с резьбой, в который на термопасте вставлять этот датчик. А у LC-2 именно классический RS-232. С соответствующим D-SUB'ом. |
Т.е. я правильно понимаю, что это итальяно-китайское чудо можно поженить практически с любыми цифровыми и слаботочными аналоговыми приборами при желании и упорстве?
|
конечно, только оно уже давно китайское чудо за 3 копейки, имху лучшая платформа по цене, если ненадо ничего сложного читать/потоковое видео кидать ...
|
Правильно...Китайско-китайское оно.
По сути микроконтроллер с обвязкой, можно и самому сварганить. Помню, была тема на амадеусе, "индикатор расхода топлива", там на pic контроллере собрано, а первая версия этого приборчика была умнее, почти бортовик, автор (Ssh) упростил за ненадобностью. |
это аналоговое чудо CNC управлять может :D я к тому что поженить его много с чем у народа вполне получается
|
Цитата:
|
А зачем такие сложности для LC-1. Можно взять дешёвый китайский вольтметр, перепаять в нём делитель, поправить в прошивке инновейта выход 0-5в и готов встраиваемый показометр за две-три сотни рублей с вменяемым внешним видом.
|
Цитата:
Цитата:
Цитата:
Добавлено через 5 минут добавлю, ВЕМС собран на ATmega128 |
Цитата:
А 3-4 кадра в секунду от отрисовывает. Быстрее и не надо. Цитата:
+ Хочу ЕГТ мониторить через термопару. Типа такой вот: http://ru.aliexpress.com/item/2M-EGT...rchweb201560_2 |
Цитата:
|
Внесу наверное и свои пять копеек...
Замутил я тут небольшой стенд для проверки точности и инертности датчиков разного типа. https://dl.dropboxusercontent.com/u/...o/IMG_4436.JPG Использовано четыре типа датчиков температуры, по порядку на дисплее: - DS18B20 в герметичном корпусе, цифровой интерфейс = микропроцессор внутри датчика (справа) - TMP36 (GT9Z) аналоговый интерфейс = преобразователь внутри датчика (слева трехногая малюточка) https://dl.dropboxusercontent.com/u/...o/IMG_4438.JPG - термистор NTC 1000 Ом, формула преобразования Стейнхарта-Харта по бетта-коэффициенту из даташита https://dl.dropboxusercontent.com/u/...o/IMG_4437.JPG - полностью цифровой прецизионный датчик температуры и влажности DHT11H, цифровой интерфейс = микроконтроллер внутри датчика https://dl.dropboxusercontent.com/u/...o/IMG_4439.JPG Первая строка дисплея: цифровой герметичный, аналоговый, термистор Вторая строк дисплея: температура dht11, влажность dht11, яркость подсветки дисплея В целом могу сказать следующее - термистор это адский гемор с константами, калибровкой и прочей ибалой. Формула Стейнхарта-Харта дает разброс +-10% что есть дохрена... Влияет все от длины, сечения, температуры проводников; опорного напряжения; погрешности сопротивления в делителе напряжения + сама погрешность сопротивления термистора Датчик Dallas хорош, но за счет массивного корпуса реально очень инертен, да и кажет +-градус DHT11 реально прецизионный сенсор, чувствует даже мое тепло когда я за столом сижу, на фото видно что он показывает примерно на градус больше чем остальные, если уйти из комнаты на 5-10мин то показывает так же. Работает очень быстро, стоит в него подуть как показания моментально вырастают и весьма похожи на правду.... Но... ссска... он только комнатного исполнения, под капотом или еще где на улице умрет за неделю. Мне больше всего понравился аналоговый датчик - работает быстро шописец, показывает примерно так же +-градус, корпус по сути тоже герметичный, надо только его на микроплатку распаять или просто эпоксидкой контакты залить. Ценник 120р. Яркость подсветки дисплея прикрутил на фоторезистор, рядом с термистором на фото. Очень полезно для авто-применения, несколько условий и получаем автоматическую регулировку яркости дисплея в зависимости от внешнего освещения. Скажу сразу, фоторезистор это не датчик, точность у него +-километр. Так что, я выбрал импирическим путем несколько базовых значений сопротивления при разной освещенности - от полной тьмы до свечения фонариком прямо фоторезистору в жало. Получилось очень даже приятно, при комнатной освещенности светит в половину яркости, в полной темноте около 5% яркости, при солнечном свете 100% яркости + еще парочка промежуточных состояний. Программа здесь: https://dl.dropboxusercontent.com/u/...las_single.ino Уж меня простите, но комментов там практически нет, пока экперементировал особо не заморачивался с ними... с языками группы С/С++ знаком давно, поэтому, если что не понятно - спрашивайте. |
Короче скойкосовский, что он действительно показывает нужное или нахрена козе баян?
|
Шляпу показывает нахненужную... проходим мимо
|
андрей с давлением намyти ченить!! в бyстконтроллере есть сенсор давления можно с него сигнал дернyть, чтоб в ард отправить??
|
Да легко, я думал прикрутить обычный китайский сенсор от показометра, только вот калибровать его придется импирическим путем - даташита на него нет.
Типа такого: http://ajs.su/datchiki/sensory-k-dat...i-style-boost/ Принцип там простой, черный/красный питание, с белого снимаешь напряжение которое меняется в зависимости от давления. Вот таблицу зависимости и формулу придется самому сочинять. У меня нет бустконтроллера, но я так понимаю что сенсор там такого же плана да? Добавлено через 1 час 16 минут Я вот вам и выкладываю 4 сенсора все разного типа, к слову о том, что к ардуине можно подключить практически что угодно) |
да я дмаю что сенсор любой подойдет просто я хоч с контроллера снять нафиг еще один сенсор втыкать, на контроллере он маленький да впринципе тоже самое. ты скетч написать смогешь?
я бы замерил сенсор Добавлено через 2 минуты можно и японский взять сенсор, да любой! Добавлено через 2 минуты http://www.vr-4.ru/forum/showthread.php?t=26316 хочется доделать все таки |
Скетч для сегсора давки? Да, напишу когда будет подопытный под рукой.
Скетч для твоей задумки я хз... могу написать четко по твоему ТЗ, что откуда и куда и в какой пропорции... |
Просто завести сенсор в ардуину, это не интересно, а вот если хотя бы пустить управление на штатный соленойд и тем самым сделать буст контроллер, а потом еще все это красиво вывести на планшет и пальцем рисовать кривую буста, вот это уже интересно))
или цепануться на датчики АБС и видеть индивидуально, на экране, какие колеса шлифуют... или цепляемся на датчик положения коленвала и датчик скорости выходного вала коробки, передаточные числа и мы знаем, они постоянны, значит можем легко детектировать пробуксовку сцепления и на графиках на экране в реальном времени показать ее... |
Мужики, я вот, переделав конструкцию (пока опытный образец) на ардуино про мини, заметил, что сильно влияет питание 5в, т.е. сравнение идет по нему... Подключу дс-дс, еще поэкспериментирую...Т.К. при изменении питания ардуино возможны "ложные" показания...
|
там же стоит регулятор напряжения, на вход хоть 20В подавай все равно будет 5В в системе
|
В кытайском про мини - слабенький)
|
Для этого есть вход Analog reference, как раз для увеличения точности, подробнее здесь можно почитать:
https://learn.adafruit.com/tmp36-tem...-a-temp-sensor |
|
да это логирование по сyти, *** оно надо???
я хочy какой нить полезный девайс по копеечной стоимости собрать! андрей ты читал писал в моей теме, дyмаю понимаешь что я хотел, надо снять лоад форсов по нехитрой формyле посчитать сколько налить метанола, алгоритм я продyмал, осталось написать программy. еще хотел сделать сигналкy, чтоб yправление со смартфона, и показометр на планшет или тфт с красивой графикой и еще кyча идей.... Замyтим? Добавлено через 2 минуты Цитата:
|
Цитата:
никто не хочет, всем лень и мне в том числе, ну у меня хоть оправдание есть))... Добавлено через 2 минуты На Супру пилить смысла нет, там мозг весь менять надо и дальше уже смотреть... А на Галанте вполне, мозг отлично прошиваемый, нужно только такой модуль-расширение собрать, покруче чем у ГТРов будет)) |
Ну там тоже не совсем понятно как с мозга получать данные, если вызывать его на диагностику то лампочки будут моргать на приборке...
Либо напрямую с датчиков брать, либо... либо-либо, в общем не добрался я еще до машины с ардуиной, пока ковыряю там другие решения по работе, климатические всякие и Ethernet |
Цитата:
я цеплялся ардуиной напрямую на наши сенсоры: + AIR FLOW D20 + CRANK D19 + SPEED D16 - CLUTCH C02 + THROTTLE D14 - KNOCK D8 - CAM sensor D18 - INJECTOR Если вдруг нужна будет выше точность, очень рекомендую Teensy 3 всего 19 баксов, а получаешь 32-битный 96Мгц ARM проц, с 16-битным АЦП. Единственный минус надо будет развязку с 3.3 на 5В делать. https://www.pjrc.com/teensy/teensy31_front_small.jpg |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
На самом деле нафига такая точность? Работал с контроллерами Beckhoff, там 12 битный АЦП с 16 битным представлением - этого более чем достаточно для задач промышленной автоматизации, мне кажется и нам хватит) Я сейчас остановился на Arduino Mega, памяти там побольше... Есть еще Arduino Due, там тоже 32-битный процессор и питание 3,3 Добавлено через 24 минуты А вот по какой терминологии D20? По порядку ABCD? У Мерлина по другому разъемы пронумерованы |
Цитата:
Добавлено через 8 минут короче я примал!!!! Андрей бyдет программистом, напишит код и все дела.... Виктор бyдет инженером он реализyет технические вопросы и тд а я бyдy дизайнером я придyмаю как это должно работать. ?????? |
Цитата:
Цитата:
Цитата:
Цитата:
|
а контроллер для шпл с него можно замутить?
Лямбда не самое дорогое,показометр тоже,а вот контроллер бы. |
rotorB, а формулы для пересчета из эвоскана брал?
Davinchy, можно, если знаешь алгоритм как контроллер с показаниями датчика работает... За это собственно иновейт бабки и берет) |
На ардуино уже системы управления двигателем собирают ))
http://speeduino.com/wiki/index.php/Speeduino |
Продолжу тему. Запустил наконец то все это безобразие в АВТО)
Использовал датчик TMAP 0 281 002 399 Кажет температуру и давление в коллекторе вроде адекватно, пока пишу логи что бы сравнить с барометром и с температурой после длительного простоя. Правильная ссылка по поводу получения точных данных на ардуине: http://s4wiki.com/wiki/Manifold_air_pressure И оригинальный мануал с ВЕМСа: http://vems.hu/download/sensors/Bosc..._038906051.pdf Символьного дисплея 2х16 в часах вообще близко не достаточно, на нем ничего не разглядишь в движении, завтра скину фотки. Буду городить 2,8" полноцвет lcd вместо центрального дефлектора печки. |
А фишку для датчика какую использовал?
|
Цитата:
|
evil_mivec, спасибо за инфу, а я на термисторах городил температуру.. :) Дисплейчик ОЛЕД прям в оптитрон хотел засунуть.
|
sir_valentine, ВАГ от любого турбо-мотора, на некоторых атмо эта фишка тоже есть
catalan, аюсолютно точно :ay: Michman, у меня тоже температура жидкостей на термисторах, в TMAP тоже встроенный термистор Добавлено через 36 часов 18 минут http://s015.radikal.ru/i333/1611/03/19b60013b016.jpg http://s019.radikal.ru/i626/1611/f1/db0027fef5ac.jpg То есть как бы ничего не видать издалека)) LCD символьный дисплей 16х2 точно не подходит, только на месте смотреть что там происходит, в движении эту мелкоту не рассмотреть. 0,96" Oled после экспериментов на столе я даже пробовать втыкать не стал, он точно только для статичных применений годен. При температуре около 0 градусов LCD начинает "течь", то есть быстро меняющиеся цифири превращаются в кусок г... Обратите внимание на IAT, это после ХХ ~10мин, по сути температура ОЖ. Наверное где то здесь кроется причина "троения" на горячую после непродолжительной стоянки |
OLED дюймовый, кстати, есть ещё с разрешением 128х32. Т.е. вытянутый по горизонтали, как следствие, пиксели там должны быть больше.
Сам ориентируясь в сторону OLED 128х94, а вот ЖК 1602 хочу в очечник затолкать. Туда же сунуть УСБ для ардуины и пару-тройку кнопок. |
Ну в часах уже есть кнопки, поэтому я поставил туда.
Сама ардуина с бредбордом у меня в бардачке в корпусе напечатанном на 3д принтере |
Моя поделка на базе Bosch 0 281 002 845.
https://content.foto.my.mail.ru/mail...255/h-2307.jpg https://content.foto.my.mail.ru/mail...255/h-2309.jpg https://content.foto.my.mail.ru/mail...255/h-2308.jpg |
Где формулу брал для расчета давления?
Меня вот смущает, что атмосферное на столе показывало нормально для нашей высоты 96-99кПа, а когда поставил в коллектор, то больше 95 еще ни разу не видел... и разряжение кажет 23-24кПа, что есть -0.76... на мой взгляд реально не достижимо? Добавлено через 38 секунд Хотя конечно я проверял летом а сейчас зима.... зимой же ниже барометрическое чем летом? Добавлено через 1 минуту Trema модули использовал? ну и как удобно? Мне показалось что слишком габаритное это все, сделал по стариночке - напрямую) |
Формула расчёта давления крайне проста. P = A*U + B. Где Р -- искомое давление, U -- напряжение на выходе из датчика, а А и В -- коэффициенты линейного преобразования.
Коэффициенты высчитывается из параметров датчика Pmin, Pmax (минимальное и максимальное давления, измеряемые датчиком), Umin и Umax (соответствующие напряжения). В моём случае это было 11 и 307 килопаскалей, что соответствует 0.25 и 4.75 Вольт на выходе датчика. Но, что б это найти пришлось весь интернет перерыть. На каком-то буржуйском мазда-клубе нашёл. Родного даташита нет. Вот с температурой значительно сложнее, там мало того, что шкала логарифмическая, так ещё даже на ней график не линеен. Нашёл дадашит на другой бошевский сенсор (на немецком языке). Там был график и таблица с разбивкой по 10 градусов с соответствием температура--сопротивление. Между этими двумя точками делал линейную апроксимацию. В итоге погрешность получается градус-полтора. Есть хитрая метода получения формулы под конкретный датчик, но нужно приобрести дорогой мультиметр с точным термометром. Добавлено через 14 минут Трема-модули вполне нормальны для макетирования. На боевую, естестественно буду переделывать. Добавлено через 34 часа 56 минут Вот еще интересная тема. https://habrahabr.ru/post/123361/ Можно приклад под андройд забубенить с разными будильниками и через УСБ из ардуины все это вынимать при необходимости. А на ОЛЕД -- необходимый минимум. |
короче вот так считал
Цитата:
Значения получаются один в один. С температурой действительно не так просто, примерно так float iatCal[18][2] = { 130, 89.3, 120, 112.7, 110, 144.2, 100, 186.6, 90, 243.2, 80, 322.5, 70, 435.7, 60, 595.5, 50, 834, 40, 1175, 30, 1707, 20, 2500, 10, 3792, 0, 5896, -10, 9397, -20, 15462, -30, 26114, -40, 45313 }; float getIat(float ohm) { float cellTemp, unit; for (int i = prevIatIdx; i < 18; i++) { if (iatCal[i][1] > ohm) { prevIatIdx = i; unit = (iatCal[i][1] - iatCal[i - 1][1]) / 10; return iatCal[i][0] + (iatCal[i][1] - ohm) / unit; } } prevIatIdx = 0; return getIat(ohm); } iatC = getIat(iatRaw / ((1023 - iatRaw) / iatDivRes)); |
Текущее время: 19:02. Часовой пояс GMT +3. |
|
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © 2006 - 2018, Galant / Legnum VR-4 Клуб, VR-4.ru