Адаптер спидометра своими руками

Добавил пользователь Дмитрий К.
Обновлено: 20.09.2024

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

Корректор электронного (стрелочного) спидометра на ARDUINO

Корректор электронного (стрелочного) спидометра на ARDUINO

Добрый день!
Я тут пытался найти исходники корректора спидометра в интернете. В итоге сделал все сам, ибо нету. Нашел только исходник спидометра и применил его в своём проекте.

Транзистор я применил какой валялся в ящике - kc238b, кажется это аналог обычного кт315, точно не помню.
3 цифровой pin на ARDUINO это сигнал с датчика скорости (у меня на бусе применен датчик фаз от 8 клапанного ВАЗ)
4 цифровой pin на ARDUINO это выход на стрелочный спидометр.
Спидометр я применил от УАЗ. Он дешевый и его легко встроить в нашу приборку вместо родного тросового.
A0 - аналоговый вход, сюда подключается потенциометр для регулировки. Можно любой.
Я применил 3,3kOm (контакты слева направо GND/СИГНАЛ/+5V)

Корректор электронного (стрелочного) спидометра на ARDUINO

То есть это электронный редуктор.
Правильно?
Можно сопрячь любой датчик скорости с любым спидометром?
Электронным естественно.

Корректор электронного (стрелочного) спидометра на ARDUINO

Корректор электронного (стрелочного) спидометра на ARDUINO

Хорошая штука, эта плата способна ещё и корректировать тахометр, в случае изменений количества цилиндров. Вещь!

Корректор электронного (стрелочного) спидометра на ARDUINO

У меня в планах сделать в итоге, повесить ардуину (arduino pro mini) в приборку, чтобы она не только мерила скорость, но и мерила количество бензина в баке от ВАЗ датчика и согласовывала со стрелкой в нашей приборке.
А также хочу на её основе климат-контроль в бусе сделать. Пинов свободных много - пусть замеряет температуру в салоне и заслонками рулит.
Если хватит её ресурсов, чтобы это все одна плата делала.

Можно хоть на сигнал от датчика ABS повесить (а там много зубов на оборот, около 60 шт). Только коэффициент правильно подобрать.
Любой репер можно, с любым количеством зубов. Главное чтобы датчик давал квадратный сигнал от 0 до 5 вольт и подобрать коэффициент умножения.

A0 pin ардуино - вход от потенциометра регулятора спидометра (у меня применен 3,3кОм)
2pin ардуино - вход - сигнал тахометра от ЭБУ двигателя
3pin ардуино - вход - сигнал от датчика скорости
4pin ардуино - выход - на спидометр в приборку (соединять только через транзистор как по схеме выше)
7pin ардуино - выход - на тахометр в приборку (соединять только через транзистор как по схеме выше)

Корректор электронного (стрелочного) спидометра на ARDUINO

Артур писал(а): ↑ 19 фев 2020, 00:09 А также хочу на её основе климат-контроль в бусе сделать. Пинов свободных много - пусть замеряет температуру в салоне и заслонками рулит.
Если хватит её ресурсов, чтобы это все одна плата делала.

должно хватить. Люди "умные" дома собирают на Ардуино и где-то я видел в инете проект человек делал что-то вроде Января для управления двиглом.

Я не сильно силен в электронике (сын помогает), но как Ардуина на помехи будет устойчива в авто? Делал как-то управление потенциометром скоростью маленького движка и оказалось, что ее может изрядно глючить, даже если движок сравнительно далеко от платы (около 1,5м)

п.с. мысль в голову: если планируешь решать много задач на Ардуино, то может быть имеет смысл поставить где-то TFT панельку сенсорную? сейчас можно сравнительно недорого взять 10-12". Причем программа для создания визуалиции прилагается и там уже много заготовленных кнопок, индикаторов и т.п. с досточно простой привязкой к контроллеру

________________________________________________________

Корректор электронного (стрелочного) спидометра на ARDUINO

Корректор электронного (стрелочного) спидометра на ARDUINO

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

Корректор электронного (стрелочного) спидометра на ARDUINO

В "прошлой" жизни был инженером-разработчиком автомобильной электроники, занимался в основном датчиками (на основе микроэл. технологий). Серьезной проблемой была именно помехозащищенность. ЭДС, например, при выключении дальнего света составляла пару сотен вольт, проводов всяких в машине много. Даже если не убивала (разработали потом ограничительный диод), то коррективы вносила серьезные, т.к. были еще "вторичные" наводки и диапазон температуры и много еще чего. Подкапотное пр-во это вообще веселое место.

Корректор электронного (стрелочного) спидометра на ARDUINO

Да. Задействованные в работе ноги не должны висеть в воздухе никогда. Иначе на них может появляться потенциал, который Ардуина может интерпретировать как полезный сигнал и что-то включить-выключить не по плану.
Сам когда на ворота автоматику делал столкнулся с этим.
Сидишь себе такой дома, а ворота взяли и открылись.
Это при том что даже внутренний "виртуальный" подтяжечный резистор был включен на этой ноге.
Пришлось отключить и повесить настоящую подтяжку.

Создатель сообщества "Электронные поделки" Степан Палыч активно пропагандирует при изготовлении портативных радиоэлектронных устройств изготовление печатных плат фоторезистивным способом … но чтобы сделать плату с использование фоторезистора необходим сам фоторезистор, в идеале нужен ламинатор плюс ко всему где то надо еще достать прозрачную пленку для лазерный принтеров, да и процесс сам по себе долгий … Несмотря на то что у меня есть фоторезистор я по прежнему продолжаю пользоваться ЛУТ(лазерно утюжным медотом изготовления печатных плат) … Ну и для того чтоб доказать что лазерно утюжным методом вполне реально сделать качественную плату, был взят самый маленький микроконтроллер фирмы STM Microelectronics STM32F030F4 в корпусе TSSOP20, для сравнения этот микроконтроллер рядом с Attiny2313…


… у данного микроконтроллера толщина ножек составляет 0,4 мм, а расстояние между ножками 0,25 мм и в длину он порядка 6.5 мм …


… схема корректора спидометра немножко была изменена, добавлены кнопки изменения коэффициента деления, входные выходные каскады были взяты из схемы корректора спидометра на Attiny2313 …


… на скорую руку в Sprintlauyt была нарисована плата…


методом ЛУТ рисунок был перенесен на плату … толщина дорожек была выставлена 0.4 мм …


… ну и в конечном счете плата после распайки всех радиоэлементов стала вот такой …


… ну и поскольку сайт DRIVE2.RU все таки автомобильный, а не радиоэлектронный на последок небольшое видео работы этого устройства … на вход устройства с генератора о котором говорилось ранее был подан сигнал эквивалентный сигналу который подается с датчика хвостовика коробки при езде со скоростью 30 км/ч на выход устройства были подключены два спидометра, спидометр оптитрона и спидометр волговский и нажимая на кнопочки "+" и "-" изменялся коэффициент деления тобишь переменная K_div…

… как видно из видео спидометры работают по разному … волговский спидометр как бы подвисает при изменение коэффициента деления …

… на схеме присутствуют красный полевой транзистор, резистор и красный стабилитрон… счаз становятся модными устройства снятия отсечки по скорости 1uz vvti… тобишь добавив данный "красный каскад", добавив небольшую процедуру и данный корректор с легкостью можно превратить в устройство снятия отсечки по скорости … Алгоритм прост на максимальной скорости с микроконтроллера STM32 шлем в мозг мусор…, мозг переходит в аварийный режим но продолжает работать …

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



Опыты показали, что этому варианту требуется формирователь импульсов ибо с катушки датчика идут слабые по амплитуде импульсы. Необходимо ставить впереди устройства компаратор, ну, например, на LM393. Более того, датчики совсем не идеальны и могут формировать, особенно при малых оборотах, пачку импульсов вместо одного. Такое схемное решение никак не может избавиться от таких помех. Далее, более широкие исследования выявили очень маленький диапазон преобразования частот, как по входной частоте так и по диапазону сдвига. Пришлось изучать даташиты и выискивать формулы расчета необходимых элементов обвязки микросхем. В конечном итоге такая схемотехника была забракована. По совокупности причин. Необходимости подбирать детали, малом диапазоне и нелинейности, отсутствия входного формирователя импульсов. Короче — никакой универсальности.


