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

Вопросы от новичков
Ответить
richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01 июл 2020, 21:41
Имя: Alex

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

Сообщение richialex »

Здравствуйте! Не подскажете, как можно определить время между срабатыванием датчика, т.е. узнать сколько времени проходит между его срабатываниями? Можно как в секундах, так и в "попугаях" (Как будет менее ресурозатратно?). Нужно передать эти данные в PID регулятор. Пробовал через счетчик, но он отдает на выходе серию 1,2,3...20., и PID регулятор теряется не получая единого показания. Заранее спасибо!
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Не совсем то, но скоростной счётчик может измерять длительность импульса и паузы.
richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01 июл 2020, 21:41
Имя: Alex

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

Сообщение richialex »

RedSky писал(а): 09 мар 2021, 12:20 Не совсем то, но скоростной счётчик может измерять длительность импульса и паузы.
Спасибо большое за ответ! Покрутил, но не могу представить сценарий. Кроме того, пины, которые он предлагает, на моей плате не доступны, что само по себе отменяет его использование. Вроде простая функция, а до решения додуматься не могу....
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение Serg_Grn »

richialex писал(а): 09 мар 2021, 19:46 на моей плате не доступны
Это на какой плате?
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

richialex писал(а): 09 мар 2021, 19:46 на моей плате не доступны
Что бы получить приемлемую точность нужно использовать прерывания. У 328й атмеги для этого есть два входа.
И неплохо бы знать требования по времени - может можно без прерывания обойтись.
richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01 июл 2020, 21:41
Имя: Alex

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

Сообщение richialex »

Serg_Grn писал(а): 09 мар 2021, 20:42 Это на какой плате?
Mega 2560 в формате для 3d принтера. Если быть точным, то mks gen L v1.0. Часть пинов там физически не доступна. В проекте используются шаговые двигатели, и такой формат удобен готовой развязкой. Сначала использовал UNO с СNC Shield, но мощности Uno не хватало для корректной работы. Пины с прерываниями конечно имеются, но их часть использована, а оставшаяся часть не доступна.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

richialex писал(а): 09 мар 2021, 21:28 а оставшаяся часть не доступна
Можно подпаяться к выводу чипа.
Вот блоки для pin2 и 3. Для меги остальные по тому же принципу. На выходе блока время между восходящими фронтами в микросекундах. Нужна внешняя подтяжка пинов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01 июл 2020, 21:41
Имя: Alex

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

Сообщение richialex »

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

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

Отправлено спустя 9 минут 35 секунд:
RedSky писал(а): 09 мар 2021, 21:40 Можно подпаяться к выводу чипа.
Я так напаяю.... Что потом плату болгаркой обрабатывать придется....
RedSky писал(а): 09 мар 2021, 21:40 Вот блоки для pin2 и 3
При попытке добавить пользовательский блок говорит, что не удается открыть файл. У меня версия 6,3,1, возможно блоки для новой версии?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Блок создан в версии 7.3.3. Есть конвертер для понижения версии.
https://flprog.ru/downloads/distrutives ... my-flprog/
Если нужно измерять скорость в об/мин на форуме есть блоки.
viewtopic.php?f=81&t=4722
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение Serg_Grn »

Вариант на обычном счётчике (не на прерываниях), соответственно подключить можно к любому входу. Срабатывает по переднему фронту входящего импульса. Время в секундах, но может быть изменено настройкой блока-генератора.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
richialex
Рядовой
Сообщения: 31
Зарегистрирован: 01 июл 2020, 21:41
Имя: Alex

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

Сообщение richialex »

RedSky писал(а): 09 мар 2021, 22:20 Блок создан в версии 7.3.3. Есть конвертер для понижения версии.
Спасибо. Не знал про это. Буду пользоваться. Да и, думаю надо на новую версию переходить.
RedSky писал(а): 09 мар 2021, 22:20 Если нужно измерять скорость в об/мин на форуме есть блоки.
Этот блок скачивал, но пока не нашел ему применения.
Serg_Grn писал(а): 09 мар 2021, 22:27 Вариант на обычном счётчике (не на прерываниях)
Спасибо. Попробую. Если правильно понял, то я могу переменную in_ повесить параллельно датчику и на выходе в time получать время между его его "Еденичками". Если так, то то, что нужно...
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение Serg_Grn »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей