Цифровой спидометр


Рекомендуемые сообщения

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

Вот формула для расчёта скорости

V=(1/T)*((L/1000000)*3600)

L - длина окружности колеса в мм.

T - время между импульсами в ms.

Только что то туплю, не могу понять - нужно будет делить наш результат на 6, так как датчик выдаёт то 6 импульсов за оборот. А формула по моему рассчитана на 1 импульс за один оборот колеса.

И давайте всё таки разберёмся. Как у нас получается реальная скорость. У нас априори принято что 6 имп датчиков это равно 1 оборот колеса, или 1 метр пройденного пути.

Но представим 2108. Базовое колесо R13. Средний диаметр колеса - 500мм. Итого. Длина окружности - L=pi*D = 3,14*500 = 1570мм. Это путь проходимый за один оборот колеса.

Тогда как у нас выходит что 6 импульсов датчика это примерно 1 метр пройденного пути?

Вобщем нужно разобраться, а алгоритм я набросаю, тем более все данные для расчётов уже имеются. Делал устройство принимающее ШИМ сигнал и выводящее все данные о нём - Частота (Гц), Период (мкс) и длина импульса (мкс)

Изменено пользователем ukr823f
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 30
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

что можно реализовать чтобы электронная приборка у меня показывала скорость? импульс идет от абс. потрохов кроме спидометра нет никаких

c1411cffbbf2eb8200a6b21c9c547bc1.gif

Ссылка на сообщение
Поделиться на другие сайты

что можно реализовать чтобы электронная приборка у меня показывала скорость? импульс идет от абс. потрохов кроме спидометра нет никаких

Сложного ничего принципе. Сейчас ищу самую оптимальную схему для реализации считывания с АБС. Кстати, ты уже не первый кто спрашивает о такой приблуде. В обще от тебя нужно узнать какой у тебя датчик АБС токовый, или индуктивный. ПОройся по форумам, поспрашивай. Так как они бывают двух видов. А от меня - уже в принципе алгоритм готов, только перепишем под твоё количество зубов на венце абс и всё. Если у тебя самого АБС нет и не планируется, то всё намного проще. При наличии датчика АБС, мы применим схему, как для ДПКВ всяких МПСЗ, и тогда будет всё ок. Просто когда есть АБС, и нужно подключиться одним проводом, тогда побольше гемора...

Кстати формула для расчёта имеет вид

V=F*0.6 (это для датчика скорости ваз)

Где F - частота, Гц.

Если нам нужна иделаьная точность, то можно по ЖПС замерить кол-во импульсов на 1 км пути от датчика скорости, и тогда мы сможем это использовать как поправочнй коэффициент. У нас то не 1м проходит колесо за 1 оборот.

Можно по другому

V=(F*3.6)/6

Где 6, это число импульсов от датчика скорости

Ну и самая развёрнутая

V=F*(L/1000 * 3600) /6

Где L = это длина окружности нашего колеса в метрах

6= число импульсов на метр пути от датчика скорости

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

Изменено пользователем ukr823f
Ссылка на сообщение
Поделиться на другие сайты

от абс ничего нет.

откуда лучше брать сигнал? какое простейшее устройство этого узла?

брать зубчатый шкив и крепить его к приводу и использовать дпкв

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

или еще есть варианты.

потом считать импульсы и по формуле дклать делитель для спидометра?

c1411cffbbf2eb8200a6b21c9c547bc1.gif

Ссылка на сообщение
Поделиться на другие сайты

от абс ничего нет.

откуда лучше брать сигнал? какое простейшее устройство этого узла?

брать зубчатый шкив и крепить его к приводу и использовать дпкв

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

или еще есть варианты.

потом считать импульсы и по формуле дклать делитель для спидометра?

У тебя ШРУСы с венцом АБС?

Ссылка на сообщение
Поделиться на другие сайты

без

c1411cffbbf2eb8200a6b21c9c547bc1.gif

Ссылка на сообщение
Поделиться на другие сайты

без

Доступ к токарке ещё есть?. Впринципе всегда на СТО можно поискать ушатаные гранаты от других машин, и оттуда срезать, кольцо АБС и напресовать его на твой привод. Постараюсь сегодня глянуть - оставался ли в запчастях ШРУС мой. как вариант - точнуть у токарей такую звёздочку (понимаю время не то, но всё же)/

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

Кстати, на каких то гранатах - это кольцло АБС- это отдельный предмет, который снимается - ставится..

По типу как на Hundai

Изображение

Или сделать вот такой зубчатый венец и датчиком холла считывать

Изображение

Изменено пользователем ukr823f
Ссылка на сообщение
Поделиться на другие сайты

пока самый простой вариант это сделать такой зубчатый венец и прикрутить между фланцем редуктора и карданом.

сколько надо окошек? чем больше тем точнее или одного-двух хватит

c1411cffbbf2eb8200a6b21c9c547bc1.gif

Ссылка на сообщение
Поделиться на другие сайты

Чет ты все усложняешь, скорость посчитать дело вообще нехитрое. Главное, точно замерить время.

У себя во всех девайсах измеряющих скорость юзал в качестве калибровочного коэффициента количество импульсов на 10 метров пути.

speed = 36000L * _pulseCount / (_periodMS * pulsesPer10Meters);

где:

_pulseCount - количество импульсов

_periodMS - время в миллисекундах за которое пришло это количество импульсо

pulsesPer10Meters - калибровочный коэффициент, количество импульсов на 10м пути (выставляется вручную или же калибруется по принципу "проедь ровно 1 км, а девайс сам посчитает нужное ему число")

Чтоб точность и показания не плавали, надо синхронить начало и конец отсчета времени по импульсу от датчика скорости - вот и всё....

tazzzman1.png

_____________________________________________

2108 LowCost Rally Edition на Drive2.ru

Power means nothing without control.

If everything seems under control, you're just not going fast enough. (с) Mario Andretti

Ссылка на сообщение
Поделиться на другие сайты

пока самый простой вариант это сделать такой зубчатый венец и прикрутить между фланцем редуктора и карданом.

сколько надо окошек? чем больше тем точнее или одного-двух хватит

Чем больше тем точнее. Ну впринципе, по тем формулам что выше написаны скорость хоть 0.01 км\ч можно считать используя всего 6 импульсов на один оборот колеса (как в вазовском датчике). Впринципе по креплению это будет простой и хороший вариант. Но будет и спидометр показывать неправильную скорость если вдруг решишь боком валить.

У тебя _periodMS - это время между импульсами, тобишь период? или это у тебя константа?

Главное, точно замерить время.

Поэтому я и искал как написать код, не привязанный к точному измерению времени. То есть мы меряем не количество импульсов, а мерить период между импульсами. Без этого всё намного проще вообще

считываем сколько импульсов пришло за 0,6с (600мсек), и вот сколько импульсов натикало за это время - столько и км\ч у нас в данный момент. Вообще не грузим проц никакими расчётами, кроме подсчёта промежутка времени в 0,6 секунды.

Изменено пользователем ukr823f
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти