Быстрый энкодер

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем japplegame, 28 июл 2019.

  1. japplegame

    japplegame Нуб

    Есть проект, в котором надо считать обороты энкодера, который вращается достаточно быстро.
    Энкодер OMRON E6A2-CW3C, разрешение 500 импульсов на оборот.

    Так вот проблема в том, что стандартная библиотека Encoder софтверная и захлебывается при вращении энкодера (пара тысяч импульсов в секунду, однако). Я знаю, что в STM32 есть таймеры со встроенной аппаратной поддержкой инкрементных энкодеров. Нет ли либки для энкодеров с использованием этих таймеров?
     
  2. Vovka

    Vovka Гик

    Напишите свой обработчик - сложного ничего нет!
     
  3. japplegame

    japplegame Нуб

    А как мне тыкать таймеры из JS?
    Или как мне в искру загрузить кусок C/C++ и как интрегрировать этот кусок с JS?
     
  4. nonchuan7511

    nonchuan7511 Нуб

  5. ИгорьК

    ИгорьК Гуру

    SmartSelect_20190905-222814_DuckDuckGo.jpg
     
  6. b707

    b707 Гуру

    Простите, а какая связь Искры JS и аппаратной поддержки энкодеров в СТМ32?
    Чтобы получить быстрые таймеры на СТМ32 - выкиньте Искру и возьмите СТМ, другого пути я не вижу
     
  7. ИгорьК

    ИгорьК Гуру

    На некоторые СТМ32 ставится Espruino, если не ошибаюсь.
     
  8. ostrov

    ostrov Гуру

    Пара тысяч импульсов в секунду? Это 500мкс период. Атмега справится, пусть считает и периодически передает данные выше. И еще вопрос, а надо ли такую точность при такой скорости вращения?
     
    Igor68 и arkadyf нравится это.
  9. Igor68

    Igor68 Гуру

    1об/сек = 500Гц
    10об/сек = 5000Гц(5кГц)
    100об/сек = 50000Гц(50кГц)
    Вот этот счётчик(для сравнения):
    https://owen.ru/product/si30/specifications
    20об/сек = 10000Гц(10кГц) сам применил на счётчик метража кабеля. И слава богу, что мерное колесо длиной окружности 500 мм купили а не старое маленькое. Только вот 360 имп на оборот было бы кстати. Но кратное для деления типа 128, 256, 512 и т.п. было бы выгоднее. На длинном мераже росла ошибка (счётчик сам умеет перемножать тип данных float). Так, что контроллер принимая по RS485 делал свой пересчёт. Имейте это ввиду. Он (контроллер) управляя протяжкой кабеля "проедсказывал" нужную скорость (ускорял,замедлял,останавливал) и регулировал частотником ПЧВ3. Ну сами понимаете в реальном времени по RS485 не реально принимать соответствующие этому мгновению значения. Да ещё и по другому RS485 управлять ПЧВ3... вот этим:
    https://owen.ru/product/preobrazovatel_chastoti_oven_pchv3
    Для чего энкодер, для того и смотрите.
    Кстати энкодер с выдачей двух импульсов для определения направления... ну и счётчик так же.
    Ну а контроллер вот этот:
    https://moxa.ru/shop/comp/risc/ia/ia240-lx/
    Ещё управляет ножницами, опрашивает кнопки и т.п., управляет панелью оператора, системой размотки кабеля (так же ПЧВ3). Всё по RS486 (Modbus RTU)
    и при такой работе он "курит бамбук"
    Могёт ли эта ардуина. По ходу это комплекс, если Вы конечно не хотите сделать просто счётчик - ПРОСТО СЧЁТЧИК
     
    Последнее редактирование: 6 сен 2019
    arkadyf нравится это.
  10. parovoZZ

    parovoZZ Гуру

    ну глупо же сравнивать промышленное оборудование с конструктором для детей. Тем более с moxa. Moxa - это недостижимый уровень для ардуинщиков как в плане надежности, так и в плане инноваций.
     
  11. ИгорьК

    ИгорьК Гуру

    Да... Не вы ли рассказывали про компьютер, что сажал астронавтов на Луну, был слабее ардуино или что-то около того?
     
  12. Igor68

    Igor68 Гуру

    Про глупость слыхивал:) Да и сам я дурак:D
    Но вот беда! Как только будет счётчик готов, то у ардуинщиков сразу появляется желание прикрутить к нему либо передачу данных для управления вместе с самим управлением внешними устройствами. И сразу: А почему? А как? и т.п. Ладно если только функция выключить или включить, а то вот и покруче - с занесением в базу и т.п. А она (ардуина) не так толста для этого.

    А вот это, ранее сказанное:
    не надо упускать из виду при критике.
     
  13. parovoZZ

    parovoZZ Гуру

    я не мог такого говорить, потому как это невозможно было тогда, это невозможно сейчас.
     
  14. issaom

    issaom Гуру

    Кажется на Луну на Ардуино RKit летал... Хотя да - сходство есть. Сорри за офтоп.
     
    ИгорьК нравится это.
  15. ИгорьК

    ИгорьК Гуру

    Извиняйте
     
  16. sys

    sys Злобный Буратино Модератор

  17. sys

    sys Злобный Буратино Модератор

    Igor68 нравится это.
  18. japplegame

    japplegame Нуб

    Ну, наверное потому что IskraJS - это и есть STM32 :)
    Очевидно, что можно дописав прошивку, сделать аппаратную поддержку энкодеров в IskraJS.
    Но задача настолько специфична, что, видимо, никому кроме меня не нужна. Доков на эту тему что-то я не нашел, только изучать исходники прошивки. Ну тогда проще либо прошить Искру какой-нибудь mbed os или даже, прости господи, stm32duino. Но тогда накой нужна Искра?
    Спасибо за ссылку, но это такой страшный изврат. Проще уж тогда просто на C или C++ написать.
     
    Последнее редактирование: 27 окт 2019
  19. Igor68

    Igor68 Гуру

    ...ага если учесть, что малина даже первая по озу превосходит его в 4 раза, по процессору более 3 раз.
     
  20. parovoZZ

    parovoZZ Гуру

    ну превосходит...а окружение, защиты, питание? Там всё удовлетворяет требованиям совместимости с ЭМИ?