Jump to content

    

Согласование микроконтроллера с автомобильными датчиками

Приветствую!

 

Есть желание с одного автомобиля поснимать характеристики (напряжение аккумулятора, уровень топлива, уровень омывайки в бачке, температура охлаждающей жидкости и т.д.). Автомобиль достаточно не новый (Audi 80 B3). Поэтому никаких CAN-шин там нет. А вопрос, собственно вот в чем.

Какие основные типы сигналов с датчиков применяются в автомобилях? Судя по схемам в Интернете:

1. Аналоговые. В ЭБУ или приборную панель просто заходят аналоговые сигналы с датчиков (например, датчик лямбда, датчик уровня топлива).

2. Цифровые, типа "да/нет". Либо есть 12В (в общем случае x вольт), либо их нет.

3. Цифровые импульсные. Например, выход с датчика скорости.

 

Ног микроконтроллера довольно много, поэтому хотелось бы на плате заложить некий "стратегический запас", который можно задействовать при желании. То есть, если мне захочется измерять уровень топлива, я настраиваю одну из входных линий АЦП и завожу туда сигнал. Если нужно оцифровать скорость - мне нужен вход, подключенный к таймеру МК. Или, например, если нужен датчик тока через лампочку - задействую обычный вход GPIO МК.

 

Дискретные "медленные" входы я протащу через обычные оптроны, чтобы не пожечь лапки МК всплесками по длинным проводам от бортсети.

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

А вот как быть с аналоговыми входами? В частности, напряжение с аккумулятора измерить. Ведь при повороте ключа зажигания по сети иголки (предполагаю) порядка сотен вольт проскакивают. Резисторный делитель + TVS-сборка с ограничителем?

Решение нужно максимально надежное, максимально дешевое:to_take_umbrage:

Share this post


Link to post
Share on other sites

Все входы одинаковые — ограничитель, порядка 100 В, и с него резистор на вход МК.

Share this post


Link to post
Share on other sites
35 минут назад, Plain сказал:

Все входы одинаковые — ограничитель, порядка 100 В, и с него резистор на вход МК.

Я так понимаю, что вначале еще резисторы нужны (R1:R2) для согласования напряжений.

image.gif

 

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

Ну вот допустим. Есть у нас датчик с 12В выходом. Резисторами R1:R2 напряжение с его выхода делится, чтобы получить напряжение в 3.3В, допустимое для МК. Вход МК имеет большое входное сопротивление, поэтому (как я полагаю), чтобы на R3 мало упало, нужно сделать его сопротивление на порядок меньше входного сопротивления лапки МК.

Теперь щелкнуло что-то на проводе, пришла помеха амплитудой в 400В (утрированно, но вдруг?). Значит на ограничителе будет 110В. Он откроется, через него потечет ток в землю. Вот тут мне не совсем ясно, почему тогда R3 нужно ставить после ограничителя, а не до него (чтобы ограничить ток через него). И опять же, почему ограничитель на 100В, а не на 20, например.

Полагаю, для входов АЦП такая же схема?

Share this post


Link to post
Share on other sites

Почитайте любую вменяемую официальную бумагу на любую цифровую ИС, там указан предельный ток входов — именно заведомо меньший этого тока ток и задаёт резистор, типично 10 мА, т.е. 15 кОм для SMAJ90A, а БП МК, соответственно, должен уметь поглотить всю лишнюю энергию, поступившую в линию питания с цепей защиты всех входов в худшем случае, т.е. при обрыве аккумулятора. Для аналоговых входов соответственно добавить второй резистор на общий провод, например, 12 кОм / 3 кОм.

 

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

Share this post


Link to post
Share on other sites
12 hours ago, Arlleex said:

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

 

Audi 80 изнутри ни разу не видел, но из общих соображений:

- аккумулятор - аналоговый сигнал 10..14 вольт

- уровень топлива - аналоговый сигнал 0..14 вольт

