Go Down

Topic: Problema controllo servo (Read 956 times) previous topic - next topic

nollo

Buongiorno a tutti!

Oggi ho provato ad eseguire  questo sketch usando un servo incluso in un kit acquistato su futura elettronica

#include <Servo.h>
Servo myservo; // create servo object to control a servo
int angle = 0; // variable to store the servo position
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}void loop()
{
for(angle = 0; angle < 180; angle += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(angle); // tell servo to go to position in variable 'angle'
delay(20); // waits 20ms between servo commands
}
for(angle = 180; angle >= 1; angle -= 1) // goes from 180 degrees to 0 degrees
{
myservo.write(angle); // move servo in opposite direction
delay(20); // waits 20ms between servo commands
}
}

All'inizio il servo ha cominciato a muoversi, ma, arrivato quasi a 90° ha smesso di funzionare.
Se provo a rincompilare e a fare l'upload avverto che il servo da dei piccolissimi "colpetti" ma non si muove più.
Nel frattempo il computer continua ripetutamente ad inviare il segnale acustico (lo stesso che si sente quando attacco qualcosa alla porta usb).

Potreste aiutarmi a capire qual è il problema?
Vi ringrazio

nytro81

Dal rumore della usb collegata/scollegata pare che arduino si stia riavviando in continuo... non è che il servo ha sforzato assorbendo un botto di corrente danneggiando la scheda?!

Federico

Come gestisci l'alimentazione? Alimenta Arduino dal pc ad esempio, e il servo motore a parte. 5 o 6volt
Fede
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

nollo

Ho provato a caricare altri sketch e tutto funziona regolarmente.

Ho alimentato il motore con l'uscita 5 V di arduino.

uwefed

#4
Aug 08, 2012, 10:03 pm Last Edit: Aug 08, 2012, 10:07 pm by uwefed Reason: 1
Secondo me il servo assorbe troppa corrente e percui la tensione di alimentazione va giú resettando l'arduino. Alimenta il Servo separatamente da un alimentatore abbastanza potente da garantire la corrente. Collega il polo negativo della alimentazione servo con la massa del Arduino.
Ciao Uwe

nollo

Ho collegato un amperometro sul positivo dell'alimentazione del servo e ho visto che, nella fase veloce di posizionamento, chiedeva poco più di 20 mA. Questo ha confermato la tesi di Uwe.

Ho quindi alimentato il servo separatamente e tutto ha funzionato!!!

Grazie ragazzi

uwefed

nollo mi fai preoccupare.

Un servo consuma sicuramente piú di 20mA quando si muove.

La Tua misura smentisce la mia teoria. avevi alimentato il servo da un pin uscita di Arduino?

Ciao Uwe






Go Up