FLProg

Визуальное программирование для не программистов

Яндекс.Метрика
Скоростной счетчик


Блок служит для подсчета импульсов на привязанном к нему цифровом входе контроллера за заданный период времени, расчета длительности импельсов и паузы между ними, подсчета общего количества имульсов, а так же организации линии задержки с входного импульса на выход. работа блока производится с применением аппаратного прерывания, независимо от выполнения остальной программы контроллера. С этим связанно ограничение по применению цифровых входов. У Arduino только несколько входов, возможно, использовать для вызова прерывания.

Список входов с аппаратным прерыванием в зависимости от типа Arduino.
Uno и подобные 2 3
Mega2560 2 3 21 20 19 18
Leonardo 3 2 0 1 7

Общие настройки блока


В общих настройках выбирается пин котроллера на для которого будут производится замеры, так же при необходимости добавляется выход "IV" на котором будут дублироваться импульс поступающие на выбранный вход контроллера.

Настройки функции счета импульсов за период времени


Возможны два вида отсчета времени счета, программный таймер и аппаратный таймер.
Аппаратный таймер обеспечивает более высокую точность счета, но накладывает некоторые ограничения. Во первых применение аппаратного таймера исключает возможность использования 3 и 11 цифровых выходов в режиме ШИМ. Во вторых все скоростные счетчики в проекте использующие аппаратный таймер будут иметь одинаковое время счета. В случае применения программного таймера разные счетчики могут иметь разное время счета. При применении аппаратного таймера становится невозможным использование функции линии задержки. Результаты счета выдаются на выходе "CiT"

Экспериментальным путем получены следующие характеристики счетчика.
Максимальная частота следования импульсов – 130 кГц.
Минимальная длительность импульса – 50 нс.


Настройка функции подсчета общего количества импульсов


При использовании этой функции на выходе "CP" блока выдается общее число импульсов поступивших на вход. При добавлении входа разрешения счета, подсчет импульсов будет производится только при наличии высокого уровня на входк "EnCI".
При добавлении входа сброса счета по переднему фронту импулься на входе "RCI" результаты счета будут сбрасываться в 0.
Счет импульсов будет производится в зависимости от настройки по переднему или заднему фронту

Настройка функции расчета длительности импульса и паузы


При использовании этой функции на выходе "PDP" (при установке чек-бокса "выход длительности импульса") будет значение длительности последнего пришедшего импульса, а на выходе "PDN" (при установке чек-бокса "выход длительности паузы") будет значение длительности последней паузы между импульсами.
При добавлении входа разрешения замера, замер буде производится только при наличии высокого уровня на входе "EnPD". При низком уровне на этом входе на выходах будет оставаться значение последнего разрешенного замера.

Настройка функции линии задержки


При использовании данной функции на выход контроллера или на выход блока "DLO" (в зависимости от настроек) с заданной задержкой передается импульс приходящий на привязанный вход блока. Задержка может быть константой или подаваться на вход "DT" блока. При выборе режима передачи задержки по переднему фронту на выход будет передаваться передний фронт импулься с заданной задержкой, при этом длительность импульса будет заданна параметром "Длительность импульса". При выборе режима передачи заднего фронта на выход с заданной задержкой передается задний фронт входного импульса при этом длительность паузы задается параметром "Длительность паузы". При выборе обеих режимов входной импульс передается на выход без изменений с заданной задержкой.
При добавлении входа разрешение работы линии задержки входной импульс будет передаваться на выход только при наличии высокого уровня на входе "EnDL"