- уровень омывайки - дискретный сигнал 0..12 вольт

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

- датчик оборотов - либо датчик холла с 5 (12) вольтовыми импульсами (десятки импульсов на оборот), либо индуктивный датчик (см. в гугле "ДПКВ осциллограмма")

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

- сигнал оборотов с катушки зажигания или форсунки. Пакостный сигнал с ярко выраженными "индуктивными" выбросами. Подробности на картинках "катушка зажигания осциллограмма".

 

Опторазвязок никогда нигде не видел. Делитель, защита, может ещё небольшой RC-фильтр.

 

12 hours ago, Arlleex said:

Поэтому никаких CAN-шин там нет

Если есть хоть какой-то мозг, скорее всего, есть и диагностика, и, скорее всего, это однопроводной 12-вольтовый уарт. Какой стандарт был в те лохматые годы, не интересовался...

Share this post


Link to post
Share on other sites

Для аналоговой развязки HCPL7800 усилитель. 

Аналоговую развязку можно реализовать на двойном оптроне и по одному ОУ с каждой стороны.

Оптрон двойной для компенсации нелинейности передачи сигнала его самого.

 

Share this post


Link to post
Share on other sites

Изоляция нужна в случае разности потенциалов, в автомобиле такого нет, только помехи.

Share this post


Link to post
Share on other sites
8 minutes ago, Plain said:

Изоляция нужна в случае разности потенциалов, в автомобиле такого нет, только помехи.

? тогда на каждый вход контроллера двойной диодный ограничитель BAV99  (1us 4.5 A) или подобный ?

 

Share this post


Link to post
Share on other sites
11 часов назад, Plain сказал:

Почитайте любую вменяемую официальную бумагу на любую цифровую ИС, там указан предельный ток входов

Беру даташит на STM32F429.

На странице 135 есть характеристики IO-портов.

Есть такой параметр как входной ток утечки. Полагаю, это ток, который при приложенном рабочем напряжении будет втекать/вытекать по входу. По 3.3V входам этот параметр равен ±1мкА.

Получается, входное сопротивление 3.3В/1мкА = 3.3МОм.

А вот еще табличка чуть выше в документации:

image.png.8c673d86f0d74178e0cbf7a762e59cac.png

 

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

 

А можно по теории ликбез небольшой?:blush:

В общем, есть, допустим, схема (надеюсь, я правильно нарисовал то, что предлагает уважаемый Plain):

asdf.gif

 

Ради примера, Uвх. ожидается от 0 до 3.3В, но линия длинная, с возможными помехами от всяких щеток, генераторов и т.д.

Допустим, ограничитель у нас на 100В, резистор на 20кОм, конденсатор 1мкФ.

Для примера, пусть мы словили импульс в 400В амплитудой и длительностью в пол миллисекунды. Значит, ограничитель отрежет уровень входного напряжения на 100В, а ток, созданный остальными 300В, превратится в тепло на ограничителе. Значит у нас есть напряжение в 100В на левом плече резистора. Пренебрегая сопротивлением утечки в пару микроампер на входе микросхемы, в цепи резистор-верхний диод VD2-линия питания +3.3В потечет ток заряда суммарной емкости C по этой шине питания. Но, поскольку импульс в пол миллисекунды, нужно подобрать значение сопротивления резистора и емкость конденсатора так, чтобы за это время он не успел существенно зарядиться и повысить напряжение на линии +3.3В. Все верно?

Тогда задача сводится к выбору ограничителя и расчету резистора R при известной (приблизительно) суммарной емкости полигона питания +3.3В.

Но ведь получается, что для простых медленных входов этот конденсатор можно поставить и после резистора, перед входом в микросхему, на землю. Или нет?

А для понижения 12В в 3.3В делать делитель после ограничителя, ровно как и для АЦП-входов.

Вроде начинаю соображать тогда, поправьте, если все-таки не прав:smile:

Share this post


Link to post
Share on other sites
36 минут назад, esaulenka сказал:

Audi 80 изнутри ни разу не видел, но из общих соображений:

Спасибо, уже что-то! Некоторые моменты буду выпытывать уже на самой машине:smile:

 

2 минуты назад, Plain сказал:

Изоляция нужна в случае разности потенциалов, в автомобиле такого нет, только помехи.

А что подразумевается под разностью потенциалов? Если у меня два девайса, допустим, один выдает сигналы от 0 до 100В, а другой работает в логике 3.3В, это считается условием необходимости применения изоляции? Или это в системах, где выравнивать земли соединением куска провода запрещено по тем или иным соображениям?

 

P.S. Иногда ставят еще симметричные ограничители для цепей с двухполярным питанием. Причем интересные обозначения - они разные (то катодами соединены, то анодами):

image.png.419652b078f0f6090b5928ba7db8d388.png 

 

А в автомобиле не может быть помех отрицательной амплитуды?

 

Share this post


Link to post
Share on other sites

Ещё рекомендую Вам почитать соседнюю ветку, специально посвящённую этим проблемам. Там есть что почитать, ибо аналогичные вопросы задаются регулярно.

Share this post


Link to post
Share on other sites
1 hour ago, Arlleex said:

. . . А в автомобиле не может быть помех отрицательной амплитуды?

Там большая часть "потребителей" - индуктивные и мощные по току. Одна система зажигания чего стОи. Так что расчитывайте что "много и всего".

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

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

 

 

Share this post


Link to post
Share on other sites
1 час назад, Arlleex сказал:

Допустим,

Здесь нет причин гадать — берёте ГОСТ 28751 и читаете там про импульс №5, при котором обсуждаемый ограничитель естественно не должен работать, и который при резисторе 12 кОм в среднем даст втекающий во вход МК ток 2,5 мА в течение 400 мс, и если этому МК, и его обвязке на той же линии питания, на это время захочется побыть микропотребляющими, предположительный конденсатор 1 мкФ питания этого добра зарядится до амплитуды импульса №5 — ну т.е. он конечно не зарядится, а просто МК сдохнет при гораздо меньшем напряжении питания. Таким образом, шунтовый стабилизатор питания в такой схеме жизненно необходим.

 

1 час назад, Arlleex сказал:

что подразумевается под разностью потенциалов?

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

 

1 час назад, Arlleex сказал:

Иногда ставят еще симметричные ограничители

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

Share this post


Link to post
Share on other sites
5 minutes ago, Plain said:

, и который при резисторе 12 кОм в среднем даст втекающий во вход МК ток 2,5 мА в течение 400 мс, и если этому МК, и его обвязке на той же линии питания, на это время захочется побыть микропотребляющими, предположительный конденсатор 1 мкФ питания этого добра зарядится до амплитуды импульса №5 — ну т.е. он конечно не зарядится, а просто МК сдохнет при гораздо меньшем напряжении питания. Таким образом, шунтовый стабилизатор питания в такой схеме жизненно необходим.

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

10 minutes ago, Plain said:

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

Никаких проблем с однонаправленными - в другую сторону они ограничивают напряжение на уровне 0,7В что гораздо лучше чем -3...6В которые дают двунаправленные стабилитроны. 

Share this post


Link to post
Share on other sites
Только что, k155la3 сказал:

можно эту деталь не впаивать, но площадку под нее я бы поставил на все входы.

Разумеется, я обычно так и делаю:yes3:

 

Только что, Plain сказал:

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

Ну я как подумал - 12В бортсети я завожу на какой-нибудь широкодиапазонный LDO или DC/DC с выходным напряжением 3.3В. Или тут еще помимо этого добра надо ставить некий "шунтовый стабилизатор" (не гуглится, к сожалению, я так понял - это некий параллельный стабилизатор)?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now