Pages: [1]   Go Down
Author Topic: Arduino+servi comportamento strano....  (Read 1171 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora, stavo incominciando a pilotare il mio robot (2 servi+sfera) e sono incappato in comportamenti assai strani di arduino...

Premesso che i collegamenti sono fatti bene, che io faccia muovere uno o tutti e 2 i servi, dopo un pò tutto si ferma... spiego meglio

ho creato il seguente sketch per far muovere il robot avanti->fermo->indietro->fermo in modo tale che ritorni in posizione

Quote
#include <Servo.h>
 
Servo servoS;  
Servo servoD;                
 
int posS = 0;
int posD = 0;
 
void setup()
{
  servoS.attach(9);
  servoD.attach(8);  
}
 
 
void loop() {
    
    posD=0;
    posS=180;
    servoD.write(posD);
    servoS.write(posS);
    delay(1000);
    
     posD=90;
     posS=90;
     servoD.write(posD);
     servoS.write(posS);
     delay(1000);
  
   posD=180;
   posS=0;
   servoD.write(posD);
   servoS.write(posS);
   delay(1000);                      
    
     posD=90;
     posS=90;
     servoD.write(posD);
     servoS.write(posS);
     delay(1000);
}


allora, con questo e altri sketch simili, arduino li esegue in loop, e dopo un pò, a random si ferma e non esegue più niente(i servi si fermano) e emettono il ronzio come se gli dessi 90° (cioè fermo)... dopo un pò, quando gli gira riparte con l' esecuzione...

altra cosa con quello sketch, lui lo esegue, e una volta si e una no, al posto di fermare la ruota destra dopo essere andato avanti la lascia girare, non facendo ovviamente tornare il robot in posizione...

SOLUZIONI???
« Last Edit: December 01, 2012, 09:27:22 am by jacock » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mi sono accorto che l' 8 non ha il pwm... l' ho messo sul 10 e fa comunque lo scherzetto, ma meno...

non capisco comunque perchè ogni tanto si ferma pe ri fatti suoi...
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21244
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La libreria Servo non usa i PWM; puoi usare 12 Servo su 12 dei 20 pin di Arduino.
Come alimenti i Servo?
Ciao Uwe
« Last Edit: December 01, 2012, 11:36:40 am by uwefed » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si... hai ragione... altrimenti non sarebbe mai dovuto partire quando era nell' altro pin.....
 

ora sto alimentando tutto con l' usb... e regge, perchè prima usavo un altro servo che assorbiva troppo sotto sforzo, ora ho questi che dovrebbero essere ok...

ma come mai smette di ripetere???
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho risolto il problema del servo che faceva quel cavolo che voleva (servo malfunzionante)

mi rimane il problema, che dopo circa 5min che il servo va su e giù, si blocca, per non ripartire a meno che non faccio il reset della board, o ricarico il programma.... soluzioni???
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21244
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hai provato di alimentare i Servo con un alimentatore esterno e non dalla USB?
Ciao Uwe
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hai provato di alimentare i Servo con un alimentatore esterno e non dalla USB?
Ciao Uwe

eh si... stavo facendo varie prove, e penso che il problema sia l' alimentazione... già passando dall' usb del pc a quella di un carica cell da 1A si vede un pò la differenza...

ma se il 7805 on board butta fuori 500mA, mi conviene prendere un altro 7805 non smd e usare delle batterie unendo le masse dei due circuiti... almeno così non ho problemi di alimentazione...

ora come ora, mi da mille problemi, dato che stavo facendo delle prove con un sensore di contatto, e da i numeri... smiley-sad
Logged

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Una precisazione: l'arduino non monta un 7805.
Non ti conviene alimentare i servi separatamente magari con un pacco batterie dedicato visto che stai facendo un robot?
In questo modo eviti i regolatori di tensione e sfrutti tutta la corrente senza disperderla in calore
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Una precisazione: l'arduino non monta un 7805.
Non ti conviene alimentare i servi separatamente magari con un pacco batterie dedicato visto che stai facendo un robot?
In questo modo eviti i regolatori di tensione e sfrutti tutta la corrente senza disperderla in calore

i servi però posso alimentarli al max a 6V...
che regolatore usa arduino??? quale è la tensione min e max???
Logged

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Con 5 stilo ricaricabili o con 4 stilo normali hai 6V precisi.
La 2009 usa un MC33269, accetta in ingresso al massimo 20V e eroga 800 mA massimi (datasheet).
Questi sono i valori massimi, quelli consigliati sono 12V in ingresso e 500mA di assorbimento.
Il calore del regolatore dipende non solo dalla differenza tra tensione in ingresso e tensione di uscita ma anche da quanta corrente deve erogare. Nel tuo caso avendo due servi non ne chiederesti poca, valuta bene se usare i regolatori: ad esempio metti che azionando insieme i servomotori hai un picco di 2.5A un solo regolatore non riesce a stargli dietro (neanche un LM78S05)
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Con 5 stilo ricaricabili o con 4 stilo normali hai 6V precisi.
La 2009 usa un MC33269, accetta in ingresso al massimo 20V e eroga 800 mA massimi (datasheet).
Questi sono i valori massimi, quelli consigliati sono 12V in ingresso e 500mA di assorbimento.
Il calore del regolatore dipende non solo dalla differenza tra tensione in ingresso e tensione di uscita ma anche da quanta corrente deve erogare. Nel tuo caso avendo due servi non ne chiederesti poca, valuta bene se usare i regolatori: ad esempio metti che azionando insieme i servomotori hai un picco di 2.5A un solo regolatore non riesce a stargli dietro (neanche un LM78S05)

si, conosco i regolatori...

se deve dare 5V in uscita devo dargli almeno 7V in entrata... a questo punto penso convenga avere 1 pacco per alimentare l' ardu e tutti i sensori, e uno per alimentare i servi...
Logged

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Certo, è sempre preferibile alimentare i servi a parte.
In questo modo eviti anche dei disturbi generati dai servi (mi è successo in passato con dei led pilotati in pwm)
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok... grazie a tutti...
Logged

Pages: [1]   Go Up
Jump to: