Библиотека управления двигателями постоянного тока
Компоненты и расходные материалы
| × | 1 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 4 |
Приложения и онлайн-сервисы
|
Об этом проекте
Здесь я представляю библиотеку Arduino для управления двигателем постоянного тока. У библиотеки столько возможностей и гибкости, что она может управлять любым двигателем постоянного тока требуемым образом. Библиотека спроектирована в соответствии с industrialmotion control . требования. Библиотека имеет 16 различных функций, поэтому она может управлять двигателем самым универсальным образом. Вот список возможностей библиотеки
1. Он контролирует направление вращения двигателя
2. Он контролирует скорость двигателя от 0 до 100%
3. Он может обеспечить плавный запуск . на двигатель в указанное время - означает, что скорость двигателя увеличится с 0% до желаемого уровня за указанное время
4. Он может обеспечить плавную остановку на двигатель в указанное время - означает, что скорость двигателя снизится с текущей до 0% за указанное время
5. Он может применять jog control . к двигателю в любом направлении - означает, что двигатель будет рывком в указанном направлении
6. Он может применить DC BREAK (означает немедленный или аварийный останов) к двигателю
Здесь приведены краткие описания всех функций библиотеки. Далее приведены некоторые примеры, объясняющие, как управлять двигателем с помощью этой библиотеки. Приведены три видеоролика, демонстрирующие демонстрацию этих примеров. Наконец, предлагается схема, использующая схему H-Bridge, которая широко используется для управления двигателями постоянного тока.
Чтобы использовать эту библиотеку в своем скетче Arduino, просто скопируйте DC_Motor папку в корневой каталог папки библиотеки arduino, например C:\ arduino-1.6.7 \ libraries
Описание функций библиотеки:
1. DC_Motor (int pin1, int pin2): эта функция объявляет контакты Arduino, которые управляют двигателем постоянного тока
2. DC_Motor (int pin1, int pin2, int speed_flag): эта функция объявляет аналоговые выходные контакты Arduino, который управляет двигателем постоянного тока
3. start_motor (int dir): эта функция запускает двигатель в указанном направлении. Если направление равно 1 - двигатель начнет вращаться вперед и наоборот
4. forward (): эта функция запустит вращение двигателя в прямом направлении
5. reverse (): эта функция запустит вращение двигателя в обратном направлении
6. dc_break (): эта функция мгновенно остановит вращающийся двигатель *
7. stop_motor (): эта функция остановит вращающийся двигатель
8. jogg_full_speed (int dir): эта функция применяет рывок к двигателю в течение 5 секунд на полной скорости в требуемом направлении
* Примечание:- эта функция будет работать только в том случае, если двигатель постоянного тока имеет внутренние механизмы для такого прерывания постоянного тока. Кроме того, правильная схема драйвера двигателя должна быть спроектирована с динамическим тормозным сопротивлением (DBR), и должны быть приняты все меры, чтобы двигатель или цепь не были повреждены.
Все вышеперечисленные функции обеспечивают простое управление двигателем постоянного тока. Они не контролируют скорость двигателя. Следующие 8 функций контролируют скорость, а также направление двигателя. Но для использования этих функций необходимо выбрать аналоговые выходные контакты Arduino. Двигатель постоянного тока должен быть инициализирован с помощью 2-й функции вместе с флагом скорости, установленным на 1
9. set_speed (int скорость): эта функция устанавливает скорость двигателя постоянного тока от 0 до 100%
10. forward_with_set_speed (): эта функция начнет вращать двигатель постоянного тока вперед с заданной скоростью
11. reverse_with_set_speed (): эта функция запустит вращение двигателя постоянного тока в обратном направлении с заданной скоростью
12. run_motor (int dir, int speed): эта функция будет вращать двигатель постоянного тока в любом направлении с установленной скоростью
13. jogg_set_speed (int dir, int speed): эта функция применяет рывки к двигателю в любом направлении с установленной скоростью
14. motor_speed_zero () *: функция снизит скорость двигателя до 0 - означает остановку двигателя
15. soft_start (int dir, int speed, inttime_in_sec): эта функция увеличит скорость двигателя от 0 до желаемого уровня в указанное время в любом направлении. Время должно быть выбрано в секундах
16. smooth_stop (int time_in_sec): эта функция снизит скорость двигателя с текущей до 0 за указанное время. Время должно быть выбрано в секундах
* Примечание:здесь нельзя использовать функцию stop_motor (), потому что она дает цифровой выход, в то время как эта функция дает минимальный аналоговый выход, чтобы обнулить скорость двигателя постоянного тока. При управлении двигателем постоянного тока со скоростью не просто останавливайте двигатель, но и обнуляйте его скорость.
Примеры:
1) Вращайте двигатель постоянного тока вперед и назад на полной скорости (без контроля скорости)
/ * эта программа будет вращать двигатель постоянного тока вперед на 5 секунд
затем остановитесь на 2 секунды и снова поверните двигатель реверсом на
5 секунд, остановка на 2 секунды непрерывно
создатель А. М. Бхатт (+ 91-9998476150), Гуджарат, ИНДИЯ
10.12.2016
* /
#include
DC_Motormotor (8, 12);
voidsetup ()
{
}
void loop ()
{
motor.forward ();
задержка (5000);
motor.stop_motor ();
задержка (2000);
motor.reverse ();
задержка (5000);
motor.stop_motor ();
задержка (2000);
}
2) Вращайте двигатель постоянного тока вперед и назад с установленной скоростью (с контролем скорости)
/ * эта программа будет вращать двигатель постоянного тока вперед на 5 секунд
на скорости 40%, затем остановитесь на 2 секунды и снова поверните двигатель назад на
5 секунд при скорости 80% непрерывно
создатель А. М. Бхатт (+ 91-9998476150), Гуджарат, ИНДИЯ
10.12.2016
* /
#include
DC_Motor motor2 (9, 10, 1);
voidsetup ()
{
}
void loop ()
{
motor2.set_speed (40);
motor2.forward_with_set_speed ();
задержка (5000);
motor2.motor_speed_zero ();
задержка (2000);
motor2.set_speed (80);
motor2.reverse_with_set_speed ();
задержка (5000);
motor2.motor_speed_zero ();
задержка (2000);
}
3) Примените толчковый режим к двигателю в обоих направлениях с контролем скорости и без него .
/ * эта программа применяет толчковый режим к двум различным двигателям постоянного тока
* он применяет толчковый режим к 1-му двигателю на полной скорости в обоих направлениях
* а затем подает толчковый режим на 2-й двигатель со скоростью 80% в обратном направлении
* направление и скорость 30% в прямом направлении
* автор:Ашутош М. Бхатт (+ 91-9998476150), Гуджарат (ИНДИЯ)
* 22.10.2016
* /
#include
DC_Motor двигатель (8, 12);
DC_Motor motor2 (9, 10, 1);
voidsetup ()
{
}
voidloop ()
{
motor.jogg_full_speed (1);
motor.jogg_full_speed (0);
motor2.jogg_set_speed (0, 80);
motor2.jogg_set_speed (1, 30);
}
4) Примените плавный пуск и плавный останов двигателя
/ * эта программа обеспечит плавный пуск двигателя и увеличит его скорость
от 0 до 90% за 10 секунд в прямом направлении
затем он дает плавную остановку от 90% до 0 за 5 секунд
снова мягкий старт от 0 до 50% за 6 секунд в обратном направлении
и, наконец, плавная остановка с 50% до 0 за 3 секунды
создатель А. М. Бхатт (+ 91-9998476150), Гуджарат, ИНДИЯ
10.12.2016
* /
#include
DC_Motor motor2 (9, 10, 1);
voidsetup ()
{
}
voidloop ()
{
motor2.soft_start (1, 90, 10);
задержка (3000);
motor2.smooth_stop (5);
motor2.soft_start (0, 50, 6);
задержка (3000);
motor2.smooth_stop (3);
}
Код
- Библиотека управления двигателями постоянного тока
Библиотека управления двигателем постоянного тока Заголовочный файл C
Эта библиотека управляет скоростью и направлением всех типов двигателей постоянного тока.Предварительный просмотр отсутствует (только загрузка).
Схема
Драйвер моста Arduino UNO и H, используемый для управления двигателем постоянного токаПроизводственный процесс
- Управление эффектом с помощью реальных датчиков
- Сделайте машинку для письма домашнего задания дома
- Робототехническая система для обнаружения человека с использованием Arduino Uno
- Библиотека биполярных шаговых двигателей
- Игрушка под управлением Android с использованием Raspberry Motor Shield
- Робот с сервомотором избегает препятствий
- Робот-последователь линии
- Управление роботом Roomba с помощью Arduino и устройства Android
- Управление серводвигателем с помощью Arduino и MPU6050
- Робот для супер-крутой навигации внутри помещений