This Project has codes that may cnc controller possible. My cnc has 2 mechanical axis. I am monitoring through switches the axis limits. For this i use the library rtos. Enjoy.
Diff: main.cpp
- Revision:
- 1:ef18c260ce02
- Parent:
- 0:7cedfb720712
--- a/main.cpp Wed Jun 07 13:31:02 2017 +0000 +++ b/main.cpp Mon Sep 18 13:05:47 2017 +0000 @@ -4,8 +4,8 @@ #include "EixoController.h" #include "EixoMonitoring.h" -#define LEFT 0 -#define RIGHT 1 +#define LEFT 1 +#define RIGHT 0 #define FRONT 1 #define BACK 0 @@ -14,78 +14,51 @@ PinName dirPinX = p19; PinName enPinX = p18; -PinName clkPinZ = p17; -PinName dirPinZ = p16; -PinName enPinZ = p15; - -PinName swOrignX = p5; +PinName swOrignX = p11; PinName swEndX = p6; -PinName swOrignZ = p7; -PinName swEndZ = p8; + +//PinName clkPinZ = p17; +//PinName dirPinZ = p16; +//PinName enPinZ = p15; + +//PinName swOrignZ = p7; +//PinName swEndZ = p8; // ============================================ - // =============== Pinos Swtches =============== -DigitalIn swLeft(p5); //X0 --> origem -DigitalIn swRight(p6); //X0 --> origem -DigitalIn swBack(p7); //X0 --> origem -DigitalIn swFront(p8); //X0 --> origem -//DigitalIn swRight(p6);//Xf --> final +DigitalIn swLeft(p11); //X0 --> origem +DigitalIn swRight(p6); //Xf --> fim +//DigitalIn swBack(p7); //Z0 --> origem +//DigitalIn swFront(p8); //Zf --> fim // ============================================ -DigitalIn leituraOlimex(p21); -Debug *debug = new Debug(); +Debug *debug = new Debug(); Stepp* motorX = new Stepp(clkPinX, dirPinX, enPinX); -Stepp* motorZ = new Stepp(clkPinZ, dirPinZ, enPinZ); - -EixoController* eixoX = new EixoController( 49000, 38.10, motorX, swOrignX, swEndX); -//EixoController* eixoZ = new EixoController( 14000, 9.00, motorZ,swOrignZ, swEndZ);//40.55 -EixoMonitoring* eixoMonitoring = new EixoMonitoring( swOrignX, swEndX) ; +EixoController* eixoX = new EixoController( 55000, 14, motorX, swOrignX, swEndX); +EixoMonitoring* eixoMonitoring = new EixoMonitoring( swOrignX, swEndX) ; // 0 - esquerda 1 - direita ---> Eixo X // 1 - frente 0 - trás ---> Eixo Z // 1 - pressionado 0 - solto ---> Switches - int main() { + bool teste = false; - bool start = true; // mudar p/false com o uso do olimex - - if(start == true){ - - teste = eixoX->goToOrigem(swLeft , LEFT); - - EixoMonitoring::isCalibrated = false; - eixoMonitoring->startThreads(); - - if(teste == 1){// se está na origem - eixoX->calibragem(RIGHT); - EixoMonitoring::isCalibrated = true; - eixoMonitoring->hitSensor = 0; - eixoMonitoring->stopAll = false; - + teste = eixoX->goToOrigem(swLeft , LEFT); + + /*EixoMonitoring::isCalibrated = false; + eixoMonitoring->startThreads(); + + if(teste == 1){// se está na origem + eixoX->calibragem(RIGHT); + EixoMonitoring::isCalibrated = true; + eixoMonitoring->hitSensor = 0; + eixoMonitoring->stopAll = false; + eixoX->goToPosition(5,RIGHT); + } - eixoX->goToPosition(17,RIGHT); - - } - } - - eixoMonitoring->stopThreads(); - - - /* - wait(0.5); - start = true; - if(start == true){ - teste = eixoZ->goToOrigem(swBack, FRONT); - if(teste == true){// se está na origem - eixoZ->calibragem(FRONT); - eixoZ->goToPosition(3,FRONT); - } - } - */ -} - + eixoMonitoring->stopThreads(); */ +} \ No newline at end of file