Gazmarket59.ru

Газ Маркет 59
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Последовательный вычитающий счетчик импульсов

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

Счетчик выполняет следующие операции:

– сброс счетчика в ноль;

– параллельная загрузка начального числа импульсов;

– хранение текущего числа импульсов;

– выдача текущего числа импульсов в параллельном коде;

– инкремент (увеличение хранящегося числа на единицу)

– декремент (уменьшение хранящегося числа на единицу)

– деление частоты входных сигналов

Основные параметры счетчика:

1) Модуль счета (основание счетчика) – M – максимальное число импульсов, после прихода которых счетчик возвращается в исходное состояние.

2) Время установления очередного числа импульсов на выходе после прихода входного импульса tk. Время установления является основным динамическим параметром счетчика, определяющим максимальную частоту счета.

Состояние счетчика определяется по выходам разрядов. Входные сигналы поступают на младший разряд.

4.7.1. Счетчики с непосредственной связью.

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

Схема счетчика с М = 16 = 24 с непосредственной связью и временная диаграмма его работы приведены на рис. 4.22 и 4.23.

Рис. 4.22. Счетчик с непосредственной связью на триггерах типа ТМ2.

Рис. 4.23. Временная диаграмма работы счетчика с непосредственной связью.

В схеме счетчика нет других элементов, кроме D-триггеров, включенных по схеме счетных Т-триггеров. Состояние Т-триггера меняется на противоположное на каждом синхроимпульсе, поступающем на вход CLK. Таким образом счетчик считает число импульсов, поступающих на вход CLK.

Сигнал на выходе триггера DD1 младшего разряда Q0 изменяется с частотой, равной половине частоты сигнала CLK. Фронт этой последовательности является сигналом переноса в старший разряд, собранный на триггере DD2. Таким образом, сигнал переноса последовательно передается от младшего разряда к старшему. Это счетчик с последовательным переносом.

Счетчик с непосредственной связью обладает малым быстродействием. Сигнал переноса в худшем случае достигает последнего разряда n за время, равное Tp = n tpTQ, где tpTQ – время задержки сигнала в триггере.

Это видно на временной диаграмме, представленной на рис. 4.23 В промежутках между состояниями 1 и 2, 3 и 4, 5 и 6, 7 и 8 видны недействительные (неправильные) состояния счетчика. Видно, что время, занятое недействительными состояниями, возрастает по направлению к старшему разряду.

4.7.2. Вычитающий счетчик с непосредственной связью.

Вычитающий счетчик с непосредственной связью отличается от суммирующего счетчика только подключением входа С триггера к прямому выходу Q триггера младшего разряда (рис. 4.24).

Первый импульс CLK устанавливает все триггеры счетчика в состояние 11112 = 1510, а затем, по мере поступления импульсов CLK, число в счетчике уменьшается до 00002 = 010.

Рис. 4.24. Вычитающий счетчик с непосредственной связью на триггерах ТМ2.

В вычитающем счетчике сигналы между разрядами называются заемами. Временная диаграмма вычитающего счетчика представлена на рис. 4.25.

Читайте так же:
Запуск счетчика по импульсу

Рис. 4.27. Временная диаграмма работы вычитающего счетчика.

4.7.3. Счетчик с параллельным переносом.

Повышение быстродействия счетчиков можно обеспечить за счет одновременного (параллельного) формирования сигналов переноса во всех разрядах. Достигается это за счет введения в схему счетчика дополнительных логических элементов «И».

Схема счетчика с параллельным переносом на D-триггерах ТМ2 приведена на следующем рисунке.

Рис. 4.28. Счетчик с параллельным переносом.

Импульс на вход второго разряда счетчика DD3 поступает с выхода логического элемента DD2 типа 2И-НЕ, если на выходе первого разряда DD1 будет лог. «1» и на второй вход DD2 поступит импульс CLK.

Аналогично, импульс на вход третьего разряда DD5 поступает с выхода логического элемента DD4 типа 3И-НЕ, если на выходах первого и второго разрядов DD1 и DD3 будет лог. «1» и на третий вход DD4 поступит импульс CLK. Аналогично организована схема переноса для четвертого каскада D7. Задержка переключения для триггера последнего разряда такая же, как и для первого разряда.

Недостатком счетчика с параллельным переносом является необходимость использования большого числа многовходовых логических элементов «И», при этом число входов этих элементов растет вместе ростом числа разрядов счетчика.

4.7.4. Счетчики по произвольному основанию.

Счетчиком по произвольному основанию называется счетчик, модуль счета которого К не равен числу, кратному степени числа 2.

Известны несколько способов построения схем счетчиков по произвольному основанию. За основу такого счетчика всегда берется двоичный счетчик с модулем счета М, превышающим К.

Счетчик с цепями сброса в начальное состояние. Этот универсальный способ построения счетчиков с произвольным модулем счета состоит в следующем:

Выбираем схему двоичного счетчика с модулем счета М = 2n, при этом К 16 предусмотрена возможность каскадирования микросхем счетчиков.

В качестве примера рассмотрим схему счетчика на микросхеме ИЕ7 с модулем счета К = 12 (рис. 4.31).

Рис. 4.31. Схема счетчика на микросхеме типа ИЕ7 (К = 12).

Последовательность импульсов CLK через открытый логический элемент 2″И-НЕ» DD2 поступает на вход +1 счетчика ИЕ7 DD4. Логический элемент 3″И-НЕ» DD5 открывается в момент появления на выходах счетчика Y0, Y1, Y2, Y3 числа К – 1 = 1110 = 10112. В результате сигнал «0» с выхода DD5 поступает на вход D триггера DD1. После поступления очередного импульса CLK триггер DD1 переключается, в результате чего логический элемент DD2 закрывается, а логический элемент 2″ИЛИ-НЕ» DD3 – открывается и пропускает очередной синхроимпульс на вход приоритетного сброса R счетчика. В результате счетчик DD4 сбрасывается в состояние 010 синхронно, по очередному импульсу CLK.

Таблица функционирования для счетчика ИЕ7 имеет следующий вид.

Таблица 4.1. Таблица функционирования для счетчика ИЕ7.

Читайте так же:
Сборщик данных с счетчиков

На базе ATmega 328P реализовать счетчик импульсов для проверки ШИМ 25 кГц, точность измерений до импульса не нужна, но порядок нужно знать.

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

Для считывания импульсов воспользуемся внешними прерываниями, они описаны на страницах 87-96 документации от производителя. В Atmega 328P есть два входа, которыми мы можем отслеживать внешние прерывания INT0(PD2) и INT1(PD3), для решения задачи воспользуемся INT0.

Настройка внешних прерываний

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

Для определения по каким событиям будет вызываться обработчик прерывания нужно настроить регистр ERICA. Биты ISC00 и ISC01 отвечают за INT0, а ISC10 и ISC11 за INT1. Настройка отслеживаемых событий идентична, за разницей в битах:

00 — Низкий уровень сигнала;
01 — Любое логическое изменение сигнала;
10 — Нисходящий фронт сигнала;
11 — Восходящий фронт сигнала.

Для непосредственного включения входов прерываний служит регистр EIMSK, биты INT0 и INT1 отвечают за одноименные выходы. По вышеизложенному пишем код

Обработка внешних прерываний

Прерывания настроил, теперь надо их обработать. Для этого существует функция обработки прерывания ISR(), которой необходимо указать тип прерывания, в моем случае INT0_vect. В функции будем делать инкремент переменной Tic_Count:

Вывод результата

Для облегчения вывода результата, дабы не прикручивать дисплей воспользовался не чистой ATmega 328P, а Arduino UNO и Arduino NANO, на борту которых тот же МК.

Как писал выше точность измерений не столь важна, потому таймеров настраивать не буду, а просто в основном цикле один раз в секунду выведу накопленное значение переменной Tic_Count и обнулю ее. На время этих действий прекращаю обработку прерываний.

Ниже полный код решения задачи с комментариями:

Теперь остается подключить сигнал ШИМ к ножке PD2, и открыть монитор последовательного порта. Так же можно сформировать и проверить сигнал на одном МК.


Выводимые показания примерно равны ранее рассчитанной частоте, небольшие отличия ожидаемы из-за реализации. Для точного измерения наверное правильнее считать время между импульсами и от этого вычислять частоту.

Преимущества и недостатки импульсных водомеров

Целесообразность повсеместной установки счетчиков с импульсным выходом до сих пор обсуждается специалистами. Данные по эффективности и срокам службы приборов постоянно пересматриваются.

При проведении новых испытаний выявляют дополнительные плюсы и минусы устройств.

