Счетчик количества импульсов за единицу времени

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
ostrige
Родился
Сообщения: 5
Зарегистрирован: Ср сен 27, 2006 14:15:09
Откуда: Украина, Киев

Счетчик количества импульсов за единицу времени

Сообщение ostrige »

Нужно сделать счетчик количества импульсов за единицу времени на ATMega8.
Сабж нужен для того, чтоб считать количество импульсов появляющихся на контакте прерывателя автомобиля с контактной системой зажигания для определение скорости вращения коленчатого вала.
Помогите мне пожалуйста. Лучше б конечно кодом на С, а если еще и для CodeVision, то вообще было б классно.
Реклама
Аватара пользователя
avr123.nm.ru
Вечно гонимый
Сообщения: 331
Зарегистрирован: Пн сен 04, 2006 20:25:28
Откуда: самоучитель по микроконтроллерам
Контактная информация:

Re: Счетчик количества импульсов за единицу времени

Сообщение avr123.nm.ru »

ostrige писал(а):Нужно сделать счетчик количества импульсов за единицу времени на ATMega8.

Лучше б конечно кодом на С, а если еще и для CodeVision, то вообще было б классно.
либо поиском google.com поищите готовые, либо админа спросите есть курс как раз на CVAVR, либо топик "с чего начать програмить" посмотрите.

Имхо - прекрасная задача для обучения!

примеры прерываний как раз под вашу задачу на странице 3 курса.
Реклама
Аватара пользователя
teoretic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт июн 15, 2006 23:46:55
Откуда: Раша, Москоу
Контактная информация:

Сообщение teoretic »

где-то на сайте(кажется с котом....или нет...может на электронике...) был проект - определение частоты вращения ДВС для модели самолета - смотри и рыдай. даже индикатор есть.

если хочется сделать с нуля, то наиболее НАДЕЖНЫЙ способ - сделать таймер, который будет считать время и подцепить копыто аналогового компаратора на вывод катушки зажигания (другое копыто - на делитель напряжения), и считать перепады. этим гарантируется то, что даже при "неправильном"(ну например мммммедленном) перепаде напряжения не случится ужас в железной логике контроллера(а 2.5В на пару десятков тактов могут ввести железо в ступор, особенно D триггеры :cry:. до самовозгорания), да и rc фильтр не помешал-бы.
в принципе можно повесить вывод на копыто прерывания, но с этим сложнее ибо надо развязывать, стабилизировать.... вобщем делать из 9....16В что-то около 5В+-10%....а оно надо?
чтобы исключить разные проблеммы с помехами и утечкой тока не туда, куда надо - лучше сделать развязку - либо приделать собственный трансформатор, либо оптопару (последнее предпочтительнее ибо оно, пожалуй, будет не сильно обижаться на повышенное напряжение и позволит обойтись без аналогового компаратора)

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

Сообщение Гость »

Спасибо конечно за ответы и внимание, но не мог бы кто поделится хоть наброском кода, т.к. я даже не знаю с чего начать...
Реклама
Эиком - электронные компоненты и радиодетали
ostrige
Родился
Сообщения: 5
Зарегистрирован: Ср сен 27, 2006 14:15:09
Откуда: Украина, Киев

Сообщение ostrige »

Предидущий пост мой, хотя и так все догадались. :)
Реклама
Незнайка
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт сен 07, 2006 04:55:41
Откуда: Омск

Сообщение Незнайка »

Я делал нечто похожее, только импульсы считались для форсунки. Зная сколько форсунка выплевывает за минуту можно было считать расходы топлива и т.д. вобщем это не важно. У меня есть наброски кода, но они дома, а я на работе, вечером постараюсь прикрепить.
Кто не делает ошибок тот обычно вообще ничего не делает.
Реклама
Аватара пользователя
Max
Админ
Сообщения: 10815
Зарегистрирован: Вт авг 23, 2005 15:23:25
Откуда: Москва
Контактная информация:

Сообщение Max »

Вот тут смотрите:
http://radiokot.ru/circuit/digital/measure/03/
ostrige
Родился
Сообщения: 5
Зарегистрирован: Ср сен 27, 2006 14:15:09
Откуда: Украина, Киев

Сообщение ostrige »

Не, ну как подключать я и так догадывался, но вникать в АСМ код такого объема это с вашех стороны садизм, с моей - мазахизм.
2 Незнайка Выложите пожалуйста то что у вас есть.
Аватара пользователя
dx40
Нашел транзистор. Понюхал.
Сообщения: 182
Зарегистрирован: Вт июл 11, 2006 12:39:16
Откуда: Москва
Контактная информация:

Сообщение dx40 »

Вот программа простейшего частотомера, выводит частоту сточностью до 10 Гц на символьный ЖКИ.

unsigned int cp,lp;
unsigned char p;

// прерывание по переполнению таймера 0
// Таймер 0 работает в режиме счетчика, соответственно на его вход и надо подавать импульсы

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{ cp++; }

// Таймер 1 работает как таймер, при переполнении начинает считать заново
// От значения B до значения A проходит ровно 0.1с

// Совпадение A - сохранение результатов счета
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
p=TCNT0;
lp=cp;
}

// Совпадение B - обнуление
interrupt [TIM1_COMPB] void timer1_compb_isr(void)
{
TCNT0=0;
cp=0;
}

Программа не 100% правильная (иногда подглючивает) но простая и работоспособная.
Вложения
count.rar
Частометр на тиньке2313 10Гц-10МГц
(23.46 КБ) 671 скачивание
ostrige
Родился
Сообщения: 5
Зарегистрирован: Ср сен 27, 2006 14:15:09
Откуда: Украина, Киев

Сообщение ostrige »

Большое спасибо, завтра на свежую голову попытаюсь подправить под свои условия и свой контроллер, потом отпишусь о результатах.
ostrige
Родился
Сообщения: 5
Зарегистрирован: Ср сен 27, 2006 14:15:09
Откуда: Украина, Киев

Сообщение ostrige »

Не получилось тогда, закинул по нехватке времени
Вот решил вернуться к поставленой задаче.
Посмотрите пожалуйста, что я не так делаю. В ПРОТЕУСе симулировал, на вывод внешнего прерывания подавал сигнал с генератора пульсов, и ни в какую...
Вложения
taxo4.rar
(36.99 КБ) 366 скачиваний
Artem333
Встал на лапы
Сообщения: 119
Зарегистрирован: Вт апр 17, 2007 15:24:47
Откуда: Новосиб

Сообщение Artem333 »

жаль что нужен СИ. У меня есть на асме готовый тахометр, определяет частоту по двум импульсам значение частоты выдаётся мгновенно (задержка для глаз может варьироваться)
Вложения
P9280057.JPG
(40.85 КБ) 885 скачиваний
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»