Как получить время частоты срабатывания?

Вопросы от новичков
Ответить
richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01.07.2020{, 21:41}
Репутация: 0
Имя: Alex

Как получить время частоты срабатывания?

#1

Сообщение richialex » 09.03.2021{, 12:04}

Здравствуйте! Не подскажете, как можно определить время между срабатыванием датчика, т.е. узнать сколько времени проходит между его срабатываниями? Можно как в секундах, так и в "попугаях" (Как будет менее ресурозатратно?). Нужно передать эти данные в PID регулятор. Пробовал через счетчик, но он отдает на выходе серию 1,2,3...20., и PID регулятор теряется не получая единого показания. Заранее спасибо!

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Как получить время частоты срабатывания?

#2

Сообщение RedSky » 09.03.2021{, 12:20}

Не совсем то, но скоростной счётчик может измерять длительность импульса и паузы.

richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01.07.2020{, 21:41}
Репутация: 0
Имя: Alex

Как получить время частоты срабатывания?

#3

Сообщение richialex » 09.03.2021{, 19:46}

RedSky писал(а):
09.03.2021{, 12:20}
Не совсем то, но скоростной счётчик может измерять длительность импульса и паузы.
Спасибо большое за ответ! Покрутил, но не могу представить сценарий. Кроме того, пины, которые он предлагает, на моей плате не доступны, что само по себе отменяет его использование. Вроде простая функция, а до решения додуматься не могу....

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Как получить время частоты срабатывания?

#4

Сообщение Serg_Grn » 09.03.2021{, 20:42}

richialex писал(а):
09.03.2021{, 19:46}
на моей плате не доступны
Это на какой плате?

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Как получить время частоты срабатывания?

#5

Сообщение RedSky » 09.03.2021{, 21:14}

richialex писал(а):
09.03.2021{, 19:46}
на моей плате не доступны
Что бы получить приемлемую точность нужно использовать прерывания. У 328й атмеги для этого есть два входа.
И неплохо бы знать требования по времени - может можно без прерывания обойтись.

richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01.07.2020{, 21:41}
Репутация: 0
Имя: Alex

Как получить время частоты срабатывания?

#6

Сообщение richialex » 09.03.2021{, 21:28}

Serg_Grn писал(а):
09.03.2021{, 20:42}
Это на какой плате?
Mega 2560 в формате для 3d принтера. Если быть точным, то mks gen L v1.0. Часть пинов там физически не доступна. В проекте используются шаговые двигатели, и такой формат удобен готовой развязкой. Сначала использовал UNO с СNC Shield, но мощности Uno не хватало для корректной работы. Пины с прерываниями конечно имеются, но их часть использована, а оставшаяся часть не доступна.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Как получить время частоты срабатывания?

#7

Сообщение RedSky » 09.03.2021{, 21:40}

richialex писал(а):
09.03.2021{, 21:28}
а оставшаяся часть не доступна
Можно подпаяться к выводу чипа.
Вот блоки для pin2 и 3. Для меги остальные по тому же принципу. На выходе блока время между восходящими фронтами в микросекундах. Нужна внешняя подтяжка пинов.
Вложения
timer.zip
(8.04 КБ) 44 скачивания

richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01.07.2020{, 21:41}
Репутация: 0
Имя: Alex

Как получить время частоты срабатывания?

#8

Сообщение richialex » 09.03.2021{, 21:49}

RedSky писал(а):
09.03.2021{, 21:14}
И неплохо бы знать требования по времени - может можно без прерывания обойтись.
Особой точности не требуется. Это необходимо для для регулировки скорости двигателя. Это проект намотчика, а так как скорость смотки постоянна, а при намотке и как следствие увеличения диаметра катушки (При той же скорости двигателя) скорость намотки увеличивается, то приходится его останавливать датчиком (Фоторезистор). Проволока свисает дугой и при срабатывании датчика двигатель намотчика останавливается и стартует вновь по прошествии 1 сек., далее цикл повторяется. Но чем больше намотано на катушку, тем быстрее поднимается проволока и фоторезистор не всегда успевает сработать на пролетающую мимо тень, что приводит к нежелательному вытягиванию проволоки. Сейчас решаю этот вопрос вручную снижая скорость намотки, но для этого необходимо находится рядом с аппаратом. Вот решил как то автоматизировать этот момент....

Во вложении сам проект. Вернее его часть отвечающая за намотку.

Отправлено спустя 9 минут 35 секунд:
RedSky писал(а):
09.03.2021{, 21:40}
Можно подпаяться к выводу чипа.
Я так напаяю.... Что потом плату болгаркой обрабатывать придется....
RedSky писал(а):
09.03.2021{, 21:40}
Вот блоки для pin2 и 3
При попытке добавить пользовательский блок говорит, что не удается открыть файл. У меня версия 6,3,1, возможно блоки для новой версии?
Вложения
winder.flp
(362.21 КБ) 32 скачивания

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Как получить время частоты срабатывания?

#9

Сообщение RedSky » 09.03.2021{, 22:20}

Блок создан в версии 7.3.3. Есть конвертер для понижения версии.
https://flprog.ru/downloads/distrutives ... my-flprog/
Если нужно измерять скорость в об/мин на форуме есть блоки.
viewtopic.php?f=81&t=4722

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Как получить время частоты срабатывания?

#10

Сообщение Serg_Grn » 09.03.2021{, 22:27}

Вариант на обычном счётчике (не на прерываниях), соответственно подключить можно к любому входу. Срабатывает по переднему фронту входящего импульса. Время в секундах, но может быть изменено настройкой блока-генератора.
Вложения
timer.flp
(153.27 КБ) 47 скачиваний

richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01.07.2020{, 21:41}
Репутация: 0
Имя: Alex

Как получить время частоты срабатывания?

#11

Сообщение richialex » 09.03.2021{, 22:52}

RedSky писал(а):
09.03.2021{, 22:20}
Блок создан в версии 7.3.3. Есть конвертер для понижения версии.
Спасибо. Не знал про это. Буду пользоваться. Да и, думаю надо на новую версию переходить.
RedSky писал(а):
09.03.2021{, 22:20}
Если нужно измерять скорость в об/мин на форуме есть блоки.
Этот блок скачивал, но пока не нашел ему применения.
Serg_Grn писал(а):
09.03.2021{, 22:27}
Вариант на обычном счётчике (не на прерываниях)
Спасибо. Попробую. Если правильно понял, то я могу переменную in_ повесить параллельно датчику и на выходе в time получать время между его его "Еденичками". Если так, то то, что нужно...

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Как получить время частоты срабатывания?

#12

Сообщение Serg_Grn » 09.03.2021{, 23:02}

richialex писал(а):
09.03.2021{, 22:52}
Если правильно понял, то я могу переменную in_ повесить параллельно датчику и на выходе в time получать время между его его "Еденичками"
Да, точнее время между передними фронтами последних двух "единичек".
И еще имейте ввиду, что там важен порядок компиляции блоков, потому если измените расположение блоков, может не работать.

Ответить

Вернуться в «Начинающим»