Полное руководство по настройке Pi Servo Hat: железо, подключение и управление на Python
Введение
SparkFun Pi Servo Hat расширяет возможности Raspberry Pi, позволяя управлять до 16 хоббийных сервоприводов через шину I²C. Перенося питание и коммуникацию серв на Hat, вы освобождаете GPIO Pi для других задач и получаете удобный последовательный терминал для настройки без монитора.
Необходимые материалы
Для прохождения руководства соберите следующее. Рекомендуется чистая microSD-карта, а не NOOBS, так как для поддержки Pi Zero W требуются более новые образы ОС.
- Break Away Headers — Straight
- Wall Adapter Power Supply — 5.1V DC 2.5A (USB Micro-B)
- microSD Card with Adapter — 16GB (Class 10)
- Raspberry Pi GPIO Tall Header — 2×20
- Raspberry Pi Zero W
- SparkFun Pi Servo HAT
- Сервопривод для тестов (подойдет универсальный sub-micro сервопривод)
Необходимые инструменты
Специальное оборудование не требуется, кроме базовых паяльных принадлежностей. Для лучших результатов используйте паяльник 30 Вт и бессвинцовый припой.
Обзор железа
Hat намеренно сделан простым. Ключевые элементы:
- USB Micro-B разъем — подает 5 В на сервоприводы и может также питание Pi. Также предоставляет последовательную консоль для настройки Pi без монитора.
- Джампер изоляции питания — замкнут по умолчанию, соединяя шину серв с 5 В Pi. Раземкните при использовании нескольких высокотоковых сервоприводов, чтобы помехи не перезагружали Pi.
- Разъемы сервоприводов — 16 пинов с шагом 0.1 дюйма, рассчитанных на стандартные разъемы хоббийных сервоприводов.
Сборка железа
Рекомендуем сначала припаять мужские пины к Pi Zero W, затем установить Pi Servo Hat. Быстрая техника:
- Припаяйте один пин к плате.
- Пока припой горячий, наклоните плату, чтобы пин сел ровно, затем зафиксируйте заголовок.
- Допаяйте остальные пины.
Повторите процесс с женским заголовком и Pi Servo Hat, убедившись, что короткие пины вставляются снизу платы. Держите заголовки ровно до завершения пайки.
После сборки установите Hat на Pi Zero W. Подключите хоббийный сервопривод к каналу 0, ориентируясь на распиновку в даташите сервопривода. Используйте 5-вольтовый сетевой адаптер для питания Pi и Hat через USB Micro-B разъем, помеченный PWR IN.
Программное обеспечение — Python
PWM-контроллер Hat — I²C-устройство, обычно доступное как SMBus. Полные примеры кода есть в GitHub-репозитории продукта.
Инициализация SMBus
import smbus
bus = smbus.SMBus(1) # I2C bus 1 на Raspberry Pi
addr = 0x40 # Адрес PWM-чипа по умолчанию
Настройка PWM-чипа
bus.write_byte_data(addr, 0x00, 0x20) # Включение PWM-модуля
bus.write_byte_data(addr, 0xFE, 0x1E) # Автоинкремент адресов регистров
Установка ширины импульса для канала 0
bus.write_word_data(addr, 0x06, 0) # Время начала (всегда 0 для 200 Гц)
bus.write_word_data(addr, 0x08, 1250) # Время окончания → импульс 1.5 мс
PWM-чип работает на 200 Гц (период 5 мс). Регистр stop (0–4095) соответствует шагам 1.2 мкс, поэтому 1250 ≈ 1.5 мс — нейтральное положение для большинства сервоприводов.
Для адресации других каналов добавьте 4 к адресам регистров:
| Канал | Start Addr | Stop Addr |
|---|---|---|
| 0 | 0x06 | 0x08 |
| 1 | 0x0A | 0x0C |
| 2 | 0x0E | 0x10 |
| 3 | 0x12 | 0x14 |
| 4 | 0x16 | 0x18 |
| 5 | 0x1A | 0x1C |
| 6 | 0x1E | 0x20 |
| 7 | 0x22 | 0x24 |
| 8 | 0x26 | 0x28 |
| 9 | 0x2A | 0x2C |
| 10 | 0x2E | 0x30 |
| 11 | 0x32 | 0x34 |
| 12 | 0x36 | 0x38 |
| 13 | 0x3A | 0x3C |
| 14 | 0x3E | 0x40 |
| 15 | 0x42 | 0x44 |
Каждая градус движения требует 4,6 отсчета регистра. Например, смещение 45° от нейтрали — 207 отсчетов (45 × 4,6), которые прибавляются или вычитаются из 1250 для установки нужной ширины импульса.
Для более подробных примеров посетите GitHub-репозиторий и изучите входящие Python-скрипты.
Pi Servo Hat Hookup Guide
Производственный процесс
- Руководство по ЧПУ-прототипированию: точность, скорость и экономичное производство
- Руководство по интеграции FLIR Lepton: железо, софт и настройка на Raspberry Pi
- Руководство по настройке Raspberry Pi 3 Starter Kit: сборка, ОС и удаленный доступ
- SparkFun Qwiic HAT для Raspberry Pi: полное руководство по подключению
- Руководство по настройке профессионального 40-пинового Raspberry Pi Wedge
- Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
- Освоение молотков-кувалд: полное руководство для современной кузнечной работы
- Полное руководство по кузнечным горнам: типы, устройство, самостоятельное строительство
- Полное руководство по точному литью: технологии и применение
- Параллельность по ГОСТ/ISO (GD&T): краткий справочник