организация тахометра

Обсуждаем контроллеры компании Atmel.
Ответить
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

объясните как реализовать тахометр на atmega8, как я понимаю нужно использовать два прерывания: таймер и подсчёт импульсов, дальше вижу два пути:
1) измерять количество импульсов за 1 секунду
2) измерять время между двумя импульсами

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

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

либо может быть есть какой то третий способ?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Ну почему же обязательно за 1с? Можно за 500, 250 и т.д. мс
А третий способ - пожалуйста: высокие обороты считайте по первому способу, низкие по второму.
Только не повторяйте ошибки, которую допускали мои коллеги на старой работе, тоже делая лет 15 тому назад тахометр.
Все преобразования, вычисления, индикацию не пихайте в прерывания, а выполняйте в главном цикле. В прерываниях - только инкременты счетчиков и выставление флагов. А то будет : "На 10000 оборотов показывает 9500. Надо вводить поправки". Я им говорю : "Вы что, уху съели? В цифровой технике - поправки ?"
Кажется, об этом уже было...
Реклама
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

kelod писал(а):либо может быть есть какой то третий способ?
Конечно есть.
Мучитель микросхем
Аватара пользователя
Сообщения: 458
Зарегистрирован: Пн дек 13, 2010 13:01:59
Откуда: Украина

Сообщение DJ_Kiridza »

Я делал тахометр так
http://habrahabr.ru/post/153125/
Считывал показания раз 1 раз в секунду.
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

DJ_Kiridza писал(а): Считывал показания раз 1 раз в секунду.
за ссылку конечно спасибо, но если для станка допустим обновлять показания раз в секунду, то для автомобиля это не приемлимо, слишком в широких педелах меняется там частота и к тому времени пока тахометр додумается какая там частота, она уже будет не та, поэтому принял решение измерять не прямо частоту, а период колебаний, т.е. время между началом импульсов и потом расчитывать частоту, это хоть и нагружает больше контроллер, но зато даёт белее менее моментальные сведения
Реклама
Ответить

Вернуться в «AVR»