Control de Motor Brushless con Arduino

Iniciado por rreedd, Noviembre 20, 2016, 10:03:16 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

rreedd

Hola mis hermanos.
En este post trataremos sobre el como se puede controlar un motor "Brushless" (Motor comúnmente usado en aeromodelismo), con lo que podremos realizar en un futuro nuestro propio dron hecho en casa y de bajo costo.

Los motores sin escobillas funcionan debido a un campo magnético generado en su interior, el cual se crea a partir de sus 3 bobinas, (existen variadas formas de bobinado las mas comunes son de estrella o triangulo), estas para ser excitadas, se tiene que dar con el  ancho de pulso exacto en cada bobina para lograr un giro completo y por consiguiente generar una aceleración y fuerza suficiente para nuestros proyectos. 

Lo bueno es que para facilitarnos la vida existen los ESC (Electronic Speed Controller), que en Español seria : control de velocidad electrónico, esta pequeña herramienta nos facilitara la labor de controlar la velocidad enviando un valor desde nuestro Arduino.

ESC



Mas información No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Motor Brushless



Mas información No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



Para controla el motor solo se tiene que cargar el siguiente código en nuestro arduino
Código: php
/*

                                                           rojo (GRUESO)
                                                         _____(VCC de alimentacion del motor)
                                                         |   
   potenciometro                                         |    negro (GRUESO)
                                                         |  ____(GND de alimentacion del motor)           
                                    ___(MOTOR)___________|__|_________     negro
  ________________                                |                  |  ___(GND)______             
  |               |                               |                  |  |             |
  |    _____      |                  __(MOTOR)____|                  |__|  rojo       |
  |   /     \     |                               |      ESC         |___(VCC)___     |
  |  |  ( )  |    |                               |                  |__              |
  |   \_____/     |                __(MOTOR)______|                  |  |  blanco     |
  |    | | |      |                               |__________________|  |__(SEÑAL)    |
  |    | | |      |                                                            |      |
  |    | | |      |         Codigo by RREEDD                                   |      |
  |    | | |______|                                                            |      |
  |    | |               _________________                                     |      |
  |    | |               |d13         D12|                                     |      |
  |    | |               |3v3         D11|                                     |      |
  |    | |A(0)           |REF         D10|                              D9     |      |
  |    | |_______________|A0   Arduino D9|_____________________________________|      |
  |    |                 |A1    NANO   D8|                                            |
  |    |                 |A2           D7|                                            |
  |    |                 |A3           D6|                                            |                                           
  |    |                 |A4           D5|                                            |
  |    |                 |A5           D4|                                            |
  |    |                 |A6           D3|                                            |
  |    |  VCC            |A7           D2|                                       GND  |
  |    |_________________|5v          GND|____________________________________________|
  |GND                   |RST         RST|
  |______________________|GND          TR|
                         |VIN          TX|
                         |_______________|       
*/
/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
  val = map(val, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180)
  myservo.write(val);                  // sets the servo position according to the scaled value
  delay(15);                           // waits for the servo to get there
}


Este codigo lo saque desde la pagina oficial de arduino y es para el manejo de servos  ;D ;D ;D
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Espero les se sea de utilidad y cualquier duda por no dudes en preguntar.  ;)

Saludos
rreedd