Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05
Этот проект предназначен для людей, имеющих опыт использования Arduino. Предварительные знания об использовании сервоприводов, OLED-дисплеев, кастрюль, кнопок, пайки будут полезны. В этом проекте используются детали, напечатанные на 3D-принтере.
Ball Balancer - это испытательный стенд для ПИД-регулирования для экспериментов с настройкой ПИД-регулятора. PID Fiddler - это пульт дистанционного управления для настройки ПИД-регулятора.
ПИД-регулятор используется, когда вам нужно больше контролировать движение. Хороший пример - балансировочный робот. Роботу необходимо вносить небольшие изменения, чтобы поддерживать баланс, и быстро реагировать, чтобы поймать себя, если он наткнется на неровность или толчок. ПИД-регулятор может использоваться для настройки отклика колесных двигателей для поддержания баланса.
PID требует обратной связи от датчика. Балансировочный робот использует гироскопы и акселерометры для измерения абсолютного угла робота. Выходной сигнал датчика используется ПИД-регулятором для управления двигателями для поддержания баланса.
Так зачем же я сделал скучный балансир? Конечно, это круто, но балансирующие роботы опрокидываются, когда они неправильно настроены. Балансировочные роботы - не лучшее устройство для экспериментов с настройкой ПИД-регулятора. Балансировщик шара намного более стабилен и является хорошим визуальным инструментом для просмотра эффектов настройки ПИД-регулятора. Знания, полученные при настройке балансировочного станка, можно применить для настройки балансировочного робота.
Балансир Ball Balancer - это опора на опорной точке. На рельсе находится шар, который движется вперед и назад по рельсу при опрокидывании рельса. На рейке установлен сервопривод. На конце рельса находится датчик, который измеряет расстояние от шарика до датчика. Входными данными для ПИД-регулятора является расстояние от шара до датчика, а на выходе ПИД-регулятора - сервопривод, который наклоняет направляющую и перемещает мяч.
Я использую библиотеку Arduino PID.
PID Fiddler - это то, что я использую для настройки значений PID. Он вам не нужен, но он помогает. PID Fiddler удален от Ball Balancer, он подключается только двумя проводами, и его можно подключать и отключать во время работы Ball Balancer. Как только вы найдете лучшие значения, их можно жестко закодировать в эскизе вашего проекта.
Дополнительные усилия по созданию PID Fiddler окупаются со временем, необходимым для внесения изменений в настройку PID. Вы можете быстро увидеть результаты ваших изменений. И его можно будет повторно использовать в будущих проектах, использующих PID. Не говоря уже о том, что его весело строить, и он классно выглядит!
Шаг 1: Балансир - Детали
Детали, напечатанные на 3D-принтере, можно найти здесь:
(Инструкции по сборке находятся в инструкциях по послепечатной печати по ссылке выше)
Алюминиевый уголок 1-1 дюйм x 1/8 дюйма, отрезанный до длины 500 мм.
1 - Датчик времени полета Adafruit VL53L0X:
1 - сервопривод Hobby с рупором
1 - Жесткий трос для соединения (около 7 мм)
- Разное. Крепежные винты
1- Arduino Uno
2 - светодиоды (красный, зеленый)
3 - резисторы 330 Ом
- Разное. Перемычки и макетная плата
- Плоская черная аэрозольная краска
1 - Белый мяч для пинг-понга
Шаг 2: Балансир - сборка
Инструкцию по сборке балансира мячей можно найти здесь:
Несколько дополнительных советов:
Распылите краску на внутреннюю поверхность направляющей в черный цвет, чтобы уменьшить погрешность датчика.
Связь (показано на рисунке выше):
- Используйте жесткий провод длиной около 7 мм для связи между звуковым сигналом сервоуправления и кронштейном датчика.
- Выровняйте направляющую, поместите управляющий рог горизонтально в среднюю точку движения сервопривода (значение сервопривода 90).
- Согните небольшую петлю в верхней части проволоки и z-образный изгиб в нижней части проволоки.
- Вставьте конец z в рупор, отметьте точку в центре петли на кронштейне датчика.
- Просверлите небольшое отверстие и с помощью небольшого винта прикрепите провод к кронштейну датчика.
Шаг 3: Схема подключения балансира шара и эскиз Arduino
См. Схему подключения на рисунке выше.
Используйте отдельный источник питания для сервопривода. Это может быть настольный блок питания или аккумулятор. Я использую настольный блок питания на 5 В.
PID Fiddler будет подключен двумя проводами: один к контакту 1 (последовательный RX), а второй - к земле.
Эскиз предоставляется.
Примечания к эскизу: значение уставки будет изменяться с 200 мм до 300 мм каждые 15 секунд. Полезно использовать Serial Monitor в Arduino IDE, чтобы увидеть выходной сигнал датчика.
Шаг 4. PID Fiddler 2 - Детали
Напечатанный на 3D-принтере щит и ручки можно найти здесь:
4-10 кОм кастрюли
1- Кнопки мгновенного контакта:
1- Монохромный графический дисплей Adafruit 128x32 I2C OLED:
1- Arduino Uno
- разное. заголовок ping (0,1 дюйма), клеммные колодки, соединительный провод
Шаг 5: Pid Fiddler 2 - Подключение, сборка и эскиз Arduino
Используйте схему подключения для подключения экрана.
Советы по сборке:
- Советы по изготовлению нестандартных печатных плат см. В моих инструкциях:
- Заголовки суперклея на 3D-печатном щите.
- Я использую проволочную обмотку.
- Используйте кастрюли с квадратным дном, отрежьте монтажные петли и приклейте их горячим клеем.
- Компоненты припаяны. Используйте женский заголовок для OLED, и OLED можно легко отключить и удалить для использования в других проектах.
Примечания к эскизу:
- Подключите провод от клеммной колодки (подключенной к контакту 2, TX) к контакту 1 (последовательный RX) Ball Balancer Arduino. Подключите провод между клеммной колодкой (землей) и землей Ball Balancer Arduino.
- Удерживая кнопку, отрегулируйте ручки, чтобы отрегулировать настройки PID, отпустите кнопку, чтобы отправить значения в Ball Balancer.
Шаг 6: Использование Ball Balancer и PID Fiddler
Осталось только начать с ней играть!
- Поместите мяч на рельс.
- Удерживая кнопку на PID Fiddler, установите P, I и D на ноль, ST на 200, чтобы начать.
- Сервопривод перестанет отвечать.
- Теперь начните экспериментировать с разными значениями P, I и D, чтобы увидеть, как они влияют на реакцию и движение мяча.
- Попробуйте изменить значения для Sample Time (ST). Время выборки - это время в миллисекундах, в течение которого собираются входные данные. Значения усредняются за время выборки. Выходной сигнал датчика неподвижной цели будет немного отличаться. Если время выборки слишком мало, выходной сигнал ПИД-регулятора будет "дрожать". ПИД-регулятор пытается исправить шум в показаниях датчика. Использование более продолжительного времени выборки сгладит шум, но выходной сигнал ПИД-регулятора будет прерывистым.
Шаг 7:
Не используется
Рекомендуемые:
Pingo: детектор движения и высокоточная пусковая установка мячей для пинг-понга: 8 шагов
Pingo: детектор движения и высокоточная пусковая установка мячей для пинг-понга: Кевин Нитима, Эстебан Поведа, Энтони Маттаччионе, Рафаэль Кей
Автоматическая катапульта для бросания корма для домашних животных (собака, кошка, курица и т. Д.), Метания мячей и многого другого!: 4 шага (с изображениями)
Автоматическая катапульта для бросания корма для домашних животных (собаки, кошки, курицы и т. Д.), Метания мячей и многого другого !: Здравствуйте, и добро пожаловать на мой первый инструктаж! Наша собака ОБОЖАЕТ свою еду, она буквально съест ее в считанные секунды. Я придумывал способы замедлить это, от шариков с едой внутри до разбрасывания ее на задний двор. Удивительно, но она
Visuino PID Brushes Motor Control and Encoder: 5 шагов
Visuino PID Brushes Motor Control and Encoder: Dzisiaj pokażę wam jak podłączyć servomotor szczotkowy z enkoderem optycznym do naszego arduino uno albo mega. Сегодня я покажу вам, как подключить серводвигатель щетки с оптическим кодировщиком к нашему arduino uno или mega
Самобалансирующийся робот с использованием алгоритма PID (STM MC): 9 шагов
Самобалансирующийся робот с использованием алгоритма PID (STM MC): в последнее время было выполнено много работы по самобалансировке объектов. Концепция самобалансировки началась с уравновешивания перевернутого маятника. Эта концепция распространилась и на дизайн самолетов. В этом проекте мы разработали небольшой мод
Управление скоростью двигателя постоянного тока с использованием алгоритма PID (STM32F4): 8 шагов (с изображениями)
Управление скоростью двигателя постоянного тока с использованием алгоритма PID (STM32F4): всем привет, это тахир уль хак с другим проектом. На этот раз это STM32F407 как MC. Это конец семестрового проекта. Надеюсь, вам это понравится. Это требует множества концепций и теории, поэтому мы сначала рассмотрим это. С появлением компьютеров и