Снять показания с катушки автомобиля

Baltazar
Offline
Зарегистрирован: 02.10.2014

В общем-то суть проблемы:  Нужно зацепиться в машине паралельно тахометру (то бишь на катушку зажигания) и, в зависимости от оборотов, управлять нагрузкой. С силовым блоком выхода проблем нет. На катушку кидаю через резистор транзисторную оптопару и в идеале должен получиться ШИМ диммер и при замере вольтметром оно так и получается, но при подключении на ардуино, она видит ШИМ сигнал из 0 и 5 вольт. Пробовал считать расстояния между импульсами - вариант дохлый, потому что почему-то образуются пропуски сигналов (просто выводил импульсы и сам считал расстояния между ними), вплоть до пропуска целого цикла, хотя двигатель работает ровно и никаких пропусках в работе горшков нету и вольтметр показывает ровно. Не пойму где ошибка и как эту бяку всётаки правильно зацепить к ардуине

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

использовать прерывание. пины 2 или 3

http://arduino.ru/Reference/AttachInterrupt

так точно ничего не пропустишь

Baltazar
Offline
Зарегистрирован: 02.10.2014

А смысл? Ведь считается время между соседними импульсами, а если они почему-то теряются, то время уже будет рассчитываться не верно.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

как теряются? ардуина их пропустила или на осциллографе увидел?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

а зачем с катушки ? с датчика Холла проще.... и безопаснее....

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Baltazar пишет:

А смысл? Ведь считается время между соседними импульсами, а если они почему-то теряются, то время уже будет рассчитываться не верно.


Смысл в том что нужно пользоваться головой.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Смысл в том что нужно пользоваться головой.

ваабще тупеешь от попкорна ? В ГОЛОВУ - ЕДЯТ ! ( кушают )

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

Смысл в том что нужно пользоваться головой.

ваабще тупеешь от попкорна ? В ГОЛОВУ - ЕДЯТ ! ( кушают )


А некоторые так даже вообще ЖРУТ!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ой, пардон, ЖРУТ - это чё ? НИИХУЯ - знаю.... ЖРУТ - университет труда ? или чё ?

Baltazar
Offline
Зарегистрирован: 02.10.2014

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

Baltazar
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

как теряются? ардуина их пропустила или на осциллографе увидел?

я тупо прописал на ардуину, чтобы она выводила статус входа, без делеев, а потом смотрел листинг и считал количество нулей между импульсами, местами было всё ровно, а местами были провалы, например идёт 7 нулей, 7 нулей, 19 нулей, 3 нуля, 7 нулей... Откуда эти провалы взялись, я так и не понял, потаму что как уже говорил, двигатель работал ровно и всё время был подключен вольтметр для контроля. То ли ардуина подвисает, то ли наводки сильные идут

Baltazar
Offline
Зарегистрирован: 02.10.2014

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

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Попробуйте ей еще думать. Когда ардуина занята печатью в компорт, а тут ваш импульс. Она его посчитает? Вам выше наптсали про прерывания но вас это не устроило.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

Baltazar пишет:

jeka_tm пишет:

как теряются? ардуина их пропустила или на осциллографе увидел?

я тупо прописал на ардуину, чтобы она выводила статус входа, без делеев, а потом смотрел листинг и считал количество нулей между импульсами, местами было всё ровно, а местами были провалы, например идёт 7 нулей, 7 нулей, 19 нулей, 3 нуля, 7 нулей... Откуда эти провалы взялись, я так и не понял, потаму что как уже говорил, двигатель работал ровно и всё время был подключен вольтметр для контроля. То ли ардуина подвисает, то ли наводки сильные идут

как? digitalread постоянный и отправка в uart данных?

Baltazar
Offline
Зарегистрирован: 02.10.2014

analogread и отправка в serial.print

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

да и зачем analogRead. нужно digitalRead как минимум во первых. сигнал то цифровой. да и analogRead намного медленнее

отправка в uart и занимает время, так же как и analogRead

я уже предлагал вариант как сделать

 

Baltazar
Offline
Зарегистрирован: 02.10.2014

Puhlyaviy пишет:
Попробуйте ей еще думать. Когда ардуина занята печатью в компорт, а тут ваш импульс. Она его посчитает? Вам выше наптсали про прерывания но вас это не устроило.

 

Тоже грешил на serial.print. Но скачки шли даже без его испольования, то бишь сначала собрал ардуино, оптопару и обвязку, прошил скетч, который считает импульсы и, взависимости от частоты, регулирует накал лампочки, оттестил на стенде с вентилятором, всё работает чётко, зацепил на катушку и увидел чёрти какое поведение лампочки: то резко тухнет, то резко вспыхивает. Тогда уже подключился к ардуине, прописал serial.print.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А он не верит твоим вариантам.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

Пухлявый, он читает только твои сообщения))

Baltazar
Offline
Зарегистрирован: 02.10.2014

