Инструменты пользователя

Инструменты сайта


doc:1308:643.mgul.13080-02_13_01

общие сведения.

программа control_motors (1308:643.MGUL.13080-02_12_01);
для запуска требуются библиотека servo.h;
написана на языке C.

функциональное назначение.

в зависимости от полученных команд с бортовой ЭВМ программа осуществляет управление двигателями подвижной платформы , а также задает положение веб-камеры.

описание логической структуры.

программа в бесконечном цикле считывает полученный данные с бортовой ЭВМ переданные по последовательному порту на скорости 9600 Бод/сек. в зависимости от полученной команды с помощью функции switch вызывается определенная функция выполняющая определенную задачу. программа содержит следующие функции:

  • forward - функция отвечает за движение вперед
  • right - функци я отвечает за поворот на месте направо
  • left - функция отвечает за поворот на месте налево
  • back - функция отвечает за движение назад
  • stop1 - функция отвечает за остановку всех двигателей
  • rightforward - функция отвечает за движение направо
  • leftforward - функция отвечает за движение налево
  • servokursright - функция отвечает за движение веб-камеры по курсу направо
  • servokursleft - функция отвечает за движение веб-камеры по курсу налево
  • servotungright - функция отвечает за движение по тангажу наверх
  • servotungleft - функция отвечает за движение по тангажу вниз
  • defaultposition - функция ставит веб-камеру в положение по умолчанию
  • porog - функция считывает показания с дальномеров (которых сейчас нету) и не дает упасть в пропасть роботу в пропасть
  • keyselect - функция определяет какая команда пришла с бортовой ЭВМ
  • root - функция включает режим ручного управления, и не обращает внимания на показания датчиков
  • connection - функция вызывает функцию stop1, после чего останавливает выполнение программы на 2 секунды
  • GetEchoTiming - функция отвечает за измерение расстояния от ультразвукового датчика до препятствия.

программа передачи управляющих команд на контроллер платформы передает байт(символ в ASСII кодировке) который эта программа воспринимает как управляющие команды.

используемые технические средства.

для работы программы используются следующие технические средства:

  • arduino mega 2560
  • драйвер моторов двигателей L298N
  • 2 сервопривода SG-90
  • дальномеры(?)

вызов и загрузка.

входные данные.

программы принимается следующие команды:

управляющие команды вызываемая функция или действие
A LeftForward
B Back
C RightForward
D LeftSpeedUp
E LeftSpeedDown
F Forward
G зарезервировано для автономного движения
H зарезервировано для автономного движения
I root (вход)
J root (выход)
K RightSpeedUp
L Left
M RightSpeedDown
N Connection
O ServoKursRight
P ServoTungRight
Q ServoTungLeft
R Right
S Stop1
T ServokursLeft
U DefaultPosition

выходные данные.

программа выдает информацию о выполняемых действиях, в каждом сообщении содержится бортовое время разделенное табуляцией.

doc/1308/643.mgul.13080-02_13_01.txt · Последние изменения: 2018/04/28 23:47 (внешнее изменение)