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


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

[-]
Tags
un funzionamento impreciso di ? servo

Funzionamento impreciso di un servo ?
#1
Mediante il seguente script comando un servo Hitec HS 422 in modo che faccia passi di circa 30 gradi, intervallati da 2 secondi di attesa. Grosso modo tutto funziona come desiderato.
Succede però che spesso il servo "tremoli" attorno alla posizione raggiunta o, una volta raggiuntala, faccia uno o due passi indietro e avanti di poche frazioni di grado.
La domanda è: è un difetto del servo oppure dello script ?
Come far si che, una volta raggiunta la posizione desiderata, il servo se ne sia fermo fermo ?
Grazie per l'attenzione
Codice:
# comandare un servo
# negativo PIN 6
# positivo PIN 2
# segnale  PIN 7


import RPi.GPIO as GPIO
import time

#GPIO.cleanup()
#GPIO.setwarnings(False)


GPIO.setmode(GPIO.BOARD)
GPIO.setup(7,GPIO.OUT)
p=GPIO.PWM(7,50)
p.start(7.5)


try:
while True:
p.ChangeDutyCycle(2.5)
time.sleep(2)
p.ChangeDutyCycle(5)
time.sleep(2)
p.ChangeDutyCycle(7.5)
time.sleep(2)
p.ChangeDutyCycle(10)
time.sleep(2)
p.ChangeDutyCycle(12.5)

time.sleep(10)

except KeyboardInterrupt:
GPIO.cleanup()
 
Risposta
#2
Ora, non vorrei scrivere sciocchezze, in quando non ho mai fatto esperienza in questo settore, ma io non credo che il difetto risieda nel software o nel servo.. Bisognerebbe sapere come il RaspberryPi crea gli impulsi, ma penso che potrebbe essere un disturbo elettrico che filtra dall' alimentatore. Hai possibilità di provarne un altro?
 
Risposta
#3
Ho provato con un altro servo identico e fa lo stesso brutto effetto. Allora ho tagliato la testa al toro ed ho utilizzato una ulteriore interfaccia (che consente di comandare fino a 16 servo) ed i movimenti sono diventati perfetti; utilizzo però un altro codice, specifico per quell'interfaccia. Solo che mi sembra uno spreco adoperare questo ulteriore harware per un solo servo; oltretutto è costosetta (Adafruit 16 channel PWM).
Evidentemente il codice che utilizzavo non è ottimizzato.
 
Risposta
#4
Ciao, come viene alimentato il servo?
Può essere un problema di corrente?
 
Risposta
#5
Se posso...mi scuserete se sbaglio. Ma le due schede sono diverse io cercherei di capire il diverso comportamento da qui.
Chip di controllo .clock.driver di uscita.impedenza di uscita..sono tutte cose che possono innescare pendolamento....ad es. Quando dai lo stop i ponti mettono in corto le bobine?

Inviato dal mio SM-N7505 utilizzando Tapatalk
 
Risposta
  


Vai al forum:


Navigazione:
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect