3хразряндный семисегментник, работающий как частотомер

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
akaGunner
Родился
Сообщения: 3
Зарегистрирован: Пт дек 02, 2016 17:32:15

3хразряндный семисегментник, работающий как частотомер

Сообщение akaGunner »

Добрый день.В общем навыков программирования на ассимблере у меня нет, но задача есть.
Разработать устройство для отображения на 3-разрядном семисегментном индикаторе информацию о частоте входного сигнала от 45.0 Гц до 65.0 Гц с разрешением 0.1 Гц.Форма сигнала синусоидальная с размахом от 1 до 4 вольт (постоянное смещение 2.5 в). Использовать динамическое управление.

В общем схему и номиналы резисторов мне изобразить удалось.Вопрос в том как написать алгоритм программы, по нему я думаю не очень сложно написать саму программу.Проблема состоит также в том что я не совсем понимаю сам принцип работы частотомера.как я понял значение частты мы получаем из выражения F=1/T.А сам период Т вычисляется как N*t, где t-время одного импульса а N-количество эти самых импульсов.В даташите на PIC18F2520 я вычитал что t=Fosc/делитель, я выбрал делитель 4 а Fosc 4 МГц, следовательно импульс равен 1 мкс, а вот с N проблема, чтобы их посчитать нужен период синусоиды моей не зная частоты, я прикинул что можно по положительному перепаду посчитать, т.е когда она значение 2.5 В первый раз пересекает в + и в конце аналогично, но как это реализовать не понимаю
Реклама
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43896
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение АлександрЛ »

На самом деле- всё очень просто-
Синусоидальный сигнал при помощи формирователя превращаете в прямоугольный, если время счета 10 секунд вас устраивает- то тупо считаете в течении 10 секунд количество входных импульсов, и потом выводите на индикатор.

зы.. "моя любимая схема формирователя"- вот такая:
Изображение
Слева внизу- на LM393..
Про частотомер есть ветки:
http://radiokot.ru/forum/viewtopic.php? ... 87&start=0
и
http://radiokot.ru/forum/viewtopic.php?f=57&t=117804
В исходной схеме сама программа написана на Бейсике, и где- то по ссылкам- выложена в открытом виде.
Правда, частотомер не на ПИК-е, а на Тини2313.. :dont_know:
Реклама
akaGunner
Родился
Сообщения: 3
Зарегистрирован: Пт дек 02, 2016 17:32:15

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение akaGunner »

может так и можно, проблема в том , что я не знаю сколько импульсов подавать нужно, и плюс если добавлять преобразователь как его на PIC закодировать
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43896
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение АлександрЛ »

akaGunner писал(а): проблема в том , что я не знаю сколько импульсов подавать нужно, и плюс если добавлять преобразователь как его на PIC закодировать
Импульсы нужно не подавать, а СЧИТАТЬ..
В простейшем варианте- в течении 10 секунд считаете количество входящих импульсов, и это число выводите на индикатор... Потом, сохраняя это число на индикаторе- опять 10 секунд считаете импульсы, и обновляете информацию на индикаторе.. Чего тут сложного- то?
Или вы просто "прошли мимо" всю тему, и хотите, чтобы до очередной сессии за вас кто- то это задание сделал?
Тогда вам в тему: http://radiokot.ru/forum/viewtopic.php? ... &start=560 :dont_know:
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Дмитрий М
Друг Кота
Сообщения: 6622
Зарегистрирован: Чт дек 29, 2005 00:18:30
Откуда: Москва
Контактная информация:

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение Дмитрий М »

Если говорить формально то алгоритмы вычисления низких частот гораздо сложнее, поэтому это и тема курсового у ТС (как я подозреваю :) ). Там используются методы интерполяции и ряд чисто программных методов для повышения точности. Вычислить за обозримо короткое время частоту НЧ с точностью до долей герца не так просто, как кажется.
Ничто так не укрепляет взаимное доверие, как 100% предоплата! Дмитрий, ex-RK3AOR.
Реклама
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43896
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение АлександрЛ »

Дмитрий М писал(а):Если говорить формально то алгоритмы вычисления низких частот гораздо сложнее, поэтому это и тема курсового у ТС (как я подозреваю :) ). . Вычислить за обозримо короткое время частоту НЧ с точностью до долей герца не так просто, как кажется.
Ну, не знаю, я не сильно "теоретик".. Когда мне понадобилось вычислять количество оборотов в минуту - от 1 до 500-т, то я воспользовался методом измерения периода сигнала. :dont_know:
Реклама
akaGunner
Родился
Сообщения: 3
Зарегистрирован: Пт дек 02, 2016 17:32:15

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение akaGunner »

АлександрЛ писал(а):
akaGunner писал(а): проблема в том , что я не знаю сколько импульсов подавать нужно, и плюс если добавлять преобразователь как его на PIC закодировать
Импульсы нужно не подавать, а СЧИТАТЬ..
В простейшем варианте- в течении 10 секунд считаете количество входящих импульсов, и это число выводите на индикатор... Потом, сохраняя это число на индикаторе- опять 10 секунд считаете импульсы, и обновляете информацию на индикаторе.. Чего тут сложного- то?
Или вы просто "прошли мимо" всю тему, и хотите, чтобы до очередной сессии за вас кто- то это задание сделал?
Тогда вам в тему: http://radiokot.ru/forum/viewtopic.php? ... &start=560 :dont_know:
Я не прошу за меня задание делать, просто помочь составить алгоритм решения данной задачи и все
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение Аlex »

Измеряйте период между двумя фронтами и вычисляйте частоту. Вот и весь алгоритм :dont_know:
На таких низких частотах, разрешение в 0.1 Гц - как два пальца обосфальт ...
Ну а синус у вас там, или косинус - пофиг. Заводим сигнал на вход МК, а внутри он сам преобразуется в логический уровень.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение Zhuk72 »

Alex, а МК с такими делениями справится? Там даже при дискретности таймера в 8 мкс (при бОльшей может с точностью грешить) получатся 4-значные числа.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение Аlex »

Zhuk72 писал(а):Alex, а МК с такими делениями справится?
Запросто.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: 3хразряндный семисегментник, работающий как частотомер

Сообщение Zhuk72 »

А вообще в данном задании можно и без деления обойтись. При таком диапазоне и разрешении получается около двух сотен 3-значных чисел. Памяти тоже много. Забить их в 2-мерный массив и по близкому значению таймера из одного столбца выбирать частоту из второго :)
Не знаю только, какой вариант будет оптимальнее. Но для студента будет плюс, если он сможет предложить 2 решения одной задачи. Ну и еще одно решение методом подсчета импульсов за 10 с. Метод условной компиляции - хорошая штука.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Ответить

Вернуться в «PIC»