Esta es una revolución del motor: un nuevo motor DC sin escobillas con controlador de motor incorporado. Se puede conectar a Arduino directamente sin controlador de motor externo. Además, el motor viene con control direccional, control de velocidad PWM y salida de retroalimentación de velocidad, lo que hace que este motor se controle fácilmente. Este producto es conveniente para plataformas de robótica móvil ya que hay menos pines de accionamiento y menos consumo de recursos de MCU.
Especificaciones
# | Descripción | Valor |
---|---|---|
1 | Voltaje de Operación | 12V |
2 | Velocidad Nominal del Motor | 7100-7300rpm |
3 | Torque | 2.4kg*cm |
4 | Velocidad | 159 rpm/min approx |
5 | Reduction ratio | 45:1 |
6 | Número de impulsos del ciclo de la señal | 45*6 (Each cycle outputs 6 pulse) |
7 | Modo de Control | Control de velocidad PWM Control de dirección Salida de pulso de retroalimentación |
Pines
# | Pin | Descripción |
---|---|---|
1 | PWM | Control PWM, 0-5V (20~30KHz) |
2 | Power – | ALIMENTACIÓN – (GND) |
3 | Direction | Clavija de dirección: +5V o colgando, el motor avanza; GND o cátodo, el motor se mueve hacia atrás. |
4 | FG | Pin de señal FG (necesita una resistencia pull-up-5k) |
5 | Power + | ALIMENTACIÓN + (12V) |
Tutorial
Aquí hay un ejemplo de cómo usar este motor, solo siga la guía y lo hará funcionar.
Diagrama de Conexión
Después del hardware, el módulo se conecta con el Arduino UNO en el siguiente diagrama.
Pasos
- Abra el IDE de Arduino y copie el siguiente código en el IDE. Seleccione el puerto serie de su placa y el tipo de placa (por ejemplo, Arduino UNO) y cargue el código de muestra.
- Abra el monitor de serie.
- Introduzca un número entre 0 y 255 para configurar la velocidad del motor. (0: Velocidad máxima; 255: Parada)
El código alternará su dirección de rotación cada 5 segundos.
int i = 0;
unsigned long time = 0;
bool flag = HIGH;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(10, OUTPUT); //direction control PIN 10 with direction wire
pinMode(11, OUTPUT); //PWM PIN 11 with PWM wire
}
void loop() {
// put your main code here, to run repeatedly:
if (millis() - time > 5000) {
flag = !flag;
digitalWrite(10, flag);
time = millis();
}
if (Serial.available()) {
analogWrite(11, Serial.parseInt()); //input speed (must be int)
delay(200);
}
for(int j = 0;j<8;j++) {
i += pulseIn(9, HIGH, 500000); //SIGNAL OUTPUT PIN 9 with white line,cycle = 2*i,1s = 1000000us,Signal cycle pulse number:27*2
}
i = i >> 3;
Serial.print(111111 / i); //speed r/min (60*1000000/(45*6*2*i))
Serial.println(" r/min");
i = 0;
}
Resultado Esperado
El código alternará su dirección de rotación cada 5 segundos.
Valoraciones
No hay valoraciones aún.