Jump to content

Recommended Posts

Всем привет. поставил задачу закрыть последний долг перед ГОСами срочно. оказался он для меня сложнее всех...( задача курсового вся в прикреплённом файле. Примерная схема ещё в одном прикреплённом файле. Интересует как измерить частоту. выходной сигнал у меня есть - частота с датчика, которую надо сосчитать за какое то время, получить цифру и вывести на табло. Знания у меня далеко не глубокие. поэтому прошу помощи у вас написать программку. есть 2 алгоритма как это можно сделать:

1) измеряемый сигнал подаём на аналоговый вход, на котором настроен АЦП. С определённой частотой микроконтроллер этот АЦП запускает и считывает данные об уровне сигнала. Частота, с которой должен запускаться АЦП, должна быть минимум в 2 раза выше частоты входного сигнала (теорема Котельникова) - чем больше запас, тем лучше. Лишь бы хватило времени на, собственно, оцифровку (в даташите должны быть указания по расчёту времени работы АЦП) и обработку информации. Максимальная частота входного сигнала определяется по формуле из ТЗ по максимальной измеряемой скорости.

Можно запускать АЦП не постоянно, а, как предлагается по ссылке, в определённые промежутки времени. Например, каждую секунду могут начинаться промежутки работы АЦП, равные, допустим, 50 мс. Полученные с АЦП значения заносятся в массив данных, который просматривается на предмет достижения минимума/максимума. Эти точки находятся, определяется время между ними (через количество отсчётов). Это будет половина периода. Умножим на 2 (сдвиг влево) - получим полный период; возьмем обратную дробь - получим частоту

2) цепануть на компаратор этот сигнал, в качестве опорного 0-й сигнал, как они сравняются компаратор 1-ку выдаст. по этой единички запустить таймер. 3-й там чтоли нарастающий который. потом снова компаратор 1-ку выдаст. остановить таймер.взять из него число.это полупериод будет.сложность тока в настройке таймера чтоб он норм время считал. для точности можно несколько раз так померить период. а потом среднее значение взять.

Вся программа теоретическая, никуда заливаться не будет. т.е. хотя бы примерно....( как вывести на экран разберусь. Программировали в универе на MPLab8 язык C.

post-177743-0-05644400-1393434191_thumb.jpg

post-177743-0-44724500-1393434915_thumb.jpg

Share this post


Link to post
Share on other sites

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

Гуглосправочник в помощь!

бей в поиск "частотомер на микроконтроллере" ,причём тебе не нужен супер пупер,-а достаточно любого самого убогого низкочастотного частотомера!

Ну и соответственно фиг знает какие там уровни сигнала на выходе с датчика,схему на входе МК сам как нибудь приконструируй!

На старт .... .... !!!

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Среди сотен статей ты нашёл именно ту программный код в которой придется переписывать в ручную... :D

Share this post


Link to post
Share on other sites

программный код в которой придется переписывать в ручную... :D

Ну и собственно разве там много "ручной работы"?-

вот помню в 90м году был комп "электроника КР-03" на подобие РАДИО 86РК, вот помню с брательником туда игры с листа набирали,-

это был номер! :lol2:

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

Подробнее...

Не ну если лишний геммор и пару лопнувших глазных капилляров не пугают ТС то гоу к победам! :D

с брательником туда игры с листа набирали

Я листал радиолюбительские журнальчики тех годов видел эти "листы" :crazy:

Share this post


Link to post
Share on other sites

Ну и соответственно фиг знает какие там уровни сигнала на выходе с датчика

0,3-0,5 Вольт. Нужен усилитель.

И драйвер RS485.

Share this post


Link to post
Share on other sites

0,3-0,5 Вольт. Нужен усилитель.

Не обязательно: многие PIC имеют на борту 10-разрядный АЦП, разрешающая способность=5/1024=4,9мВ - более чем достаточно, чтобы отловить сигнал с датчика, частотой не более 0,9*40=36Гц. Частоту упомянул, чтобы развеять сомнения о быстродействии программы.

И драйвер RS485.

Ну, это дело десятое, после организации RS232 с МК. Кстати, в ТЗ ни слова об организации протокола передачи, скорости...

Edited by КЭС

Share this post


Link to post
Share on other sites

сделали через встроенный компаратор. только про интерфейс так и не понял... как RS485 реализовать. в чём разница от того, что сделано уже у меня

Edited by Jakirin

Share this post


Link to post
Share on other sites

А как с мотивациями? и так все бесплатно советуют,клавиши гнут, мог бы и .....

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Илья Говжеев
      Поделитесь опытом , кто уже пробывал из arduino сделать программатор pic? 

    • By Терентенко Андрей
      Добрый день! Имею следующую ситуацию : на базе  PIC16f676  создал приблуду для "управления нештатной магнитолой с руля", а именно  сигнал с руля это 4,8в и в зависимости от нажатой кнопки падает дискретной до 0.8в мк с помощью АЦП отслеживает  на магнитолу паралельно кнопкам кинул оптрони которыми управляет МК. Питание от LM с фильтрующими конденсаторами. При тестових прогонах всё работало как надо (программно реализовано защиту от дребезга аж на 0.1 сек в поисках решений) и в машине  и от штатного БП . Но заметил закономерность сейчас на улице - 2 и при первом запуске минут 5, МК "шумит" несоотвецтвует нажатия на руле кнопке  на магнитоле ! Сигнал с руля смотрел стабильный без дребезга , притом когда тестил вынес магнитолу подключил всё работало гуд но пока устанавливал закручивал она остыла и начинались эти тацы . Кто что подскажет? МК или ЛМ могут так реагировать на температуру ? Прошу прощения у модераторов за повторение теми (может в этом разделе будет актуальней)
    • By Splav
      Речь пойдет о таймере цикличного включения вентиляции гаража.
      Стояла задача обеспечить принудительную вентиляцию гаража.
      Оставлять включенным вентилятор круглые сутки - неоправданно.
      Включать его периодически вручную... Неудобно и лишено смысла.
      Поэтому было решено включать его на определенное время через разные интервалы времени, в зависимости от субъективного восприятия наличия сырости в гараже.
      Вменяемых вариантов в продаже я не нашел.
      Можно, конечно, приобрести на Али программируемый суточный таймер или что-то подобное...
      Да, можно, но мне кажется, что собрать из подручных деталей тоже можно, ну и мозги потренировать.
      За основу был выбран PIC12F675, потому что он у меня был.
      По уму здесь должен стоять PIC12F629, он дешевле, в нем нет АЦП, который в конструкции не используется и отключен.
      Итак.
      Время работы выбрано фиксированным и неизменным - 1 час.
      Время простоя - в зависимости от режима.
      1 час - 2 часа - 3 часа.
      (Изначально я планировал другие задержки: 2-3-5 часов. На практике в моих гаражных условиях эти интервалы оказались слишком большими)
      Индикация осуществляется всего 1 светодиодом.
      Переключение режимов и управление - всего 1 кнопкой.
      Схема:

      Коротко о работе:
      Кнопка.
      Опрос кнопки 10 раз в секунду. Антидребезг и подавление помех 0,3с - 3 опроса подряд кнопка нажата.
      Короткое нажатие на кнопку(от 0,3 до 2 с) - переключение режимов по кругу. 1 - 2 - 3 - OFF - 1 - 2 -  ....
      Длинное нажатие на кнопку (дольше 2 с) - смена состояния реле.
      Если оно было включено - выключается.
      Если было выключено - включается. Интервалы работы реле при этом соответствуют режиму.
      В режиме OFF длинное нажатие ничего не меняет.
      Переключение режима или смена состояния реле происходят при отпускании кнопки.
      Светодиод.
      Индикация режимов светодиодом:
      1 - 1 раз в 2 секунды загорается, если реле не включено. Проблеск света.
            1 раз в 2 секунды гаснет, если реле включено. Проблеск тени.
      2 - 1 раз в секунду загорается, если реле не включено.
            1 раз в секунду гаснет, если реле включено.
      3 - 2 раза в секунду загорается, если реле не включено.
            2 раза в секунду гаснет, если реле включено.
      OFF - загорается раз в 5 секунд. Контроль того, что МК не завис.
      Режимы работы.
      Время работы циклического таймера по режимам:
      1 - 1 час работы / 3 часов отдых. 6/24
      2 - 1 час работы / 2 часа отдых.  8/24
      3 - 1 час работы / 1 часа отдых.  12/24
      Работа.
      При отключении питания, пока не разрядились конденсаторы фильтра, МК отключает все выходы, сохраняет текущие данные в память, ждет 15 сек в таком состоянии и возобновляет работу, если отключение было кратковременным и емкостей фильтра питания хватило.
      Если отключение питания было длительным то, при возобновлении питания, загружает сохраненные данные из памяти и продолжает работу.
      При первом включении, после программирования МК, устройство работает в 1-ом режиме.
      Программа писалась в MPLab X IDE v4.05.
      Прошивка:fan_cycle_timer.hex

      Плата для устройства не разрабатывалась. Все было собрано на макетке.
      В блоке питания использован стандартный трансформатор для монтажа на плату ТПК 2х9V с 2-мя вторичными обмотками на 9В.
      Использовал только одну из них. Вторая - не подключена, в "воздухе"
      Реле - HLS-14F1D-DC12V-C. С обмотка на 12В, и одной группой переключающих контактов на 10А/240VAC.
      Устройство собрано в корпусе щитка для автоматов на 8 модулей. Производитель VIKO.
      Закреплена плата на щиток через резьбовые дистанционные втулки с резьбой М3.
      В качестве вентилятора - вытяжной вентилятор диаметром 125мм ВЕНТС 125С
      Устройство на данный момент отработало в гараже все лето, температура воздуха в тени доходила до 32 градусов.
      Перегревов элементов и зависаний контроллера пока не было.
       
      Несколько фото для общего представления о конструкции.

    • By Rusteka
      Продам микросхемы. Все микросхемы новые, в наличие.
      1. PIC18LF4550-I/P Microchip 65шт
      2. ATtiny85-20PU [DIP-8] Atmel 200шт
      3. PIC18LF452-I/L Microchip 50шт
      4. A29L040L-70F Amic 50шт
       
       

       



       
×
×
  • Create New...