Analogread использовал заодно для контроля поступающего на ардуино напряжения, чтобы по верхам не било. A serial.print вынужденная мера, его в итоговом скетче не будет, ардуина будет работать без связи с компом. И насчёт скорости, то связка analogRead и Serial.print спокойно справляется с частотами, которые используются в автомобиле. Мне не нужны суперточные данные, глвное посмотреть стабильность. А скорости хватает даже для того, чтобы ловить ШИМ сигнал, генерирунемый самой ардуиной. вплоть до 200 спокойно можно проследить ширину и модуляцию, а в автомобиле частота в разы меньше. 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну значит ты и сам знаешь как делать и просто с нами делишься

хорошо. так бы сразу и сказал

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

jeka_tm пишет:

Пухлявый, он читает только твои сообщения))


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

Baltazar
Offline
Зарегистрирован: 02.10.2014

Puhlyaviy пишет:
А он не верит твоим вариантам.

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

Baltazar
Offline
Зарегистрирован: 02.10.2014

Puhlyaviy пишет:
jeka_tm пишет:

Пухлявый, он читает только твои сообщения))

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

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

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Я щас подвис. С катушки зажигания читаем шим? И на основании этого делаем вывод об оборотах?

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

1) с катушки зажигания идет не ШИМ. ШИМ - это когда частота следования постоянная (период сигнала постоянен), а скважность сигнала меняется (отношение когда сигнал в 1 по отношению когда сигнал в 0 в течении 1 периода времени). 

2) с катушки идет сигнал с изменяемой частотой. при том частота у него при 1000 об/мин - 33,33 Гц, при 6000 об/мин - 200 Гц. 

3) ловить надо прерыванием по фронтам импульсы с катушки и оперировать этими данными

4) мерить можно либо считая кол-во фронтов за промежуток времени либо промежуток времени между фронтами. Зависит от того что важнение, точность или скорость реакции на измерение.  

5) можно выбросы убрать за счет усреднения данных на 10 - 20 считываниях (програмный ФНЧ).

 

 

 

Baltazar
Offline
Зарегистрирован: 02.10.2014

Puhlyaviy пишет:
Я щас подвис. С катушки зажигания читаем шим? И на основании этого делаем вывод об оборотах?

Ну в общем-то да, тахометр работает по той же схеме. снимает ШИМ с катушки, а потом либо считает его полезное нагрузочное напряжение (тогда в качестве датчика используется вольтметр) либо понижает и цепляет на нарузку (тогда в качестве используетсямилиамперметр). Катушка есличто работаетне постоянно,она включается только податчику хола в трамблёре

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

да причем здесь как сделан тахометр в машине))) фиг бы с ним

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

1) с катушки зажигания идет не ШИМ. ШИМ - это когда частота следования постоянная (период сигнала постоянен), а скважность сигнала меняется (отношение когда сигнал в 1 по отношению когда сигнал в 0 в течении 1 периода времени). 

2) с катушки идет сигнал с изменяемой частотой. при том частота у него при 1000 об/мин - 33,33 Гц, при 6000 об/мин - 200 Гц. 

3) ловить надо прерыванием по фронтам импульсы с катушки и оперировать этими данными

4) мерить можно либо считая кол-во фронтов за промежуток времени либо промежуток времени между фронтами. Зависит от того что важнение, точность или скорость реакции на измерение.  

5) можно выбросы убрать за счет усреднения данных на 10 - 20 считываниях (програмный ФНЧ).

 

 

 

 

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

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

По этому хотелось бы использовать именно этот вариант

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Еще раз 

с катушки зажигания идет не ШИМ. ШИМ - это когда частота следования постоянная (период сигнала постоянен), а скважность сигнала меняется (отношение когда сигнал в 1 по отношению когда сигнал в 0 в течении 1 периода времени). 

Откуда вы берете что с катушки идет ШИМ ??????

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

Baltazar
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

да причем здесь как сделан тахометр в машине))) фиг бы с ним

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

думаешь только вольтметр может усреднять данные?

Baltazar
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

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

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

Прикрепить к стрелке вольтметра ползенковый реостат не предлагать ))))) ибо порнография и не осилит )))

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну фиг с тобой. тебя не пробьешь и не переубедишь. делай аналоговый фильтр))

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014
Baltazar
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

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

думаешь только вольтметр может усреднять данные?

Вольтметр не усредняет данные, он показывает эффектиную нагрузку, которая зависит от скважности транзистора, то бишь чястота маленькая - транзистор открывается реже и эфективная нагрузка например не 5 а 2 вольта, обороты поднялись - транзистор открывается чаще, эффективная нагрузка уже не 2, а 4 вольта. Но это не среднее значение.

Вот мне надо что-то добавить в схему или в программу, чтобы ардуино видел именно вотэто напряжение, а не шим сигнал

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

http://cxem.net/arduino/arduino66.php

Читайте...

Пожалуйяста читайте суть сабжа, а не только шапку. Тахометр на счётчике ШИМ не годится из-за специфике, нужено решение по измерению скважности транзистора, управляемого ШИМ сигналом

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

