Частотомер на МЕГА8
- Gray64
- Встал на лапы
- Сообщения: 96
- Зарегистрирован: Вт май 27, 2008 21:15:01
- Откуда: Украина
- Контактная информация:
Частотомер на МЕГА8
Живу в селе.Сами понимаете с радиодеталями...А тут чисто случайно в руки попала недоделанная плата какого-то устройства,на которой стоит ATMEGA8,двухстрочный ЖК индикатор и куча светодиодов.Подал 5 вольт,на ЖК выводится куча цифр,но как-то по очереди.У меня вопрос к профи:нельзя ли на базе этих"запчастей" сотворить частотомер?Пусть не очень крутой,до 1 мега устроило бы.Поиск в сети ничего не дал(именно с этими деталями).
- Реклама
- kamikadze
- Потрогал лапой паяльник
- Сообщения: 391
- Зарегистрирован: Пт авг 31, 2007 19:58:52
- Откуда: Украина, Сум обл., г. КоНоТоП
Сейчас как раз занимаюсь этим, только вход осталось сделать и прошивку дописать (что-то как-то затихло все у меня с нехваткой времени).
Тут были мои потуги получить вход
Присоединяйтесь
Тут были мои потуги получить вход
Бригада дежурных телепатов ответит на ваши вопросы
- UkrRadist
- Первый раз сказал Мяу!
- Сообщения: 34
- Зарегистрирован: Вс янв 13, 2008 00:40:29
- Откуда: україна,Київ,Дубровиця
- Контактная информация:
Заинтересовала меня тоже эта схема,более того уже достал микросхему-делитель с делением на 64 и 256 с максимальной частотой деления до 1 ГГц - SAB6456.Уже даже схемку нарисовал и развел(схему делал по приведенной ниже).Но вот как только надумал ее собрать, в голову пришла одна мысль о том,что если попробовать измерить сигнал,скажем,с частотой 1000МГц, то длительность импульса на выходе получиться около 1нс.Меня интересует сможет ли счетчик T0(T1) микроконтроллера воспринять эти импульсы,и вообще,какая минимально допустимая длительность импульса нужна для нормального счета микроконтроллера(в моем случае Tiny2313)
- Вложения
-
- izmer10-1.gif
- Схема частотомера
- (9.47 КБ) 1514 скачиваний
Надо жить с надеждой!
- Gray64
- Встал на лапы
- Сообщения: 96
- Зарегистрирован: Вт май 27, 2008 21:15:01
- Откуда: Украина
- Контактная информация:
В програмировании контроллеров мягко говоря не очень... Вот если на делфях бы...На сколько я понимаю,алгоритм приблизительно такой - на некий вход подаём измеряемую частоту.Каждую секунду уходим в прерывание(или 0.1 сек.),выводим ,то,чего насчитали,и так по кругу?При тактовой МЕГИ 16мГц,по идее,замерять 1мег - запросто.А при использовании внешних делителей,просто корректировать (двигать запятую) выводимые данные. 
- Реклама
- Gray64
- Встал на лапы
- Сообщения: 96
- Зарегистрирован: Вт май 27, 2008 21:15:01
- Откуда: Украина
- Контактная информация:
Вот тут http://nest.roboterbastler.de/colibri/index.html наткнулся...Правда на ТИНИ.Но насколько я понимаю МЕГА8 помощней будет и если перекомпилировать под неё,должно работать?
Глаза боятся а руки делают!
- UkrRadist
- Первый раз сказал Мяу!
- Сообщения: 34
- Зарегистрирован: Вс янв 13, 2008 00:40:29
- Откуда: україна,Київ,Дубровиця
- Контактная информация:
тоя немного неправильно понял принцип работы,я уже вроде бы понял - указанный делитель на SAB6456 делит частоту,при этом длительность импульса увеличивается в указанное количество раз(спасибо за помощь т.Kentawrik),в следствии чего отпадает вопрос об минимальном периоде счета,так как при частоте 1000МГЦ длительность импульса будет равна около 120нс((1/1000000000)*256) чего вполне достоточно для переключения таймера Тини

Надо жить с надеждой!
А зачем прерывания? Для подсчета импульсов проще использовать вход таймера. Только эти входа стробируемые и макс частота примерно в 2,5-3 раза меньше рабочей частоты АВРки. Мега8 с кварцем 18МГц без проблем меряет 6 МГц(меандр!). 6*256=1536МГц, а SAB6456 на выходе дает меандр. Вот как я сделал http://vrtp.ru/index.php?showtopic=8883&st=0igor727 писал(а):Если использовать прерывания по фронту INTO и INТl то один такт,при частоте 16 Мгерц = 62,5 наносекунд, это и есть минимальная длительность сигнала (Это для ATМегa8)UkrRadist писал(а):Мой вопрос как раз не в программе,а в том,сможет ли контроллер воспринять настольоко короткий импульс?
Был поставлен вопрос о минимальной длительности импульса который может воспринять контроллер, так вот от прерываний он сможет принять импульс >62,5 nCek, а от счетчиков >125-155 nCek. Насчет подсчета импульсов есть разные схемы, все зависит от необходимой точности измерений, если удовлетворяет 6 знаков то можно и по данному принципу (по указанной ссылке). Ссылка ваша интересная, кое что от туда наверное возьму.Barni писал(а):А зачем прерывания? Для подсчета импульсов проще использовать вход таймера. Только эти входа стробируемые и макс частота примерно в 2,5-3 раза меньше рабочей частоты АВРки. Мега8 с кварцем 18МГц без проблем меряет 6 МГц(меандр!). 6*256=1536МГц, а SAB6456 на выходе дает меандр. Вот как я сделал http://vrtp.ru/index.php?showtopic=8883&st=0
А зачем мерять короткие импульсы с большой скважностью? Ведь на обработку прерывания надо несколько тактов, и измеряемая частота будет меньше. Разговор ведь шел о частотомере.igor727 писал(а):Был поставлен вопрос о минимальной длительности импульса который может воспринять контроллер, так вот от прерываний он сможет принять импульс >62,5 nCek, а от счетчиков >125-155 nCek. Насчет подсчета импульсов есть разные схемы, все зависит от необходимой точности измерений, если удовлетворяет 6 знаков то можно и по данному принципу (по указанной ссылке). Ссылка ваша интересная, кое что от туда наверное возьму.
Еще раз провторюсь, что есть разные способы измерения частоты, обеспечивающие разную точность, и скорость измерения. Попробуйте измерить вашим прибором частоту генератора с часовым кварцем 32768 Гц или частоту 50 Гц, я думаю что точность измерения будет никудышная, и тут я думаю более приемлемый результат даст измерение периода сигнала и далее пересчет его в частоту, а здесь требуется как раз наиболее быстрая реакция на фронт сигнала, что обеспечивают прерывания. Задержки на обработку прерывания 4 такта, легко учитываются. Очень интересный принцип заложен в частотомере по ссылке http://www.cqham.ru/fpic01.htm , хорошая точность обеспечивается способом досчета. Так что кто как хочет так и делает, способов тьма.Barni писал(а): А зачем мерять короткие импульсы с большой скважностью? Ведь на обработку прерывания надо несколько тактов, и измеряемая частота будет меньше. Разговор ведь шел о частотомере.
Да еще надо подправить таблицу прерываний под Мегу, и отключить сторожевой таймер, а дальше по шагам в VMlabe
1 0x000(1) RESET External Pin, Power-on Reset, Brown-out
Reset, and Watchdog Reset
2 0x001 INT0 External Interrupt Request 0
3 0x002 INT1 External Interrupt Request 1
4 0x003 TIMER2 COMP Timer/Counter2 Compare Match
5 0x004 TIMER2 OVF Timer/Counter2 Overflow
6 0x005 TIMER1 CAPT Timer/Counter1 Capture Event
7 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A
8 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B
9 0x008 TIMER1 OVF Timer/Counter1 Overflow
10 0x009 TIMER0 OVF Timer/Counter0 Overflow
11 0x00A SPI, STC Serial Transfer Complete
12 0x00B USART, RXC USART, Rx Complete
13 0x00C USART, UDRE USART Data Register Empty
14 0x00D USART, TXC USART, Tx Complete
15 0x00E ADC ADC Conversion Complete
16 0x00F EE_RDY EEPROM Ready
17 0x010 ANA_COMP Analog Comparator
18 0x011 TWI Two-wire Serial Interface
19 0x012 SPM_RDY Store Program Memory Ready
1 0x000(1) RESET External Pin, Power-on Reset, Brown-out
Reset, and Watchdog Reset
2 0x001 INT0 External Interrupt Request 0
3 0x002 INT1 External Interrupt Request 1
4 0x003 TIMER2 COMP Timer/Counter2 Compare Match
5 0x004 TIMER2 OVF Timer/Counter2 Overflow
6 0x005 TIMER1 CAPT Timer/Counter1 Capture Event
7 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A
8 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B
9 0x008 TIMER1 OVF Timer/Counter1 Overflow
10 0x009 TIMER0 OVF Timer/Counter0 Overflow
11 0x00A SPI, STC Serial Transfer Complete
12 0x00B USART, RXC USART, Rx Complete
13 0x00C USART, UDRE USART Data Register Empty
14 0x00D USART, TXC USART, Tx Complete
15 0x00E ADC ADC Conversion Complete
16 0x00F EE_RDY EEPROM Ready
17 0x010 ANA_COMP Analog Comparator
18 0x011 TWI Two-wire Serial Interface
19 0x012 SPM_RDY Store Program Memory Ready
- UkrRadist
- Первый раз сказал Мяу!
- Сообщения: 34
- Зарегистрирован: Вс янв 13, 2008 00:40:29
- Откуда: україна,Київ,Дубровиця
- Контактная информация:
Только что доделал схему частотомера.На первый взглад работает,...но при отсутствии сигнала на входе на дисплее всивечиваются цифры,как не удивительно,в зависимости от длины подключенного отрезка, от 100 до 1000МГц.Но даже при замыкании входной линии на землю показания практически не меняются.Скажыте это нормально?
Надо жить с надеждой!
Если на входе стоит SAB6456 или что то похожее, то нормально.Прескалер без сигнала возбуждается.UkrRadist писал(а):Только что доделал схему частотомера.На первый взглад работает,...но при отсутствии сигнала на входе на дисплее всивечиваются цифры,как не удивительно,в зависимости от длины подключенного отрезка, от 100 до 1000МГц.Но даже при замыкании входной линии на землю показания практически не меняются.Скажыте это нормально?


