не знаю как изменить формулу, не вникал.
но обороты в минуту это тоже скорость)))
осталось узнать сколько в вашем обороте метров и перевести секунды в минуты)
Тахометр на AVR...
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Тахометр на AVR...
Ставим плюсы: )
-
borys
- Держит паяльник хвостом
- Сообщения: 927
- Зарегистрирован: Вт сен 07, 2010 19:27:48
- Откуда: Ташкент
Re: Тахометр на AVR...
Здесь http://vrtp.ru/index.php?showtopic=21445 есть проект тахометра на ATmega48 проверенный в железе.
Re: Тахометр на AVR...
Спасибо borys! Я видел этот код, из-за вывода на семисегментный индикатор, мне он показался запутанным, да и имена переменных какие-то плохо читабельные, ну как говорят - о вкусах не спорят, хотелось написать своё, но немогу разобраться в алгоритме из множества примеров какие есть в сети, ни один для меня не показался четко последовательным и прозрачным, с железом разным дело имел это для меня не проблема, выводить собираюсь на графический экран, семисегментные забросил давно, поэтому повторить один в один с примером не хотелось бы. Ну всё равно спасибо Вам за ответы, буду разбираться...
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Тахометр на AVR...
Давно делал тахометр на PIC16C505 + 74HC164 (для индикатора).
Алгоритм был простой (например 1 "зуб" на оборот - один магнитик на валу, датчиком хола ловим импульс): Таймер настраиваем на 1 мГц, сбрасываем счетчик импульсов, ждем фронт с датчика (не важно какой), поймали фронт - счетчик считает импульсы с частотой 1 мГц (счетчик программный, достаточной длины - определяется минимальными оборотами, которые надо показывать), ждем такой же следующий фронт (а там счетчик все считает), ловим - останавливаем счетчик. Теперь расчет: 60об/мин=1об/сек. За одну секунду в нашем счетчике будет насчитано число 1000000. Отсюда получаем: Xоб/сек=1000000/Nimp (Nimp - число насчитанных импульсов). Нам надо в оборотах в минуту (умножаем на 60): Xоб/мин = 60000000/Nimp.
Делал на меге48 таким же методом, там намного все удобнее (использовал захват таймера) - нормально работало, кварц нужен для точности.
Алгоритм был простой (например 1 "зуб" на оборот - один магнитик на валу, датчиком хола ловим импульс): Таймер настраиваем на 1 мГц, сбрасываем счетчик импульсов, ждем фронт с датчика (не важно какой), поймали фронт - счетчик считает импульсы с частотой 1 мГц (счетчик программный, достаточной длины - определяется минимальными оборотами, которые надо показывать), ждем такой же следующий фронт (а там счетчик все считает), ловим - останавливаем счетчик. Теперь расчет: 60об/мин=1об/сек. За одну секунду в нашем счетчике будет насчитано число 1000000. Отсюда получаем: Xоб/сек=1000000/Nimp (Nimp - число насчитанных импульсов). Нам надо в оборотах в минуту (умножаем на 60): Xоб/мин = 60000000/Nimp.
Делал на меге48 таким же методом, там намного все удобнее (использовал захват таймера) - нормально работало, кварц нужен для точности.
Re: Тахометр на AVR...
Может эта древняя тема в чем-то поможет.Serjinio писал(а):... буду разбираться...