Как получить время частоты срабатывания?
Как получить время частоты срабатывания?
Здравствуйте! Не подскажете, как можно определить время между срабатыванием датчика, т.е. узнать сколько времени проходит между его срабатываниями? Можно как в секундах, так и в "попугаях" (Как будет менее ресурозатратно?). Нужно передать эти данные в PID регулятор. Пробовал через счетчик, но он отдает на выходе серию 1,2,3...20., и PID регулятор теряется не получая единого показания. Заранее спасибо!
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Как получить время частоты срабатывания?
Не совсем то, но скоростной счётчик может измерять длительность импульса и паузы.
Как получить время частоты срабатывания?
Спасибо большое за ответ! Покрутил, но не могу представить сценарий. Кроме того, пины, которые он предлагает, на моей плате не доступны, что само по себе отменяет его использование. Вроде простая функция, а до решения додуматься не могу....RedSky писал(а): 09 мар 2021, 12:20 Не совсем то, но скоростной счётчик может измерять длительность импульса и паузы.
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Как получить время частоты срабатывания?
Что бы получить приемлемую точность нужно использовать прерывания. У 328й атмеги для этого есть два входа.
И неплохо бы знать требования по времени - может можно без прерывания обойтись.
Как получить время частоты срабатывания?
Mega 2560 в формате для 3d принтера. Если быть точным, то mks gen L v1.0. Часть пинов там физически не доступна. В проекте используются шаговые двигатели, и такой формат удобен готовой развязкой. Сначала использовал UNO с СNC Shield, но мощности Uno не хватало для корректной работы. Пины с прерываниями конечно имеются, но их часть использована, а оставшаяся часть не доступна.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Как получить время частоты срабатывания?
Можно подпаяться к выводу чипа.
Вот блоки для pin2 и 3. Для меги остальные по тому же принципу. На выходе блока время между восходящими фронтами в микросекундах. Нужна внешняя подтяжка пинов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Как получить время частоты срабатывания?
Особой точности не требуется. Это необходимо для для регулировки скорости двигателя. Это проект намотчика, а так как скорость смотки постоянна, а при намотке и как следствие увеличения диаметра катушки (При той же скорости двигателя) скорость намотки увеличивается, то приходится его останавливать датчиком (Фоторезистор). Проволока свисает дугой и при срабатывании датчика двигатель намотчика останавливается и стартует вновь по прошествии 1 сек., далее цикл повторяется. Но чем больше намотано на катушку, тем быстрее поднимается проволока и фоторезистор не всегда успевает сработать на пролетающую мимо тень, что приводит к нежелательному вытягиванию проволоки. Сейчас решаю этот вопрос вручную снижая скорость намотки, но для этого необходимо находится рядом с аппаратом. Вот решил как то автоматизировать этот момент....RedSky писал(а): 09 мар 2021, 21:14 И неплохо бы знать требования по времени - может можно без прерывания обойтись.
Во вложении сам проект. Вернее его часть отвечающая за намотку.
Отправлено спустя 9 минут 35 секунд:
Я так напаяю.... Что потом плату болгаркой обрабатывать придется....
При попытке добавить пользовательский блок говорит, что не удается открыть файл. У меня версия 6,3,1, возможно блоки для новой версии?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Как получить время частоты срабатывания?
Блок создан в версии 7.3.3. Есть конвертер для понижения версии.
https://flprog.ru/downloads/distrutives ... my-flprog/
Если нужно измерять скорость в об/мин на форуме есть блоки.
viewtopic.php?f=81&t=4722
https://flprog.ru/downloads/distrutives ... my-flprog/
Если нужно измерять скорость в об/мин на форуме есть блоки.
viewtopic.php?f=81&t=4722
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Как получить время частоты срабатывания?
Вариант на обычном счётчике (не на прерываниях), соответственно подключить можно к любому входу. Срабатывает по переднему фронту входящего импульса. Время в секундах, но может быть изменено настройкой блока-генератора.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Как получить время частоты срабатывания?
Спасибо. Не знал про это. Буду пользоваться. Да и, думаю надо на новую версию переходить.RedSky писал(а): 09 мар 2021, 22:20 Блок создан в версии 7.3.3. Есть конвертер для понижения версии.
Этот блок скачивал, но пока не нашел ему применения.
Спасибо. Попробую. Если правильно понял, то я могу переменную in_ повесить параллельно датчику и на выходе в time получать время между его его "Еденичками". Если так, то то, что нужно...
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Как получить время частоты срабатывания?
Да, точнее время между передними фронтами последних двух "единичек".richialex писал(а): 09 мар 2021, 22:52 Если правильно понял, то я могу переменную in_ повесить параллельно датчику и на выходе в time получать время между его его "Еденичками"
И еще имейте ввиду, что там важен порядок компиляции блоков, потому если измените расположение блоков, может не работать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей