Как определить падение или повышение частоты?

Вопросы от новичков
Ответить
Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30 окт 2019, 17:58
Имя: Сергей

Как определить падение или повышение частоты?

Сообщение Sanbi4 »

Друзья, всем привет!

Такая задачка:
считываем частоту импульсов скоростным счетчиком, затем сравниваем компараторами на 3 условия (X<45Гц; 45<=X<=85; X=>85), то есть имеем 3 выхода с блоков компараторов, (1);(2);(3) - обозначим здесь эти условия так. частота со значения на значение резко не прыгает, а изменяется плавно и линейно.

При попадании частоты в диапазон от 0 до 45Гц мотор делает 300 шагов от нулевой точки(с этим я тоже разобрался), потом если частота от 45 до 85ГЦ, то мотор делает еще 300 шагов в туже сторону; если частота выше 85Гц - мотор делает еще 300 шагов в туже сторону.
Частота может нарастать, а может и падать. и в зависимости от работы компараторов (условия значения частоты) передаем количество шагов мотору с помощью цепочки аналоговых выключателей. с этим я разобрался, как передать значения шагов на мотор, но только если частота возрастает. Но мне надо, чтобы мотор делал шаги в обратной последовательности (3);(2);(1), если частота падает. То есть мне нужно заставить МК понимать растет ли частота или падает, чтобы подавать на DIR (драйвер А4988) соответственно 0 (если частота падает) или 1 (если растет), но можно и наоборот 1 и 0. также, частота может расти или падать на любом из условий.
Подскажите, как реализовать слежение в какую сторону изменяется частота и, соответственно, привязать это к лог 0 и лог 1, а то без этого слежения мотор всегда вращается в одну из сторон.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Как определить падение или повышение частоты?

Сообщение edyapd »

На скоростном счётчике есть измерение длительности импульса. Сравнивайте текущую с тем, что было получено ранее и делайте вывод.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2473
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 10 раз
Поблагодарили: 40 раз

Как определить падение или повышение частоты?

Сообщение Dryundel »

Sanbi4 писал(а): 04 ноя 2019, 22:29 Подскажите, как реализовать слежение в какую сторону изменяется частота и, соответственно, привязать это к лог 0 и лог 1, а то без этого слежения мотор всегда вращается в одну из сторон.
Можно к примеру так:
Отслеживаем активность выходов блоком шифратор.
Если активный выход изменился сравниваем предыдущее значение выхода с текущим и в соответствии переключаем триггер направления.
В этот же момент присваиваем значение текущего выхода значению предыдущего выхода.

Ну примерно как то так:
Скорость-направление.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30 окт 2019, 17:58
Имя: Сергей

Как определить падение или повышение частоты?

Сообщение Sanbi4 »

спасибо за ответы, но не работает. всегда на выходе RS триггера 1.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Как определить падение или повышение частоты?

Сообщение edyapd »

Sanbi4 писал(а): 05 ноя 2019, 13:41 но не работает. всегда на выходе RS триггера 1.
Ну так покажите ваш проект, будет легче подсказать.
Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30 окт 2019, 17:58
Имя: Сергей

Как определить падение или повышение частоты?

Сообщение Sanbi4 »

я пытаюсь разработать отдельные узлы будущего проекта, и посмотреть как все это работает и как потом все это объединить в одно целое.
суть вопроса такая: имеем вход, на которые подаем импульсы с датчика скорости авто, определяем 3 диапазона скорости (частоты импульсов) 1 - до 45, 2- от 45 и до 85, 3 - выше 85. с этим у меня проблем нет. при попадании частоты в определенный диапазон - имеем на нем 1, на остальных 0.

мне нужно, чтобы мотор делал определенное число шагов при переходе от диапазона к диапазону, то есть:

до 45: делаем N шагов от начала отсчета (концевика) по часовой;
разгоняемся до 60: делаем еще M шагов по часовой(От нуля получается N+M шагов);
разгоняемся до 90 - еще H шагов по часовой (N+M+H шагов от нулевой точки)

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

то есть в случае снижения скорости от 90 до 60 - делаем H шагов против часовой, с 60 до 40 - тоже M шагов против часовой.

Вот мне и надо определить частота растет или падает, чтобы этим задать направление вращения мотора.

Количество шагов N, M, H будут константами, подберу опытным путем.
С чередованием количества шагов N,M,H у меня тоже проблем нет - с этим разобрался.
С проходом некоторого количества шагов от нулевой точки (концевика) - у меня тоже проблем нет, разобрался.

Хочу данный узел создать отдельной платой в проекте, чтобы было проще потом разбираться и настраивать. Файл проекта дома, вечером прикреплю.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2473
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 10 раз
Поблагодарили: 40 раз

Как определить падение или повышение частоты?

Сообщение Dryundel »

Sanbi4 писал(а): 05 ноя 2019, 13:41 спасибо за ответы, но не работает. всегда на выходе RS триггера 1.
Да, действительно с шифратором работать не будет при условии что Вы тестируя нажимаете на кнопки например. Когда ни одна кнопка не нажата шифратор выдает "0". Поэтому и всегда единица при следующем нажатии. В рабочей схеме у Вас ноля на выходе шифратора не будет кроме как в момент запуска.

Ладно. Вот вам схема которая работает в любом случае. Вместо дешифратора там мой, слегка подправленный под Вас, блок "Switch IN" вот от сюда.
.
Скорость-направление.flp
.
Тестируйте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30 окт 2019, 17:58
Имя: Сергей

Как определить падение или повышение частоты?

Сообщение Sanbi4 »

[ref]Dryundel[/ref], Да, действительно, все работает как надо! огромное Вам спасибо!!!! скрестил с диапазонами своими - все как часики!!!
Ответить

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

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

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