Счетчик Импульсов

gatsby163
Offline
Зарегистрирован: 10.03.2014

Здравствуйте, Форумчане. 

Потребовалось мне соорудить устройство для подсчета импульсов с расходомера Siemens MAG6000 у него имеется цифровой выход, выход гибко настраивается, т.е. в настройках можно задать объем жидкости на импульс, длительность импульса и полярность. Мне нужно считать эти импульсы ардуинкой, амплитуда импульсов 24В, после подсчета импульсов мне нужно по запросу отправить их количество в серийный монитор. Подскажите как реализовать подключение цифрового выхода расходомера к ардуино? есть мысль через оптрон, это надежно? и например если длительность импульса будет 1с получится ли регистрировать их наличие командой digitalread? 

sadman41
Offline
Зарегистрирован: 19.10.2016

Лучше через externalInterrupt, а то напропускаете импульсы, пока обрабатываете запрос. Оптрон туда как раз и просится.

gatsby163
Offline
Зарегистрирован: 10.03.2014

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Можно и микросхему... https://www.nxp.com/docs/en/user-guide/UM10301.pdf

Two real time clocks, PCF8583 and PCF8593, have an extraordinary feature. It is the event counter mode which can be selected by setting the appropriate bits in the control register. In this mode the oscillator is disabled and the oscillator input is switched to a high impedance state. This mode can be used to count pulses applied to the oscillator input OSCI. There is no crystal in the circuit and OSCO is left open circuit. The event counter stores up to 6 digits of data. Events are stored in BCD format. The 6 digits use three 8 bit registers (hundredth of a second, seconds, and minutes). D5 is the most significant and D0 the least significant digit. Every digit can contain values ranging from 0 to 9 and thus up to 999 999 events can be stored.

У оптрона есть время срабатывания. У  оптопары PC817 Rise time / Fall time по 18мкс максимум (https://www.farnell.com/datasheets/73758.pdf) Nfr Так что ваши 250мс - для них как месяц. А по поводу торможения... ну, если насуете в обработчик прерывания делеев, то конечно тормозиьт будет всё.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Считать цифровой импульс можно даже с помощью реле, если правильно подобрать параметры. Главное в задаче - а чего с ними делать?

MaksVV
Offline
Зарегистрирован: 06.08.2015

gatsby163 пишет:

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


Задача простейшая. В обработчике прерывания будет всего-то одна переменная прибавляться на +1. Ниче такой обработчик не затормозит. Какие нафиг микросхемы. 24 вольта подавать на светодиод оптрона через 4.7 кОм. Транзистор оптрона замыкает цифровой пин2 ардуино на землю. Поддяжку к питанию включить.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

MaksVV пишет:
gatsby163 пишет:

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

Задача простейшая. В обработчике прерывания будет всего-то одна переменная прибавляться на +1. Ниче такой обработчик не затормозит. Какие нафиг микросхемы. 24 вольта подавать на светодиод оптрона через 4.7 кОм. Транзистор оптрона замыкает цифровой пин2 ардуино на землю. Поддяжку к питанию включить.

Тут можно и напрямую с помощью делителя на резисторах - условно 1/5