Добрый день.В общем навыков программирования на ассимблере у меня нет, но задача есть. Разработать устройство для отображения на 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 В первый раз пересекает в + и в конце аналогично, но как это реализовать не понимаю
На самом деле- всё очень просто- Синусоидальный сигнал при помощи формирователя превращаете в прямоугольный, если время счета 10 секунд вас устраивает- то тупо считаете в течении 10 секунд количество входных импульсов, и потом выводите на индикатор.
зы.. "моя любимая схема формирователя"- вот такая: Слева внизу- на LM393.. Про частотомер есть ветки: viewtopic.php?f=57&t=108387&start=0 и viewtopic.php?f=57&t=117804 В исходной схеме сама программа написана на Бейсике, и где- то по ссылкам- выложена в открытом виде. Правда, частотомер не на ПИК-е, а на Тини2313..
проблема в том , что я не знаю сколько импульсов подавать нужно, и плюс если добавлять преобразователь как его на PIC закодировать
Импульсы нужно не подавать, а СЧИТАТЬ.. В простейшем варианте- в течении 10 секунд считаете количество входящих импульсов, и это число выводите на индикатор... Потом, сохраняя это число на индикаторе- опять 10 секунд считаете импульсы, и обновляете информацию на индикаторе.. Чего тут сложного- то? Или вы просто "прошли мимо" всю тему, и хотите, чтобы до очередной сессии за вас кто- то это задание сделал? Тогда вам в тему: viewtopic.php?f=21&t=30242&start=560
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Если говорить формально то алгоритмы вычисления низких частот гораздо сложнее, поэтому это и тема курсового у ТС (как я подозреваю ). Там используются методы интерполяции и ряд чисто программных методов для повышения точности. Вычислить за обозримо короткое время частоту НЧ с точностью до долей герца не так просто, как кажется.
_________________ Ничто так не укрепляет взаимное доверие, как 100% предоплата! Дмитрий, ex-RK3AOR.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Если говорить формально то алгоритмы вычисления низких частот гораздо сложнее, поэтому это и тема курсового у ТС (как я подозреваю ). . Вычислить за обозримо короткое время частоту НЧ с точностью до долей герца не так просто, как кажется.
Ну, не знаю, я не сильно "теоретик".. Когда мне понадобилось вычислять количество оборотов в минуту - от 1 до 500-т, то я воспользовался методом измерения периода сигнала.
проблема в том , что я не знаю сколько импульсов подавать нужно, и плюс если добавлять преобразователь как его на PIC закодировать
Импульсы нужно не подавать, а СЧИТАТЬ.. В простейшем варианте- в течении 10 секунд считаете количество входящих импульсов, и это число выводите на индикатор... Потом, сохраняя это число на индикаторе- опять 10 секунд считаете импульсы, и обновляете информацию на индикаторе.. Чего тут сложного- то? Или вы просто "прошли мимо" всю тему, и хотите, чтобы до очередной сессии за вас кто- то это задание сделал? Тогда вам в тему: viewtopic.php?f=21&t=30242&start=560
Я не прошу за меня задание делать, просто помочь составить алгоритм решения данной задачи и все
Заголовок сообщения: Re: 3хразряндный семисегментник, работающий как частотомер
Добавлено: Пт дек 02, 2016 22:56:42
Модератор
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Измеряйте период между двумя фронтами и вычисляйте частоту. Вот и весь алгоритм На таких низких частотах, разрешение в 0.1 Гц - как два пальца обосфальт ... Ну а синус у вас там, или косинус - пофиг. Заводим сигнал на вход МК, а внутри он сам преобразуется в логический уровень.
А вообще в данном задании можно и без деления обойтись. При таком диапазоне и разрешении получается около двух сотен 3-значных чисел. Памяти тоже много. Забить их в 2-мерный массив и по близкому значению таймера из одного столбца выбирать частоту из второго Не знаю только, какой вариант будет оптимальнее. Но для студента будет плюс, если он сможет предложить 2 решения одной задачи. Ну и еще одно решение методом подсчета импульсов за 10 с. Метод условной компиляции - хорошая штука.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения