Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: Спидометр из плк110[М02] и инкрементального энкодера.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    30

    По умолчанию Спидометр из плк110[М02] и инкрементального энкодера.

    Добрый день, товарищи. Имеем плк110, энкодер на 500 (2000) импульсов на оборот. Ну и мини моторредуктор для тестирования. Обороты вала 5-15 об/мин. Частота регулируется шим регулятором.
    В общем и целом, как написать программу c подпрограммой обработки быстрых входов, я разобрался. Как увеличить точность энкодера в 4 раза - тоже. Но вот как корректно обработать подсчет импульсов - есть некоторое не понимание. Дело в том, что результат "прыгает" где-то на 1 -2%. И это меня не устраивает. Например, 2% от 200 имп - это 4 импульса вверх и вниз. Если перевести в нужные мне значения линейной скорости, которая будет отображаться на панели, то получим "прыжки" от 5,59 до 5,81, при видимой равномерности вращения. Скорость измеряю заполнением импульсами интервала времени в 1000 мсек с последующим сбросом посчитанных импульсов. Вычисления произвожу в теле основной программы, так как в подпрограмме обработки быстрых входов все зависает. Отсчет времени делал c помощью фб Blink, затем с фб Tp. Менял интервал отсчитываемого времени вверх до 10сек и вниз до 100мсек. Подключал другой энкодер с 50 имп на оборот и "убирал" из программы учетверенную точность (полагая, что дело в неравномерности вращения вала редуктора). В общем и целом, ничего не помогает. Результат мне напоминает спидометр на грузовике ЗиЛ, где стрелка все время не сильно прыгает. Но перед глазами другой пример - спидометр автомобиля Форд, где стрелка очень плавно (но без заметных задержек) поднимается с ростом скорости и держится на месте при активном автопилоте.
    Я думаю, проблем может быть 2. Первая - некорректная обработка отсчитанных импульсов. Может таймеры в основной программе считают миллисекунды чуть-чуть не точно? Может нужно было какую-то циклическую подпрограмму городить для этого?
    Вторая - банально моторредуктор крутит чуть неравномерно - пёс его знает, как там у него токи по щеткам протекают...
    Может кто реализовывал подобную хотелку получить "гладкий" спидометр?
    Вложения Вложения
    Последний раз редактировалось sanatolich; 07.10.2020 в 09:12.

  2. #2
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    844

    По умолчанию

    Надо считать время между импульсами
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  3. #3
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    30

    По умолчанию

    Цитата Сообщение от murdemon Посмотреть сообщение
    Надо считать время между импульсами
    Вы хотите сказать, что если скорость вращения 200 имп за 1 сек (1 имп за 5 мсек), то нужно как то посчитать количество обращений с частотой 1 раз в 20 мксек к быстым входам между импульсами?

  4. #4

    По умолчанию

    Я думаю у Кодесис должны быть библиотеки с функциями масштабирования меандра в некоторую "аналоговую" величину. А уж эту величину пересчитаете в скорость.

  5. #5
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    30

    По умолчанию

    Цитата Сообщение от Роман_33 Посмотреть сообщение
    Я думаю у Кодесис должны быть библиотеки с функциями масштабирования меандра в некоторую "аналоговую" величину. А уж эту величину пересчитаете в скорость.
    Извините, если Вы о преобразовании дискретного сигнала с какой то частотой в аналоговый, так я это и делаю. И тема собственно об этом. Готовых ФБ не встречал.

  6. #6

    По умолчанию

    Цитата Сообщение от sanatolich Посмотреть сообщение
    Извините, если Вы о преобразовании дискретного сигнала с какой то частотой в аналоговый, так я это и делаю. И тема собственно об этом. Готовых ФБ не встречал.
    Ну если у них есть функции преобразования "аналога" в ШИМ, почему бы не быть обратным? А так,наверное, лучше просто усреднять, то что имеете. И прошу простить мое невежество,с Овеном недавно работаю,а сам быстрый счетчик сразу нельзя сконфигурировать не на счет, а на частоту? Вы же хотите частоту получить и пересчитать в скорость?

  7. #7
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    30

    По умолчанию

    Цитата Сообщение от Роман_33 Посмотреть сообщение
    сам быстрый счетчик сразу нельзя сконфигурировать не на счет, а на частоту? Вы же хотите частоту получить и пересчитать в скорость?
    Вот собственно об этом и тема. Как сконфигурировать импульсы в аналог. я тоже, можно сказать, новичок. в смысле, не яд, а мало опыта. Просто волею судьбы имею некие обязательства.

  8. #8
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    sanatolich
    Проблема в том, что программно точных интервалов времени не получить.
    Можно попытать счастья с использованием встроенных часов, либо встроенного системного таймера 20мкс (Конфигурация задач>Системные события>Таймер 20мкс).

  9. #9
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    30

    По умолчанию

    Можно попытать счастья с использованием встроенных часов, либо встроенного системного таймера 20мкс (Конфигурация задач>Системные события>Таймер 20мкс).

    Так к нему уже привязан обработчик быстрых входов. Или можно две программы туда цеплять?

  10. #10
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    30

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    sanatolich
    Проблема в том, что программно точных интервалов времени не получить.
    Можно попытать счастья с использованием встроенных часов, либо встроенного системного таймера 20мкс (Конфигурация задач>Системные события>Таймер 20мкс).
    Как тогда реализуют визуализацию инженеры форда, тойоты, и проч? Сомневаюсь, что у них там стоят супер крутые контроллеры.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. ПЛК110 (М02) подключение энкодера как счетчика
    от denkrauss в разделе ПЛК1хх [М02]
    Ответов: 2
    Последнее сообщение: 02.06.2020, 13:33
  2. Ответов: 5
    Последнее сообщение: 11.03.2019, 16:13
  3. Подключение инкрементального энкодера к ПЛК150
    от канавал в разделе Помощь Разработчикам
    Ответов: 9
    Последнее сообщение: 21.10.2016, 16:18
  4. Ответов: 10
    Последнее сообщение: 13.11.2014, 18:45
  5. Настройки энкодера в ПЛК110
    от aserr в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 01.04.2012, 23:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •