Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • 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: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect