Оглавление:
- Шаг 1. Библиотека StepDriver
- Шаг 2: глобальные переменные
- Шаг 3: Функции - Установка выводов драйвера
- Шаг 4: Функции - основные функции драйвера
- Шаг 5: Функции - Настройка шага двигателя
- Шаг 6: Функции - Установка пошагового режима двигателя
- Шаг 7: Функции - установка концевых выключателей
- Шаг 8: Функции - считывание концевых выключателей
- Шаг 9: Функции - Настройка движения
- Шаг 10: Функции - Функция движения
- Шаг 11: Функции - Функция движения - Переменные
- Шаг 12: Функции - Функция движения - Ускорение
- Шаг 13: Функции - Функция движения - Постоянная скорость
- Шаг 14: Функции - Функция движения - Замедление
- Шаг 15: Функции - Функция движения - Постоянная скорость
- Шаг 16: Функции - Функция перемещения - Перемещение поворотов
- Шаг 17: График движения - скорость положения
- Шаг 18: Анимированный график - позиция против. Позиция
- Шаг 19: Анимированная диаграмма - скорость против. Момент
Видео: Arduino: Precision Lib для шагового двигателя: 19 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Сегодня я покажу вам библиотеку для полного привода шагового двигателя с концевыми выключателями и движения двигателя с ускорением и микрошагом. Этот Lib, который работает как на Arduino Uno, так и на Arduino Mega, позволяет перемещать двигатели не только по количеству шагов, но и по миллиметрам. И это тоже довольно точно.
Важной особенностью этой библиотеки является то, что она позволяет вам создать свой собственный станок с ЧПУ, который не обязательно будет просто X, Y, но также, например, переключателем секций, потому что это не готовый GRBL, а скорее программа, которая позволяет сделать идеальную машину для вас.
Однако следующее утверждение - важная деталь! Это видео только для тех, кто уже привык к программированию. Если вы не знакомы с программированием Arduino, вам следует сначала посмотреть другие вводные видео на моем канале. Это потому, что я обсуждаю более сложную тему в этом конкретном видео и более подробно объясняю Lib, используемую в видео: Шаговый двигатель с ускорением и концом хода.
Шаг 1. Библиотека StepDriver
Эта библиотека охватывает три наиболее распространенных типа драйверов на рынке: A4988, DRV8825 и TB6600. Он конфигурирует контакты драйверов, позволяя им выполнять сброс и перевод в спящий режим, а также активировать и деактивировать выходы двигателя, воздействующие на контакт включения. Он также устанавливает входы микрошаговых выводов драйвера и ограничительные переключатели, а также уровень их активации (высокий или низкий). Он также имеет код движения двигателя с постоянным ускорением в мм / с², максимальной скоростью в мм / с и минимальной скоростью в мм / с.
Для тех, кто смотрел части 1 и 2 видео «Шаговый двигатель с ускорением и концом хода», скачайте эту новую библиотеку, доступную сегодня, потому что я внес некоторые изменения в этот первый файл, чтобы облегчить его использование.
Шаг 2: глобальные переменные
Я точно показываю, для чего предназначена каждая из глобальных переменных.
Шаг 3: Функции - Установка выводов драйвера
Здесь я описываю некоторые методы.
Я установил параметры вывода и выводы Arduino в качестве вывода.
Шаг 4: Функции - основные функции драйвера
В этой части мы работаем с настройкой драйвера и его основных функций.
Шаг 5: Функции - Настройка шага двигателя
На этом этапе кода мы настраиваем количество шагов на миллиметр, которые должен выполнить двигатель.
Шаг 6: Функции - Установка пошагового режима двигателя
В этой таблице показаны настройки для шагового режима двигателя. Вот несколько примеров.
Шаг 7: Функции - установка концевых выключателей
Здесь я должен прочитать целые и логические значения. При установке максимального и минимального предельных значений концевой шпильки необходимо указать, находится ли активный ключ вверх или вниз.
Шаг 8: Функции - считывание концевых выключателей
Эта часть отличается от той, что в Lib, которую я сделал доступной на прошлой неделе. Почему я его поменял? Что ж, я создал eRead, чтобы заменить некоторые другие. Здесь eRead прочитает LVL, digitalRead (контакт) и вернет TRUE. Все это нужно выполнять на высоком уровне. Дальнейшая работа с активным ключом будет на низком уровне. Я использую его здесь, чтобы показать вам таблицу «Истина».
На изображении кода я разместил диаграмму, которая поможет понять, что в этой части исходного кода я двигаюсь по возрастанию и, конечно, еще не добрался до конца ключа.
Теперь, на этом изображении os code bool DRV8825, я показываю, что движок все еще движется в растущем направлении. Однако сработал максимальный концевой выключатель. Таким образом, механизм должен остановить движение.
Наконец, я показываю то же движение, но в противоположном направлении.
Здесь у вас уже активирован переключатель конца курса.
Шаг 9: Функции - Настройка движения
Основная полезность метода motionConfig - преобразование миллиметров в секунду (измерение, используемое в станках с ЧПУ) в шаги, чтобы соответствовать контроллеру шагового двигателя. Поэтому именно в этой части я создаю экземпляры переменных, чтобы понимать шаги, а не миллиметры.
Шаг 10: Функции - Функция движения
На этом шаге мы обрабатываем команду, которая перемещает шаг в желаемом направлении за период в микросекундах. Мы также устанавливаем штифт направления водителя, время задержки и направление концевых выключателей.
Шаг 11: Функции - Функция движения - Переменные
В этой части мы настраиваем все переменные, которые включают, среди прочего, периоды максимальной и минимальной скорости, расстояние траектории и шаги, необходимые для прерывания траектории.
Шаг 12: Функции - Функция движения - Ускорение
Здесь я представляю некоторые подробности о том, как мы пришли к данным об ускорении, которые были рассчитаны с помощью уравнения Торричелли, поскольку при этом учитываются промежутки для работы ускорения, а не время. Но здесь важно понимать, что все это уравнение - это всего лишь одна строка кода.
Мы определили трапецию на изображении выше, потому что начальные обороты не подходят для большинства шаговых двигателей. То же самое и с замедлением. Из-за этого мы визуализируем трапецию в период между ускорением и замедлением.
Шаг 13: Функции - Функция движения - Постоянная скорость
Здесь мы сохраняем количество шагов, используемых при ускорении, мы продолжаем работать с постоянной скоростью и сохраняем максимальную скорость, что можно увидеть на изображении ниже.
Шаг 14: Функции - Функция движения - Замедление
Здесь у нас есть другое уравнение, на этот раз с отрицательным значением ускорения. Он также отображается в строке кода, которая на изображении ниже представляет прямоугольник с надписью Deceleration.
Шаг 15: Функции - Функция движения - Постоянная скорость
Мы возвращаемся к постоянной скорости, чтобы проработать вторую половину траектории, как показано ниже.
Шаг 16: Функции - Функция перемещения - Перемещение поворотов
В этой части мы перемещаем двигатель на определенное количество оборотов в нужном направлении, переводя количество оборотов в миллиметры. Наконец, мы перемещаем двигатель в требуемом направлении.
Шаг 17: График движения - скорость положения
На этом графике у меня есть данные, которые были извлечены из уравнения, которое мы использовали в части ускорения. Я взял значения и поиграл с последовательным интерфейсом Arduino, а затем перешел от этого к Excel, что привело к этой таблице. В этой таблице показан прогресс шага.
Шаг 18: Анимированный график - позиция против. Позиция
Здесь мы берем положение в шагах и скорость и преобразуем их в период в микросекундах. Отметим на этом этапе, что период обратно пропорционален скорости.
Шаг 19: Анимированная диаграмма - скорость против. Момент
Наконец, у нас есть скорость как функция момента, и благодаря этому у нас есть прямая линия, поскольку это скорость как функция времени.
Рекомендуемые:
Raspberry Pi, Python и драйвер шагового двигателя TB6600: 9 шагов
Raspberry Pi, Python и драйвер шагового двигателя TB6600: в этом руководстве описаны шаги, которые я предпринял для подключения Raspberry Pi 3b к контроллеру шагового двигателя TB6600, источнику питания 24 В постоянного тока и 6-проводному шаговому двигателю. Я, наверное, как и многие из вас, и у меня есть «сумка для переноски». остаточного номинала
Как сделать СИГНАЛЬНЫЙ драйвер для шагового двигателя: 5 шагов
Как сделать драйвер с высоким током для шагового двигателя: здесь мы увидим, как сделать драйвер шагового двигателя с помощью контроллера Toshiba TB6560AHQ. Это полнофункциональный контроллер, которому нужны только 2 переменные в качестве входных данных, и он выполняет всю работу. Так как мне понадобились два из них, я сделал их с помощью
Выбор шагового двигателя и драйвера для проекта автоматического затенения Arduino: 12 шагов (с изображениями)
Выбор шагового двигателя и драйвера для проекта автоматизированного затененного экрана Arduino: в этом руководстве я проделаю шаги, которые я предпринял, чтобы выбрать шаговый двигатель и драйвер для прототипа проекта автоматизированного затененного экрана. Шторы - это популярные и недорогие модели Coolaroo с ручным приводом, и я хотел заменить их
Приспособление для испытания шагового двигателя: 3 шага
Приспособление для тестирования шаговых двигателей: у меня практически не было опыта вождения шаговых двигателей, поэтому перед проектированием, печатью, сборкой и программированием аналоговых часов с автокоррекцией «Antique» (https://www.instructables.com/id/Antique-Auto-Correcting) -Аналоговые часы /) с помощью шагового двигателя
Интеллектуальная система рулевого управления для машин-роботов с использованием шагового двигателя от старого дисковода для гибких дисков / компакт-дисков: 8 шагов (с изображениями)
Интеллектуальная система рулевого управления для автомобилей-роботов с использованием шагового двигателя старого дисковода для гибких дисков / компакт-дисков: интеллектуальная система рулевого управления для автомобилей-роботов Вы беспокоитесь о создании хорошей системы рулевого управления для своего автомобиля-робота? Вот отличное решение, просто используя ваши старые дисководы для гибких дисков / CD / DVD. следите за этим и получите представление о нем. Посетите georgeraveen.blogspot.com