Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Частотомер на ATtiny2313

Вс июл 29, 2007 08:46:13

Скажите пожалуйста реально ли сделать точный частотомер (для настройки контуров генераторов ВЧ) в домашних условиях от 1Гц до 500МГц на микроконтроллере ATtiny2313 ? И что еще мне понадобится?

Сейчас в наличии имею:

1)Мультиметр китайский
2)Регулируемый БП (0-15в)
3)LCD индикатор символьный (рус)
4)микроконтроллер ATtiny2313
5)Программатор и софт для прошивки микроконтроллера
6)Паяльную станцию с феном и жалом
7)Текстолит и раствор для травления платы

Спасибо!
Последний раз редактировалось Артур Вт июл 31, 2007 02:36:18, всего редактировалось 1 раз.

Вс июл 29, 2007 14:03:44

Прежде всего нужен ВЧ генератор. Промышленные позволяют вытсавить частоту очень точно и без частотомера. Применение частотомера в деле настройки контуров связано с определёнными трудностями, в какой-то теме они оговоривались. :wink:

Вс июл 29, 2007 15:11:02

Даже не предсьавляю как эта тини которая до 16 МГц всего мерять частоты до 500 МГц, тут и делителей на такую частоту не найти наверно. Даже если предположить что его таки каким нибудь образом удаться собрать то его ведь ещё и настоить нада. Советую даже не пытаться ибо врядли что то из этого получится.

Вс июл 29, 2007 15:34:01

А что посоветуете делать если нет у меня стока денег на заводские приборы?
Как в таком случае настраивать аппаратуру?вот и хочу собрать дома для себя.
Как можно качественно настроить передатчик?

Вс июл 29, 2007 19:48:52

На память не скажу, но есть гигагерцовые делители импортные, причем имеют выход ТТЛ-совместимый, а не как у нашей ЭСЛ. Делят на 10 и 100, так что тини достанется 5 МГц - это она посчитать вполне сумеет... Кстати, у меня даже где-то валяется купленный собранный готовый частотометр на ПИКе - я не проверял, но продавец утверждал, что до 1 ГГц меряет. Раз ПИК может - почему тини не сможет?! А наладки потребует только входной усилитель-аттенюатор, имхо... Это по силам любителю.

Вс июл 29, 2007 20:05:30

ARV - Спасибо!
А как вообще это реализовать? Я в микроконтроллерах начал недавно

Вс июл 29, 2007 21:35:25

Один из Таймеров МК настраиваем на счет внешних импульсов, при помощи другого таймерва определяем интервал, в течение которого первый таймер будет считать внешние импульсы. Скажем, за 0,1 секунды первый таймер насчитал 2467 импульсов - значит, частота была 24670 Гц (с точностью до 10 Гц)... вычисляем частоту, выводим на индикатор... все просто :) ну, и далее - аналогично.

Пн июл 30, 2007 04:43:57

AVR - Спасибо большое! Теперь бы научиться пользоваться таймерами (портами уже играюсь)
Как их использовать в CodeVisionAVR?
Спасибо!

Пн июл 30, 2007 07:17:38

По CodeVision тут есть другие специалисты - я этим не пользуюсь и никому (начинающему) не советую, так что ко мне с вопросами по этой теме лучше не обращаться :)

Пн июл 30, 2007 08:13:19

Артур писал(а):Как их использовать в CodeVisionAVR?


В CVAVRe есть мастер начального кода, в нем удобно произвести первичную настройку таймеров и другой периферии.
Вообще, эти вопросы неоднократно уже обсуждались на Форуме, поищите. :)
Ну или тыч сейчас понабежит со своим курсом и "линком в профиле"... :)))

Пн июл 30, 2007 14:02:28

В контроллерах фирмы атмел стоят синхронные счетчики, поэтому частотомер получится максимум на 1Мгц.В пиках асинхронные, поэтому лучше использовать их.
А вообще - найди простую схему частотомера на пик84а и не мучайся.

Пн июл 30, 2007 16:02:42

