Урок 4: Умная поилка для домашних животных
План:
1. Сервопривод.
2. Управление сервоприводом.
3. Датчик уровня воды.
Теоретическая часть
1. Сервопривод
Сервопривод (серводвигатель или сервомотор) — это разновидность мотора, для которого можно легко задавать угол поворота оси. Фактически это мотор, имеющий дополнительные элементы для управления, обратную связь и ограниченный угол поворота. В серводвигателе установлен редуктор (набор зубчатых колес), определяющий усилие и скорость вращения оси. Также в сервомоторе присутствует датчик, который определяет положение выходного вала и соответственно угол поворота серводвигателя. На рисунке представлены составляющие части серводвигателя.
Рис 4.1 — Структура сервопривода
Серводвигатели можно использовать в тех случаях, когда необходимо точно регулировать положение, например, манипулятора.
Внешний вид сервопривода представлен на рисунке 4.2.
Рис 4.2 — Сервопривод
От сервопривода отходят три провода: коричневый — земля, оранжевый — плюс, желтый — сигнальный (подключается к цифровому выходу).
2. Управление сервоприводом
В среде S4A серводвигатель может подключаться только к 8 порту. Для позиционирования сервопривода будем использовать блок «мотор 8 угол».
Данный блок устанавливает сервопривод на заданный угол. Назовем угол аргументом блока «мотор 8 угол ..». В данном блоке аргумент быть целым числом от 0 до 180.
3. Датчик уровня воды
Позволяет определять уровень воды в емкости, куда он погружен. Внешний вид датчика представлен на рисунке 4.3.
Рис 4.3 — Датчик уровня воды
Вдоль датчика расположены длинные резистивные полосы. При погружении их в воду их сопротивление уменьшается, что и влияет на выходной сигнал.
Имеет 3 вывода: один подключается к плюсу, второй к земле, третий к аналоговому входу.
Практическая часть
1. Вращать сервопривод по- и против часовой стрелки на 180 градусов.
Шаг 1. Соберем схему.
Шаг 2. Составим программу. Сначала создадим переменную «угол», в которой будет храниться текущее положение серводвигателя. Ее значение будет изменяться сначала от 0 до 180, а затем от 180 до 0.
2. Управлять углом поворота сервопривода с помощью потенциометра.
Шаг 1. Соберем схему. Добавляем к схеме, собранной в прошлом задании, потенциометр.
Шаг 2. Составим программу. Вычисляем угол поворота потенциометра в зависимости от значения, полученного с потенциометра. Устанавливаем сервопривод в вычисленный угол.
3. С использованием сервопривода и датчика уровня воды сделать автоматическую поилку для домашних животных, которая поддерживает воду в миске на определенном уровне.
Шаг 1. Соберем схему. В ней должны быть подключены сервопривод и датчик уровня воды.
Шаг 2. Установим емкость с водой над поилкой и прикрепим затвор к коромыслу сервопривода таким образом, чтобы при вращении коромысла, затвор отодвигался, и из емкости в поилку лилась вода.
Шаг 3. Составим программу. Определяем, при каких углах поворота сервопривода затвор будет закрыт, а при каких открыт. Создаем переменные со значениями этих углов.
Шаг 4. Задаем начальное состояние затвора — закрытое. Затем выполняем проверку: если уровень воды меньше установленного, мы установили меньше 200 (напомним, что датчик может передать значение от 0 до 1023), открываем затвор. Вода будет поступать в поилку до тех пор, пока уровень не станет больше 1000. Затем затвор закрывается.
Перейти к 3-му уроку Перейти ко 5-му уроку Перейти к оглавлению