Делитель импульсов на 10/100/1000

Bee
Offline
Зарегистрирован: 08.01.2016

Может гдето и разбиралось, но непойму как реализовать делитель импульсов на 10/100/1000?

Имеется Arduino pro mini , необходимо считать импульсы 0/1 с 2-х каналов. У каждого канала необходимо 3 выхода :10 :100 :1000. Тоесть при накоплении 10, 100, 1000 импульсов на соответствующем выходе должен появится импульс (продолжительностью как входной или скважность выходных импульсов 2).

 

Bee
Offline
Зарегистрирован: 08.01.2016

Что-то типпа аналога для МС - Н193ПЦ3.

Только входная частота максимум 1кгц.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А что делать, если за время выдачи одного импульса, новый накопится?

Или у входящих стабильная частота?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Для 1кГц вполне достаточно подавать ваши входные импульсы на какое-нить прерывание по изменению уровня. Переходы с 0-1 считать и на каждый 10 выдавать импульс на делитель 1:10, на каждый 100-й на его выход и т.д. Выходные импульсы сбрасывать по переходу 1-0. Получите на выходе длительности входного импульса. Можно точно также считать длительность выходного импульса и получать нужную скважность на выходе.

Задачка на полчаса.

Bee
Offline
Зарегистрирован: 08.01.2016

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

просто в програмировании я не силен... я больше в схемотехнике понимаю.

Пока в поиске нашел только это - http://forum.datagor.ru/topic/8668-posovetuite-is-mnogodekadnogo-delitelja-chastot/page__view__findpost__p__110286

PS: может мне нужно было писать в рубрику "ищу исполнителя?".

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Знаете, BEE, а зачем вам тогда вообще PCF8583 нужен?

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

Вас ведь интересует только одно - импульс пришёл. Так?

Ну и считайте его прерыванием. У Вас при приходе имульса HIGH появляется или LOW? Вот и настройте прерывание соответсвенно на RISING или FALLING и увеличивайте счётчик на 1 каждый раз как сработает.

А что потом Вы с этим числом делать собираетесь?

Можно показать на экранчике. Потребуется копеечный модуль (ну или самогонный такой сделаете) и будет показывать до 99 999 999 - т.е. 99 кубов. Если надо, поставьте два таких модуля - на всю жизнь хватит. Я бы сделал самогонный на 10 разрядов, как раз хватить, что unsigned long показать. Ну, если этого вдруг мало, можно добавить разряды, а число взять типа long long

Можно куда-нибудь записать или в Internet выложить.

Bee
Offline
Зарегистрирован: 08.01.2016

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

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

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

Пока только собрал оптический считывалель , и хотел на одной плате с ним сделать и универсальный делитель.

Нашел место на счетчике для нормального выходного сигнала. Ну как получается, не все готовые (или самодельные) счетсики могут хранить в себе такие большие числа. Обычно это или 2^16 или 999999. 

Почему PCF8583? Потомучто снятие показаний с них есть в прошивке для ESP8266 от MaksMS https://wifi-iot.com/ , но как я уже и говорил это может быть любое устройство способное считать импульсы и хранить их.