У мег ещё есть вход захвата таймера можно и его заюзать. Согласен если найти делитель то будет гуд, остальное как грится дело техники, тока ещё надо наверно триггер Шмитта по входу чтоб аналог мерять или что то на транзюках мутить

Пн июл 30, 2007 16:05:16

Вот здесь нашёл кое что по делителям
http://forum.qrz.ru/thread10426.html
Вот микры нашёл
KGL4208 И вот ещё такой MC12093D, даташиты в инете есть

Пн июл 30, 2007 21:30:04

А возможно организовать, чтоб таймер считал 1,5 МГц? т.е. 1 500 000 импульсов? Или переполнится?

Пн июл 30, 2007 23:02:20

Простите, но вот мне совершенно неясно, что предполагается измерять частотомером при настройке контуров (и каких контуров? ).
И как измерять? Генератор для ударного возбуждения ставить ?
Про коэффициент связи не забываем. ИМХО, тут нужнее АЧХометр, свипгенератор, измеритель добротности и подобные мудрёные штуки.
Простите ещё раз, но частотомер... даже и не знаю, как его тут использовать. :(

Вт июл 31, 2007 02:37:53

Всем кто принял участие ОГРОМНОЕ СПАСИБО!!!

Вт июл 31, 2007 17:56:56

Re Дмитрий О
Ну счётчики 16-ти разрядные соответственно макс. значение 65535, можно конечно использовать несколько пар РОН и складывать с переносом, т.е. на асме вставки делать иначе думаю просто обработчик прерывания не будет успевать.

Вт июл 31, 2007 19:28:07

в частотометре, как и в любом измерительном приборе, надо определиться с требованиями точности. для измерения 1,5 МГц с точностью до герца потребуется дополнительный программный счетчик, но зададимся вопросом: а нужна ли такая точность? Это ведь
0,00007% !!!! Более-менее популярные приборы имеют точность 1,5%, а для любительских целей (рискну предположить) хватит и 3%. А 3% от 1,5 МГц это будет 45 КГц... грубо говоря, если мерить с точностью в 1000 Гц, то в счетчике будет накапливаться всего-то 1500 импульсов...
Или можно подойти с другой стороны: с внешним делителем на 100 максимальное число 65535, накапливаемое в счетчике, будет соответствовать 6553500 Гц, т.е. примерно 6,6 МГц... Этого же достаточно? и погрешность измерений всего-то 100 Гц :)

Теперь о максимальной частоте счета встроенного счетчика в AVR. Для Atmega8 (думаю, и для других так же) определено, что внешняя частота должна быть не более, чем тактовая частота процессора, деленная на 2,5 (максимум - на 2). Если делать частотометр на основе Atmega8-16 (т.е. тактовая частота 16 МГц), то его счетчик сумеет посчитать меандр с частотой 6,4 МГц - как раз то значение, о котором выше было сказано! :). Так что опасения о максимальной частоте в 1 или 1,5 МГц - напрасны и необоснованы.

Вт июл 31, 2007 21:14:26

Отлично. Я думаю сделать так: будут 2 таймера. Один (1) будет срабатывать раз в секунду, другой (2) будет считать импульсы (те самые 1.5 МГц. Кстати, это предельно максимальная частота, с которой будет работать мой прибор). Вешаем прерывание переполнения на (2), и как переполнится, k++. Прерывание (1) будет рассчитывать частоту по формуле Fo=k*65535+[текущее показание счетчика 2]. Должно работать. Иначе - каюк :)
Впрочем, быстродействие мона рассчитать. Период моего кварца (10 Мгц) 100 нс. А период 1.5 Мгц - 666 нс. То есть, МК сумеет сделать 6 ASM операций во время прерывания. Ну пусть будет даже 4. Но ничего не стоит add R16, 1.

Вт июл 31, 2007 21:24:55

Кстати, в меге16 такт на таймер0 идет с Т0, к таймеру1 с Т1, к таймеру2 с TOSC1. А зачем тогда TOSC2?
Тема закрыта