Судя по моему личному опыту создания этого маленького дрона, я прошел через кучу борьбы и недоразумений, прежде чем мне удалось заставить его летать. Я столкнулся с такими проблемами, как то, что дрону не хватало мощности для взлета, Arduino продолжал перезагружаться, предотвращая дросселирование, а также рассинхронизированные двигатели, разделенные на диагональные пары, вызывающие агрессивное колебание по тангажу/крену.
Ниже я перечисляю то, что я пробовал, что сработало и не сработало для решения упомянутых выше проблем, а также некоторые советы и другие меры, которые вы можете принять во внимание, чтобы поднять свой собственный дрон Arduino с земли.
Устранение неполадок, которые не помогли:
- Использование слабых двигателей (тяга 6 г) с более низкими оборотами, которые были предназначены для вращения только в одну сторону, не содержащих пары противоположных направлений – предотвращение подъема дрона.
- Добавление фильтрующих конденсаторов к выводам двигателя и входам питания Pro Mini, NRF24L01 и MPU6050 — не помешало перезагрузке дрона.
- Подключение сигнальных проводов драйвера двигателя к контактам ШИМ Arduino через резисторы — не помешало перезагрузке дрона.
- Изменение аппаратной и программной частоты ШИМ с 500 Гц на более высокое значение в коде в надежде на плавную работу двигателей и снижение электрических шумов – не помешало перезагрузке дрона.
- Опираясь исключительно на идеально устойчивое шасси, чтобы устранить раскачивание по тангажу и крену – не удалось помешать дрону раскачиваться в воздухе.
Устранение неполадок, которое сработало:
- Использование бессердечниковых двигателей со скоростью 60 000 об/мин (14 g или тяга) с парами, вращающимися по часовой стрелке и против часовой стрелки. Обеспечивается достаточная тяга для отрыва.
- Установка заземленного медно-алюминиевого экрана между чувствительной электроникой и драйвером двигателя — предотвратила перезагрузку дрона и позволила двигателям раскрутиться.
- Уменьшение столбца P в значениях PID для тангажа и крена — сгладило рассинхронизированную диагональную последовательность двигателей и обеспечило устойчивый полет.
Советы по устранению неполадок:
- Используйте мощные двигатели без сердечника с более высокой частотой вращения и двунаправленными парами.
- Защитите контроллер полета медной/алюминиевой фольгой под ним или обеспечьте достаточное расстояние (расстояние может быть практичным только для более крупных дронов)
- Увеличьте или уменьшите значения PID столбца P для Pitch and Roll. Если дрон быстро раскачивается, уменьшите значение. Если он колеблется медленно, увеличьте значение. Продолжайте постепенно настраивать, пока он не станет стабильным.
- Добавьте конденсатор емкостью 10 микрофарад к входам питания NRF24L01, если нет радиосвязи.
- Если один или несколько двигателей не работают должным образом, выполните проверку диодов транзисторов (MOSFET). При необходимости замените МОП-транзистор.
Ключевые выводы:
– Соберите каркас дрона из палочек от мороженого, используя предоставленные чертежи, или для большего удобства приобретите каркас, распечатанный на 3D-принтере. По чертежу каркаса детали можно вырезать даже из сплющенной трубы ПВХ.
– Соберите специальную плату драйвера двигателя из приобретенных или утилизированных компонентов, чтобы безопасно управлять бессердечными двигателями, не повреждая микроконтроллер.
– Выберите и установите бессердечниковые двигатели, которые обеспечивают достаточную тягу для стабильного полета, обеспечивая правильное направление вращения и ориентацию пропеллера.
– Сведите вес дрона к минимуму, выбрав аккумулятор наименьшего форм-фактора с текущей емкостью 150–250 мАч, уменьшив размер или выбрав модули как можно меньшего размера — каждый грамм имеет значение.
– Тщательно подключите компоненты дрона, включая радиопередатчик, контроллер полета и камеру FPV, чтобы обеспечить бесперебойную работу.
– Запрограммируйте дрон с помощью программного обеспечения MultiWii, отрегулировав значения PID для плавного полета и настроив элементы управления передатчиком для постановки на охрану и переключения режимов.
– Устраняйте распространенные проблемы, такие как сброс настроек Arduino, недостаточный подъем и синхронизация двигателя, используя такие стратегии, как экранирование чувствительной электроники и регулировка значений ПИД-регулятора.