Управление вентиляторами двигателя с помощью freeduino
Здравствуйте всем. У меня в планах замена ЭСУД hyundai accent на январь 7, т.к он поддается настройке. Спортивное ПО января не поддерживает работу кондиционера и многоступенчатое управление вентиляторами, т.е он просто его включает и выключает по температуре тосола. В хундае два вентилятора на радиатор тосола и радиатор кондиционера. Работают они на двух скоростях по данной блок-схеме или алгоритму:
Код:
если кондиционер выкл:
скорость вентилятор температура тосола
-30 94,5 102 107
V < 45 тосол off low high
кондиц off low high
45 <= V < 80 тосол off low high
кондиц off low high
80 < V тосол off high
кондиц off high
если кондиционер включен:
среднее давление скорость вентилятор температура тосола
фреона kg/cm^2 -30 94,5 102 107
больше 18 тосол high
кондиц high
меньше 18 V < 20 тосол low low low high
кондиц low low low high
20 <= V < 80 тосол off low high
кондиц off low high
80 < V тосол off high
кондиц off high
low и high это первая и вторая скорость вентиляторов
В электронике я к сожалению не силен, могу совсем чучуть программировать, поэтому для реализации этого алгоритма выбор пал на Arduino. У меня проблема в том что я не могу посчитать длину импульса (функцией pulseIn) датчика скорости, потому что как я понял он у меня не цифровой, а исполнен в виде геркона в панели приборов. Посоветуйте мне что нибудь пожалуйста, я со своими познаниями в тупике. Есть только одна мысль в сторону АЦП для этого импульса.
Спасибо всем :confused:!
Re: Управление вентиляторами с помощью freeduino
Не совсем понял длителность какого импульса тебе нужно подсчитать?
Геркон это слаботочное реле, так же может срабатывать от постоянного магнита, поэтому тоже не понятно зачем тут АЦП
Re: Управление вентиляторами с помощью freeduino
магнит вращается через трос от кпп и замыкает/размыкает геркон (размещённый в приборке).
ЭСУД рассчитывает скорость от длительности замкнутого состояния (я так думаю). У меня на 1 км пути = 2550 импульсов по тех. документации (получается 2550 замыканий геркона). Вот как то так.
На ВАЗах инжекторных например датчик скорости с микросхемой внутри выдает квадратный сигнал (или цифровой импульс). Может ошибаюсь, но он есть датчик холла.
Какая форма сигнала нужна для pulseIn? (не знаю насколько корректный вопрос)
Re: Управление вентиляторами с помощью freeduino
Для pulseIn должен быть TTL, не более 5,5в на входе.
А на контактах геркона скольки вольтовый импульс?
Re: Управление вентиляторами с помощью freeduino
Когда машина стоит и герк. замкнут китайский тестер показывает 7.2, когда еду 3.18
Проблему вроде решил, ответ нашёл на http://www.arduino.cc/cgi-bin/yabb2/...=1244483843/13
Там у человека анемометр (скорость ветра) тоже геркон с магнитом, выдавал пилообразный сигнал. Вообщем на вход помимо провода от датчика кинул +5в (с freeduino) через резистор 20к (какой был), по двору вперёд назад покатался начал что то показывать (смотрю через Serial.Write). Щас поеду прокачусь, посмотрю что там на разных скоростях.
Chip скажи безграмотному что такое TTL? Time to live? т.е время жизни высокого или низкого сигнала?
Re: Управление вентиляторами с помощью freeduino
Транзисторно-транзисторная логика (ТТЛ, TTL)
Диапазон входных напряжений от 0в до + 5 В (уровень TTL)
Re: Управление вентиляторами с помощью freeduino
Поездил с этой схемой. В принципе показывает то что рассчитывал (~32000 мкс) на скорости около 40.
Но местами показывает совсем не то 37, 50 , 18, 323...........
Если поводить чем нибудь например пальцем по входному пину, получается тоже самое.
Chip не знаешь что может быть? Помехи или наводки какие нибудь? Может продумать другую схему, по грамотнее.
В той же теме на arduino.cc, кто то предложил включить через компаратор напряжения LM393, но на практике мой интеллект не осилит :confused:
Re: Управление вентиляторами с помощью freeduino
Нужно подтягивать вход Arduino на землю через резистор, тогда помех не будет
Re: Управление вентиляторами с помощью freeduino
а какой номинал резистора взять? и у меня уже подтянуто +5 ко входу через 20к
Re: Управление вентиляторами с помощью freeduino
Тогда я вообще не понимаю ...
Если с геркона приходит положительный импульс, то почему подтягиваешь к плюсу???