Montaje de un deslizador movido por un motor paso a paso que se controla con un potenciómetro deslizante (slide). La idea esta tomada de Ivan en / https://Brainy-Bits.com. El montaje es sencillo, tal vez lo más interesante sean los códigos por lo que se incluyen también.

57e4e86f06e0d.jpg

Video en acción

/*
Datos: pitch correa 2.032 mm; 
rueda 18T = 18 x pitch = 36.576 mm/vuelta
Con driver en HHH 1/16 step. 
Para una vuelta 200 x 16 = 3200 pasos
recorrido lineal de 27 cm suponen 7,381 vueltas
de rueda 18T, es decir, 
7,381 x 3200 = 23619 pasos de de motor PAP
*/

#include <AccelStepper.h> 
AccelStepper stepper(AccelStepper::DRIVER, 10, 11);
//Para el driver en el PORT_1                              
int val = 0;
int previous = 0;
int long newval = 0;    
//================================== 
void setup() {
 Serial.begin(9600);
 stepper.setMaxSpeed(4800);  
 stepper.setAcceleration(4800);  
}
 //================================== 
void loop() {
  val = analogRead(A2);  // A2 en el PORT_6
  delay(500);
  Serial.println(val);
  if ((val > previous+6) || (val < previous-6)) { 
    newval = map(val, 0, 1023, 0, 23700);  
    stepper.runToNewPosition(newval);  
    previous = val;  
  } 
}


En este otro caso el control del motor PAP se realiza mediante teclado del PC.

57e4ea131c9a6.jpg

Video en acción

/*   JHG set 2016
 *  Motor PAP controlado por tecladdo serie

Se recibe por teclado un valor de desplazamiento lineal
y el cursor del deslizador se mueve hasta ese valor en la regla. Se deben introducir tres numeros con el valor en milimetros para el desplazamientodeseado entre 000 y 270.

Datos: pitch correa 2,032 mm; 
rueda 18T = 18 x pitch = 36,576 mm/vuelta
Con driver en HHH 1/16 step. 
Para una vuelta 200 x 16 = 3200 pasos
recorrido lineal de 27 cm suponen 7,381 vueltas 
de rueda 18T, es decir, 7,381 x 3200 = 23619 pasos
del motor PAP. 1 mm de desplazamiento =  87,477 pasos
*/
#include "MeOrion.h"
#include <AccelStepper.h> 
AccelStepper stepper(AccelStepper::DRIVER, 10, 11); // 10-PUL,11-DIR 
//Para el driver en el PORT_1 
Me7SegmentDisplay disp(PORT_6);

int val = 0;
int n[3];
//================================== 
void setup() {
 Serial.begin(9600);
  stepper.setMaxSpeed(4800);  
  stepper.setAcceleration(4800); 
  disp.init();  // borra display
  disp.set(BRIGHTNESS_7) ; //de 0 a 7
}
 //================================== 
void loop() {
for (int i=0; i<3; i++){
  if(Serial.available())  {
    n[i] = Serial.read();
    if (n[i]==0) n[i]=48;   
 }
} 
val = (n[0]-48) *8747.7 +(n[1]-48)*874.77+ (n[2]-48)*87.477; 
Serial.println(val/87.4777);
Serial.println(n[0]-48);
Serial.println(n[1]-48);
Serial.println(n[2]-48);
disp.display(int(val/87.477+0.05));
stepper.runToNewPosition(val); 
}
Montaje de un deslizador movido por un motor paso a paso que se controla con un potenciómetro deslizante (slide). La idea esta tomada de Ivan en / https://Brainy-Bits.com. El montaje es sencillo, tal vez lo más interesante sean los códigos por lo que se incluyen también. ![57e4e86f06e0d.jpg](serve/attachment&path=57e4e86f06e0d.jpg) [Video en acción](https://youtu.be/BCGtuX-0IM8 "Youtube") -- ```` /* Datos: pitch correa 2.032 mm; rueda 18T = 18 x pitch = 36.576 mm/vuelta Con driver en HHH 1/16 step. Para una vuelta 200 x 16 = 3200 pasos recorrido lineal de 27 cm suponen 7,381 vueltas de rueda 18T, es decir, 7,381 x 3200 = 23619 pasos de de motor PAP */ #include <AccelStepper.h> AccelStepper stepper(AccelStepper::DRIVER, 10, 11); //Para el driver en el PORT_1 int val = 0; int previous = 0; int long newval = 0; //================================== void setup() { Serial.begin(9600); stepper.setMaxSpeed(4800); stepper.setAcceleration(4800); } //================================== void loop() { val = analogRead(A2); // A2 en el PORT_6 delay(500); Serial.println(val); if ((val > previous+6) || (val < previous-6)) { newval = map(val, 0, 1023, 0, 23700); stepper.runToNewPosition(newval); previous = val; } } ```` ____ ____ En este otro caso el control del motor PAP se realiza mediante teclado del PC. ![57e4ea131c9a6.jpg](serve/attachment&path=57e4ea131c9a6.jpg) [Video en acción](https://vimeo.com/183961049 "Vimeo") -- ```` /* JHG set 2016 * Motor PAP controlado por tecladdo serie Se recibe por teclado un valor de desplazamiento lineal y el cursor del deslizador se mueve hasta ese valor en la regla. Se deben introducir tres numeros con el valor en milimetros para el desplazamientodeseado entre 000 y 270. Datos: pitch correa 2,032 mm; rueda 18T = 18 x pitch = 36,576 mm/vuelta Con driver en HHH 1/16 step. Para una vuelta 200 x 16 = 3200 pasos recorrido lineal de 27 cm suponen 7,381 vueltas de rueda 18T, es decir, 7,381 x 3200 = 23619 pasos del motor PAP. 1 mm de desplazamiento = 87,477 pasos */ #include "MeOrion.h" #include <AccelStepper.h> AccelStepper stepper(AccelStepper::DRIVER, 10, 11); // 10-PUL,11-DIR //Para el driver en el PORT_1 Me7SegmentDisplay disp(PORT_6); int val = 0; int n[3]; //================================== void setup() { Serial.begin(9600); stepper.setMaxSpeed(4800); stepper.setAcceleration(4800); disp.init(); // borra display disp.set(BRIGHTNESS_7) ; //de 0 a 7 } //================================== void loop() { for (int i=0; i<3; i++){ if(Serial.available()) { n[i] = Serial.read(); if (n[i]==0) n[i]=48; } } val = (n[0]-48) *8747.7 +(n[1]-48)*874.77+ (n[2]-48)*87.477; Serial.println(val/87.4777); Serial.println(n[0]-48); Serial.println(n[1]-48); Serial.println(n[2]-48); disp.display(int(val/87.477+0.05)); stepper.runToNewPosition(val); } ````
editado 23 Sep '16 a las 9:55 am
788
vistas
0
respuestas
1
seguidores
vista previa (en vivo)
introduzca al menos un 10 caracteres
Advertencia: Mencionaste a %MENTIONS%, pero ellos no pueden ver el mensaje y no serán notificados
Guardando...
Guardado
Todos los posteos de este tema serán borrados ?
Borrador pendiente ... Click para continuar editando
Descartar borrador