Поэтому было решено собрать преобразователь с гораздо более широким диапазоном входных и выходных частот. С формирователем импульсов на борту. После долгих экспериментов родилось вот такое устройство. Формирователь импульсов на базе LM393 позволяет подключать любые электромагнитные датчики. Сформированные импуль c ы подаются на цифровой программируемый делитель, который позволяет умножать или делить входную частоту до коэффициента 8,9 с шагом 0,1. На выходе формируется меандр со скважностью 50% и амплитудой 12 V. Многочисленные опыты показали стабильную работу устройства на входных частотах от 300 Герц до 4х герц. Верхняя граница определялась скоростью вращения имеющегося у меня двигателя. Нижняя граница парой датчик — движущийся магнит. Применяемая мною пара просто не давала нужного напряжения для срабатывания компаратора.


!Если есть глюки при работе (взмах стрелки, дрожание и т.п.), обновите прошивку до 8.1 или T2.1 в этом архиве !

Типовой датчик скорости, показания которого используют электронные спидометры и одометры, генерирует импульсы при вращении. Обычно это 600 или 1024 импульса на километр пути, но возможны и другие варианты. Если мы увеличили размерность резины, то на километр может генерироваться уже, к примеру, 930 импульсов вместо 1024, и спидометр покажет меньшую скорость, а одометр занизит пробег.

Схема корректора спидометра показана на рис. 1. Первая версия устройства разработана в далёком 2006 году и с тех пор претерпела 8 модификаций. Корректор спидометра повторило более тысячи человек (это только известные мне — писавшие вопросы и благодарности). В статье рассмотрена крайняя версия устройства.

Рис. 1. Схема электрическая принципиальная корректора спидометра.

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

Рис. 2. Схема подключения корректора.

Принцип работы.

Для измерения частоты входящих импульсов используется встроенный в DD1 16-и битный таймер Т1 и прерывание INT1. Таймер считает в цикле от 0 до 65535 и далее снова с 0. Каждый отрицательный перепад (1-0) на входе 7 (PD3) DD1 вызывает срабатывание прерывания INT1, в котором запоминается мгновенное значение таймера. Каждое второе срабатывание прерывания, дополнительно, вызывает вычисление периода импульса как разницу значений таймера в момент первого (Start_Time) и второго (Stop_Time) срабатывания прерывания. Полученное значение периода умножается на заранее записанный в энергонезависимую память DD1 поправочный коэффициент и результат запоминается в оперативной памяти DD1 в переменной Timing.

Для формирования выходных импульсов используется тот же самый таймер Т1 и прерывание COMPA. Это прерывание возникает при совпадении мгновенного значения таймера со значением в регистре сравнения OCR1A. В прерывании происходит инвертирование состояния вывода 8 (PD4) DD1 и вычисление следующего значения OCR1A. Это значение получается суммированием текущего значения OCR1A с рассчитанным в предыдущем прерывании значением Timing.

Таким образом, если частота входных импульсов превосходит необходимую частоту выходных импульсов (прибор работает на понижение), значение переменной Timing будет обновляться чаще возникновения прерывания COMPA. В противном случае (если прибор работает на повышение) прерывание COMPA может использовать несколько раз одно и то же значение Timing, прежде чем оно будет пересчитано. В обоих случаях переменная Timing будет всегда содержать некоторое значение и генерация выходных импульсов не будет прервана. За счёт этого прибор может работать при любом соотношении частот входных и выходных импульсов, как на понижение, так и на повышение показаний датчика.

За счёт использования единого эталона времени – таймера Т1 – для измерения частоты входящих импульсов и для генерации выходных импульсов, соотношение частот входных и выходных импульсов строго определено поправочным коэффициентом и ничем более. Это свойство используется для сохранения точности прибора во всём диапазоне скоростей автомобиля. Дело в том, что любой таймер микроконтроллера DD1 тактируется от тактовой часты ядра через внутренний настраиваемый делитель. При частоте ядра 16 МГц и коэффициенте деления 1024 частота тактирования таймера составит 15625 Гц, а при коэффициенте 64 – 250 кГц. Время цикла заполнения таймера до значения 65535 составит 4,2 сек и 0,26 сек соответственно. Первый диапазон используется для скоростей до 40 км/ч, второй – для скоростей от 40 до 200 км/ч. Переключение происходит автоматически. Ошибка показаний спидометра в этом случае не превышает 0,5 км/ч в диапазоне скоростей 1…90 км/ч и возрастает до 5 км/ч на скоростях более 200 км/ч.

Выходные импульсы от датчика скорости поступают на вход PD3 микроконтроллера DD1 через формирующую сигнал цепь R1R4C1VD2. R4 является подтяжкой для открытого коллектора выходного каскада датчика скорости, цепь R1С1 фильтрует высокочастотные помехи, VD2 ограничивает напряжение импульсов до безопасного для DD1 уровня 5 вольт. Выходной каскад корректора построен на MOSFET транзисторе VT2. Резистор R9 необходим для защиты DD1 в случае пробоя VT2 и его номинал должен быть не менее 100 ом. Для защиты VT2 от высоковольтных импульсов бортсети автомобиля необходима установка внешнего стабилитрона VD3 на напряжение 20-22 В. На транзисторе VT1 и элементах VD1R2R3R5 собран преобразователь уровней двуполярного сигнала интерфейса RS-232 напряжением ±12 В в однополярный ТТЛ сигнал, воспринимаемый DD1. RC цепь R8C3 необходима для формирования импульса сброса при включении питания DD1, а цепь R6C2 подавляет помехи и дребезг, поступающие от кнопки SB1. Диод VD5 защищает корректор от подключения напряжения питания неправильной полярности, а цепь R10C9VD4C8 фильтрует помехи по питанию и ограничивает высоковольтные всплески (вызываемые работой системы зажигания) до безопасного для DA1 уровня.

Детали и конструкция.

Все детали корректора спидометра (кроме конденсаторов С1-С6, С9) — выводные, для монтажа в отверстия. Конденсаторы С1-С6, С9 использованы в SMD исполнении размерности 0805. Конденсаторы С5 и С6 с NPO диэлектриком, остальные с X7R. Конденсаторы С1, C8, C9 на напряжение не ниже 30 В, остальные — не ниже 6,3 В. Микросхема DA1 фирмы ST в корпусе ТО-220 без радиатора охлаждения. Транзистор VT2 – в корпусе SOT-23. Кварцевый резонатор ZQ1 в корпусе HC-49. Разъём Х3 типа IDC-10MS, остальные – типа WF-2.

Диод VD1 может быть заменён любым маломощьным кремниевым диодом, например КД522. Диод VD5 – на КД212А или аналогичный с током не менее 100 мА. Стабилитроны VD2, VD3, VD4 заменяемы любыми стабилитронами мощностью не менее 0,5 Вт и напряжениями стабилизации 4,7 и 22В соответственно. В качестве транзистора VT1 подойдёт любой кремниевый npn транзистор (например, КТ315, КТ3102), а в качестве VT2 – любой MOSFET управляемый ТТЛ уровнем и напряжением С-И не менее 20В. Т.к. IRLML2402 исчезает из продажи, его можно заменить более современным IRLML2502. VT3 заменим на любой силовой транзистор типа КТ815Г или аналогичный. Микросхема DA1 может быть заменена любым параметрическим стабилизатором на 5 В с током стабилизации не менее 100 мА, например 7805, S7805, КРЕН5А. Но надо убедиться, что максимальное входное напряжение стабилизатора не менее 25 В и установить VD4 напряжением стабилизации на 3-4 В ниже этого значения. Для L7805 макс. входное напряжение составляет 35 В.

Корректор спидометра рассчитан на установку в автомобили с напряжением в бортсети 12В и подключается после замка зажигания. Все детали (кроме кнопки SB1 и светодиода HL1) монтируются на печатной плате размерами 45*65 мм, которая помещается в пластиковый корпус размерами не менее 50*70*20 мм. Его закрепляют в салоне под торпедо. Светодиод и кнопку (или кнопку со встроенным светодиодом) закрепляют в удобном месте на торпедо. Второй контакт светодиода и кнопки может быть соединён с корпусом автомобиля в любом месте.

Рис. 3. Печатная плата корректора спидометра.

odometr_result

Рис. 4. Внешний вид собранного корректора спидометра.

Программирование микроконтроллера.

fuses

Рис. 5. Таблица fuse битов в окне программатора ASISP — так должно быть!

Прошивка микроконтроллера состоит из двух частей: для Flash и Eeprom памяти. В микроконтроллер должны быть прошиты оба файла, они, а также исходники прошивки и плата находятся в архиве odometr_data

Управление устройством и режимы работы.

Собранное из исправных деталей и корректно запрограммированное устройство работает сразу и наладки не требует, за исключением ввода поправочного коэффициента (по умолчанию задан коэффициент 1,2). Возможны два способа введения коэффициента: с компьютера через кабель или путём самокалибровки. [метод самокалибровки удалён из поздних версий прошивок, т.к. работоспособен лишь на ограниченной номенктатуре авто и не является универсальным, таким образом, пользуемся ТОЛЬКО загрузкой через кабель] В первом случае необходимо заранее, вручную (например, по показаниям образцовых приборов) рассчитать коэффициент и загрузить в корректор спидометра с помощью программы Data_Sender. При этом коэффициент должен находиться в диапазоне от 0,3 до 3 (хотя известны случаи ввода через программатор коэффициентов от 0,1 до 8 и прибор работал).

Во втором случае корректор спидометра сам рассчитывает коэффициент прямо на автомобиле. Способ, а так же тип датчика, задаётся двумя джамперами, которые устанавливаются на разъёме программирования X3 (рис. 6) и замыкают на землю выводы 19 или 18 DD1. Для программирования корректора спидометра использован стандартный для программаторов фирмы Atmel штыревой 10-и контактный разъём с шагом 2,54 мм. В силу цоколёвки разъёма, контакты 8 и 10, соединённые с выводами 19 и 18 DD1, находятся напротив контактов 7 и 9, соединённых с землёй. После программирования DD1 на выводах 19 и 18 программно подключаются внутренние подтяжки к питанию и эти выводы удобно использовать для задания режимов работы корректора.

Рис. 6. Вид сверху разъёма для программирования с установленными джамперами.

Для задания поправочного коэффициента любым из способов необходимо сначала ввести корректор спидометра в режим калибровки. Для этого требуется удерживая нажатой кнопку SB1 включить питание корректора (от внешнего блока питания или повернуть ключ в замке зажигания, если корректор на автомобиле). В момент включения питания корректор проверяет нажатие на кнопку SB1. Если удерживать кнопку нажатой более 2 с, светодиод HL1 включается и корректор спидометра входит в режим калибровки, если же кнопка не была нажата, корректор входит в обычный режим работы.

После отпускания кнопки светодиод остаётся включённым, индицируя готовность к проведению калибровки. Если джампер 2 установлен (вывод 19 DD1 соединён с GND), коэффициент загружается в корректор через COM порт компьютера с помощью кабеля. Если джампера 2 нет, калибровка проводится вычислением коэффициента по заданной скорости. В этом случае необходимо задать тип установленного на автомобиле датчика – на 6 или 10 импульсов. Для этого служит джампер 1. Если он установлен (вывод 18 DD1 соединён с GND) прибор рассчитывает поправку для 6 имп. датчика. Если джампера нет — для 10 имп. датчика. Джамперы должны быть установлены на разъём до включения питания. В обычном режиме работы (не в режиме калибровки) джамперы не опрашиваются программой и не влияют на работу корректора.

Для загрузки поправочного коэффициента через ПК необходим кабель, соединяющий корректор с СОМ портом компьютера. Схема кабеля показана на рисунке 7.

Рис. 7. Схема кабеля и внешний вид разъёмов.

Для подключения к COM порту компьютера используется стандартный девятиконтактный штекер ХР1 типа DB-9F, а для соединения с разъёмом Х1 корректора – двухконтактный штекер ХР2 типа HU-2. Контакт №3 (TxD) штекера DB-9F должен быть соединён с резистором R1 корректора, контакт №5 (GND) – с общим проводом.

Накрутка пробега или тест.

Читайте также: