Страница 1 из 3

Тахометр на AVR...

Добавлено: Вт июн 14, 2011 18:05:06
BARS_
Начал я изучать микроконтроллеры AVR, решил сделать тахометр. Только не понимаю до конца алгоритм работы, можете объяснить? И ещё, видел что для тахометра используются внешние прерывания, а без них нельзя сделать?

Заранее спасибо :)

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 18:33:01
DARKMAVR

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 18:33:46
Dmitry Dubrovenko
Конкретных вариантов реализации - море.
Основных направления два:
1. За фиксированную единицу времени, считать импульсы с датчика, а затем пересчитывать до требуемых единиц
2. Замерять время между двумя импульсами датчика, и опять же пересчитывать.
P.S.: Тахометр - тот же частотомер. :wink:

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 19:11:31
BARS_
А можете код показать?

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 20:32:37
Dmitry Dubrovenko
BARS_ писал(а):А можете код показать?
Если это ко мне, то - нет. Я АВРами не занимаюсь.
Но только не пойму, в чём у Вас затыка. Говорю же, вариантов - море. Зависит от варианта, возможностей МК, и личного "вкуса".
Например, в некоторых МК уже есть аппаратный модуль "захвата", "измеряющий" время (точнее говоря, он подсчитывает импульсы от тактового генератора) между перепадами входного уровня. Им удобно пользоваться для второго варианта.
Для первого варианта, можно использовать вход внешнего прерывания вкупе с прерыванием от таймера.
По-моему, на данной задаче как-раз хорошо учиться программированию МК. :wink:

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 21:01:42
Goodefine
Посмотрите здесь. Авось поможет...

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 22:16:27
BARS_
Сделать хочу на Mega16, работающей на частоте 8 МГц. Просто до этого я не работал с внешними прерываниями, поэтому и прошу код. Да, кстати, я пишу в CodeVision...

Re: Тахометр на AVR...

Добавлено: Вт июн 14, 2011 22:44:23
BARS_
Дайте, пожалуйста, самый простой код тахометра для CodeVision. Дальше я уже сам постараюсь разобраться. :)

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 12:28:13
BARS_
Никто не может набросать простой код?

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 13:12:04
МитяРа

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 15:48:37
BARS_
Спасибо. Если будут вопросы, напишу :)

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 15:56:35
clawham
Можете взять мой Ваттметр
по сути дела он и есть тахометр + 20 ячеек одометра
расчитайте правильно два коэффициента и переименуйте в программе ватты на километры в час а киловаттчасы в километры и пользуйтесь :)
там задействованы и все прерывания меги 8-й и счетчик импульсов и внешний кварц...
берите пользуйтесь...там всё сделано по высшему классу :)

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 16:00:37
CS16AMX
Барс ) есть и мои разборки в подсчёте времени ,поищи 7-9стр назад была тема проблемы с буфером,там подробно на СVАVR расписан частотомер с пределом до 5.9мгц)

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 17:30:45
BARS_
Огромное спасибо :))

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 17:42:02
BARS_
Кстати, какая максимальная частота будет сниматься с автомобильного 4-хцилиндрового двигателя? Максимальные обороты на штатном тахометре 8000.

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 17:44:22
МитяРа
BARS_ писал(а):Максимальные обороты на штатном тахометре 8000.
8000/60секунд=133Гц.. :roll:

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 17:54:40
BARS_
Спасибо :))

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 17:56:15
МитяРа
Просто любые обороты считаются в минуту.. :tea:

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 18:06:20
akl
МитяРа писал(а):8000/60секунд=133Гц.. :roll:
Не совсем так. Вы не учли тактность двигателя
http://forum.cxem.net/index.php?showtop ... t&p=414954

Re: Тахометр на AVR...

Добавлено: Ср июн 15, 2011 18:26:51
BARS_
Ага, т.е. получается 266,6 Гц. :)