MPaP_lib  1.0.1
Libreria para la utilización de motores paso a paso UNIPOLARES, con solo indicar los pines de conexión podremos avanzar tanto por pasos como por angulos.
Métodos públicos | Métodos privados | Atributos privados | Lista de todos los miembros
Referencia de la Clase MPaP

Métodos públicos

 MPaP (int, int, int, int)
 Constructor de la clase solo con los pines a las bobinas. Más...
 
 MPaP (int, int, int, int, int)
 Constructor ademas indica los pasos por vuelta. Más...
 
 ~MPaP ()
 Destructor. Más...
 
void avanza (void)
 Avanza el numero de pasos indicado en "pasos". Más...
 
void avanza (int)
 Avanza un número de pasos dado. Más...
 
void retrocede (void)
 
void retrocede (int)
 Retrocede un número de pasos dado. Más...
 
void angulo_a (float)
 Avanza el angulo indicado. Más...
 
void angulo_r (float)
 Retrocede el angulo indicado. Más...
 
void put_secuencia (int)
 
int get_secuencia (void)
 
void put_pasos (int)
 
int get_pasos (void)
 
float put_rpm (float)
 
float put_rpm ()
 Pone el maximo de revoluciones permitida. Más...
 
float get_rpm (void)
 
void put_pps (int)
 
int get_pps (void)
 
void put_angulo (float)
 
float get_angulo (void)
 
void put_pvuelta (int)
 
int get_pvuelta (void)
 

Métodos privados

void avanza_uno (void)
 
void retrocede_uno (void)
 
void activa (void)
 
int cpasos (float)
 
void asignapines (int a, int b, int c, int d)
 

Atributos privados

int secuencia = NORMAL
 
boolean sec_NORMAL [4][4] = {{1,1,0,0},{0,1,1,0},{0,0,1,1},{1,0,0,1}}
 
boolean sec_WAVE [4][4] = {{1,0,0,0}, {0,1,0,0},{0,0,1,0},{0,0,0,1}}
 
boolean sec_MEDIO [8][4] = {{1,0,0,0},{1,1,0,0},{0,1,0,0},{0,1,1,0}, {0,0,1,0},{0,0,1,1},{0,0,0,1},{1,0,0,1}}
 
int BOB_A
 
int BOB_B
 
int BOB_C
 
int BOB_D
 
int paso
 
int pasos =1
 
int pps =200
 
float angulo =18
 
int pvuelta =360/angulo
 
float max_rpm =pps*60/pvuelta
 
float rpm =max_rpm
 

Documentación del constructor y destructor

MPaP::MPaP ( int  a,
int  b,
int  c,
int  d 
)

Constructor de la clase solo con los pines a las bobinas.


Parámetros
aLa bobina A.
bLa bobina B.
cLa bobina C.
dLa bobina D.

Ejemplo de uso:

MPaP M1=MPaP(4,7,8,11); // Bornas a los pines 4,7,8 y 11 PWM.

Los parametros de las salidas digitales de las bobinas

A

D B

C

Gráfico de llamadas para esta función:

MPaP::MPaP ( int  a,
int  b,
int  c,
int  d,
int  pas 
)

Constructor ademas indica los pasos por vuelta.


Parámetros
aLa bobina A.
bLa bobina B.
cLa bobina C.
dLa bobina D.
pasLos pasos por vuelta.

Ejemplo de uso:

MPaP M1=MPaP(4,7,8,11,20); // Bornas a los pines 4,7,8 y 11 PWM. y 20 pasos por vuelta.

Gráfico de llamadas para esta función:

MPaP::~MPaP ( )

Destructor.

Documentación de las funciones miembro

void MPaP::activa ( void  )
private

Gráfico de llamadas a esta función:

void MPaP::angulo_a ( float  ang)

Avanza el angulo indicado.

Parámetros
anga avanzar

Gráfico de llamadas para esta función:

void MPaP::angulo_r ( float  ang)

Retrocede el angulo indicado.

Parámetros
anga retroceder

Gráfico de llamadas para esta función:

