Снять показания с катушки автомобиля
- Войдите на сайт для отправки комментариев
В общем-то суть проблемы: Нужно зацепиться в машине паралельно тахометру (то бишь на катушку зажигания) и, в зависимости от оборотов, управлять нагрузкой. С силовым блоком выхода проблем нет. На катушку кидаю через резистор транзисторную оптопару и в идеале должен получиться ШИМ диммер и при замере вольтметром оно так и получается, но при подключении на ардуино, она видит ШИМ сигнал из 0 и 5 вольт. Пробовал считать расстояния между импульсами - вариант дохлый, потому что почему-то образуются пропуски сигналов (просто выводил импульсы и сам считал расстояния между ними), вплоть до пропуска целого цикла, хотя двигатель работает ровно и никаких пропусках в работе горшков нету и вольтметр показывает ровно. Не пойму где ошибка и как эту бяку всётаки правильно зацепить к ардуине
использовать прерывание. пины 2 или 3
http://arduino.ru/Reference/AttachInterrupt
так точно ничего не пропустишь
А смысл? Ведь считается время между соседними импульсами, а если они почему-то теряются, то время уже будет рассчитываться не верно.
как теряются? ардуина их пропустила или на осциллографе увидел?
а зачем с катушки ? с датчика Холла проще.... и безопаснее....
А смысл? Ведь считается время между соседними импульсами, а если они почему-то теряются, то время уже будет рассчитываться не верно.
Смысл в том что нужно пользоваться головой.
> Смысл в том что нужно пользоваться головой.
ваабще тупеешь от попкорна ? В ГОЛОВУ - ЕДЯТ ! ( кушают )
> Смысл в том что нужно пользоваться головой.
ваабще тупеешь от попкорна ? В ГОЛОВУ - ЕДЯТ ! ( кушают )
А некоторые так даже вообще ЖРУТ!
ой, пардон, ЖРУТ - это чё ? НИИХУЯ - знаю.... ЖРУТ - университет труда ? или чё ?
С него пока не пробовал, но подозреваю, что будет много паразитных наводок, потаму что через весь капот тянуть провода. Попробую завтра.
как теряются? ардуина их пропустила или на осциллографе увидел?
я тупо прописал на ардуину, чтобы она выводила статус входа, без делеев, а потом смотрел листинг и считал количество нулей между импульсами, местами было всё ровно, а местами были провалы, например идёт 7 нулей, 7 нулей, 19 нулей, 3 нуля, 7 нулей... Откуда эти провалы взялись, я так и не понял, потаму что как уже говорил, двигатель работал ровно и всё время был подключен вольтметр для контроля. То ли ардуина подвисает, то ли наводки сильные идут
Дык я ей и пользуюсь: ем в неё, шапку ношу зимой, дышу иногда. Но как заставить ардуину получить такие же показания на входе, как вольтметр, не знаю.
Попробуйте ей еще думать. Когда ардуина занята печатью в компорт, а тут ваш импульс. Она его посчитает? Вам выше наптсали про прерывания но вас это не устроило.
как теряются? ардуина их пропустила или на осциллографе увидел?
я тупо прописал на ардуину, чтобы она выводила статус входа, без делеев, а потом смотрел листинг и считал количество нулей между импульсами, местами было всё ровно, а местами были провалы, например идёт 7 нулей, 7 нулей, 19 нулей, 3 нуля, 7 нулей... Откуда эти провалы взялись, я так и не понял, потаму что как уже говорил, двигатель работал ровно и всё время был подключен вольтметр для контроля. То ли ардуина подвисает, то ли наводки сильные идут
как? digitalread постоянный и отправка в uart данных?
analogread и отправка в serial.print
так наивно полагать что любая операция в ардуино намного быстрее чем сигнал который ты хочешь обработать
да и зачем analogRead. нужно digitalRead как минимум во первых. сигнал то цифровой. да и analogRead намного медленнее
отправка в uart и занимает время, так же как и analogRead
я уже предлагал вариант как сделать
Тоже грешил на serial.print. Но скачки шли даже без его испольования, то бишь сначала собрал ардуино, оптопару и обвязку, прошил скетч, который считает импульсы и, взависимости от частоты, регулирует накал лампочки, оттестил на стенде с вентилятором, всё работает чётко, зацепил на катушку и увидел чёрти какое поведение лампочки: то резко тухнет, то резко вспыхивает. Тогда уже подключился к ардуине, прописал serial.print.
А он не верит твоим вариантам.
Пухлявый, он читает только твои сообщения))
Analogread использовал заодно для контроля поступающего на ардуино напряжения, чтобы по верхам не било. A serial.print вынужденная мера, его в итоговом скетче не будет, ардуина будет работать без связи с компом. И насчёт скорости, то связка analogRead и Serial.print спокойно справляется с частотами, которые используются в автомобиле. Мне не нужны суперточные данные, глвное посмотреть стабильность. А скорости хватает даже для того, чтобы ловить ШИМ сигнал, генерирунемый самой ардуиной. вплоть до 200 спокойно можно проследить ширину и модуляцию, а в автомобиле частота в разы меньше.
ну значит ты и сам знаешь как делать и просто с нами делишься
хорошо. так бы сразу и сказал
Пухлявый, он читает только твои сообщения))
Видимо что так. Он главное не хочет вообще понимать что без разницы что и куда хватает, просто иногда это выпадает на занято. А сделать через прерывания ему религия не позволяет.
Пастор ему сказал, увижу прерывания в коде, отлучу от церкви!
Да я вербю,просто специфика такова, что в машине слишком много наводок и паразитных токов, потаму что наши машиностроители на экранировку забили большой и толстый. Так что вариант со счётчиком импульсов пока держу как запасной, потаму что ардуино черезчур чувствительная ко всем сигналам, а с катушки идёт слишком слабый ток, чтобы цеплять на него дополнительную нагрузку в виде резисторов
Пухлявый, он читает только твои сообщения))
Да просто мне не хочится считать импульсы, почему, написал выше, мне нужно достроить схему так, чтобы на вход ардуины приходил не ШИМ сигнал, а аналоговый сигнал - полезное нагрузочное напряжение, которое видит вольтметер.
Я щас подвис. С катушки зажигания читаем шим? И на основании этого делаем вывод об оборотах?
1) с катушки зажигания идет не ШИМ. ШИМ - это когда частота следования постоянная (период сигнала постоянен), а скважность сигнала меняется (отношение когда сигнал в 1 по отношению когда сигнал в 0 в течении 1 периода времени).
2) с катушки идет сигнал с изменяемой частотой. при том частота у него при 1000 об/мин - 33,33 Гц, при 6000 об/мин - 200 Гц.
3) ловить надо прерыванием по фронтам импульсы с катушки и оперировать этими данными
4) мерить можно либо считая кол-во фронтов за промежуток времени либо промежуток времени между фронтами. Зависит от того что важнение, точность или скорость реакции на измерение.
5) можно выбросы убрать за счет усреднения данных на 10 - 20 считываниях (програмный ФНЧ).
Ну в общем-то да, тахометр работает по той же схеме. снимает ШИМ с катушки, а потом либо считает его полезное нагрузочное напряжение (тогда в качестве датчика используется вольтметр) либо понижает и цепляет на нарузку (тогда в качестве используетсямилиамперметр). Катушка есличто работаетне постоянно,она включается только податчику хола в трамблёре
да причем здесь как сделан тахометр в машине))) фиг бы с ним
1) с катушки зажигания идет не ШИМ. ШИМ - это когда частота следования постоянная (период сигнала постоянен), а скважность сигнала меняется (отношение когда сигнал в 1 по отношению когда сигнал в 0 в течении 1 периода времени).
2) с катушки идет сигнал с изменяемой частотой. при том частота у него при 1000 об/мин - 33,33 Гц, при 6000 об/мин - 200 Гц.
3) ловить надо прерыванием по фронтам импульсы с катушки и оперировать этими данными
4) мерить можно либо считая кол-во фронтов за промежуток времени либо промежуток времени между фронтами. Зависит от того что важнение, точность или скорость реакции на измерение.
5) можно выбросы убрать за счет усреднения данных на 10 - 20 считываниях (програмный ФНЧ).
Это я понимаю, но из-за каких-то наводок часть импульсов теряется, а часть вклинивется, и для этого метода нужна очнь хорошая экранировка.
Есть ещё один вариант: Замерить скважность транзистора, управляемого этим ШИМ сигналом. Как показывает тест с вольтметром, в этом случае система остаётся достаточно инерционна, чтобы сглаживать мелкие колебания, но при этом достаточно оперативна, чтобы считывать изменение оборотов с минимальной задержкой и приэтом не особо зависит посторонних наводок.
По этому хотелось бы использовать именно этот вариант
Еще раз
с катушки зажигания идет не ШИМ. ШИМ - это когда частота следования постоянная (период сигнала постоянен), а скважность сигнала меняется (отношение когда сигнал в 1 по отношению когда сигнал в 0 в течении 1 периода времени).
Откуда вы берете что с катушки идет ШИМ ??????
а зачем тогда ардуина если хочешь аналоговое решение? поставь вольтметр. на стрелку полоску бумаги и фотодачитк. дошло до определенных оборотов замкнулась цепь
да причем здесь как сделан тахометр в машине))) фиг бы с ним
А при том, что фактически нужно сделать автомобильный тахометр, который работал бы при конкретных условиях, и потом к нему привязать управление нагрузкой. В аналоге это сделать не полчилось, потому, что в управлении нагрузкой нужно много логических выражений и приём сигнала с других датчиков.
не вижу зачем привязка к аналоговому вводу сигнала. математически можно иголки убрать. обороты не меняются за долю секунды (в твоем случае как минимум)
думаешь только вольтметр может усреднять данные?
а зачем тогда ардуина если хочешь аналоговое решение? поставь вольтметр. на стрелку полоску бумаги и фотодачитк. дошло до определенных оборотов замкнулась цепь
Нужно плавное управление нагрузкой, в зависимости от оборотов, плюс считывание датчиков температуры. уровня, и проче защиты.
Прикрепить к стрелке вольтметра ползенковый реостат не предлагать ))))) ибо порнография и не осилит )))
ну фиг с тобой. тебя не пробьешь и не переубедишь. делай аналоговый фильтр))
http://cxem.net/arduino/arduino66.php
Читайте...
не вижу зачем привязка к аналоговому вводу сигнала. математически можно иголки убрать. обороты не меняются за долю секунды (в твоем случае как минимум)
думаешь только вольтметр может усреднять данные?
Вольтметр не усредняет данные, он показывает эффектиную нагрузку, которая зависит от скважности транзистора, то бишь чястота маленькая - транзистор открывается реже и эфективная нагрузка например не 5 а 2 вольта, обороты поднялись - транзистор открывается чаще, эффективная нагрузка уже не 2, а 4 вольта. Но это не среднее значение.
Вот мне надо что-то добавить в схему или в программу, чтобы ардуино видел именно вотэто напряжение, а не шим сигнал
http://cxem.net/arduino/arduino66.php
Читайте...
Пожалуйяста читайте суть сабжа, а не только шапку. Тахометр на счётчике ШИМ не годится из-за специфике, нужено решение по измерению скважности транзистора, управляемого ШИМ сигналом
мда. я пас
ну фиг с тобой. тебя не пробьешь и не переубедишь. делай аналоговый фильтр))
Тут дело не в том, что я упёртый, просто счётчик ШИМ не годится из-за специфики.
это не шим)))
Почему вы решили что идет ШИМ ? что за автомобиль ? что за тахометр ? что за катушка ?
ПОЧЕМУ ШИМ ???
Почему вы решили что идет ШИМ ? что за автомобиль ? что за тахометр ? что за катушка ?
ПОЧЕМУ ШИМ ???
Ну может я не совсем правильно выразился, Если копнуть глубоко, то это не совсем ШИМ, но тоже П- образный сигнал, с фиксированой амплитудой и меняющейся частотой, разве что подмодуляций нет, Машина Нива 213, катушка зажигания, с которой идёт бронепровод на трамблёр. Тахометр надо собрать на ардуине, вкачестве входящих значений спользовать скважность транзистора, управляемого сигналом с катушки.
Алилуя, мы выяснили что это не ШИМ :) а сигнал с изменяемой частотой.
Если вас смущает, что много помех и наводок на провод, который идет от катушки через все подкапотное пространство, возмите значение с щитка приборов (разве 213 карбюраторная ?), это отдельный вывод с коммутатора, специально для тахометра. Либо с датчика хола трамблера.
Короткие пиковые наводки можно сгладить RC фильтром. ИМХО необходимости в этом нет, если вы будете использовать http://cxem.net/arduino/arduino66.php (там усреднение на 10 считываний).
Алилуя, мы выяснили что это не ШИМ :) а сигнал с изменяемой частотой.
Если вас смущает, что много помех и наводок на провод, который идет от катушки через все подкапотное пространство, возмите значение с щитка приборов (разве 213 карбюраторная ?), это отдельный вывод с коммутатора, специально для тахометра. Либо с датчика хола трамблера.
Короткие пиковые наводки можно сгладить RC фильтром. ИМХО необходимости в этом нет, если вы будете использовать http://cxem.net/arduino/arduino66.php (там усреднение на 10 считываний).
213 карбюраторная, 214 -инжектор просто блок будет управлять нагрузкой до 40 ампер, поэтому тащить его в салон не охота, а под капотом в плане наводок всё настолько плохо, что даже выкинутвый ни к чему не подключённый провод от входа ардуино начинает принимать индукционные наводки от катушки, от бронепроводов, от свечей, от генератора и походу откуда-то из Альфа-Центавры... По этому запитаться от трамблёра или от комутатора, это вариант, но запасной, лучше и стабильнее будет работать со скважностью транзистора, потаму что какая ни какая, а нагрузка и эти помехи влиять будут не так сильно
Для инфы, может поможет...
У вас вход катушки, именно катушки, в момент отсутсвия синала, находится в высокоимпендансном состоянии (Выход комутатора - открытый коллектор).
Подтяните его к питанию (+ 12 v) через резистор на 10 - 20 кОм . На работе системы зажигания это сказатся не должно.
Алилуя, мы выяснили что это не ШИМ :) а сигнал с изменяемой частотой.
Если вас смущает, что много помех и наводок на провод, который идет от катушки через все подкапотное пространство, возмите значение с щитка приборов (разве 213 карбюраторная ?), это отдельный вывод с коммутатора, специально для тахометра. Либо с датчика хола трамблера.
Короткие пиковые наводки можно сгладить RC фильтром. ИМХО необходимости в этом нет, если вы будете использовать http://cxem.net/arduino/arduino66.php (там усреднение на 10 считываний).
А ещё в 213 ниве, как оказалось нет спец выхода под тахометр на комутаторе, он цепляется прямо на катушку зажигания. а если на дату трамблёра повесить оптопару, то машина глохнет, то бишь тока не хватает. В итоге получается, что всё равно придётся брать сигнал с катушки ((((
Для инфы, может поможет...
У вас вход катушки, именно катушки, в момент отсутсвия синала, находится в высокоимпендансном состоянии (Выход комутатора - открытый коллектор).
Подтяните его к питанию (+ 12 v) через резистор на 10 - 20 кОм . На работе системы зажигания это сказатся не должно.
Извините, немного не понял идею, к чему это приведёт в плане результата? Если я правильно понимаю, то при этом на выходе всегда будет цифровая еденица, а в аналоге сигнал будет не 12 и 0 а 12 и 3 (грубо говоря) или я что-то не понял?
1) вариант - от катушки
http://www.niva-faq.msk.ru/tehnika/elektro/panel/t2121.htm
там схема тахометра (такой ставился на 2106, но вроде как схемы должны совпадать)
Судя по эпюрам напряжений, с катушки сигнал идет пульсирующий, и его напрямую подключать к цифровому входу.
В вашем случае, надо воспользоваться схемой, указанной на рисунке слева сверху, и уже к ней попробывать подключить оптопару через токаограничивающий резистор.
2) вариант - от трамблера (если он электронный с датчиком хола)
я предпологаю что оптопару вы подключили без токаограничивающего ресистора, тем самым вы замкнули выход датчика на массу. Конечно двигатель заглохнет... см http://alex---1967.narod.ru/probniki_for_automobile.html в конце страницы, только вместо диода у вас будет оптопара
Что за оптопара используется ? какой у нее ток потребления ? могу предположить что 2 - 5 кОм резистора будет вполне достаточно.
1) вариант - от катушки
http://www.niva-faq.msk.ru/tehnika/elektro/panel/t2121.htm
там схема тахометра (такой ставился на 2106, но вроде как схемы должны совпадать)
Судя по эпюрам напряжений, с катушки сигнал идет пульсирующий, и его напрямую подключать к цифровому входу.
В вашем случае, надо воспользоваться схемой, указанной на рисунке слева сверху, и уже к ней попробывать подключить оптопару через токаограничивающий резистор.
2) вариант - от трамблера (если он электронный с датчиком хола)
я предпологаю что оптопару вы подключили без токаограничивающего ресистора, тем самым вы замкнули выход датчика на массу. Конечно двигатель заглохнет... см http://alex---1967.narod.ru/probniki_for_automobile.html в конце страницы, только вместо диода у вас будет оптопара
Что за оптопара используется ? какой у нее ток потребления ? могу предположить что 2 - 5 кОм резистора будет вполне достаточно.
как раз минут тридцать назад подключал схему от тахометра, но заместо стрелки подцепил резистор того же сопротивления, и на ардуино. Результат получился довольно интересный:
Во первых сигнал получился импульсный, но ноль притянут не к земле, а видимо к 12 вольтам через резистор, в результате как цифровой его не считать, а вот на аналоге чётко видно пики в местах импульсов, плюс к этому после определённой частоты, сигнал становится полностью аналоговым, то есть идут сплошь пики и затухания(не нули, а затухания импульсов), с повышением напряжения при дальнейшем повышении частоты оборотов. Но зато всё идёт чётко и ровно без пропусков и наводок, небольшое дребезжание есть, но с ним можно бороться програмно. Завтра попробую записать дамп всего этого и составить более чёткую карту всего этого безобразия, но стабильность уже радует, значит можно уже подогнать под это дело алгоритм, хоть это и не совсем то, что хотелось.
Оптопару использую 4n25, подключаю через резистор в 100 ом ток у неё на сколько я помню максимальный до 120 миллиампер, пороговый - 60, по рассчётам рабочий должен быть в районе 70 - 80 миллмиампер. Конденатор не ставил, побоялся, что будет мешать катушке.
одна из лучших тем. с удовольствием можно перечитывать