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
(http://img.banggood.com/images/upload/chenjianwei/SKU042313.3.jpg)
Mas información https://en.wikipedia.org/wiki/Electronic_speed_control (https://en.wikipedia.org/wiki/Electronic_speed_control)
Motor Brushless
(http://img.dxcdn.com/productimages/sku_219554_1.jpg)
Mas información https://en.wikipedia.org/wiki/Brushless_DC_electric_motor (https://en.wikipedia.org/wiki/Brushless_DC_electric_motor)
Para controla el motor solo se tiene que cargar el siguiente código en nuestro arduino
/*
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
https://www.arduino.cc/en/Tutorial/Knob (https://www.arduino.cc/en/Tutorial/Knob)
Espero les se sea de utilidad y cualquier duda por no dudes en preguntar. ;)
Saludos
rreedd