Подключение NANO к бортовой сети автомобиля
- Войдите на сайт для отправки комментариев
Всех приветствую! Попробую создать отдельную тему, т.к. вопросов накопилось много. Надеюсь вы мне поможете дельными советами, т.к. технический прогресс ушел далеко вперед, а мои познания в электротехнике остались в девяностых годах на уровне детекторных приемников. Мне необходимо считывать контрольные показания с трех датчиков (точнее определить когда показания датчиков выходят за определенный порог): педали газа, датчика скорости, концевика салонной двери.
Черным цветом отмечены радиодетали необходимость которых у меня не вызывает сомнений, так как похожие реализации применены в автомобильном контроллере, приборной панели и бортовом компьютере. Красным цветом обозначены детали в нужности которых я сомневаюсь. Зеленом цветом показаны штатные компоненты автомобильной электроники.
Проблема с аппаратной частью возникла из-за места установки (автомобильная бортовая сеть), которая обладает двумя особенностями. Первая – плавающее напряжение питания. Ввиду наличия термокомпенсации на генераторе, напряжение бортовой сети может меняться от 13В вплоть до 15В на холодном двигателе (при сильных морозах), а так же может просаживаться до 10В и меньше при заведении автомобиля. Вторая – в бортовой сети могут быть «всплески» (скачки напряжения) которые могут достигать 100В. Это обусловлено наличием нескольких десятков электромеханических реле (не всегда с шунтирующими диодами или резисторами) и большого количества коллекторных двигателей (от моторчика омывателя до электровентиляторов радиатора охлаждения и стартера).
Так как есть проблема ограниченного места на аппаратной плате, которая будет соразмерна плате NANO, то от откровенно лишних деталей хочется отказаться.
Теперь вопросы по конкретным реализациям аппаратной части.
1. Подключение к датчику педали газа (так называемая электронная педаль газа). Тут мне нужно определить когда она нажата, т.е. напряжение на датчике педали выше определенного порога. Датчик педали газа представляет из себя переменный резистор с дополнительными постоянными резисторами. Точнее он состоит из двух синхронизированных переменных резистора для самотестирования. Но данные естественно буду снимать только с одного. На схеме для датчика педали зеленым цветом даны реально снятые показания сопротивлений с моего конкретного датчика. На датчик подается стабилизированное опорное напряжение +5 вольт от контроллера двигателя. Реальный диапазон выходных напряжений датчика 0,79..4,24В. Датчик будет подключен к аналоговому входу Ардуины. По идеи вполне достаточно его подключить напрямую. Никаких «всплесков» на этом входе быть не должно ввиду отдельного стабилизированного питания датчика. Но опять же в проводах идущих к ардуине могут (теоретически) возникать паразитные наводки со скачками больше 5 вольт.
Стабилитрон Vd1 должен защищать от всплесков.
Конденсатор С1 должен защищать от потери механической связи в механическом резисторе. Хотя может вносить некорректные показания в данные автомобильного контроллера, т.к. при «педалировании» будет происходить рассинхронизация напряжений снимаемых автомобильным контроллером с двух переменных резисторов педали газа.
Резистор R1 должен защищать от ошибочного подсоединения данного вывода напрямую к +12В.
Что из этого нужно, а чего можно отказаться, а что откровенно вредно?
2. Подключение к датчику скорости. Тут нужно определить когда частота датчика выше определенного порога. Датчик представляет из себя транзисторный ключ работающий от оптопары (в реальности с подтягивающим резистором 1,6кОм). Датчик будет подключен к цифровому входу Ардуины и отслеживаться по прерыванию на спад фронта.
Частота датчика меняется от 0 до 250гЦ, ну пусть даже до 300гЦ (соответствует 180км/ч). Соответственно дает прямоугольные импульсы с амплитудой напряжения питания (+12В или 0В). Датчик будет подключен через делитель (R2 и R3) к цифровому входу ардуины.
Стабилитрон Vd1 должен защищать от всплесков, которые могут приходить на выход датчика скорости через его питание.
Конденсатор С1 должен сглаживать дребезг при смене фронта. Время RC (67% релаксации) равно 3,3нФ*47кОм = 155мкСек, что составляет 5% от периода (1/300=3300мкСек) или 10% от полупериода на максимальной частоте. Не знаю есть ли в этом смысл (подсмотрел в схеме бортового компьютера).
Резистор R1 должен обеспечить дополнительную подтяжку к +12В, если по какой то причине помрет штатная подтяжка в датчике, или произойдет обрыв с контроллером и приборкой (где тоже есть свои подтягивающие резисторы).
Что из этого нужно, а чего можно отказаться, а что откровенно вредно?
3. Подключение к концевику дверей. Тут нужно определить открытость/закрытость двери. Концевик будет подключен через делитель (R2 и R3) к цифровому входу Ардуины. Аппаратный алгоритм работы концевика такой же как и у датчика скорости, а именно дает логические +12В или 0В.
Стабилитрон Vd1 должен защищать от всплесков, которые могут быть в бортовой сети.
Конденсатор С1 должен сглаживать дребезг механического выключателя, хотя в программе обязательно будет защита от дребезга.
Резистор R1 должен обеспечить дополнительную подтяжку к +12В, если по какой то причине пропадет штатная подтяжка (перегорание салонной лампочки, обрыв провода к блоку центрального замка и т.п.).
Что из этого нужно, а чего можно отказаться, а что откровенно вредно?
4. Выход – управляющий импульсный сигнал (0,5 сек) на просадку логического вывода блока центрального замка. В этом логическом выводе стоит подтягивающий резистор 500Ом, который дает ток просадки 30мА. Поэтому выход будет организован транзисторным ключем с одним каскадом.
Резистор R1 задает ток базы транзистора 1мА.
Резистор R2 подтягивающий к земле.
Резистор R3 защитный, от неправильного подключения, чтобы не спалить транзистор или всю аппаратную плату.
Что из этого нужно, а чего можно отказаться, а что откровенно вредно?
5. Питание. Самое для меня сложное. Повторюсь, выходной ток ардуины – это импульс 0,5 сек с током 1мА на базу транзистора. Т.е. плата ардуино будет потреблять свои 20+/-2мА заявленные в даташите (и проверенные тестером в реальности). Изучив даташит встроенного линейного стабилизатора напряжения (у меня установлен ams1117 t50e28hc) пришло осознание, что его должно вполне хватить для моих целей. Городить внешний линейный стабилизатор на том же LM7805 без дополнительных потребителей и выходов не имеет смыла. Нужно только защититься от скачков напряжения. На схему я запихнул все свои познания с 90-х годов)))
Диод Vd1 защитный от переплюсовки.
Резистор R1 токоограничивающий. Максимальное падение напряжения 2В, ну пусть даже будет 3В (при токе потребления 30мА).
Конденсаторы С1, С2, С3, С4 сглаживающие скачки (не знаю зачем так много и какого номинала – срисовал с типовых схем).
Индуктивность L1 для блокирования скачков напряжения (насколько я помню,для чего она нужна).
Стабилитрон Vd1 опять же – защита от скачков.
Кто осилил до конца, прошу прощения за много букв и графики! Хотел максимально подробно описать свое понимание проблемы, чтобы получить дельные советы по существу вопросов. С ответами не тороплю.
С уважением, Алексей!
в схеме 1. , я б поставил 10ком , чтоб меньше нагружать датчик , стабилитрон лучше 5,1в(хотя и он тоже грузит) , или если оставите 4,7 то желательно поставить делитель на 2 (10к+10к) , а то измеряемое напряжение 4,5в стабилитрон даже на 5.1в , начинает подгружать , в итоге вы поимеете не прямолинейное и неправильное измерение нажатие педали газа .
делал подобный контроллер (arduino pro mini + lcd 1602 + кнопки ) , для включения добавленной турбины, при установленных нужных оборотах и нажатии педали газа в% .
а так , да , дельные вы схемки привели.
ардуинку лучше брать со стабом в большом корпусе, он хоть до 15в выдерживает , в отличии от sot-23 12в максимум.
// супрессоры работают быстрее стабилитронов . стабилитроны имеют внутреннюю емкость около 1-3нф поэтому желательно их ставить последовательно и встречно. Но для вашей темы сгодится и так как вы предложили.
диод и резистор на входе по питанию тоже дельно. делал так для питания логгера АКБ в 24в солнечной системе , напряжения в импульсе там бывают высокие свыше 30в , резистор 100ом и хороший кондер 1000-2200мкф превосходно спасают имп. стаб на MP1584 (у него 28в макс)с 28в на 8-7.5в , а от него уж и питается ардуинка.
Выходное напряжение ДППА меняется пропорционально нажатию педали акселератора. При отпущенной педали акселератора сигнал ДППА 1 должен быть в пределах 0,66…0,96 В, сигнал ДППА 2 в пределах 0,33…0,48 В. При полностью нажатой педали акселератора сигнал ДППА 1 должен быть в пределах 3,80…4,30 В, сигнал ДППА 2 в пределах 1,90…2,15 В. При любом положении педали акселератора сигнал ДППА 1 должен быть в два раза больше сигнала ДППА 2. Ошибка заносится, если уменьшенный в два раза сигнал датчика положения педали акселератора (UPWG1ROH/2) и сигнал датчика положения педали акселератора В (UPWG2ROH) отличаются на величину порога в течение 0,25 с.
Посему и от стабилитрона, и от конденсатора скорее всего откажусь. Делитель точно ставить не буду. Вместо делителя можно просто тогда показания снимать со второго "ополовиненного" резистора с малым диапазоном (0,4..2,1 В), но мне казалось, чем больше диапазон тем больше точность и меньше погрешность от наводок. Поэтому хотел снимать с "полного" резистора (0,8..4,2В)
И еще по питанию (схема 5) супрессор правильнее ставить до дросселя (перед резистором) или после дросселя (перед VIN)?
CAN шины на автомобиле нет?
так всю инфу можно оттуда тянуть гораздо проще
На моем тазике КАН-шины нет. Есть К-линия, там инфа есть только по двум датчикам (ДППА и ДС), но это нужно уметь читать диагностический протокол. Тогда это уже будет практическии полноценный бортовой комьютер))) Я на такие подвиги не готов. К тому же по подключению будет всего на один проводок меньше (К-линия вместо ДППА и ДС).
А простой пример можно привести подключения к K-line?
Что у вас за модификация? Как то странно...
По питанию, как раз самре простое. Cтавите последовательно L7809 и L7805 (50 рублей - 5 штук на Ебее), между ними конденсатор, например ~47 мкФ ~25 в (любой, какой найдете, с соответствующим напряжением).
sav liana, спасибо, но уже поздно. Делаю на понижающем резисторе и LC-фильтре.
П.С. А в чем тайный смысл ставить второй сторонний линейный стабилизатор 7805, если его аналог (правда маломощный) уже стоит на плате? Для теплоотведения при большой нагрузке? В моем случае (без нагрузки) есть в этом смысл?
Согласен, если больше потребителей не будет (кроме NANO) то сойдет. Результаты работы вы чем будете смотреть? Например у меня LCD WH2004A I2C только подсветка подсветка 37 мА. (Полностью 41 мА)
Ток ~25 мА. Напряжение на 1117 будет 13,3 - 5 - 0,7 = 7,6в. Мощность 0,025*7,6=0,19 Вт. (~0,2 Вт). Максимальная 0,8 Вт.
Добрый день!
Я так понимаю вы делаете блокировку дверей при начале движения?
И потом снятия блокировки при выключении зажигания?
Можете пояснить для чего Вам положение дроссельной заслонки? Я когда логику работы такого устройства разрабатывал, использвал только датчик скорости - если скорость больше 10км/час - заблокировал двери.
sva_khv,
"Лучше поздно чем никогда" (с)
Lomonosov, очень интересно было бы посмотреть на конечный вариант всей системы в целом... Скажите у вас остались схемы, скетчы и прочая информация... Сейчас хочу сделать сигнализацию на ардуино с автозапуском, ваш опыт несомненно бы помог. Спасибо заранее
Lomonosov, очень интересно было бы посмотреть на конечный вариант всей системы в целом... Скажите у вас остались схемы, скетчы и прочая информация... Сейчас хочу сделать сигнализацию на ардуино с автозапуском, ваш опыт несомненно бы помог. Спасибо заранее
http://arduino.ru/forum/proekty/upravlenie-zakrytiem-dverei-avtomobilya-arduino-nano
Надеюсь поможет.