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

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

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

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

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

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

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

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

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

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

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

Product image 1

 

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

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

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

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

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

Тогда решил разделить управление сервоприводом и считыванием показаний с датчика, разместив их на разных платах соединенных по UART.

Продолжение следует!

 

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

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

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

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