Arduino e servo motori alimentati da pannelli

Buongiorno a tutti,

Vi presento il mio problema. Vorrei costruire un inseguitore solare con Arduino usando 4 fotoresistenze e due servo, uno per la rotazione orizzontale e uno per la rotazione verticale dei pannelli solari. Ho creato una struttura atta a sostenere i pannelli solari e, usando dei cuscinetti a sfera che sostengono la struttura, ho centrato i motori che, quindi, per ruotare devono solamente vincere l’attrito del cuscinetto.

Per iniziare ho provato solamente la parte relativa all’alimentazione di Arduino (scheda Elegoo Mega 2560) e dei servo (Tower Pro MG995). Le foto sono poi indicative per la descrizione dei collegamenti effettuati.

  1. Quattro pannelli solari collegati in parallelo tramite dei mammut a 3 entrate che fan sì che venga condivisa la stessa tensione (21V in pieno sole).

2-3) Uscita dei primi mammut collegati ad altri due mammut, usati per alimentare in parallelo due step-down converters, il primo che dà un’uscita a 9V, usata per alimentare Arduino e il secondo per alimentare i due servo a 6V in contemporanea.

  1. Primo convertitore che alimenta Arduino tramite jack e secondo convertitore che alimenta i due servo tramite altri mammut. In questa foto si nota anche il ground di Arduino collegato al ground del servo. I servo sono collegati ai pin 5 e 9 (pwm) di Arduino, così ricevono l’impulso di rotazione necessario.

Ora, prima di usare completamente la struttura, ho provato a far ruotare i servo, facendoli “sweepare” uno dopo l’altro (in seguito vi è il codice). L’alimentazione è buona, entrambi i convertitori possono fornirmi fino a 2.5 A circa (testati con il tester) in uscita. La corrente di stallo dei motori è di 1.2A ma, come detto prima, adesso lavorano a vuoto, giusto per provarli. Il problema è che questi servo sembrano impazzire: a volte funzionano, a volte no e tremano, a volte ne funziona solo uno quando l’altro è scollegato, a volte tremolano (si dice che danno problemi di "jitter, giusto?). Quale potrebbe essere il problema?

Ho fatto anche molti altri tentativi. Ho provato anche ad alimentare Arduino con l’usb del computer, usando un servo solo (collegato ai pin 5V, ground a un pwm) e un servo singolo funziona se tutto collegato ad Arduino e servo ed arduino, insieme, consumano 5V e 250 mA. Usando, invece una breadboard esterna collegata a 5V e ground di arduino un singolo servo non funziona. Cosa posso fare?

Ho anche provato ad alimentare in parallelo Arduino ed i due servo partendo dallo stesso convertitore, ma i servo non funzionano e danno gli stessi problemi.

I convertitori sono un LM2596 ed uno simile.

P.s. nella foto non c’è sole, ma ho provato il tutto in pieno sole, ho solo fatto la foto così perché il sole era già scomparso, quindi il circuito a priori non forniva abbastanza energia.

Può essere che i segnali pwm abbiano problemi? O devo usare altri accorgimenti che mi sono sfuggiti? Ringrazio tutti per la disponibilità!

#include <Servo.h>

Servo myservo;
Servo myservo1;
int pos = 90; 
int pos1 = 90;// variable to store the servo position

void setup() {
  myservo.attach(9);
  myservo1.attach(5);
}

void loop() {
  for (pos = 45; pos <= 135; pos += 1) {
       myservo.write(pos);             
    delay(80);                       
  }
  for (pos = 135; pos >= 45; pos -= 1) {
    myservo.write(pos);             
    delay(80);                       
  }
for (pos1 = 45; pos1 <= 135; pos1 += 1) {
       myservo1.write(pos1);             
    delay(80);                       
  }
for (pos1 = 135; pos1 >= 45; pos1 -= 1) {
    myservo1.write(pos1);           
    delay(80);                       
  }
}

Buongiorno,
prima di tutto, essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ...

... poi ... scusa, non è lo stesso/simile argomento che stavi già trattando QUI ?

Guglielmo

Buongiorno.

Ho rimediato subito per quanto riguarda la presentazione, grazie mille!

Per quanto riguarda il post sì, è simile ma inizialmente avevo usato uno schema un po' diverso e comunque avevo scritto sul forum internazionale e poi su quello italiano, sono separati, giusto? Ho preferito usare due linguaggi perchè magari, in inglese, ho inavvertitamente commesso qualche errore e il post non è risultato chiaro.

gabb95:
Per quanto riguarda il post sì, è simile ma inizialmente avevo usato uno schema un po’ diverso e comunque avevo scritto sul forum internazionale e poi su quello italiano, sono separati, giusto?

Sbagliato e, se hai letto il REGOLAMENTO dovresti averlo visto … ::slight_smile:

In conformità al suddetto regolamento, punto 13, il cross-posting è proibito (anche tra lingue diverse) quindi … avendo tu cominciato questa discussione nella sezione Inglese, anche per rispetto verso chi li ti stava aiutando, devi continuare in quella sezione ed io chiuderò questo thread duplicato e poi lo cancellerò.

Guglielmo