Установка специализированного счетчика дает ряд преимуществ:

  • возможно дистанционное снятие показаний со счетчиков в автоматическом режиме;
  • устройства считаются более долговечными, чем стандартные приборы;
  • измерительные системы дают максимально точные показания;
  • несмотря на электронную основу работы прибора источник электрического питания не требуется;
  • счетчик можно устанавливать вертикально или горизонтально без риска повлиять на точность показаний;
  • при необходимости можно подобрать подходящую модель из широкого ассортиментного ряда по низкой цене;
  • сертифицированные продукты, соответствующие стандартам, обладают прочным и герметичным корпусом, гарантируют бесперебойную работу на время использования.
Читайте так же:
Счетчик кадров для canon 550d

Прежде чем устанавливать промышленный или квартирный счетчик с импульсным выходом, стоит оценить его минусы. Со временем функциональность геркона снизится, что будет сказываться на точности показаний водомера. Иногда для бесперебойной передачи информации требуется дополнительно установить источник радио- или цифрового сигнала, а это требует серьезных затрат. Испытания показали, что работа счетчика может блокироваться неодимовым магнитом. Для предупреждения таких сбоев прибору требуется антимагнитная защита. Если потребитель не позаботился о прямой «связи» с устройством, то расход ресурса ему придется контролировать интуитивно.

Самая основная арифметическая операция — сложение. Схема, которая выполняет сложение двух двоичных чисел, называется двоичным сумматором . Во-первых, давайте реализуем сумматор, который выполняет сложение двух битов.

Половина сумматора представляет собой комбинационную схему, которая выполняет сложение двух двоичных чисел A и B, состоящих из одного бита . Он выдает две выходные суммы, S & carry, C.

Таблица истинности Half сумматора показана ниже.

входныеВыходы
ВСS
11
11
111

Когда мы добавляем два бита, результирующая сумма может иметь значения в диапазоне от 0 до 2 в десятичном виде. Мы можем представить десятичные цифры 0 и 1 одним битом в двоичном виде. Но мы не можем представить десятичную цифру 2 с одним битом в двоичном виде. Итак, нам требуется два бита для представления его в двоичном виде.

Пусть, sum, S — младший значащий бит и перенос, C — старший значащий бит полученной суммы. Для первых трех комбинаций входов, carry, C равен нулю, а значение S будет равно нулю или единице в зависимости от количества единиц, присутствующих на входах. Но, для последней комбинации входных данных, carry, C равен единице, а sum равен нулю, поскольку результирующая сумма равна двум.

Из таблицы Truth мы можем напрямую записать логические функции для каждого вывода как

S = A o p l u s B

Мы можем реализовать вышеуказанные функции с 2-входным вентилем Ex-OR и 2-входным вентилем AND. Принципиальная электрическая схема полумесяца показана на следующем рисунке.

В приведенной выше схеме два входных логических элемента ИЛИ-И и два входных И логических элемента И дают сумму, S и перенос, C соответственно. Следовательно, Half-сумматор выполняет сложение двух битов.

Полный сумматор

Полный сумматор представляет собой комбинационную схему, которая выполняет сложение трех битов A, B и C в . Где A & B — два параллельных значащих бита, а C in — бит переноса, который генерируется из предыдущего этапа. Этот полный сумматор также выдает две выходные суммы, S & carry, C out , которые аналогичны полумесяцу.

Читайте так же:
Счетчик морфемный разбор слова

Таблица истинности полного сумматора показана ниже.

входныеВыходы
ВС вC outS
11
11
111
11
111
111
11111

Когда мы добавляем три бита, результирующая сумма может иметь значения в диапазоне от 0 до 3 в десятичном виде. Мы можем представить десятичные цифры 0 и 1 одним битом в двоичном виде. Но мы не можем представлять десятичные цифры 2 и 3 одним битом в двоичном виде. Итак, нам требуется два бита для представления этих двух десятичных цифр в двоичном виде.

Пусть, sum, S — младший значащий бит и перенос, C out — старший значащий бит из результирующей суммы. Легко заполнить значения выходов для всех комбинаций входов в таблице истинности. Просто посчитайте количество единиц на входах и запишите эквивалентное двоичное число на выходах. Если C in равен нулю, то полная таблица истинности сумматора такая же, как в таблице истинной половины сумматора.

Мы получим следующие логические функции для каждого вывода после упрощения.

S = A o p l u s B o p l u s C i n

c o u t = A B + l e f t ( A o p l u s B r i g h t ) c i n

Сумма S равна единице, когда на входах присутствует нечетное число единиц. Мы знаем, что вентиль Ex-OR производит вывод, который является нечетной функцией. Таким образом, мы можем использовать либо два входа Ex-OR с 2 входами, либо один вентиль Ex-OR с 3 входами, чтобы получить сумму S. Мы можем реализовать перенос C , используя два вентиля И с двумя входами И и один вентиль ИЛИ. Принципиальная электрическая схема полного сумматора показана на следующем рисунке.