мда. я пас

Baltazar
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

ну фиг с тобой. тебя не пробьешь и не переубедишь. делай аналоговый фильтр))

Тут дело не в том, что я упёртый, просто счётчик ШИМ не годится из-за специфики. 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

это не шим)))

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Почему вы решили что идет ШИМ ? что за автомобиль ? что за тахометр ? что за катушка ?

ПОЧЕМУ ШИМ ??? 

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

Почему вы решили что идет ШИМ ? что за автомобиль ? что за тахометр ? что за катушка ?

ПОЧЕМУ ШИМ ??? 

Ну может я не совсем правильно выразился, Если копнуть глубоко, то это не совсем ШИМ, но тоже П- образный сигнал, с фиксированой амплитудой и меняющейся частотой, разве что подмодуляций нет, Машина Нива 213, катушка зажигания, с которой идёт бронепровод на трамблёр. Тахометр надо собрать на ардуине,  вкачестве входящих значений спользовать скважность транзистора, управляемого сигналом с катушки.

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Алилуя, мы выяснили что это не ШИМ :) а сигнал с изменяемой частотой.

Если вас смущает, что много помех и наводок на провод, который идет от катушки через все подкапотное пространство, возмите значение с щитка приборов  (разве 213 карбюраторная ?), это отдельный вывод с коммутатора, специально для тахометра. Либо с датчика хола трамблера. 

Короткие пиковые наводки можно сгладить RC фильтром.  ИМХО необходимости в этом нет, если вы будете использовать http://cxem.net/arduino/arduino66.php (там усреднение на 10 считываний).

 

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

Алилуя, мы выяснили что это не ШИМ :) а сигнал с изменяемой частотой.

Если вас смущает, что много помех и наводок на провод, который идет от катушки через все подкапотное пространство, возмите значение с щитка приборов  (разве 213 карбюраторная ?), это отдельный вывод с коммутатора, специально для тахометра. Либо с датчика хола трамблера. 

Короткие пиковые наводки можно сгладить RC фильтром.  ИМХО необходимости в этом нет, если вы будете использовать http://cxem.net/arduino/arduino66.php (там усреднение на 10 считываний).

 

 

213 карбюраторная, 214 -инжектор просто блок будет управлять нагрузкой до 40 ампер, поэтому тащить его в салон не охота, а под капотом в плане наводок всё настолько плохо, что даже выкинутвый ни к чему не подключённый провод от входа ардуино начинает принимать индукционные наводки от катушки, от бронепроводов, от свечей, от генератора и походу откуда-то из Альфа-Центавры... По этому запитаться от трамблёра или от комутатора, это вариант, но запасной, лучше и стабильнее будет работать со скважностью транзистора, потаму что какая ни какая, а нагрузка и эти помехи влиять будут не так сильно

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Для инфы, может поможет...

У вас вход катушки, именно катушки, в момент отсутсвия синала, находится в высокоимпендансном состоянии (Выход комутатора - открытый коллектор). 

Подтяните его к питанию (+ 12 v) через резистор на 10 - 20 кОм . На работе системы зажигания это сказатся не должно.

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

Алилуя, мы выяснили что это не ШИМ :) а сигнал с изменяемой частотой.

Если вас смущает, что много помех и наводок на провод, который идет от катушки через все подкапотное пространство, возмите значение с щитка приборов  (разве 213 карбюраторная ?), это отдельный вывод с коммутатора, специально для тахометра. Либо с датчика хола трамблера. 

Короткие пиковые наводки можно сгладить RC фильтром.  ИМХО необходимости в этом нет, если вы будете использовать http://cxem.net/arduino/arduino66.php (там усреднение на 10 считываний).

 

А ещё в 213 ниве, как оказалось нет спец выхода под тахометр на комутаторе, он цепляется прямо на катушку зажигания. а если на дату трамблёра повесить оптопару, то машина глохнет, то бишь тока не хватает. В итоге получается, что всё равно придётся брать сигнал с катушки ((((

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

Для инфы, может поможет...

У вас вход катушки, именно катушки, в момент отсутсвия синала, находится в высокоимпендансном состоянии (Выход комутатора - открытый коллектор). 

Подтяните его к питанию (+ 12 v) через резистор на 10 - 20 кОм . На работе системы зажигания это сказатся не должно.

Извините, немного не понял идею, к чему это приведёт в плане результата? Если я правильно понимаю, то при этом на выходе всегда будет цифровая еденица, а в аналоге сигнал будет не 12 и 0 а 12 и 3 (грубо говоря) или я что-то не понял?

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

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 кОм резистора будет вполне достаточно.

Baltazar
Offline
Зарегистрирован: 02.10.2014

roman2712@mail.ru пишет:

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 миллмиампер. Конденатор не ставил, побоялся,  что будет мешать катушке.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

одна из лучших тем. с удовольствием можно перечитывать