firmwareSandsara
Motors.cpp File Reference
#include "Motors.h"
#include "AccelStepper.h"
#include "MultiStepper.h"
#include "Bluetooth.h"
#include "WorkingArea.h"
Include dependency graph for Motors.cpp:

Functions

int romGetSpeedMotor ()
 recupera, de la ROM, la velocidad de Sandsara. More...
 
double dkX (double q1, double q2)
 Calcula la cinematica directa del robot para la coordenada en x. More...
 
double dkY (double q1, double q2)
 Calcula la cinematica directa del robot para la coordenada en y. More...
 
double greaterValue (double a, double b)
 

Variables

unsigned long timeMotor = 0
 
int l1 = String(String(dataS[4]) + String(dataS[5])).toFloat()
 l1 y l2 representan la longitud, en milimetros, de los eslabones 1 y 2, respectivamente. More...
 
int l2 = String(String(dataS[7]) + String(dataS[8])).toFloat()
 
double bigPulleySize = String(String(dataS[20])).toFloat()
 bigPulleySize y littlePulleySize se utilizan para saber la relacion de engranes bigPulleySize es la polea acoplada a los motores. More...
 
double littlePulleySize = String(String(dataS[22])).toFloat()
 
int MAX_STEPS_PER_SECOND = String(String(dataS[74]) + String(dataS[75]) + String(dataS[76])).toFloat()
 
int MAX_CHARACTER_PER_LINE = String(String(dataS[78]) + String(dataS[79]) + String(dataS[80]) + String(dataS[81])).toFloat()
 
double m [no_picos *2]
 
double b [no_picos *2]
 
bool productType
 
bool pauseModeGlobal
 
bool startMovement
 
long q1StepsGlobal
 
long q2StepsGlobal
 
double distanceGlobal
 
TaskHandle_t motorsTask
 
bool q2DirectionNew = false
 
bool q1DirectionNew = false
 
bool q2DirectionOld = false
 
bool q1DirectionOld = false
 

Function Documentation

◆ dkX()

double dkX ( double  q1,
double  q2 
)

Calcula la cinematica directa del robot para la coordenada en x.

Parameters
q1es el angulo del motor que corresponde al primer eslabon de Sandsara.
q2es el angulo del motor que corresponde al segundo eslabon de Sandsara.
Returns
la coordenada en el eje x, medida en milimetros, correspondiente a los angulos q1,q2 de Sandsara.

◆ dkY()

double dkY ( double  q1,
double  q2 
)

Calcula la cinematica directa del robot para la coordenada en y.

Parameters
q1es el angulo del motor que corresponde al primer eslabon de Sandsara.
q2es el angulo del motor que corresponde al segundo eslabon de Sandsara.
Returns
la coordenada en el eje y, medida en milimetros, correspondiente a los angulos q1,q2 de Sandsara.

◆ greaterValue()

double greaterValue ( double  a,
double  b 
)

◆ romGetSpeedMotor()

int romGetSpeedMotor ( )

recupera, de la ROM, la velocidad de Sandsara.

Returns
un numero entero que indaca la velocidad de Sandsara, medida en milimetros por segundo.

Variable Documentation

◆ b

double b[no_picos *2]

◆ bigPulleySize

double bigPulleySize = String(String(dataS[20])).toFloat()

bigPulleySize y littlePulleySize se utilizan para saber la relacion de engranes bigPulleySize es la polea acoplada a los motores.

littlePulleySize es la polea acoplada al eslabon 2. la relacion se consigue con haciendo littlePulleySize / bigPulleySize por lo que se recomienda utilizar numeros flotantes por ejemplo si bigPulleySize es de 40 dientes y littlePulleySize 20 dientes se puede hacer bigPulleySize = 4.0 y littlePulleySize = 2.0

◆ distanceGlobal

double distanceGlobal

◆ l1

int l1 = String(String(dataS[4]) + String(dataS[5])).toFloat()

l1 y l2 representan la longitud, en milimetros, de los eslabones 1 y 2, respectivamente.

el eslabon 1 es el eslabon que se encuentra acoplado al eje central del mecanismo el eslabon 2 es el eslabon que se encuentra acoplado la eslabon 1.

◆ l2

int l2 = String(String(dataS[7]) + String(dataS[8])).toFloat()

◆ littlePulleySize

double littlePulleySize = String(String(dataS[22])).toFloat()

◆ m

double m[no_picos *2]

◆ MAX_CHARACTER_PER_LINE

int MAX_CHARACTER_PER_LINE = String(String(dataS[78]) + String(dataS[79]) + String(dataS[80]) + String(dataS[81])).toFloat()

◆ MAX_STEPS_PER_SECOND

int MAX_STEPS_PER_SECOND = String(String(dataS[74]) + String(dataS[75]) + String(dataS[76])).toFloat()

◆ motorsTask

TaskHandle_t motorsTask

◆ pauseModeGlobal

bool pauseModeGlobal

◆ productType

bool productType

◆ q1DirectionNew

bool q1DirectionNew = false

◆ q1DirectionOld

bool q1DirectionOld = false

◆ q1StepsGlobal

long q1StepsGlobal

◆ q2DirectionNew

bool q2DirectionNew = false

◆ q2DirectionOld

bool q2DirectionOld = false

◆ q2StepsGlobal

long q2StepsGlobal

◆ startMovement

bool startMovement

◆ timeMotor

unsigned long timeMotor = 0