Сборка самобалансирующегося Segway на Raspberry Pi
Шаг 1: Сбор материалов
- Raspberry Pi 2 с установленным Raspbian, питание от 5 В AC‑DC адаптера — $45.00
- USB Wi‑Fi адаптер (напр., Edimax) — $10.00
- Два DC-мотора, два колеса, легкий автомобильный каркас, акриловые листы, моторные кронштейны, латунные шпильки, валовые муфты, ассорти винтов — $50.00
- Передаточное число мотора 1:34; 1:21 может дать лучшую производительность, если крутящий момент и скорость позволяют.
- 12 В AC‑DC адаптер — $4.00
- L293D драйвер моторов — $3.00
- MPU6050 6-осевой IMU — $3.00
- 830-точечная макетная плата — $4.00
- Перемычки (male-to-male и male-to-female) — $3.00
- Стяжки (x8) — $1.00
- Итого: ~$123.00
Шаг 2: Сборка рамы
Следуйте инструкциям рамы для монтажа моторов, колес и электроники на шасси. Используйте акриловые листы для чистого, низкопрофильного вида.
Шаг 3: Проводка схемы
Соедините MPU6050 и L293D с Raspberry Pi и блоком питания как показано ниже. Эта конфигурация позволяет Pi читать данные движения и управлять моторами.
- MPU6050 VCC → Pi пин 1 (3.3 В)
- MPU6050 SDA → Pi пин 3 (SDA)
- MPU6050 SCL → Pi пин 5 (SCL)
- MPU6050 GND → Pi пин 6 (GND)
Подключения драйвера моторов:
- Левое колесо: Pi пины 11, 13, 15 → L293D пины 2, 7, 1
- Правое колесо: Pi пины 16, 18, 22 → L293D пины 15, 10, 9
- L293D пин 3 & 6 → левый мотор клеммы (M+, M-)
- L293D пин 14 & 11 → правый мотор клеммы (M+, M-)
- L293D Vs → 12 В питание
- L293D Vss → 5 В питание
- L293D пины 4, 5, 12, 13 → GND
Подайте питание на L293D от 12 В адаптера, а Pi — от своего 5 В адаптера.
Шаг 4: Закрепление всего
Используйте стяжки для зажима всей проводки и компонентов на месте, обеспечивая чистую сборку, которая не сдвинется во время работы.
Шаг 5: Установка ПО
Предполагая, что Raspbian установлен и вы можете SSH в Pi, настройте I²C модуль ядра и библиотеку WiringPi. Они позволяют Pi общаться с MPU6050 и управлять GPIO пинами.
$ sudo apt-get install libi2c-dev
Включите I²C редактированием /etc/modules:
i2c-bcm2708 i2c-dev
Убедитесь, что черный список /etc/modprobe.d/raspi-blacklist.conf имеет закомментированными следующие строки:
#blacklist spi-bcm2708 #blacklist i2c-bcm2708
Активируйте I²C через sudo raspi-config (Advanced Options → I²C). Перезагрузите Pi:
$ sudo bash; sync; sync; reboot
Проверьте загрузку модуля:
$ lsmod | grep i2c
Установите WiringPi:
$ sudo apt-get install git-core $ git clone https://github.com/WiringPi/WiringPi $ cd WiringPi $ sudo ./build
С готовым железом и софтом теперь можно запрограммировать Pi на балансировку seguway с использованием данных MPU6050.
Производственный процесс
- Жидкое аддитивное производство: создание 3D-объектов из жидких материалов
- Как считывать температуру с DS18B20 на Raspberry Pi 2
- Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
- Точный мониторинг температуры в серверной на Raspberry Pi
- Интеграция данных сенсоров в Raspberry Pi: практическое руководство
- Обнаружение молний с Raspberry Pi и AS3935: практическое руководство
- Создание headless сигнализации утечки воды на Raspberry Pi 2 с Adafruit T‑Cobbler Plus
- Создание монитора температуры ThingSpeak с Raspberry Pi и BrickPi
- Создание бюджетного детектора плача ребенка на Raspberry Pi — DIY-руководство
- Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi