lunes, 3 de febrero de 2014

Programador de ESC con arduino

Para el control de los motores brushless, ampliamente utilizados en radiocontrol, se utiliza un circuito electrónico denominado ESC.
Estos controladores se programan con una emisora de Radio Control y su correspondiente receptor al que conectamos el ESC. Una vez programados, se controlan como si fueran servos normales.
Hay una serie de códigos acústicos a base de pitidos que emite el ESC con los que sabemos los parámetros que estamos configurando.
Habrá que consultar el datasheet del ESC para conocer esos códigos.

Para nuestro proyecto (un zepellin) no necesitabamos la emisora, ya que pensamos controlar el zepellin desde una tablet por WIFI. El control lo haremos con un arduino y una RaspberryPi.



Aquí os presentamos un circuito con arduino UNO que nos permite programar los ESC sin necesidad de comprarnos una emisora de RC. Dispone de tres botones que hacen el efecto de mando al máximo, medio y mínimo que genera el mando de RC. Os dejamos el esquema y el programa del arduino. Sólo hay que conectar el ESC y seguir los códigos de pitidos para programarlos como nos interese.


Aquí va el programa que hay que cargar en el arduino:


#include <Servo .h>

Servo esc;

int ACELERAMAX;
int ACELERAMED;
int ACELERAMIN;
void setup(){
  pinMode (2,INPUT);
  pinMode (3,INPUT);
  pinMode (4,INPUT);
  esc.attach (9);
  // esc.writeMicroseconds(0);
  Serial.begin (9600);
}
void loop() {
  ACELERAMIN = digitalRead(2);
  ACELERAMED = digitalRead(3);
  ACELERAMAX = digitalRead(4);

  if(ACELERAMAX == 0) {
    esc.writeMicroseconds(1990);
    Serial.println ("Max");
  }

  else if(ACELERAMED == 0) {
   esc.writeMicroseconds(1470);
    Serial.println ("Med");
  }

  else if(ACELERAMIN == 0) {
   esc.writeMicroseconds(1130);
   Serial.println ("Min");
  }

}


No hay comentarios:

Publicar un comentario