void MPaP::asignapines ( int  a,
int  b,
int  c,
int  d 
)
private

Gráfico de llamadas a esta función:

void MPaP::avanza ( void  )

Avanza el numero de pasos indicado en "pasos".

Gráfico de llamadas a esta función:

void MPaP::avanza ( int  p)

Avanza un número de pasos dado.

Parámetros
pPasos a dar

Gráfico de llamadas para esta función:

void MPaP::avanza_uno ( void  )
private

Gráfico de llamadas para esta función:

Gráfico de llamadas a esta función:

int MPaP::cpasos ( float  a)
private

Gráfico de llamadas a esta función:

float MPaP::get_angulo ( void  )
Devuelve
Angulo que gira en cada paso
int MPaP::get_pasos ( void  )
Devuelve
Pasos que da en un avance o retroceso
int MPaP::get_pps ( void  )
Devuelve
Pasos por segundos soportados por el motor.
int MPaP::get_pvuelta ( void  )
Devuelve
Pasos necesarios para una vuelta
float MPaP::get_rpm ( void  )
Devuelve
Las revoluciones programadas
int MPaP::get_secuencia ( void  )
Devuelve
La secuencia programada
void MPaP::put_angulo ( float  a)
Parámetros
aangulo que gira en cada paso, por defecto 18.
void MPaP::put_pasos ( int  a)
Parámetros
aPasos a dar en un avance. Por defecto 1
void MPaP::put_pps ( int  p)
Parámetros
pPasos por segundo que soporta el motor, por defecto 200.
void MPaP::put_pvuelta ( int  pv)
Parámetros
pvPasos por vuelta. Por defecto 360/angulo.
float MPaP::put_rpm ( float  r)
Parámetros
rRevoluciones por minuto.
Devuelve
Las revoluciones que en realidad a podido poner.
Nota
Nunca sobrepasara la maximas rpm segun el motor y se calcula con la variable pps (pasos por segundo)
Ver también
put_pps()
float MPaP::put_rpm ( )

Pone el maximo de revoluciones permitida.

Devuelve
Las revoluciones maxima que ha podido poner
void MPaP::put_secuencia ( int  a)
Parámetros
aTipo de movimiento e los valores posibles:
  • NORMAL vanza pasos entre dos bobinas
  • WAVE Se mueve a una bobina concreta.
  • MEDIO. avanza medio paso quedandose en una bobina o en el medio de dos, con esto mejoramos la precisión del motor pero no sabremos si se mantiene con una o dos bobinas activadas.
void MPaP::retrocede ( void  )

Retrocede el numero de pasos indicado en "pasos"

Gráfico de llamadas a esta función:

void MPaP::retrocede ( int  p)

Retrocede un número de pasos dado.

Parámetros
pPasos a dar

Gráfico de llamadas para esta función:

void MPaP::retrocede_uno ( void  )
private

Gráfico de llamadas para esta función:

Gráfico de llamadas a esta función:

Documentación de los datos miembro

float MPaP::angulo =18
private
int MPaP::BOB_A
private
int MPaP::BOB_B
private
int MPaP::BOB_C
private
int MPaP::BOB_D
private
float MPaP::max_rpm =pps*60/pvuelta
private
int MPaP::paso
private
int MPaP::pasos =1
private
int MPaP::pps =200
private
int MPaP::pvuelta =360/angulo
private
float MPaP::rpm =max_rpm
private
boolean MPaP::sec_MEDIO[8][4] = {{1,0,0,0},{1,1,0,0},{0,1,0,0},{0,1,1,0}, {0,0,1,0},{0,0,1,1},{0,0,0,1},{1,0,0,1}}
private
boolean MPaP::sec_NORMAL[4][4] = {{1,1,0,0},{0,1,1,0},{0,0,1,1},{1,0,0,1}}
private
boolean MPaP::sec_WAVE[4][4] = {{1,0,0,0}, {0,1,0,0},{0,0,1,0},{0,0,0,1}}
private
int MPaP::secuencia = NORMAL
private