Ciao a tutti, sono nuovo del forum.
Se questa è la sezione sbagliata del forum avvisatemi così che capisca dove posizionarmi.
Ho un problema con il mio servo a rotazione continua: con questo codice:
(non ho trovato il pulsante per inserire il codice... se mi poteste dire dove lo posso trovare mi fareste un favore)
Allora il problema è questo: essendo a rotazione continua, con i comandi che gli ho dato dovrebbe girare in un senso per due secondi, poi stare fermo e poi dall'altra parte altri 2s...
Lui completa il primo ciclo bene, poi inizia a girare solo da un lato, rispettando le pause ma senza invertire il verso. Dove ho sbagliato?
Prima di aprire questo topic ho cercato su google e sul forum per un'oretta e non ho trovato questo problema, quindi sbaglio qualcosa di davvero basilare credo.
Se qualcosa nel messaggio non è chiaro mi posso rispiegare. Grazie a tutti
Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:
Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare ( pulsante </> ).
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.
Banalmente, sicuro al 100% sia un servo a rotazione continua ?
Poi, dicci come lo hai collegato e alimentato.
@Ethem mi pare che con un servo a rotazione continua, 90 è fermo mentre 180 e 0 sono dx e sx (non ricordo in che ordine) @uwe lui vorrebbe usare un servo a rotazione continua ma dove l'ha comprato ? Dai cinesi su ebay ? Sicuro gli han venduto un servo a rotazione continua e non si son sbagliati ?
Rieccomi. Grazie per le risposte! Allora, innanzitutto mi sono presentato adesso nella sezione, quindi quello è fatto.
Regolamento già letto prima di iscrivermi, ma al punto 7 l'immagine riportava un ordine diverso e me lo sono proprio perso scusate.
Venendo a noi: ho Arduino 1. I servo sono a rotazione continua, comprati da un rivenditore Futura, quindi ne sono sicuro e non sono neanche cinesi.
In effetti mi ero dimenticato di parlare dei collegamenti. Coooomunque sono un principiante ma non così tanto da non collegare a GND ;). L'alimentazione è a 5V, GND collegato, terzo filo collegato al Pin 9.
uwefed:
Un Servo a rotazione continua dovrebbe stare fermo con impulsi PPM 90 Gradi (se non sta fermo é da regolare il trimmer o trovare il valore PPM dove sta fermo). con angoli > 90 gira in un senso e con angoli < 90 nel altro senso.
Dovrebbe avere una certo range dove la velocitá é proporzionale al pilotaggio ma questo dipende dall' elettronica del Servo.
Sisi quello lo so, infatti è proprio per quello che ho scritto così il programma, per vedere se andasse o meno. Comunque sono abbastenza convinto che il problema sia un mio errore stupido, come il non aver scritto qualcosa... Ma cosa? Se qualcuno lo sa me lo dica per favore
A me non pare di vedere nulla di errato.
Potrebbe essere che il servo non si ferma proprio con 90, prova valori vicini tipo 89 o 91
E anche 180 e 0 potrebbero essere non accettati quindi prova 179 e 1
Ok rispondo oggi perchè ieri ho aggiornato il pc. Il problema persiste nonostante io cambi i valori (e tra l'altro le velocità, sempe nello stesso verso, sono identiche!). Oggi ho notato che, ogni volta che finisce il movimento, windows fa il suono, per intenderci, di "espulsione" di USB o altro. Non lo avevo ancora notato perchè il volume era a 0. E' normale? Magari questo può aiutare a capire che fare. Grazie a tutti
Fxrarduino:
Oggi ho notato che, ogni volta che finisce il movimento, windows fa il suono, per intenderci, di "espulsione"
Questo succede perché il servo richiede troppa corrente per la USB e Arduino resetta, in pratica il programma riparte ogni volta dall'inizio con il risultato che il servo gira sempre da un solo verso.
Alimenta il servo con una sorgente di energia separata da Arduino, p.e. 4 batterie da 1.5V, oppure un alimentatore per cellulari da almeno 1 A, ricordati di mettere i GND in comune, e vedrai che tutto si risolve.