• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
step posizione motor iniziale e precisa

Step motor e precisa posizione iniziale
#1
Per il mio Raspberry pi 2 ho acquistato
- 1 Adafruit DC & Stepper Motor HAT
- 1 Stepper motor - NEMA-17 size - 200 steps/rev, 12V 350mA
Funziona perfettamente.

Supponiamo che inizialmente una banderuola fissata all'asse motore dello step motor sia esattamente rivolta verso nord.


Codice:
g=30
step=(200*g)/360
myStepper.step(step, Adafruit_MotorHAT.FORWARD,  Adafruit_MotorHAT.MICROSTEP)
sleep 60
'
myStepper.step(step, Adafruit_MotorHAT.FORWARD,  Adafruit_MotorHAT.MICROSTEP)
sleep 60
'
myStepper.step(step, Adafruit_MotorHAT.FORWARD,  Adafruit_MotorHAT.MICROSTEP)
sleep 60

R=STEP*3
myStepper.step(R, Adafruit_MotorHAT.BACKWARD, Adafruit_MotorHAT.MICROSTEP)

A seguito dell'esecuzione del codice sopra riportato la banderuola sarà SEMPRE ASSOLUTAMENTE rivolta verso nord, esattamente ?
In tal caso eseguendo a distanza di tempo questo codice la banderuola punterà SEMPRE ogni volta verso lo stesso identico azimuth, partendo SEMPRE dal nord iniziale ?

Qualora ciò non fosse SEMPRE vero (mancanza di corrente ad esempio o qualche piccola imprecisione che si accumula nel tempo) come far per riportare SEMPRE all'inizio la banderuola verso nord ?

A mio pare sono 2 le possibilità :
1) Modificare l'ultima istruzione con
myStepper.step(R*1.1, Adafruit_MotorHAT.BACKWARD, Adafruit_MotorHAT.MICROSTEP)
e utilizzare un microswitch
2) Modificare l'ultima istruzione con
myStepper.step(R*1.1, Adafruit_MotorHAT.BACKWARD, Adafruit_MotorHAT.MICROSTEP)
e inserire un fermo meccanico contro cui il motore si arresta: Starà fermo contro il fermo meccanico per il tempo corrispondente all'esecuzione di un numero variabile di step
compreso fra 0 e R*1.1

Nel caso 1 si dovrà usare il GPIO (potrei avere qualche suggerimento in merito) e nel caso 2 si rischia di danneggiare il motore ?
Grazie per l'attenzione
Risposta
#2
Io ho avuto lo stesso problema con una macchina cnc 2d che fresava blocchi di marmo... un bel disco solidale all alberino ..sul bordo un foro e un sensore ottico accoppiato....devi solo calcolare l inerzia dello stop.

Inviato dal mio SM-N7505 utilizzando Tapatalk
Risposta
  


Vai al forum:


Navigazione: 3 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect