Какая максимальная частота входов/выходов A1-A3, D1 в контроллере WB7?
Попробовал на D1 - получилось очень мало!
Можно ли их вообще использовать как частотный выход? Нужно всего-то 50Гц.
А какая тогда получается частота выборки АЦП?
Добрый день.
Частота переключения выхода вполне достижима и в килогерц. Частота входа ограничивается, при работе через wb-mqtt-gpio тем что опрос программный.
Но для измерения входнойчастоты целесообразно использовать, например, входы релейных можулей - там точно измеряется до 5 кГц.
А что за задача?
Задача: есть прибор, цифровой тахометр, чтобы он запоказывал нужно на него выдать импульсы с частотой 15-30 Гц.
Реализация: контроллер WB7+MS4D. Использую выход D1 и для контроля использую его же вход.
тестовая программа небольшая (только эта задача) поэтому цикл программы сделал 2мСек. есть возможность менять частоту и скважность импульсов.
Отладил в среде разработки-всё норм. Записал в контроллер и получил разницу значений между входом и выходом. Становлюсь осциллографом на D1 и вижу такую же херню.
Нормальное поведение начинается при частоте ниже 3 Гц и длине импульса/паузы от 170мСек
А как обращаетесь к выходу через MQTT?
Для проверки сделал:
//03_22_test_01.js
test_interval = setInterval(function () {
dev["wb-gpio/D1_OUT"] = !dev["wb-gpio/D1_OUT"];
n = n+1;
if (n >= 100000){
clearInterval(test_interval);
}
}, 20);
И да, с периодом менее 20-25 мс отрабатывать не успевает.
Но при работе с gpio частота много выше.
while true; do echo 1 > /sys/class/gpio/gpio106/value; echo 0 > /sys/class/gpio/gpio106/value; done
Ваш скрипт мне не совсем понятен, я работаю через МС4Д.
Канал подключаю через Topic
Затем на выход подключаю генератор импульсов заданной скважности
MQTT не даст возможность выдать частоту более 50Гц. Если нужны частоты больше - следует управлять gpio напрямую.
так у меня и 50 нет,только 3.
А как управлять gpio напрямую?
Обычным для компьютеров с Linux образом. Подробней по ссылке:
https://wirenboard.com/wiki/Работа_с_GPIO