Частотомер на микро...
 
Уведомления
Очистить все

Частотомер на микроконтроллере ATtiny2313.

53 Посты
10 Пользователи
0 Likes
64.5 Тыс. Просмотры
akl
 akl
(@akl)
Estimable Member
Присоединился: 15 лет назад
Сообщения: 144
Topic starter  

Здравствуйте. Речь пойдет об этом проекте.
https://radioded.ru/content/view/71/49/
Стало интересно, чем вызвано ограничение измерения частоты значением 65 кГц. Уж больно похоже на то, что регистр "Overflow" не участвует в работе. Чтобы разобраться в этом, скачал демоверсию BASCOM'а и попробовал скомпилировать исходник. Действительно выскочила ошибка в линии 27. Убирать ее нельзя, т.к. она должна разрешить прерывание по переполнению таймера1. Заменил ее следующими операторами
Enable Ovf1 'Counter1
Enable Ovf0 'Timer0

напрямую указывающим компилятору разрешение прерываний по переполнению обоих таймеров.
После этого компилятор успокоился и сгенерировал все файлы.
Далее прокрутил в AVR STUDIO 3.21 и увидел что формирование 1 секундного интервала занимает 8'000'253 такта, что потребует коррекции частоты кварца или программы. Попробовал второй путь, который при симуляции в студии дал 8'000'001. Может кто рискнет проверить в железе. Очень интересует максимальная измеряемая частота.


Цитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Здравствуйте,скажите пожалуйста как в PonyProg2000 выставить фусе-биты.Хочу попробовать собрать данный приборчик.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Вот сделал печатную плату для этого девайса, в Lay5.Проверяйте,сам ещё не собирал.


ОтветитьЦитата
akl
 akl
(@akl)
Estimable Member
Присоединился: 15 лет назад
Сообщения: 144
Topic starter  

Здравствуйте. Нашел таки эту зёбру. Судя по выделенному красным нужно FUSE-биты установить так. Но...
Для надежности попробуйте сначала считать текущее состояние и выложить картинкой.

В итоге нужно получить следующее состояние битов
CKSEL3...0 1111(не запрограммированы)
SUT1,0 11(не запрограммированы)
CKDIV, CKOUT 1,1(не запрограммированы)


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

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


ОтветитьЦитата
akl
 akl
(@akl)
Estimable Member
Присоединился: 15 лет назад
Сообщения: 144
Topic starter  

У меня нет аппаратной поддержки "зёбры". И так вся задница системника в программаторах. :oops:
Думаю, если контроллер нулевой, то при чтении фузов должно быть такое состояние.

Если был в работе, то можно тронуть бит CKOUT и посмотреть на PD2(6 лапа) наличие/отсутствие частоты тактирования.
А приведенная в предыдущем посте картинка состояния фузов как раз и должна, по моему, привести контроллер в рабочий режим для частотомера.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Огромное спасибо,буду пробовать.


ОтветитьЦитата
Spy
 Spy
(@spy)
New Member
Присоединился: 14 лет назад
Сообщения: 1
 

500 килогерц свободно мериет. В качестве тактового генератора микроконтроллера использую RC встроеный генератор.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Здравствуйте,скажите а с какой прошивкой вы пробовали (c Demo или переделанной от akl).И ещё по точности данного прибора,на сколько у него большая погрешность?На главной странице человек написал,что собирал её,но она плохо меряет,не точно.Сам я почти собрал её,жду пока придёт экран,тогда попробую запустить.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Собрал данный частотомер,запустился сразу,но есть погрешность,приблизительно в 300 Гц.


ОтветитьЦитата
akl
 akl
(@akl)
Estimable Member
Присоединился: 15 лет назад
Сообщения: 144
Topic starter  

При входном сигнале какой частоты получается такое отклонение? Одно дело если входной сигнал 500 кГц и совсем другое 100 Гц. Так ведь? Если входной сигнал имеет достаточный уровень, то отклонение будет, в основном, от неточного формирования секундного измерительного интервала.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Входной сигнал был 10,300КГц а показывает 10,700КГц.Сравнение производил мультиметром и этим частотомером. Хочу собрать кварцованный генератор и по нём посмотреть что показывает.Скажите вод такой подойдёт ?Или посоветуйте что-то другое.


ОтветитьЦитата
akl
 akl
(@akl)
Estimable Member
Присоединился: 15 лет назад
Сообщения: 144
Topic starter  

Для начала пойдет, хотя несколько смущают номиналы конденсаторов. Я бы поставил по 22 пФ. Но...
Давайте поверим для начала мультиметру.
Итак есть две величины
-10300 Гц частота на входе
-10700 Гц показания прибора
Мы знаем, что формируется интервал времени, составляющий 8'000'000 тиков генератора контроллера, т.е. после вычислений получается частота тактирования ~7'700'935 Гц. Для того, чтобы получить секундный интервал при такой частоте тактирования нужно установить в программе 30'081 переполнений таймера Т0. Если найдете на разборках плату от ЭЛТ-монитора посмотрите кварц 8'000'000Гц. Исключительно классные кварцы ставились раньше.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

Александр здравствуйте.Спаял я генератор на 500Кгц,подключаю к частотомеру на нём показывает 483,889Кгц.Возможно изменить прошивку по данным показаниям.Получается немного занижена частота.Если можете,сделайте пожалуйста изменения в прошивке,буду очень вам признателен .С ув.


ОтветитьЦитата
Yrec24
(@yrec24)
Eminent Member
Присоединился: 14 лет назад
Сообщения: 42
 

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


ОтветитьЦитата
Страница 1 / 4