Ручной расчет

Теперь можно вычислить мощность, потребляемую конкретным устройством, по миганию электросчётчика. Перед тем, как сделать это, нужно подготовиться. Для этого нужно выключить в доме все приборы, кроме проверяемого. Светодиод устройства учета при этом мигать не должен. Затем понадобится секундомер или часы с секундной стрелкой, после чего начинается процедура ручного расчета.

В течение минуты потребуется рассчитать количество вспышек индикатора на счетчике. Полученное значение вновь нужно записать или запомнить. Потребляемая мощность рассчитывается таким образом:

  1. Высчитанное количество импульсов делится на коэффициент пересчета.
  2. Полученное значение умножается на 1000.
  3. В результате получится средняя мощность, потребляемая прибором, в ваттах.

Например, если на рассматриваемом счетчике светодиод моргнул 32 раза за 1 минуту, то конкретный прибор потребляет 500 ватт.

Как считывать данные с многотарифного электросчетчика

Многотарифные счетчики «Пульсар» — эффективное решение для экономии энергии, если ее расход оплачивается по нескольким тарифам. Они позволяют вести учет энергии по четырем тарифам в двенадцати сезонах. Рассмотрим, каким образом считывать показания многотарифного счетчика электроэнергии и определять расход.

Каждый тариф обозначается на счетчике отдельной маркировкой — Т1, Т2, Т3, Т4. Переписываем показания по каждой маркировке. Например:

  • Т1 — 2022 кВт;
  • Т2 — 1813 кВт;
  • Т3 — 1310 кВт;
  • Т4 — 1045 кВт.
Читайте так же:
Adjustment program epson l100 как сбросить счетчик чернил

Далее смотрим показания по всем тарифам за предыдущий отчетный период (можно найти в памяти устройства). Например:

  • Т1 — 1862 кВт;
  • Т2 — 1712 кВт;
  • Т3 — 1205 кВт;
  • Т4 — 1000 кВт.

Данные демонстрируются автоматически. Необходимо дождаться, когда на экране появится информация по конкретному тарифу.

Следующий шаг — считаем расход электроэнергии по каждому тарифу:

  • 2022 – 1862 = 160 кВт;
  • 1813 – 1712 = 101 кВт;
  • 1310 – 1205 = 105 кВт;
  • 1045 – 1000 = 45 кВт.

Эти данные и заносятся в квитанцию.

3. Настройка входов в TIA Portal

Настройка довольно-таки проста, в Device Configuration дважды щёлкнуть по контроллеру, далее в разделе General ищем пункт High Speed Counters, тут настраиваем каждый счётчик (HSC1 .. HSC6).

Подпункт Function:

Установка «A/B counter» в пункте «Operating phase» деалет возможным учёт направления движение и, соответственно, производит подсчёт импульсов в плюс и в минус относительно текущего значения. Установка «Two phase» позволяет прибавлять к текущему значению счётчика при фронте на одной фазе и отнимать от текущего значения при фронте на другой фазе.

Подпункт Reset to initial value: опция Use external reset input устанавливает импульсный вход сброса (Z).

Чтобы вручную сбрасывать счётчик импульсов, необходимо использовать функциональный блок (FB) CTRL_HSC. Вызов производится через экземплярный DB:
«CTRL_HSC_DB»(HSC := «Local

HSC_1″, CV := true, NEW_CV := «SP_New_CV»);
где
CTRL_HSC_DB — экземплярный DB,
Local

HSC_1 — это «Local

» наименование скоростного счётчика
SP_New_CV — это значение, на которое сбрасывается счётчик

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

Для каждого выбранного DI автоматически указывается его разрешающая способность (Гц).

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

Подпункт I/O Addresses: вот тут и хранится то самое значение счётчика. Start address — это адрес в области памяти I.

ID 1000, ID 1004. — для скоростных счётчиков.

При использовании контроллера CPU1215C я бы рекомендовал также отделять адреса аналоговых выходов ПЛК (QW 900. ) от ан. выходов модулей (QW 500. ), поскольку это упрощает замену контроллера 1214C на 1215C и наоборот.

Далее, если значение измерялось в частоте (frequency), то его необходимо перевести в понятные единицы в зависимости от энкодера (т.е. имп/сек разделить на имп/об, в результате имеем об/сек).

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector