Замер длительности импульсов

Замер длительности импульсов

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
paska
Рядовой
Сообщения: 20
Зарегистрирован: 20.01.2018{, 20:59}
Репутация: 2

Замер длительности импульсов

#1

Сообщение paska » 22.01.2018{, 00:27}

Добрый День/Вечер/Ночь!

Осваиваю FlProg.

Есть готовый рабочий мной написанный скетч в ардуино IDE, подсчитывающий длительность импульсов и пауз на входе D2 (по прерыванию)

Осваиваю программу, и решил попробовать создать модель такого же плана, но с помощью FBD блоков. Но к сожалению, пока не очень получается.
Наверное я пока не очень разобрался как работает скоростной счетчик SpeedCounter

Ближе к железу:
- На вход D2 подаётся последовательность импульсов разной длины от 290 до 610 мс.мкс
- Нужно в массив записать последовательность таймингов импульсов и пауз. (например 608,304,304,300,610,305,600,300,600,600... и т.д. здесь первая цифра это длина импульса, вторая-длина паузы, третья-длина импульса и т.д.)
- Далее после записи требуемого числа значений (у меня 500) массив в цикле выводится в монитор (пока для оценки полученных данных)
- Далее эта последовательность цифр должна анализироваться, выделяется нужный участок, вырезается и декодируется

Готов получить пинок в нужную сторону %)

Вообщем это приём кода радиопульта, но данные не из эфира а берутся между аппаратным дешифратором и процессором.
IMG_20180122_002148.jpg
Вложения
tw1.jpg
Twin-FlProg.flp
(172.4 КБ) 86 скачиваний
Последний раз редактировалось paska 22.01.2018{, 10:32}, всего редактировалось 2 раза.

Аватара пользователя
Sancho
Полковник
Сообщения: 4028
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 577
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Замер длительности импульсов

#2

Сообщение Sancho » 22.01.2018{, 09:11}

paska, Вы, я думаю, немного ошиблись, указав мс. Всё-таки там мкс.
Попробуйте записывать не значения, а биты после сравнения - от 250 до 350 - 0 , 550 - 650 - 1. Проще в анализе, меньший объём занимаемой памяти.
Второй вариант - принять байтами через UART, посмотреть в мониторе - возможно сразу определитесь, что в коде.
Третий - вскрыть пульт, посмотреть название кодера - может кто-то уже сталкивался...
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

paska
Рядовой
Сообщения: 20
Зарегистрирован: 20.01.2018{, 20:59}
Репутация: 2

Замер длительности импульсов

#3

Сообщение paska » 22.01.2018{, 10:21}

Sancho писал(а):
22.01.2018{, 09:11}
Вы, я думаю, немного ошиблись, указав мс. Всё-таки там мкс.
Да, спасибо, там мкс.
прогнал данные через ЛогАнализатор.
logAnaliz.jpg
Sancho писал(а):
22.01.2018{, 09:11}
Попробуйте записывать не значения, а биты после сравнения - от 250 до 350 - 0 , 550 - 650 - 1. Проще в анализе, меньший объём занимаемой памяти.
Это было бы правильно, но почему я так не стал делать:
  • Не хотел отнимать ресурсы контроллера, на анализ данных во врем их приёма.
  • Кроме простых импульсов в данных есть длительная пауза около 17 мс.,
  • Данные я планировал обрабатывать после их приёма → искать паузы и вырезать данные от паузы до паузы.

Аватара пользователя
Sancho
Полковник
Сообщения: 4028
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 577
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Замер длительности импульсов

#4

Сообщение Sancho » 22.01.2018{, 10:38}

paska писал(а):
22.01.2018{, 10:21}
Кроме простых импульсов в данных есть длительная пауза около 17 мс.,
Данные я планировал обрабатывать после их приёма → искать паузы и вырезать данные от паузы до паузы.
Вот эту паузу нужно использовать как указатель на начало приёма и обработки данных.
Попробуй, после того, как сделаешь приём после паузы, принять байты.
Можно, также, прицепить вместо ардуинки преобразователь USB и отправить сразу в комп, и посмотреть в мониторе порта - чего там сыплет.
Думаю, что народ наверняка делал нечто подобное - попробуй поищи на форуме.

Отправлено спустя 2 минуты 59 секунд:
Какая микруха стоит в родном дешифраторе?
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

paska
Рядовой
Сообщения: 20
Зарегистрирован: 20.01.2018{, 20:59}
Репутация: 2

Замер длительности импульсов

#5

Сообщение paska » 22.01.2018{, 11:08}

Sancho, спасибо за советы.
Я эти данные, как писал в первом посте, уже расшифровал и обработал, но с помощью скетча в ардуино IDE, и всё получилось и требуемая информация выводится на экран lcd.
Теперь, я решил попробовать проделать тоже самое с помощью программы FlProg, в качестве её изучения, при этом зная рабочий и проверенный алгоритм действий.

В блоках FBD нашёл счетчик SpeedCouner, в котором есть функция подсчета длины импульса и паузы, им я и решил воспользоваться, но похоже не очень понял принцип его работы. Поэтому, наверное для себя пока следует упростить задачу и изучить принцип работы данного блока на элементарных примерах.
Sancho писал(а):
22.01.2018{, 10:41}
Можно, также, прицепить вместо ардуинки преобразователь USB и отправить сразу в комп, и посмотреть в мониторе порта - чего там сыплет.
Эти действия я делал с помощью другого скетча, и с помощью ЛогАнализатора, т.е. посылки сигналов на выходе дешифратора мне известны.
Sancho писал(а):
22.01.2018{, 10:41}
Какая микруха стоит в родном дешифраторе?
В принципе это не принципиально, но там не простой PT2262
СпойлерПоказать
AF.jpg

RW9UU
Рядовой
Сообщения: 50
Зарегистрирован: 01.08.2017{, 17:21}
Репутация: 0
Откуда: Белово
Имя: Виталий

Замер длительности импульсов

#6

Сообщение RW9UU » 23.01.2018{, 16:11}

У меня похожая задача. нужно измерить длительность сработки реле времени. Не могу справить с этим скоростным счётчиком. Может у кого есть какая-нибудь на работка по данному счетчику объясняющая работу данного блока. Полдня потратил результат -0 :tommy:

paska
Рядовой
Сообщения: 20
Зарегистрирован: 20.01.2018{, 20:59}
Репутация: 2

Замер длительности импульсов

#7

Сообщение paska » 23.01.2018{, 22:18}

RW9UU писал(а):
23.01.2018{, 16:11}
Может у кого есть какая-нибудь на работка по данному счетчику объясняющая работу данного блока.
пока нашёл такой ролик, но думаю сам быстрее разберусь (как время будет)

Ответить

Вернуться в «Спросить у знатоков»