датчик положения дроссельной заслонки

Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить
Грызет канифоль
Сообщения: 293
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

Нехорошее совпадение. Очень вероятно, что либо просадка напряжения, либо помеха виной.

Замените в этом скетче user и device на свои. В user уберите // перед #define TURN_RESET

Теперь, как только экран счётчика сбрасывается на давление, счётчик обнуляется и считает заново. То есть, без разницы в какую сторону крутится - счёт идёт с нуля, если экран вернулся на давление.
При этом диапазоны напряжения датчика остаются в силе - если сигнал вне их, считать не будет.
Посмотрим, насколько это стабильно.
Вложения
sketch_33.zip
(8.65 КБ) 3 скачивания
Реклама
Прорезались зубы
Сообщения: 201
Зарегистрирован: Вт июн 01, 2021 22:09:42

Сообщение ЗАВ »

сделал. считает все время в накопление , вне зависимости от направления. из 4 прогонов сброс/ подъем. 2 раза при подъеме (в момент включения мотора лебедки ), произошел сбой показаний - они увеличились скачкообразно с 40 до 60 , и с 80 до 114 . похоже на помехи. где рыть ? питание ардуино ? или питание датчика (оно висит прям на питании мотора)? буду пробовать запитывать по другому.
самое сложно - сделать просто
Реклама
Грызет канифоль
Сообщения: 293
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

Питание Ардуино в первую очередь. Тот самый супрессор с рабочим напряжением 5 В и достаточно большой электролитический конденсатор. Первый ограничит всплеск перенапряжения, второй сгладит просадку. А лучше найти схемы питания автомобильных блоков управления двигателем.
Но, в целом, получается, на финишной прямой уже. Значит, надо теперь привести показания импульсов к реальным оборотам, с одной цифрой после запятой?
Прорезались зубы
Сообщения: 201
Зарегистрирован: Вт июн 01, 2021 22:09:42

Сообщение ЗАВ »

да. один знак. напомню сейчас счетчик считает все время в плюс. датчик проверил отдельным питанием - это не он.
самое сложно - сделать просто
Реклама
Эиком - электронные компоненты и радиодетали
Грызет канифоль
Сообщения: 293
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

Чтобы не считал всё время в плюс, достаточно в файле user поставить // перед #define TURN_RESET
С дробным числом сегодня ночью повожусь.
Реклама
Прорезались зубы
Сообщения: 201
Зарегистрирован: Вт июн 01, 2021 22:09:42

Сообщение ЗАВ »

не получается побороть помехи по питанию. 12в приходит на цифровой стабилизатор он выдает 5 в, пробовал на 5в поставить 1000 мкф+0,1мкф. толку нет. откидываю датчик включаю мотор - появился ноль на счетчике. супрессора нет. какой они маркировки (на платах поискать планирую). придется тянуть линию для датчика +- в экране. с одним проводом тоже скачет. что еще с питанием можно сделать ?
самое сложно - сделать просто
Реклама
Грызет канифоль
Сообщения: 293
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

Они выглядят как диоды, а маркировка может быть различна у разных фирм. Проще проверить маркировку всех, которые стоят параллельно цепям питания и сигналов, то есть, как правило (есть и куча исключений), один вывод будет на общем, а другой на цепи + или сигнала.
И ограничиться корпусами SMA, SMB, SMC (они бывают и в куче других, но это тогда очень усложнит поиск).

А если временно запитать от батареек каких-нибудь?
Или Вы уже увидели на приборе характер беды с питанием-сигналом?
И, кстати, не может ли это быть родственным и к проблеме с флэшками?
Прорезались зубы
Сообщения: 201
Зарегистрирован: Вт июн 01, 2021 22:09:42

Сообщение ЗАВ »

с акб + отдельная 2-х жильная линия работает приемлемо (не идеально).
похоже проблема решается по другому. поднимаю напряжение до 9 и 5 вольт, а у ардуино ставлю делитель 5,1к+5,1к. проверил с БП , вроде работает без помех. буду опять переделывать.
с флешками проблему решил - отказался от мини. приемник заработал с фильтром + 10 000мкф.
самое сложно - сделать просто
Грызет канифоль
Сообщения: 293
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

Как обычно, файлы user и device оставляете свои, но в user найдите строчку

Код: Выделить всё

#define TURN_IMPULS 1  // Количество импульсов, изменяющих счётчик на единицу. \
                       // Это значение выступает в качестве делителя, т. е. нельзя делать равным 0 !
и замените на

Код: Выделить всё

// Масштабирование импульсов на единицу счётчика. Записывается двумя значениями: числитель TURN_IMPULS_K и знаменатель TURN_IMPULS_D.
// Например: при 106 импульсах счёчик должен показать 30. Значит, коэффициент 106/30, тогда TURN_IMPULS_K 106 и TURN_IMPULS_D 30                       
#define TURN_IMPULS_K 106 // Числитель коэффициента деления счётчика. 
#define TURN_IMPULS_D 30 // Знаменатель. Это значение нельзя делать равным 0 !
Теперь счётчик будет показывать в стиле XX.X (с округлением) и масштабироваться к необходимым показаниям.
Вложения
sketch_34.zip
(10.33 КБ) 2 скачивания
Прорезались зубы
Сообщения: 201
Зарегистрирован: Вт июн 01, 2021 22:09:42

Сообщение ЗАВ »

огромное спасибо. все заработало.
пришлось переработать схему управления датчиком холла. с него прилетали помехи, были пропуски - тормоза. (то много , то мало импульсов- оказывается все не так просто...)
слишком высокая частота опроса ТРИМ и ДАВЛЕНИЕ. как ее снизить ? в комментарии , в скетче, написано - "период опроса". значение в строке это количество опросов в миллисекунду или количество миллисекунд в опросе ? было 50 изменил на 1 - разницы не увидел.
самое сложно - сделать просто
Грызет канифоль
Сообщения: 293
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

Да, #define FREQ_TRIM и #define FREQ_PRESSURE - частота изменения показаний на индикаторах ТРИМ и ДАВЛЕНИЕ. Но комментарии писались в самом начале, потом код начал меняться и в результате миллисекунды превратились в "попугаев". Можно просто поставить сразу 500 и посмотреть, если много - 250, если мало 375 и так далее, всё время изменяя на половинку оставшегося диапазона между старыми значениями (бинарный поиск).

Раз всё заработало, сегодня перепроверю комментарии и приведу их в соответствие реальным, допишу недописанные, чтобы в дальнейшем код можно было легко исправить любому. У Ардуины осталась ещё масса ресурсов, да и выводы есть, так что, можно и ещё что-то реализовать.

__________________
Обновление:
device.h изменён, его надо заменить (необходимые настройки АЦП и индикатора уже внёс). Там появились две настройки - частота процессора и предделитель таймера, они уже установлены для Вашего варианта Ардуино (если его частота 20 МГц).

Теперь значения FREQ_TRIM и FREQ_PRESSURE - это действительно десятки миллисекунд, например FREQ_TRIM 20 - это обновление пять раз в секунду.
(Замечу, что это лишь обновление на экране. Все три канала выдают результат с одинаковой частотой, около 1 кГц).
Значение TURN_DELAY - действительно секунды.
Файл user.h изменился только комментариями, можно оставить Ваш предыдущий или установить заново параметры в новом.

Во всей программе написал комментарии более чем подробно, теперь, если понадобится снова что-то доработать, это сможет любой начинающий с Arduino/AVR.
Вложения
sketch_35.zip
(11.65 КБ) 1 скачивание
Прорезались зубы
Сообщения: 201
Зарегистрирован: Вт июн 01, 2021 22:09:42

Сообщение ЗАВ »

еще раз спасибо. опробую в поле (т.е. на воде). если что будет не так отпишусь.
самое сложно - сделать просто
Ответить

Вернуться в «АвтоМотоВело»