Skip to content

Latest commit

 

History

History
130 lines (107 loc) · 14.4 KB

File metadata and controls

130 lines (107 loc) · 14.4 KB

Arduino Slider

Схема устройства

Image of Arduino Slider

Описание оборудования

На рельсе установлена тележка с камерой. Тележка перемещается по рельсу с помощью мотора M1. На тележке установлен потенциометр P1. Потенциометр подключен к колесу таким образом, что полный оборот ротора потенциометра соответствует полному пробегу тележки по рельсу. При нахождении тележки в крайне правом положении потенциометр установлен в максимальное значение. При нахождении тележки в крейне левом положении потенциометр установлен в минимальное значение.

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

Тележка имеет длину L

Система снабжена цифровым дисплеем, для контроля выполняния работы

Электрическая схема

Scheme of Arduino Slider

Задачи

Задача 1. Движение к краю

  • Тележка должна двигаться вправо/влево до тех пор, пока не активирует датчик правого/левого края.
  • Активация датчика долна привести к полной остановке тележки.
  • Функция управления должна получать направление движения в качестве входного параметра.
  • В переменную state записать “task1”

Задача 2. Движение от края до края

  • Находясь в крайнем положении двигаться по рельсу до противоположного датчика
  • Функция управления должна получать в качестве параметра скорость движения тележки
  • Направление движение функция должна выбирать согласно данным, полученным с потенциометра
  • В переменную state записать “task2”

Задача 3. “Пинг-понг”

  • Находясь в произвольном положении тележка должна двигаться до правого/левого датчика крайнего положения
  • При активации датчика крайнего положения тележка должна с той же скоростью двигаться в противоположном направлении
  • Функция управления должна получать в качестве параметра скорость и направление движения
  • В переменную state записать “task3”

Задача 4. Движение к ближайшему краю

  • Находясь в произвольном положении тележка должна по информации с потенциометра определить собственное положение на рельсе
  • Получив информацию о собственном положении на рельсе определить направление движения к ближайшему краю
  • Двигаться в сторону ближайшего края до активации соответствующего датчика и остановиться
  • Функция управления должна получать в качестве параметра скорость движения
  • В переменную state записать “task4”

Задача 5. Центровка

  • Находясь в произвольном положении тележка должна по информации с потенциометра определить собственное положение на рельсе
  • Получив информацию о собственном положении на рельсе определить направление движения к центру рельса
  • Двигаться в сторону центра рельса до его достижения и остановиться на нем
  • В качестве входного параметра управляющая функция должна получать скорость движения
  • В переменную state записать “task5”

Задача 6. Дельта

  • Находясь в центре рельса тележка отъезжает от него на указанное расстояние D вправо/влево со скоростью V1
  • Переместившись на указанное расстояние тележка меняет направление движения на противоположное
  • Тележка перемещается на расстояниe 2*D со скоростью V2
  • Тележка меняет направление на противоположное и перемещается на расстояние D со скоростью V1 (вернуться в исходное положение)
  • Функция управления в качестве входных параметров должна получать скорость V1, V2 и расстояние D
  • В переменную state записать “task6”

Задача 7. Разгон

  • Тележка находится в крайнем правом/левом положении
  • Тележка начинает равноускоренное движение в противоположную сторону с ускорением A
  • Направление движения тележка выбирает согласно данным, полученным от потенциометра
  • Переместившись в противоположную часть рельса и активировав датчик крайне правого/левого положения тележка останавливается
  • Функция управления должна получать в качестве входного параметра ускорение A
  • В переменную state записать “task7”

Задача 8. Торможение

  • Тележка находится в крайнем правом/левом положении
  • Тележка начинает равнозамедленное движение в противоположную сторону с ускорением A
  • Направление движения тележка выбирает согласно данным, полученным от потенциометра
  • Переместившись в противоположную часть рельса и активировав датчик крайне правого/левого положения тележка останавливается
  • Если ускорение задано таким, что тележка не доезжает до противоположного края рельса, то тележка останавливается в том месте, где её скорость будет нулевой
  • Функция управления должна получать в качестве входного параметра ускорение A
  • В переменную state записать “task8”

Задача 9. Переменное движение тележки

  • Находясь в произвольном положении тележка должна двигаться со скоростью, соответствующей повороту ручки управления RC1
  • Ручка управления RC1 имеет среднее и крайние положения.
  • Нахождение ручки RC1 в среднем положении эквивалентно нулевой скорости тележки
  • Нахождение ручки RC1 в крайнем положении соответствует максимальной скорости движения в этом направлении
  • В переменную state записать “task9”

Задача 10. Индикация скорости движения тележки

  • На экране отобразить надпись “V=” и значение скорости перемещения тележки
  • Скорость перемещения тележки определить исходя из нескольких замеров значений, полученных от потенциометра, за промежуток времени

Задача 11. Индикация положения тележки

  • На экране отобразить надпись “X=” и значение положения тележки относительно одного из краев
  • Данные положения получить от потенциометра
  • Минимальное значение потенциометра соответствует надписи “X=0”
  • Максимальное значение потенциометра соответствует надписи “X=100”

Задача 12. Индикация направления движения

  • При движении тележки влево на экране отображать надпись “<<“
  • При движении талежки вправо на экране отображать надпись “>>”
  • Направление движения тележки получать на основании нескольких замеров значений, полученных от потенциометра, за промежуток времени

Задача 13. Индикация ускорения тележки

  • При движении тележки в режиме “разгон”, “торможение” и “переменное движение” на экране отображать надпись “A=” и значение ускорения
  • При равномерном движении отображать “A=0”
  • Ускорение вычислять на основании нескольких замеров значений, полученных от потенциометра, за промежуток времени

Задача 14. Индикация режима работы

  • На экране выводить надпись “R=” и далее режим работы слайдера
  • Режимы работы слайдера получать на основании значений переменной state
  • Режимы имеют следующие названия
    • task1:”toEdge”
    • task2:”adgeToEdge”
    • task3:”pingPong”
    • task4:”toNearEdge”
    • task5:”toCenter”
    • task6:”delta”
    • task7:”accMotion”
    • task8:”decMotion”
    • task9:”varMotion”

Задача 15. Тестирование подвижной части

  • Находясь в произвольном положении тележка должна двигаться вправо до крайнего положения на рельсе, до активации соответствующего датчика
  • При активации датчика крайне правого положения, необходимо проверить показания потенциометра. Данные должны соответствовать его максимальному значению.
  • Далее тележка должна переместиться в крайне левое положение на рельсе доактивации датчика крайне левого положения
  • При активации датчика крайне левого положения программа должна проверить показания потенциометра. Данные должны соответствовать его минимальному значению.
  • Если обе проверки прошли успешно, то на экране показать надписть “Motion Test Ok”, в противном случае показать на экране надпись “Motion Test Error”

Задача 16. Тестирование датчков

  • Находясь в произвольном положении тележка должна двигаться вправо до крайнего положения на рельсе
  • Программа должна постоянно считывать данные с потенциометра
  • Если при достижении потенциометром его максимального значения (то есть значения больше не увеличиваются) программа не получила сигнал от датчика крайне правого положения, то программа должна остановить мотор тележки и выдать на экран сообщение “Right Button Err”
  • Если до достижения потенциометром его максимального значения программа получила сигнал от датчика крайне правого положения, то программа должна остановить мотор тележки и вывести на экран сообщение “Right Button Ok”.
  • Те же самые действия должны быть проведены для движения влево и датчика крайне левого положения.