Датчик расстояния TOF
Датчик расстояния TOF

Первоначально была создана модель радиоуправляемого краулера на базе arduino, который управлялся по радиоканалу на базе модуля nRF24L01+.

Схемные решения стандартные на плате nano, железо на шасси краулера с двумя мостами и передним управлением. Для обеспечения подвижности мостов использовал 4-х рычажную подвеску.

Для прототипа упрощал конструкцию краулера, чтобы отработать электрическую часть. Прототип нормально управлялся ,как по скорости, так и маневренности. Для лучшей маневренности в ограниченном пространстве возникли сложности в поддержание скорости и управление рулем, из-за малого хода джойстика, что приводило к скачкам скорости.  Для этого были добавлены команды для выбора максимальной скорости, как передачи на машине.

Следующим шагом решил сделать автопилот с объездом препятствий. 

В интернете было много статей о реализации подобия радара на сервоприводе и УЗД.

Само по себе  решение и код не сложный, но на практике это оказалось полным отстоем!

Никто не упомянул, что точность такого рада ужасная - он не определяет границы особенно в ближней зоне, а для объезда это критично.

Был в запасе лазерный датчик расстояния, но у него угол чуть лучше.

С узким лучом  не так просто было найти TOF датчик сопрягаемый с ардуино из-за отсутствия библиотек и навыка.

После поиска и экспериментов, остановил выбор на 

Product image 1

 

На сайте производителя можно найти код для ардуино.

Для внедрения в существующую модель решил сделать отдельный модуль для определения наличия препятствия перед машиной (с этим прекрасно справляется УЗД с его широким углом) и радара, который будет формировать массив данных для передачи на пульт управления и в дальнейшем расчитывать оптимальный маршут объезда препятствия.

Модуль определ наличие припятствия и давал команду на управляление сервоприводом  поворота датчика в цикле, а датчик считывал показания, данные угла и расстояния записывались в массив, в этом же массиве определялся свободный корридор и минимальный угол поворота колес для объезда.

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

  • Стал доробатывать код датчика на обработку ошибок при считывание, т.к. были ошибки ложных данных и отсутствия показаний, что и приводило к срыву цикла, пока не понял почему, но от срывов я не избавился.
  • Тогда решил разделить управление сервоприводом и считыванием показаний с датчика, разместив их на разных платах соединенных по UART.
  • Продолжение следует!

 

Категория: Датчики / Добавил: zabariap /
/ Просмотры: 29/ Просмотры за сегодня:
Комментарии

Нет комментариев

Форма добавления комментария доступна только авторизованному пользователю.
Категории

Ключевые слова
Последние комментарии в разделе Arduino
  • Комментариев нет.