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

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

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

#1

Сообщение Sanbi4 » 04.11.2019{, 22:29}

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

Такая задачка:
считываем частоту импульсов скоростным счетчиком, затем сравниваем компараторами на 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.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

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

#2

Сообщение edyapd » 05.11.2019{, 03:50}

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

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

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

#3

Сообщение Dryundel » 05.11.2019{, 10:46}

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

Ну примерно как то так:
Скорость-направление.jpg

Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30.10.2019{, 17:58}
Репутация: 3
Имя: Сергей

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

#4

Сообщение Sanbi4 » 05.11.2019{, 13:41}

спасибо за ответы, но не работает. всегда на выходе RS триггера 1.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

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

#5

Сообщение edyapd » 05.11.2019{, 13:49}

Sanbi4 писал(а):
05.11.2019{, 13:41}
но не работает. всегда на выходе RS триггера 1.
Ну так покажите ваш проект, будет легче подсказать.

Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30.10.2019{, 17:58}
Репутация: 3
Имя: Сергей

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

#6

Сообщение Sanbi4 » 05.11.2019{, 14:03}

я пытаюсь разработать отдельные узлы будущего проекта, и посмотреть как все это работает и как потом все это объединить в одно целое.
суть вопроса такая: имеем вход, на которые подаем импульсы с датчика скорости авто, определяем 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
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

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

#7

Сообщение Dryundel » 05.11.2019{, 15:05}

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

Ладно. Вот вам схема которая работает в любом случае. Вместо дешифратора там мой, слегка подправленный под Вас, блок "Switch IN" вот от сюда.
.
Скорость-направление.flp
(184.52 КБ) 41 скачивание
.
Тестируйте.

Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30.10.2019{, 17:58}
Репутация: 3
Имя: Сергей

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

#8

Сообщение Sanbi4 » 05.11.2019{, 19:18}

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

Ответить

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