Inseguitore solare con Arduino – prima parte

Il progetto che ti presento oggi è l’inseguitore solare ossia un dispositivo in grado di simulare il meraviglioso moto che madre natura ha dato al girasole.

inseguitore solare con arduino

A cosa serve?

L’applicazione di questo progetto nasce da un’esigenza, manifestata da alcuni utenti del Blog, di sfruttare al massimo l’energia prodotta dal proprio impianto a pannelli fotovoltaici.

Sai già che i pannelli fotovoltaici si posizionano rivolti a sud, trovandoci noi nell’emisfero borale, o anche emisfero nord, in questo modo sono colpiti dal massimo grado di luce possibile nell’arco della giornata, se a questo aggiungi una corretta inclinazione sull’asse Y, che varia al variare delle stagioni non ti resta che inseguire il sole nelle ore di luce. Infatti puoi decidere di variare l’inclinazione Y manualmente in quanto varia lentamente da stagione a stagione, ma per variare l’inclinazione sull’asse X, variando questa continuamente nelle 12 ore, dovresti sederti vicino ai pannelli tutto il giorno per ruotarli manualmente.

Ecco che un inseguitore solare con pochi euro ti risolve il problema.

Materiale necessario

  • n.1 Arduino Uno;
  • n.2 fotoresistenze uguali, io ho usato due LDR 20-50Kohm;
  • n.1 servomotore adeguato al peso da spostare;
  • n.1 breadboard;
  • n.10 cavetti per breadboard;

Costruisci il sensore

Per il mio esperimento l’ho realizzato su di una breadboard, una volta definito puoi costruirti con una millefori o con un PCB apposito il sensore finale da posizionare sul tuo pannello.

Sensore Inseguitore solare

Sensore Inseguitore solare

L’importante, ed anche il trucco, sta nell’inclinare ogni fotoresistenza di 45° rispetto all’asse verticale ( asse Y ) del pannello, come mostrato in figura:

foto resistenze

Collega ad arduino il sensore appena realizzato ed il servo seguendo lo schema di collegamento seguente:

schema collegamenti

Il principio di funzionamento

Le due foto resistenze poste a 90° l’una rispetto all’altra fanno in modo che solo quando il sole è verticale rispetto ad esse le due resistenze siano identiche. Al muoversi del sole da Est ad OVEST una delle due rileverà più luce dell’altra e incrementerà la propria resistenza sbilanciando il circuito e facendo rilevare ad arduino una variazione rispetto al punto iniziale.

In questa condizione Arduino inizierà a seguire il sole ossia a spostare il servo, che avrai collegato al pannello su cui è fissato il sensore, per ribilanciare il valore letto dalle due foto resistenze.

Lo Sketch

/*
 * Inseguitore solare - prima parte
 *
 * Autore: Mauro Alfieri
 * web: www.mauroalfieri.it
 * Tw: @mauroalfieri.it
 *
 */

#include <Servo.h>

int sensorPin = A0;
int servoPin  = 9;

int sensorValue = 0;
int servoGrad = 90;
int tolleranza = 40;

Servo myservo;

void setup() {
  pinMode( sensorPin, INPUT);
  myservo.attach( servoPin );
  myservo.write( servoGrad );
}

void loop() {
  sensorValue = analogRead(sensorPin);
  if ( sensorValue < (512-tolleranza) )
  {
    if (servoGrad < 180) servoGrad++;
  }

  if ( sensorValue > (512+tolleranza) )
  {
    if (servoGrad > 0) servoGrad--;
  }

  myservo.write( servoGrad ); 

  delay(100);
}

Leggendolo linea per linea:

linea 10: includi la classe Servo.h, che semplifica tutta la gestione del servomotore;

linea 12: imposta la variabile di tipo integer a cui assegni il pin a cui colleghi il sensore, in questo esempio A0;

linea 13: imposta la variabile di tipo integer a cui assegni il pin a cui colleghi il servomotore, in questo esempio 9;

linea 15: imposta una variabile di tipo integer a cui addegnerai il valore letto dal sensore in fase loop();

linea 16: imposta una variabile di tipo integer che indica la posizione, in gradi, del servo, in fase di start dello sketch posiziono il valore del servo a 90°, se tu vuoi partire da una angolazione differente puoi variare questo valore;

linea 17: imposta una variabile di tipo integer a cui assegni una tolleranza entro la quale il servo non deve ruotare anche se il sensore rileva variazioni dal valore centrale, vedrai in seguito meglio a cosa serve;

linea 19: inizializza l’oggetto Servo assegnandolo all’istanza myservo;

linea 22: imposta il pin a cui è connesso il sensore in modalità INPUT;

linea 23: con il metodo attach(pin) dell’oggetto myservo indichi a quale pin è collegato il servomotore;

linea 24: con il metodo write(grad) imposti i gradi a cui il servo deve posizionarsi, in fase di setup() il valore sarà quello definito alla linea 16;

linea 28: leggi il valore proveniente dal pin analogico ( A0 ) con la funzione analogRead() e lo assegni alla variabile sensorValue definita alla linea 15;

linea 29: esegui il primo controllo se il valore letto dalla linea 28 è minore della differenza tra 512 e la tolleranza impostata sei nella condizione in cui il pannello non è più orientato difronte al sole, una delle due foto resistenze sta rilevando una intensità maggiore dell’altra, quale sia dipende da come hai collegato le resistenze, nel mio esempio è la foto resistenza destra e per adeguare la posizione del pannello devo ruotare oltre i 90 gradi iniziali, tra 90° e 180°;

linea 31: esegui una ulteriore verifica, che il valore in gradi assunto dal servo non sia > di 180 in quanto il servo che stai utilizzando non sarebbe comunque in grado si andare oltre, se l’angolo del servo è < di 180° allora puoi incrementare i gradi di rotazione. L’espressione servoGrad++ indica di incrementare di un grado il valore di servoGrad da 90 a 91,92,93 ecc… ad ogni loop() arduino;

linea 34: verifica una condizione simile a quella della linea 29. In questo caso il valore letto dal sensore è confrontato con la somma tra 512 + tolleranza;

linea 36: verifica che l’angolo il cui il servo si trova non sia inferiore a 0, anche in questo caso non sarebbe possibile per il servomotore eseguire lo spostamento richiesto. Decrementa quindi il valore di servoGrad un grado per ogni loop() in cui si verificano le condizioni descritte;

linea 39: è arrivato il momento di far muovere il servo, riutilizza il metodo write( gradi ) per ottenere lo spostamento del servo nella posizione desiderata.

linea 41: attendi un tempo di 100 millisecondi tra una rilevazione e la succesiva, questo permette al servo di raggiungere la posizione indicata prima che la rilevazione dei sensori cambi. Puoi aumentare questo valore di molte migliaia in quanto il sole impiega delle ore per spostarsi.

Il Video

ed ecco il video dimostrativo dell’inseguitore, nel vido sono io a muovere la breadboard con su le foto resistenze, non è ancora montato ad alun pannello, puoi osservare come il servo sia in movimento prima in un senso e poi in quello opposto in funzione della quantità di luce ce colpisce i sensori:

Tolleranza

Buona inseguimento.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/inseguitore-solare-con-arduino.html

178 commenti

2 ping

Vai al modulo dei commenti

    • Diego il 26 Agosto 2012 alle 21:09
    • Rispondi

    Ciao e complimenti per il sito…volevo chiedere dato che sono agli inizi con la programmazione con Arduino,se mi puoi suggerire in che modo modificare questo schema e il software in modo da sostituire il servo motor con un controller L298 e un motore passo-passo già in mio possesso…ovvero le uscite di Arduino dovrebbero andare a pilotare una scheda con L298 e relativo motore passo-passo.
    Ti ringrazio fin d’ora per l’aiuto che mi darai.
    Saluto caramente. Diego Z.

    1. Ciao Diego,
      la tua variante dell’inseguitore solare con un motore passo-passo mi interessa.
      Che tipo di motore hai: unipolare o bipolare?
      Nel blog trovi già degli schemi ed esempi per i motori unipolare con L298 e bipolari con SN754410NE, prova a leggerli e dimmi se possono andar bene per il tuo progetto.

      Poi ti aiuto con le modifiche dell’inseguitore per funzionare con un passo-passo al posto del servo.

      Mauro

        • Diego il 27 Agosto 2012 alle 09:17
        • Rispondi

        Beh prima di tutto grazie per la risposta..poi per quanto riguarda la tua domanda,ti posso dire che il motore è passo-passo e unipolare.Facente parte di un vecchio kit di N.E. di cui non ricordo il numero,che era composto da un accoppiata di C.I. L297-L298 pilotati a loro volta da un NE555.Avevo quindi pensato di usare solamente L298+motore p.p. e pilotarlo “logicamente” con Arduino,dunqueabbinarlo al tuo progetto.
        Spero di essere stato esaustivo.Ti ringrazio dell’aiuto e ti saluto caramente.

        1. Perfetto Diego,
          per il motore unipolare e L298 troverai degli articoli nel Blog.
          Prova a leggerli e indicami eventualmente dove non ti sono chiari.

          Mauro

            • Diego il 27 Agosto 2012 alle 22:41

            Rieccomi… dunque il motore p.p. è un Bipolare invece di Unipolare come scritto precedentemente…cercando nel blog ho trovato più o meno quel che cercavo,riassumendo,quanto viene letto dalle entrate analogiche dove sono connesse le fotoresistenze deve venire trasformato nelle uscite di Arduino in una sequenza di livelli High-Low per i pin del 5,7,10,12 e i pin Enable 6,11 del L298,mentre per il resto dei pin si può seguire il datasheet del L298,la mia domanda ora è:dove collegare i pin 5,7,10,12 e 6,11 del L298 su Arduino? Dopodiche inizio a modificare lo Sketch presente qui in questo articolo per avere lo stesso risultato di questo Inseguitore solare però al posto del servo viene usato un motore passo-passo al cui albero motore verrà applicato un mini pannello solare.
            Spero che quanto si sta sviluppando possa servire ad altre persone anche solo per sperimentare le enormi capacità di Arduino.
            Grazie.

            Diego

          1. Ciao Diego,
            per i bipolari troverai molti articoli con l’SN754410NE più che con l’L298. Tuttavia fatti i collegamenti i concetti sono i medesimi.

            Ricavati lo schema di collegamento dalla Motor Shield FE usa un driver simile e trovi già degli sketch per i passa-passo bipolari.

            Se riesco preparo una variante del mio articolo con il motore bipolare ed una con il motore unipolare, non prenderla come una certezza, sperimenta intanto …

            Mauro

        • Agosantino il 23 Ottobre 2019 alle 00:27
        • Rispondi

        Buona giornata. Io avrei un’altra curiosità. La seconda parte dove si trova? Grazie mille

        1. Ciao Agostino,
          di solito nel blog, a volte dimentico di pubblicare qualcosa ma non mi sembra sia questo il caso.

    • Diego il 28 Agosto 2012 alle 16:57
    • Rispondi

    Ok grazie Mauro.La scelta dell’L298 dipendeva dal fatto che avevo già tutto pronto…scegliendo il SN754410 avrei dovuto partire da zero…comunque adesso cerco di ricavare il collegamento dalla motor shield (buona idea).
    Poi comincio a scrivere lo sketch,comunque continuo a seguirti sperando troverai il tempo di scrivere la variante del tuo sketch…
    Grazie. Ciao.
    Diego

    • marco il 17 Ottobre 2012 alle 21:54
    • Rispondi

    Complimenti Mauro i tuoi articoli sono veramente interessanti e ben spiegati anche per chi si avvicina ai primi passi con arduino come me. avrei una domanda da farti, ho corstruito un inseguitore solare a 4 fotoresistenze per avere nord, sud est e ovest e servi motore per i due assi e fin qui me la sono cavata.
    il mio problema è ora sostituire nello schema i servo per inserire i comandi di una scheda relay shield (4 relè) e poter così comandare due motori 12v senza problemi di assorbimento . sono praticamente nei casini e non ho idea di come fare.

    mi potresti aiutare? molte grazie

    1. Ciao Marco,
      grazie per i complimenti.
      Prova a guardare tra gli ultimi articoli ho presentato proprio una scheda che penso che faccia al caso tuo.
      Mi piacerebbe pubblicare il tuo progetto quando lo avrai ultimato con foto, video e sketch.

      Se tra gli articoli non trovi nulla adatto al tuo progetto scrivimi e provo ad aiutarti.
      Mauro

    • marco il 18 Ottobre 2012 alle 21:34
    • Rispondi

    Grazie Mauro certamente sarò felice di passarti foto e tutto (mi dirai poi come) e appena riesco a farlo funzionare agganciato alla parabola (concentratore solare) che andrei ad usare…nelle intenzioni.. per avere ACS tutto l’anno a zero spese ed emissioni idem.

    in buona sostanza mi servirebbe mixare questo

    http://www.instructables.com/id/Arduino-Solar-Tracker/

    con la tua

    https://www.mauroalfieri.it/?s=relay

    entrambi gli schemi li ho già costruiti e funzionano ma ora mi serve che i comandi dei servo mi vadano a comandare invece i 4 relè a cui aggancio i due motori 12v ….pur mantenendo i 4 bottoni di comando manuale.

    …qui cade l’asino… che sono io

    grazie e non inserire nel blog visto che c’è sito esterno.

    la mia mail è quella dell’iscrizione se preferisci comunicare a parte.

    ancora grazie per eventuali indicazioni che potrai darmi (sono da asilo su arduino per cui non dare per scontato che sappia cosa intendi) ciao

    marco

    1. Ciao Marco,
      il link che mi hai inviato è di un tuo progetto?
      Mixare gli sketch non dovrebbe essere difficile, ti ho consigliato di leggere gli articoli del Blog per aiutarti a capire come fare.

      In sostanza quello a cui penso è:

      rilevi la differenza di valori tra le due resistenze, se ne hai 4 lavorerai a coppie;
      se la differenza ti indica che devi spostarti in senso orario, invii il digitalWrite( pin,HIGH ) sul pin che sposta il motore in quel senso, e viceversa.

      Non è complesso, unica complicazione è data dal tipo di relay: se utilizzi dei relay mono scambio dovrai usarne 2 insieme per invertire allo stesso tempo + e – del motore e quindi con 2 assi ti occorrono 4 relay e con 4 assi 8 relay.

      Sui siti da cui compro solitamente ci sono questo tipo di shield:
      http://www.robot-domestici.it/joomla/component/virtuemart/Arduino/arduino-shield/relay-shield

      Non mi è chiaro cosa intendi con: “grazie e non inserire nel blog visto che c’è sito esterno.”

      Mauro

    • marco il 19 Ottobre 2012 alle 17:24
    • Rispondi

    ciao mauro, nel senso che , il link esterno, non essendo un mio progetto non sapevo se preferivi non inserirlo

    1. OK, ho capito, non preoccuparti mi piace rispettare il diritto d’autore.
      Quando scriveremo l’articolo sul tuo progetto inseriremo un link al sito in cui il video è presente.

      Mauro

    • marco il 19 Ottobre 2012 alle 17:33
    • Rispondi

    Ciao mauro,

    quella che ho già io è questa

    http://www.robot-domestici.it/joomla/component/virtuemart/Arduino/arduino-shield/relay-shield/relay-shield

    1. Ciao Marco,
      ottima scheda, ne possiedo una anche io.
      Il limite rispetto al tuo progetto è che ogni relay possiede un solo scambio per cui per invertire un senso di marcia avrai necessità di tutti e 4 i relay presenti in modo che ai primi due colleghi il positivo ed il negativo del motore ed ai secondi due gli stessi due poli invertiti: negativo e positivo.
      Per far ruotare un motore in senso orario dirai all’OUT1 e 2 di eccitarsi andando in conduzione e OUT3 e 4 non eccitati, per invertire il senso di rotazione dirai all’OUT3 e 4 di eccitarsi ed OUT 1 e 2 non eccitati.

      A questo punto il tuo problema è risolto per un solo asse del tuo inseguitore, se vuoi comandare 4 motori hai bisogno di 8 relay di questo tipo.
      In alternativa puoi costruirti un circuito con 8 relay collegando le bobine a 2 a 2 ed eccitando ogni coppia con un OUT di questa scheda.

      E’ un lavoro un po’ più complesso ma sicuramente economico.
      Spero di essere stato chiaro.

      Mauro

    • Mario il 18 Marzo 2013 alle 18:19
    • Rispondi

    Gent.mo Mauro

    Intanto complimenti per il sito che seguo quasi giornalmente alla ricerca di idee per il mio hobby
    preferito.

    Sono stato colpito in particolare dal progetto “inseguitore solare” che ho subito messo in pratica su
    breadboard.

    Volevo chiederTi se fosse possibile sostituire le fotoresistenze da 2 sensori PIR e montare sul servo un
    faro che illuminasse “inseguisse” eventuali intrusi; in modo che si sentissero maggiormente a
    disagio e quindi scoraggiati più della classica lampada che si accende al passaggio.
    Grazie
    Mario

    1. Ciao Mario,
      grazie per il tuo sostegno con la tua presenza.
      L’inseguitore solare, come hai letto, si basa sul confronto di valori resistivi provenienti dalle fotoresistenze.

      I sensori pir non sono degli inseguitore ma più simili a degli interruttori azionati dalla presenza di un oggetto.
      In pratica non sono in grado di darti un segnale che varia rispetto alla visuale.
      Potresti provare con dei sensori ad ultrasuoni tipo SRF05, li trovi nel blog, e sperimentare cosa accade.

      Se ottieni un risultato soddisfacente mi piacerebbe pubblicarlo.

      Mauro

    • Beppe il 22 Marzo 2013 alle 01:30
    • Rispondi

    Gentile Mauro,
    lavoro nel campo delle rinnovabili, trovo questa soluzione davvero interessante, chiedevo però se sarebbe possibile inserire dei dati astronomici (inseguitore astronomico) in modo tale che si potrebbe bypassare sensori e quant’altro e risulterebbe molto più preciso? o rimane comunque un strumento per hobbie?
    Chiedo questo perché potrei adottarlo per i miei prodotti.
    Grazie

    Beppe

    1. Ciao Beppe,
      non conosco il campo in cui operi, almeno non così approfonditamente.
      Se sei interessato a provare a realizzare un progetto con Arduino posso darti qualche dritta e mi piacerebbe imparare cose nuove.

      Arduino é ottimo per prototipare poi le logiche ed i progetti andrebbero portati su prodotti atti a funzionare continuativamente per giorni.

      Ho già realizzato già progetti che vengono utilizzati da mesi e potrei provare anche con il tuo, ma lo considerò in tal caso un progetto commissionato.

      Mauro

    • Giordano Settimo il 25 Marzo 2013 alle 00:12
    • Rispondi

    Ciao, progetto interessante che vorrei rifare da zero utilizzando 4 fotoresistenze e due assi. Quello che mi chiedo è: utilizzando dei fotoresistori, per quanto funziona indoor e tramite fonti di luce puntuali come la fiamma di un accendino o una torcia, con il sole (vero), si muoverebbe in modo coerente? Qualcuno l’ha testato?

    1. Ciao Giordano,
      Io con 2 fotoresistenze l’ho provato su un pannello solare vero per circa 6 mesi senza problemi.

      Mauro

        • Giordano Settimo il 25 Marzo 2013 alle 14:39
        • Rispondi

        Grazie, credo che rifarò l’esperimento ! 😉

        1. Ciao Giordano,
          ottima idea !!!

          Mauro

  1. Ciao Mauro,
    molto interessante il progetto dell’inseguitore, io sto per realizzare un concentratore solare basato su una lente di Fresnel in plastica di 1 metro quadro di superficie, a tal proposito mi chiedevo se la precisione del puntamento del tuo progetto di inseguitore può essere idonea ad un concentratore. Ho letto che per tali dispositivi bisogna avere una precisione migliore di 0,27°, come pensi che si possa raggiungere tale precisione.

    Per ora un saluto e grazie.
    Mauro

    1. Ciao Mauro,
      interessante provetto.
      Io non utilizzerei per tale progetto un servo ma un motore passo-passo, forse l’unico in grado di garantirti una tale precisione, tuttavia dipende poi dalla tua meccanica.

      Mauro

  2. Ciao Mauro,
    non sono sicuro ma credo che ci sia un errore nello schema sulla breadboard con Fritzing, in particolare il collegamento elettrico del servo. Mi sembra come che non sia collegato, in particolare non riesco a capire perché i due poli sono collegati alla linea negativa.
    Ti risulta anche a te?
    Si può avere lo schema elettrico normale.
    Ti ringrazio anticipatamente.

    Mauro

    1. Ciao Mauro,
      hai ragione i collegamenti dell’alimentazione del servo sono sbagliati, non vanno tutti al polo negativo ma il negativo va a Gnd ed il positivo a +5v

      Il resto é corretto.

      Mauro

    • Gabriele il 1 Maggio 2013 alle 18:35
    • Rispondi

    Salve Mauro, mi piace moltissimo il tuo progetto e avevo intenzione di realizzarlo per poi fare un’esposizione a scula, quindi ti ringrazio da subito per l’idea 🙂
    Ho però un problema nella realizzazione: dato che ho un motore passo-passo (bipolare, 48 passi, 12V) ho comprato una motor shield (Adafruit, il sito di riferimento è http://www.ladyada.net/make/mshield) che occupa tutti i pin della mia scheda Arduino… Come posso collegarci il circuito realizzato su breadboard delle fotoresistenze?
    Guardando meglio la shield da sopra e sotto mi sembra che alcuni pin siano inutilizzati dalla shield nonostante abbiano messo il contatto… Secondo te posso iserire in qualche modo i fili del circuito fotoresistenze sulla scheda Arduino o avresti altre soluzioni da suggerirmi?
    Grazie per l’attenzione e complimenti, ti ammiro e vorrei diventare un “DIY guy” come te! 🙂

    1. Ciao Gabriele,
      sei già sulla buona strada, sono lusingato dai tuoi complimenti, anche io ho iniziato osservando gli altri e seguendo le piste sulle shield.
      Il fatto che tutti i connettori siano saldati non vuol dire che siano tutti usati, come hai notato, in ogni caso anche se fossero connessi a dei circuiti sicuramente nello schema trovi quali pin devono essere utilizzati per i passo-passo, quali per i DC e quali per i servo, quelli che non usi puoi usarli per le fotoresistenze.

      Mauro

    • Lorenzo il 21 Maggio 2013 alle 20:27
    • Rispondi

    Ciao mauro, ho avuto modo di seguire i tuoi articoli poiche vorrei realizzare il mio primo inseguitore solare. A differenza del tuo io dovrei comandare un motoriduttore molto grande con tensione 220 e circa 800 watt. Vorrei inoltre inserire dei finecorsa. Pensi di poter darmi qualche indizio su dove cominciare? Ciao e grazie

    1. Ciao Lorenzo,
      il primo inseguitore solare che ho realizzato usava un servo fatto in casa con un motoriduttore, funzionava a 12v ed aveva due finecorsa, dovresti trovare un mio video su youtube.

      Non usava Arduino ma un semplice circuito a relay.

      Mauro

    • Danilo il 31 Maggio 2013 alle 12:06
    • Rispondi

    Ciao, vorrei sapere se hai usato un servo tradizionale o un servo a rotazione continua come dicono su tutti i siti e forum.
    Che valori di fotoresistenza bisogna adoperare, che valori usare.

    1. Ciao Danilo,
      quello dell’esempio è un servo 0-180°, ma è solo un esempio puoi usare anche un motore passo-passo o altro; dovrai modificarne il codice, ma compreso il concetto ci vuole poco a modificarlo.
      Per le resistenze e tutte le altre info le trovi nell’articolo.

      Mauro

    • Danilo il 31 Maggio 2013 alle 19:26
    • Rispondi

    Io lo fatto ugualmente ma non funziona e non so il perchè!!…

    Mi serve come progetto esame e sono disperato perchè con tutte le modifiche non trovo una soluzione

    1. Ciao Danilo,
      ti consiglio di concentrarsi solo su una soluzione e approfondirla in tutti i suoi aspetti senza scoraggiarti e cambiar strada di continuo.

      Io faccio così quando voglio raggiungere un risultato.

      Mauro

    • Danilo il 31 Maggio 2013 alle 19:28
    • Rispondi

    Comunque ho provato anche con un motore passo passo ma ho letto su delle guide che devo compare la Motor Shield di Arduino …

    1. Ciao Danilo,
      puoi seguire uno dei tanti tutorial che ho scritto sui motori passo passo, ci sono tanti modi per pilotarlo.
      La Easydriver è uno di questi, l’importante è comprendere i concetti del progetto ed applicarla al motore/servo che vuoi.

      Mauro

    • Giordano il 5 Giugno 2013 alle 23:42
    • Rispondi

    Salve, ritorno qui a scrivere per dei miei dubbi su Arduino. Sto cercando di fare un progetto molto simile a questo ma con quattro LDR e con due servo, uno per lo spostamento verticale e uno orizzontale. Mi sono ritrovato a dover lavorare con questi due servo https://docs.google.com/file/d/0B__O096vyVYqNmRlYmEyOTctMzc5ZS00NDhkLTk3YzItOThiOTdmZDM0ZWJh/edit?hl=en_US

    Collego i due servo ad Arduino, e Arduino l’alimento tramite l’USB del PC: scopro che la scheda non riesce ad alimentare correttamente i due servo… probabilmente a causa dell’assorbimento di corrente, Arduino UNO SMD va in protezione e spegne tutto. Come consigliato sul web cerco di connettere i motori con un alimentazione a 5V. Non avendo alimentatori opto per delle batterie. Per errore collego in parallelo due coppie (fra loro in serie) di batterie, ottenendo così 3 V. Da datasheet i servo hanno bisogno di 4,8V ma in realtà funzionano anche con 3V… strano….

    Oggi, dopo tante prove il servo alimentato in questa maniera non risponde più come deve ma effettua movimenti poco chiari e diversi da quelli comandati dall’uscita PWM. E’ possibile che le batteria si sono un pò scaricate e anche se il tester mi misura 3 V non bastano più ad alimentarlo correttamente? Perché tramite i 5V in uscita di arduino non si riesce a muovere due servi? E’ normale o sbaglio qualcosa io? Mi consigliate un alimentatore esterno per alimentare i servi? Alimentando Arduino tramite l’alimentatore, ottengo prestazioni migliori in tensione e corrente?

    Mauro, ti prego illuminami… non pensavo di dover perdere un pomeriggio nel far muovere due servi con Arduino… 🙁

    1. Ciao Giordano,
      solo un pomeriggio? Sei dato bravissimo, io a volte perdo settimane su un progetto 🙂
      Non scoraggiarti é il bello di giocare con arduino 🙂

      Per l’alimentazione usa i 6v, se leggi il documento che mi hai inviato capirai che funzionano meglio, più velocità e più coppia.
      Se la batteria si scarica potresti avere una situazione di instabilità.

      Le uscite arduino non sono indicate per sostenere a lungo dei servo di quel tipo, l’alimentazione esterna separata per arduino (7v -12v) e per i servo (4,8 – 6v) é fondamentale.

      Mauro

        • Giordano il 8 Giugno 2013 alle 02:01
        • Rispondi

        Finalmente funziona… sto montando un video dove mostro il progetto 🙂

        1. Ottimo Giordano,
          sono contento per te, se vuoi pubblicare il tuo progetto inviami un articolo, il codice ed il video ed io sarò lieto di offrirti lo spazio del blog

          Mauro

            • Giordano il 8 Giugno 2013 alle 14:48

            Grazie, spero dopo gli esami 🙂

        • Giordano il 8 Giugno 2013 alle 03:08
        • Rispondi

        http://youtu.be/OhBPjC6dmXM

    • Danilo il 6 Giugno 2013 alle 09:44
    • Rispondi

    Ciao Mauro…sono ancora qui con il solito problema dell’inseguitore soalre con un servo e 2 fotoresistenze LDR da 33k….sulla guida dice di inserire un servo a rotazione continua ma a me gira sempre come se le fotoresistenze non ci fossero…invece se metto un servo a rotazione non continua gira solo di 30 gradi come posso ovviare a questo problema? Premetto che lo alimento con un alimentatore esterno da 9V 600mA …

    1. Ciao Danilo
      io non ho usato un servo a rotazione continua.

      Mauro

      • Giordano il 8 Giugno 2013 alle 02:39
      • Rispondi

      Posta i tuoi collegamenti e il codice.

    • Danilo il 8 Giugno 2013 alle 10:10
    • Rispondi

    Finalmente anche il mio progetto e stato realizzato e funziona a meraviglia grz di tutto MAURO 🙂

    1. Grande Danilo,
      Se vuoi condividerlo sul Web io ti lasciò volentieri lo spazio per farlo.
      Mandami alla casella info dl blog una email con foto,testo,sketch ed eventuale filmato 🙂 e scrivo un articolo a te dedicato.

      Mauro

    • Danilo il 20 Giugno 2013 alle 21:33
    • Rispondi

    Si se mi dai la tua email ti faccio il video e le foto con tutta la documentazione

    1. Ciao Danilo,
      l’email é la info del blog che trovi anche nella pagina contatti.

      Aspetto incuriosito il tuo materiale.

      Mauro

    • Manuel il 23 Giugno 2013 alle 19:52
    • Rispondi

    Ciao Mauro, ci siamo già sentiti con un post sul tuo blog.

    Volevo chiederti se potevi spiegarmi come avviene la lettura

    su un unico pin di due LDR nel progetto ‘inseguitore solare’;

    non riesco a capire che dato viene letto su a0 e come fa il

    motore ad interpretarlo (cioè rotazione in senso orario e

    rotazione in senso antiorario).

    Saluti
    MC

    1. Ciao Manuel,
      se ho compreso la tua richiesta é descritta nel paragrafo dedicato al principio di funzionamento.
      La lettura del pin A0 é affidata alle linee dalla 28 in poi e funziona come un partitore di resistenze il cui punto centrale é 512 per arduino essendo le fotoresistenze della medesima impedenza.

      Infine il gioco delle tolleranze per evitare che il servo continui a ruotare a vuoto lo puoi leggere nell’ultimo paragrafo dell’articolo.

      Mauro

    • francesco il 27 Luglio 2013 alle 13:02
    • Rispondi

    ciao mauro.
    sto realizando interamente da me un Inseguitore solare. la parte eletronica ho preso uno schema su internet
    invece la parte meccanica viene da un motorino tergicristalli da una vecchia auto.
    e fin qua tutto ok. il problema sta tutto sulle fotoresistenze perche non so come vanno posizionate..
    le tre F.R sono di diametro13mm e le ho inserite in un tubo di tale diametro nero e vanno dentro di circa 10cm..
    mi potresti dare un consiglio sul posizionamento delle F.R..Grazie infinite….

    1. Ciao Francesco,
      non comprendo bene la tua domanda, in che senso come vanno posizionate?
      Nell’articolo é spiegato passo-passo come posizionarle, a 90gradi di inclinazione una dall’altra, con tanto di foto, disegno e schema.

      Io non le metterei in un tubo, limita di certo la quantità di luce che percepiscono, anche libere, come le ho messe io, funzionano in modo perfetto.

      Mauro

    • roberto il 24 Settembre 2013 alle 22:39
    • Rispondi

    Al posto delle foto resistenze che hai utilizzato posso usare delle ldr04 che sono da 2 a 20kohm? Devo modificare qualcosa nel circuito e nello sketch di Arduino?

    1. Ciao Roberto,
      se usi due fotoresistenze identiche il circuito funziona nel medesimo modo, senza apportare modifiche.

      Mauro

    • Alessandro il 26 Settembre 2013 alle 18:44
    • Rispondi

    Ciao mauro,
    Anche io vorrei costruire un inseguitore di luce,essendo alle prime armi chiedo a te un consiglio :La mia idea sarebbe quella di costruire una piccola macchina con motori DC in grado di seguire in maniera autonoma la luce tu che dici ? Grazie ciao

    1. Ciao Alessandro,
      bel progetto, mi chiedo perché parli di motori e non di motore.
      A quanti assi vuoi realizzarlo?

      I motori CC sono molto potenti ma difficili da controllare se non usi un encoder per conoscere la posizione dell’albero.
      I servomotori sono ugualmente potenti ma più semplici da pilotare con precisione.

      Mauro

    • Alessandro il 27 Settembre 2013 alle 11:51
    • Rispondi

    Ciao io utilizzo due motori,cc collegati ad un unico asse grazie al gearbox della tamiya, questi due motori sono collegati in parallelo ad un motor driver cosi li faccio pilotare come mi pare e quindi in base alla luce li faccio muovere avanti indietro destra e sinistra .
    Alessandro

    1. Ciao Alessandro,
      ho capito come sono collegati i due motori e come agiscono.
      Il tuo progetto è mono-asse pur utilizzando due motori.

      Il mio consiglio è di utilizzare motori di tipo passo-passo o servomotori per realizzare un inseguitore solare perché più semplice e preciso.
      Se vuoi utilizzare cmq i tuoi motori puoi modificare il codice del mio progetto e verificare se riesci a mantenere la posizione costante al variare del sole.

      Mauro

    • Alessandro il 27 Settembre 2013 alle 18:11
    • Rispondi

    Ok, magari userò una piccola torcia puntata sulle fotoresistenze per far vedere che il robottino mi seguirà, ti ringrazio davvero .
    Ciao Alessandro

    1. Certo Alessandro, é un ottimo test.

    • Simone il 6 Ottobre 2013 alle 16:02
    • Rispondi

    Ciao Mauro, come mai non segue con precisione il fascio di luce? a mio parere dovrebbe seguirlo non spostarsi tutto da un lato oppure nell’ altro, se uno prova a puntare la luce di un cellulare non lo segue, ma si sposta fino ad arrivare a fine corsa del servo da 180°.
    Forse è meglio usare 2 ingressi analogici?
    Ti ringrazio Saluti

    1. Ciao Simone,
      nel mio video si vede esattamente che il servo si muove in una direzione o nell’altra quando il fascio di luce incide sulle fotocellule in modo da irradiarne una più dell’altra.

      Se ripeti l’esperimento ricordati che il fascio di luce deve essere posizionato sull’asse verticale a 45 gradi rispetto alle due fotoresistenza.

      Se leggi bene il principio di funzionamento descritto capirai cosa intendo e perché uso un solo pin, nulla ti impedisce di usare due pin ma dovrai ragionare diversamente.

      Mauro

    • Daniel il 8 Ottobre 2013 alle 19:32
    • Rispondi

    Ciao Mauro, sarei interessato a portare questo progetto per la tesina di quinta superiore con una piccola modifica.
    Potrei collegare al servomotore un mini pannello solare fotovoltaico?

    1. Ciao Daniel,
      certo che puoi, ti consiglio di leggere gli altri articoli dedicati al controllo di un pannello solare, in uno ho collegato il mio pannello solare ad un servo autocostruito, tu puoi utilizzare un servo per modellismo.

      Mauro

    • Alberto il 13 Novembre 2013 alle 08:33
    • Rispondi

    Ciao Mauro, ci siamo conosciuti al recente corso base di Arduino (novembre).
    Sono ai primissimi passi e trovo molto interessante il tuo articolo, lo applicherei per riprese fotografiche tipo Time Lapse.
    Vorrei poter comandare un motore 12 V, da dove mi consigli di iniziare?? Dove posso trovare informazioni per il collegamento ed il controllo del motore??
    Il tutto dovrebbe essere spiegato molto semplicemente, scusami ma mi occupo di tutt’altro che elettronica sebbene la stia trovando molto appassionante, anche per merito tuo.
    Grazie mille ciao. Alberto.

    1. Ciao Alberto,
      mi fa piacere sapere che stai realizzando un tuo progetto e che il mio corso arduino ti abbia ispirato.
      In merito al tipo di motore da usare per time lapse io ti posso suggerire due ipotesi:

      1. un motore passo-passo
      2. un servomotore

      Le caratteristiche ed i collegamenti, oltre ai driver elettronici necessari e gli sketch li trovi nel blog.
      Ci sono molte soluzioni all’idea che hai in mente, ti consiglio di leggere un po di articoli sui de argomenti e commentarli se hai dubbi.

      Mauro

    • luca il 2 Dicembre 2013 alle 16:30
    • Rispondi

    quando metto in arduino il tuo sketch da errore ” ‘servo’ does not name a type’ ” riferito nello sketch alla riga 19, come mai?

    1. Ciao Luca,
      hai incluso la libreria Servo.h?

      Mauro

    • ali il 13 Dicembre 2013 alle 17:22
    • Rispondi

    ciao mi chiamo ali!!
    sto facendo l’itis….ed quest ‘ anno è il mio ultimo anno e stavo pensando di portare l’inseguitore solare come progetto all’esame di maturita!!
    la domanda è che il progetto dell’inseguitore che hai postato te non è ancora finito?? se no, quanto manca ancora??
    stavo pensando di farlo con l’arduino uno….mi riesci a dire piu o meno quanto viene a costare in totale fare un inseguitore….tenendo in mento che non devo fare una cosa troppo sofisticata…..ma è solo un progetto per la scuola 🙂
    grazie in anticipo!! 😀
    cioa

    1. Ciao Ali,
      bel progetto da portare all’esame di maturità 🙂
      Di progetti dedicati all’inseguitore solare ne ho fatti un paio e li trovi sul blog.
      Questo in particolare é un esempio fatto con un servo a cui non devi far altro che aggiungere il pannello solare, ti consiglio la solar shield per avere già integrata anche la parte di caricabatterie.

      Puoi realizzare un piccolo esempio con pannello piccolo e quindi un servo non molto potente, per il progetto di maturità dovrebbe essere sufficiente.

      Il costo non saprei dirtelo prova a fare la lista della spesa su robot-domestici, pensando a cosa vorresti metterci oltre ai componenti che ti ho suggerito.

      Mauro

    • ali il 17 Dicembre 2013 alle 21:25
    • Rispondi

    Grazie per avermi risposto alla domanda precedente!! 🙂

    Ti volevo chiedere che secondo te, questo progetto conviene farlo solo con l’arduino uno?? È piu facile con quest’ultimo???

    E poi un ultima domanda…come motorino conviene usare servomotore o motore passo-passo?? e motorino di quale potenza?? Tenendo conto che non ci metto un vero e proprio pannello fotovoltaico!!
    E se faccio un ipotesi di mettere un pannello non troppo grande (15×15cm, se riesco a trovarne uno di quelle dimensioni, e ovviamente non collegato solo da abbellire un po il progettino) quale motore mi servirebbe??

    Aspetto la tua risposta 😀
    Grazie in anticipo 🙂

    1. Ciao Ali,
      l’arduino uno per il progetto dell’inseguitore solare é più che sufficiente considerando che ti servono solo 2 fotoresistenze e un servomotore ti avanzano anche tanti altri pin.

      Io ho usato un servomotore ad uso modellistico e ti suggerisco di fare altrettanto, sul sito robot-domestici.it, da cui acquisto, ci sono di diverse potenze io do solito uso un 15Kg/cm da poche decine di euro, se vuoi spostare un pannello da 15x15cm ti bastano pochi g/cm

      Da loro trovi anche i pannelli solari ed i circuiti di carica così puoi caricare le batterie che alimentano il tutto e il progetto é autonomo e più realistico.

      Mauro

    • alessandro il 27 Dicembre 2013 alle 22:29
    • Rispondi

    Salve Mauro, ho visto che sei molto disponibile, vorrei chiederti un parere (purtroppo mi sono affacciato al mondo di arduino da pochi giorni quindi sono molto inesperto).

    Vorrei realizzare il tuo inseguitore solare, a tal proposito ho comprato un servomotore (modello Mg995 da 15 kg/cm , se è possibile vorrei postare il link con la descrizione dell’articolo).
    Quello che vorrei chiederti è:
    devo utilizzare un motor shield? Collegandolo direttamente non rischio di bruciare l’arduino?
    Grazie infinite

    1. Ciao Alessandro,
      conosco il tipo si servo che hai utilizzato.
      I servo non hanno bisogno di shield aggiuntive per essere controllati, l’importante é alimentare il servo in modo indipendente da Arduino, trovi un mio articolo in cui ho descritto come collegare un servo ed alimentarlo esternamente.

      Mauro

        • alessandro il 28 Dicembre 2013 alle 14:31
        • Rispondi

        Grazie l’ho trovato!
        Sei gentilissimo! Spero di poterti disturbare ancora quando avrò altri dubbi!
        Alessandro

        1. Ciao Alessandro,
          puoi sempre commentare i miei articoli quando hai dei dubbi che li riguardano.
          Ti chiedo la cortesia di controllare prima che ci sia un articolo che risponde al caso tuo per agevolarmi nelle risposte e risolvere prima i tuoi dubbi.

          Mauro

    • Federico il 3 Gennaio 2014 alle 11:46
    • Rispondi

    Salve Mauro,
    Ho visto il tuo progetto di inseguitore solare e ho deciso di prenderne spunto per il progetto per l’esame di maturità.
    Quello che voglio realizzare è un inseguitore solare che per mezzo di pannello solare incameri la stessa energia solare e la trasformi in energia elettrica da utilizzare per caricare un cellulare.
    Non avendo grandi conoscenze di elettronica volevo chiederti se possibile un aiuto iniziale su cosa comprare.
    Di sicuro so che servono 1 motore passo-passo per muovere il pannello e un altro per l’inclinazione dello stesso pannello, per il resto aspetto una tua risposta.

    Grazie Federico

    1. Ciao Federico,
      non sei il primo che mi scrive con il tuo stesso progetto e spero non si tratti di un tuo compagno di classe, dovresti trovare il suo commento qualche settimana fa.

      Tornando al progetto ti do il medesimo consiglio che ho dato all’altro ragazzo: la scelta dei motori dipende dalla grandezza del pannello solare che vuoi usare, io userei dei servomotori che risultano più semplici da gestire, inoltre per lavorare su due assi devi usare quattro fotoresistenze connesse a croce a due a due come in questo progetto, il codice non é molto differente da quello che hai visto in questa pagina.

      Ti consiglio infine di leggere e comprendere bene come funziona il servomotore e come lavorano le fotoresistenze per affrontare al meglio il tuo progetto.

      Mauro

    • Federico il 19 Febbraio 2014 alle 12:45
    • Rispondi

    Salve Mauro,
    grazie per i tuoi consigli sull’utilizzo dei servomotori e le fotoresistenze incrociate.
    Ti chiediamo aiuto visto che abbiamo un ulteriore problema, non sappiamo come fare per collegare il pannello solare costruito saldando celle-fotovoltaiche ( in totale 6 V in uscita) alla presa USB ( per collegare il nostro cellulare da caricare) che da in uscita 5 V.
    Aspettiamo tuoi consigli su come risolvere il problema, grazie in anticipo
    Federico

    1. Ciao Federico,
      esistono alcuni circuiti detti concertitori DC-DC che puoi utilizzare per portare la tua tensione da 6v a 5v, io ne ho recensito uno qualche anno fa.
      In alternativa, un po’ più complessa potresti costruirti un circuito con un integrato del tipo 7805.

      Mauro

    • Valentino Litrico il 26 Febbraio 2014 alle 15:24
    • Rispondi

    Salve prof.
    argomento interessante quello del fotovoltaico, ma ha mai pensato di alimentare arduino direttamente con un pannello fotovoltaico (e qualche batteria tampone ovviamente per ovviare alla discontinuità di luce diretta) per realizzare un progetto completamente green?
    io ci sto studiando, ho un pannellino da 3w con 6v di picco e a pieno sole li raggiunge e per alimentare arduino è anche troppo, ma devo trovare il modo di ricaricare le batterie perchè ho visto che le nimh hanno un metodo di ricarica, le nicd ne hanno un’altro e mi sto un po’ bloccando.

    1. Ciao Valentino, non sono un professore ma solo un appassionato.
      6v per arduino uno non bastano a garantire che tutto funzioni bene in quanto il voltaggio minimo di alimentazione é 7-20v

      Per caricare la batteria ti basta un caricabatterie per pannello solare, si parte da. 6v

        • Valentino Litrico il 27 Febbraio 2014 alle 13:58
        • Rispondi

        Professore o meno è comunque l’autore di una grande risorsa per tutti coloro che si avvicinano ad arduino e anche per chi ha già le mani in pasta ma cerca idee interessanti!
        ho misurato l’uscita del pannello, oggi con cielo coperto e sole debole, in uscita ho sempre 6v ma poca corrente circa 50 ma che a pieno sole arrivava a 500ma quindi credo che abbia un regolatore di tensione , step-up o roba simile essendo uno di quei pannellini cinesi 15×15 con cavo usb già incorporato..l’idea era comunque di usarlo per tenere in carica un pacco batterie che alimenterà i motori perchè arduino lo alimenterò a parte con un powerbank da 3000mah (almeno nella mia testa), l’unica mia preoccupazione (forse infondata visto che il sole a l’aquila non fa poi così paura) è di sovraccaricare le batterie.. cosa che non avverrebbe se evito che le batterie rimangano in carica se l’aggeggio non è in funzione per troppo tempo! voglio costruire una “piccola” 500 telecomandata con tettuccio solare, ho già i motori, radiocomando e tutto o almeno sul banco di lavoro funziona tutto.. devo pensare all’alimentazione e alla scocca dell’auto .. ce la posso fare!

        1. Ottimo Valentino !!!

    • Alessandro il 26 Febbraio 2014 alle 20:46
    • Rispondi

    Ciao come posso fare per aumentare la velocità del servo ?

    Grazie in anticipo della risposta

    1. Ciao Alessandro, la velocità di rotazione di un servo é stabilità in fase di costruzione dal produttore e la trovi tra le caratteristiche del servo.

      In questo progetto la velocità non conta in quanto il sole si sposta sull’orizzonte nell’arco di diverse ore in un giorno.

  3. ciao mauro!!
    sto pensando di fare questo progetto per l’esame di maturità!! e ti volevo chiedere qual’è il modello del motore che stai usando in questo progetto?? e qual’è il peso massimo in grado di sollevare questo motorino??
    e se metto un piccolo pannello fotovoltaico cosa dovrò aggiungere (intendo un regolatore di tensione/corrente e/o anche un immagazzinatore di energia e/o altri componenti che secondo te devono/potrebbero essere aggiunti) ??
    e un’ultima domanda stupida..cambiare i valori della resistenze cosa va a modificare???

    grazie in anticipo 😀

    1. Ciao Zain,
      penso sia un bel progetto per l’esame di maturità.
      Puoi usare un servo ad uso modellistico a tua scelta che abbia sufficiente coppia per spostare il pannello che scegli, quello che di solito uso io è 15Kg/cm che trovi da robot-domestici.it

      Le resistenze è importante che siano uguali, non importa quanto siano ciascuna.
      Per gli altri dubbi ti invito a leggere tutti i miei articoli dedicati all’inseguitore solare.

      1. grazie mauro!!
        guarda ti faccio un’ultima domanda stupida io stavo pensando di mettere un PANNELLO SOLARE DA 1 WATT (100x75x2.9 mm, pesante 33g) e è obbligatorio usare un solar shield??? nn c’e un altro modo senza dover usare un solar shield…non spendendo tanti soldi??

        1. Ciao Zain,
          la solar shield non serve per il progetto dell’inseguitore solare, come avrai letto nel mio articolo, serve a ricaricare una pila LiPo da 3,7v ed erogare 5v all’occorrenza per alimentarti l’arduino.
          Puoi sostituirla con un comune regolatore di carica per pannelli solari.

            • zain il 6 Marzo 2014 alle 17:05

            grazie mille mauro mi ha tolto una preoccupazione!!
            spero di poterti disturbare ancora se ho dei dubbi!! 😉
            grazie ancora!! 🙂

    • sergio il 5 Maggio 2014 alle 14:55
    • Rispondi

    ciao mauro
    io invece di usare un servo voglio usare 2 motori in DC pero siccome arduino non mi puo dare 200mA ho provato ad usare 2 driver ovvero 2 transistor BC337 ed a questo punto mi servirebbe una dritta per lo sketch.. GRAZIE

    1. Ciao Sergio,
      il concetto di funzionamento non varia se usi un servo o un motore DC, dovrai cambiare lo sketch nel controllo del motore e ragionare mantenendo il motore in moto in un dato verso di rotazione fino al raggiungimento del bilanciamento della luce su entrambe le resistenze.

    • mattia il 18 Maggio 2014 alle 19:26
    • Rispondi

    Ciao Mauro

    Se uso un servo rotazione continua che sketch devo usare
    grazie

    1. Ciao Mattia,
      posta così la tua richiesta non ha senso per alcune ragioni:

      1. in questo articolo non si parla di servo a 360°;
      2. non è utile in questo progetto un servo a 360° in quanto il sole al ma compie 180° sull’orizzonte, come descritto;
      3. un servo a 360° non si controlla in gradi ma in velocità, leggi l’articolo dedicato ai servo a 360°;
      4. se vuoi usare un servo a 360° avrai un movimento completamente differente da gestire per cui puoi prendere da questo articolo solo i concetti di inseguimento e non di certo sketch o altro.

  4. ciao mauro….

    guarda io sto facendo un inseguitore solate biassiale…con 4 ldr e due servo motori…ho gia fatto tutta la struttura pero adesso ho un problema: praticamente i due servo ruotano..pero ruotano a scatti…e nn capisco il perche!! mi riesci ad aiutare??? plzzzz

    1. Ciao Ali, stai usando il mio sketch ? Potrebbe essere dovuto al delay o al modo in cui hai posizionato le fotoresistenze.
      Avrai capito che il mio sketch, leggendo la descrizione, lavora un grado alla volta.

    • ali il 10 Giugno 2014 alle 11:30
    • Rispondi

    grazie per la risposta mauro!!

    cmq nn sto usando il tuo sketch…sto usando un altro!! telo posto giu… e se riesci a dirmi dove ho sbagliato!! e poi nn riesco a capire il motivo ….perche si muove a scatti??

    [codice rimosso in automatico]

    1. Ciao Ali,
      come hai letto in fondo all’articolo il codice degli sketch viene rimosso in automatico.
      Non riesco a correggere gli sketch di altri perchè non ne conosco il ragionamento e non avrei modo di provare le correzioni.

      Prova a comprendere il mio ragionamento applicato al mio inseguitore solare.

    • ali il 13 Giugno 2014 alle 13:58
    • Rispondi

    okay..
    ma secondo te, in base al tua esperienza, da cosa puo essere dato il muoversi a scatti del servo motore???

    1. Ciao Ali,
      potrebbe essere dovuto
      sia a fattori meccanici: potenza insufficente, danneggiamento del servo;
      sia a fattori elettrici: alimentazione insufficiente, collegamenti ballerini;
      sia a fattori informatici: errore nello sketch, ragionamento non corretto.

    • stefano il 30 Giugno 2014 alle 12:45
    • Rispondi

    ciao mi chiamo Stefano e congratulazioni per il progetto, io ho seguito lo schema di collegamento dell’inseguitore solare e anche il programma;però appena lo carico, il servomotore ( rotazione continua) mi continua a girare e le due fotoresistenze (ldr 20-50k) sembrano non rilevare luce.Anche se muovo la basetta il motore non si ferma. Non dovrebbe fermarsi appena rileva luce ? Se mi può dare qualche consiglio te ne sono grato.
    ciao

    1. Ciao Stefano,
      se leggi bene l’articolo scoprirai che uso un servo 0-180° e non un servo a rotazione continua.
      Il tuo problema è proprio il servo a rotazione continua che non puoi controllare in gradi ma solo in velocità così come puoi leggere nelle caratteristiche di quel tipo di servo.

      Leggendo e comprendendo il concetto di funzionamento potrai adattare il mio progetto anche al tuo servo.
      Certo questo lo lascio fare a te.

    • nino il 25 Luglio 2014 alle 15:55
    • Rispondi

    potresti postare il software modificato in grado di calcolare l’energia istantanea prodotta dal pannello? Grazie.

    1. Ciao Nino,
      in questo articolo si parla di un inseguitore solare con arduino, non di un sistema di rilevazione dell’energia istantanea prodotta.
      Nel progetto la funzione di calcolo dell’energia prodotta non è possibile perché manca tutta la componente elettronica.

    • Egidio il 29 Luglio 2014 alle 16:26
    • Rispondi

    Ciao sono Egidio ho seguito tutto ciò che dici sul pilotaggio di due motori mediante Arduino motor Shield credevo di aver trovato la soluzione al mio problema ma mi sbagliavo, perchè i miei due motori 12 Volt e 180Watt non li posso pilotare, gli Ah. sono molti di più di 2 per canale.
    Ti scrivo per sapere che tipo di soluzione posso adottare.
    ringraziandoti anticipatamente
    porgo distinti saluti
    Egidio Vitali

    1. Ciao Egidio,
      dovresti trovare un driver che supporti i 180W, francamente non ne conosco, ma sono certo che qualche ditta di elettronica produca qualche driver che puoi utilizzare.

    • Stefano il 5 Agosto 2014 alle 23:36
    • Rispondi

    Salve Mauro, ho un problema con due servi. Utilizzo due servi ed un joistick a 2 assi. Quello orizzontale per un servo ed il ericale per un altro. Il problema che quando ruotano non riesco a fargli mantenere l’ultima posizione raggiunta. Posizione iniziale 90 ° lo porto a 130° spostando in potenziometro verso l’alto quando rilascio ritorna a 90°.
    Potresti aiutarmi a capire con qualche esempio e linea di programma.La mi a idea era questa:

    [ codice rimosso in automatico ]

    cosa ne pensi? aiutami perché i servi ruotano da un lato e dall'altro no.

    1. Ciao Stefano,
      innanzitutto ti chiedo di leggere i miei articoli fino alla conclusione troverai che non è possibile incollare codice nei commenti primo perché arriva illeggibile e secondo perché non riesco a correggere tutti gli sketch che mi arrivano in quanto siete in tanti a scrivere ed il mio tempo è limitato 🙂

      In merito al tuo quesito: si verifica quello che dici perchè tu imposti i servo per seguire il joystck ( vedi articolo sul pan e tilt per telecamera ) e quindi quando il joystick torna alla posizione centrale il servo lo segue.
      Se il servo non ruota da un lato potresti aver sbagliato l’impostazione dei gradi, nell’articolo suggerito trovi come impostarli.
      Se vuoi che il servo resti nella posizione finale devi prima decidere come e quando questa posizione deve cambiare altrimenti raggiungi un punto e non torni mai più a 90° o ad altre posizioni.

    • Mario il 25 Ottobre 2014 alle 00:04
    • Rispondi

    Mauro, trovo il tuo inseguitore semplice e geniale. Io però vorrei sostituire ai servi dei relè che mi comandino motori in continua, a causa del peso del pannello. Vorrei inoltre poter agire anche sull’asse x. Sei in grado di aiutarmi?
    Ti ringrazio anticipatamente.

    Mario

    1. Ciao Mario,
      una volta compresa la teoria che c’è dietro il mio inseguitore solare puoi adattare il movimento ai motori in cc o a dei relay senza difficoltà.
      Semplicemente invece di incrementare i gradi del servo darai HIGH al pin del relay corrispondente alla direzione in cui vuoi spostare il motore.

    • leo il 31 Ottobre 2014 alle 10:51
    • Rispondi

    Ciao e complimenti per il progetto…
    sono alle prime armi con arduino e stavo provando il tuo progetto solo che se non mi sbaglio c’è un errore nello schema elettrico nella connessione del servo, il positivo e il negativo sono collegati sulla stessa linea…

    1. Ciao Leo,
      ottimo spirito di osservazione, hai ragione mi è sfuggito.
      Appena riesco a rifare lo schema lo sostituirò con uno corretto.

      Grazie

    • Pietro il 13 Febbraio 2015 alle 23:29
    • Rispondi

    Ciao Mauro
    Vorrei rendere orientabili i pannelli solari montati sul Roll bar della mia barca.
    Immaginando che nello specifico, un servomotore in genere sia troppo piccolo, vorrei utilizzare un motore passo passo unipolare che ho recuperato da una vecchia forocopiatrice (TEC CBA45)
    come si può adattare il tuo progetto originale?

    1. Ciao Pietro,
      ovviamente in un commento è escluso che io possa scrivere un codice per il tuo progetto, posso invitarti a leggere e comprendere i miei articoli sull’argomento per comprendere come eseguire tale spostamento.
      Se posso darti un consiglio opterei per un motore DC ( corrente continua ) in quanto non è fondamentale conoscere la posizione del motore in un progetto come l’inseguitore solare, come avrai compreso dall’articolo, è più importante avere potenza sufficiente alla rotazione dei pannelli ed usare le fotoresistenze come feedback.

    • Pasqualino il 14 Febbraio 2015 alle 02:28
    • Rispondi

    ciao complimenti per il lavoro!

    se ti va di darmi 2 dritte per un progetto simile te ne sarei grato a vita (sono un neofita mi ritrovo a fare un progetto simile per l’esame di stato senza capirci una mazza di elettronica e sistemi purtroppo).

    volevo fare una cosa MOLTO simile con l’aggiunta di un pannellino fotovoltaico da 5w, mi è stato detto che sarebbero serviti 2 servomotori e 4 fotoresistenze…

    1. Ciao Pasqualino,
      se vuoi realizzare un inseguitore solare a 2 assi hai necessità del materiale che indichi. Se lo realizzi ad un solo asse ti basta un solo servo e sole 2 resistenze ed il progetto è già fatto in questo articolo.

    • Giuseppe il 4 Maggio 2015 alle 07:50
    • Rispondi

    Salve Mauro,
    Premetto che sono più che un neofita della programmazione e dell’elettronica ma questo universo mi attrae mi attrae e vorrei esplorarlo , premesso questo ho iniziato a fare alcuni esperimenti col Arduino uno seguendo alcuni video , arrivato al tuo esempio di inseguitore solare ho trovato alcune difficolta col programma ti chiedi se tu potessi darmi chiarimenti sul messaggio d’errore che ricevo dopo aver caricato il programma da te indicato per ” l’inseguitore solare” .
    Ti ringrazio per la collaborazione
    Giuseppe
    A SEGUTO IL MESSAGGIO D’ERRORE.

    ino:10:10 error: expected initializer before ‘servo’
    ino: In function ‘void setup ()’:
    ino: 13:23: ‘IMPUT’ was not declarated in this scope
    ino:14:3: error ‘my’ was not declarated in thisa scope
    ino:14:6: error: expected ‘ ; ‘ before ‘servo’ ino:15:6: error: expected ‘ ; ‘ before ‘servo’
    ino: In function ‘void loop()’:
    ino:21:6: error: expected primary-expression before ‘}’ token
    ino:21:6: error: expected ‘;’ before ‘}’ token
    ino: At global scope:
    ino:22:8: error: expected unqualified-id before ‘if’
    ino:23:8: error: expected unqualified-id before ‘{‘ token
    ino:26:10: error: expected unqualified-id before ‘if’
    ino:27:10: error: myservo does not name a type
    ino:29:14: error: expected constructor, destructor, or type conversion before ‘(‘ token
    ino:30:9: error: expected declaration before ‘}’ token
    errore durante la compilazione

    1. Ciao Giuseppe,
      ad occhio hai solo commesso qualche errore di copia e incolla, probabilmente hai riscritto lo sketch guardando il mio e non ti sei accorto di aver digitato male delle informazioni.
      Se sei alle prime armi ti consiglio di iniziare a leggere il mio corso online arduino gratuito e se vuoi capirci di più puoi partecipare ad uno dei miei corsi in aula.

        • Giuseppe il 5 Maggio 2015 alle 06:10
        • Rispondi

        Grazie per la risposta Mauro. e per il consiglio potrebbero interessarmi anche i tuoi corsi io vivo in Toscana hai un programma di date per i corsi?

        1. Ciao Giuseppe,
          per le giornate di corso puoi far riferimento al link:https://www.mauroalfieri.it/corso-arduino.html in cui pubblico le date.
          In Toscana non ho in programma date dovresti raggiungermi a Milano.
          Se ti iscrivi alla newsletter riceverai le date dei prossimi corsi quando vengono indetti.

    • Fabrizio il 15 Giugno 2015 alle 14:07
    • Rispondi

    Ciao Mauro
    vorrei realizzare un inseguitore con un motoriduttore a 12 volt utilizzando il concetto illustrato nel tuo esempio
    con il servo. pensavo di usare una scheda motore shield motor FE . il mio problema è la IF che gestira la valutazione del bilaciamento delle due fotoresistenze ed il comando che dovro dare per comandare le porte pwm . Grazie

    1. Ciao Fabrizio,
      se dovessi affrontare un progetto come questo propenderei per un servo in quanto ha già a bordo l’elettronica e la meccanica utili e necessari al corretto funzionamento.
      Se proprio vuoi usare un motoriduttore devi cambiare completamente il metodo di funzionamento e controllarlo con i tempi di accensione e spegnimento al posto dei gradi.
      Come PWM manterrei un valore medio, da verificare con il tuo motore e la tua meccanica in modo che lo spostamento non sia eccessivamente veloce ma sufficientemente lento da consentire ai sensori di rilevare lo spostamento e interromperlo al raggiungimento dello zenit.
      In generale non lavorerei per if() ma sfruttando il ciclo loop(9 stesso.

        • Fabrizio il 15 Giugno 2015 alle 15:34
        • Rispondi

        Grazie MAURO
        la meccanica ce l’ho già è per quello che non uso uno step motor
        pensavo che il sketch di esempio dove incremmenti con servoGrad++
        io potrei mettere
        digitalWrite( pinDirA,HIGH );
        analogWrite( pinPwmA,128);
        delay(20);

        e poi verificare la situazione delle due foresistenze .
        puo andare come ragionamento embrionale .
        ciao

        1. Ciao Fabrizio,
          potrebbe funzionare, è da provare, io ragionerei come ti ho scritto ma ogni altro metodo, funzionante, va bene.

    • Andrea Vespa il 7 Ottobre 2015 alle 09:44
    • Rispondi

    Ciao Mauro,

    premetto che sono un neo-principiante e ho trovato il tuo articolo in rete e lo trovo interessante come progetto d’esame di maturità.
    Volevo costruire un servomotore autoalimentato da un piccolo pannello solare che, a sua volta ricarica la batteria del mio telefono.
    Inoltre volevo aggiungere un piccolo particolare, una volta finito il ciclo, far ritornare in posizione inziale il servomotore in modo che sia già pronto per il ciclo successivo.
    Puoi consigliarmi intanto un servo motore che tiene il peso?
    Puoi dirmi come aggiungere la nuova stringa di codice per il ritorno in posizione iniziale del ciclo?

    grazie,

    Andrea.

    1. Ciao Andrea,
      se leggi bene il mio articolo ed il tipo di teoria secondo cui si muove il mio inseguitore non ha bisogno di rientrare in posizione al sorgere del sole, quello è il comportamento di un tracciatore solare.
      In merito al servo dipende molto dal tipo di pannello e dal momento meccanico che avrai, puoi calcolarlo con le formule della fisica elementare. in ogni caso i servomotori solitamente spostano qualche Kg al cm, e sui siti di modellismo ne troverai di tanti modelli adatti.

    • Andrea Vespa il 10 Ottobre 2015 alle 10:24
    • Rispondi

    Grazie Mauro per la tua risposta.

    grazie delle informazioni, ora ho le idee più chiare!!

    Cordiali Saluti

    Andrea Vespa

    • andrea il 30 Dicembre 2015 alle 14:25
    • Rispondi

    domanda, a quanti gradi di precisione si può arrivare con questo sistema?? sto cercando di costruire un modello per pannello ad alta concentrazione e il top sarebbe ad arrivare a un errore di 0,5°

    1. Ciao Andrea,
      solitamente io utilizzo servo con precisione del grado, ma so che esistono servo con precisioni maggiori, devi verificare tra i produttori di servomotori se trovi quello adatto alle tue esigenze.

    • Mohamed il 26 Marzo 2016 alle 20:01
    • Rispondi

    Ciao Mauro, ho visto il tuo progetto qua su internet. Voglio farlo pure io in vista dell’esame di maturità.
    Qua dove abito io non ci sono negozi dove posso acquistare i componenti che hai elencato quindi da dove posso acquistarli?

    1. Ciao Mohamed,
      io acquisto solitamente on-line da robotics-3d.com e penso che abbia molti componenti che potresti usare.
      Ti anticipo che dovrai studiare molto per adattare il mio esempio ad un progetto di maturità ma con buona volontà ce la farai.

    • Salvo il 13 Giugno 2016 alle 11:10
    • Rispondi

    Ciao Mauro, volevo dei chiarimenti sulla disposizione e sul funzionamento delle foto resistenze.. avendo due foto resistenze dovremmo avere anche 2 valori distinti nel monitor seriale, invece troviamo un valore unico. Sono disposte nella breadbord in modo da creare un partitore di tensione?

    1. Ciao Salvo,
      si sono disposte con un terminale comune collegato al pin analogico arduino, ecco perché un solo valore.

        • andrea nori il 30 Ottobre 2016 alle 23:40
        • Rispondi

        Buongiorno Sig Mauro, io ho aggiunto al ai suo circuito 2 potenzionetri in serie alle resistenze, e tutto l’insieme risulta più preciso e regolabile.
        Cordialmente
        Andrea

        1. Bravo Andrea,
          se vuoi pubblicare la tua modifica leggi come fare nella sezione “collabora al blog” e sarò felice di pubblicare le tue migliori e a tuo nome.

    • fabio il 29 Agosto 2016 alle 22:36
    • Rispondi

    Ciao Mauro,
    mi sono letto tutti i messaggi scritti dagli utenti ma non ho trovato ciò che vorrei creare.
    Cerco di spiegarlo al meglio, nel mio lavoro con i fotovoltaici mi sono trovato davanti 158 Trak (colonne ad inseguimento solare) con un controller costruito in Germania e che usa dei sensori in ingresso e 2 motori alimentati a 24Vcc da 2 batterie 12V 7Ah in parallelo.
    Un sensore è posizionato sotto la vela di pannelli per capire l’inclinazione della stessa (ipotizzo sia un Giroscopio o Accelerometro), l’altro sensore è posizionato sul motore di Azimut ed è un potenziometro da 10.000 omh e 10 giri.
    Sostituendo il controller sono obbligato a fargli la calibrazione da apposito software creato su piattaforma windows. Inserisco l’id del controller, (sono collegate tutte le 158 colonne su unico cavo CAN-BUS) imposto le coordinate geografiche del luogo e muovo da software il trak verso la migliore posizione di produzione.
    Trovato il punto migliore invio la calibrazione e da li in poi ogni 5 minuti il trak insegue le coordinate astronomiche calcolate in base a quelle che precedentemente ho inserito. La sera verso le 21 tutti i trak vanno in posizione di standby, ossia elevazione 90 gradi e azimut 180 gradi. La mattina circa le 6 si rimettono in posizione da soli. Hanno inoltre un sensore del vento che se supera 20Km/h per 3 minuti li porta in Storm (elevazione 90 gradi, Azimut continua a seguire il sole) lavorando in mono asse.
    Il brutto di questo trak è che se alimento i motori senza fargli raggiungere le coordinate, completano la loro azione fino a che non arrivano a fine corsa. Quindi se il motore si elevazione (vite infinita al centro di un pistone) si estende ma il sensore non conferma la posizione, il motore continua ad aprirsi fino a che non interviene il fine corsa sul motore stesso. Stessa cosa per Azimut, se non interviene il fine corsa il trak si avvita.
    Il bello di questo sistema mi sembra di capire che sia sul sistema di alimentazione dei motori, in pratica non si deve preoccupare di quanti giri deve fargli fare per arrivare alla posizione richiesta. Gli basta semplicemente attendere il raggiungimento del valore richiesto.

    Ecco, dopo tutto questo poema la mia domanda è se posso far calcolare la posizione ogni tot minuti ad Arduino?
    Per Giroscopio credo che non ci siano problemi, per il potenziometro idem, ma per il calcolo delle coordinate astronomiche del sole nelle 4 stagioni e in un punto preciso mi resta un pò difficile sperimentarlo. 🙁 🙁

    Grazie Anticipatamente

    1. Ciao Fabio,
      il sistema che descrivi è alquanto complesso e direi cha appartiene alla categoria dei “posizionatori solari” ossia conoscono le coordinate da raggiungere in funzione della latitudine, longitudine e ora.
      Comprendi che questo tipo di informazioni richiedono studi complessi e sebbene tu possa controllare da arduino un giroscopio e dei potenziometri o dei motori è altrettanto vero che i calcoli da eseguire sono complessi e devono essere fatti, come probabilmente accade da un sw su computer per poi passare solo la tabella dei movimenti ai pannelli.
      Se il tuo scopo è sostituire quelle centraline con Arduino ti servirà studiare molto bene l’astronomia e geografia astronomica per ricavarti le formule e i dati di cui hai bisogno.

    • sergio il 30 Novembre 2016 alle 20:35
    • Rispondi

    Ciao
    Sarebbe fantastico se tu integrassi al progetto la possibilita’ di muovere il tutto con motori stepper
    Speriamo

    1. Ciao Sergio,
      ottima idea. Piacerebbe anche a me come progetto.
      Se riesci a svilupparlo prima che io abbia pubblicato qualcosa puoi mandarmi il tuo progetto ed io lo pubblicherò a tuo nome.

    • Domenico il 28 Gennaio 2017 alle 15:22
    • Rispondi

    Salve Sig. Alfieri, vi vorrei fare una domanda sul progetto inseguitore solare: io avrei la necessità di variare anche l’inclinazione sull’asse Y in modo automatico, come l’asse X; si può modificare sia il sensore che lo Sketch di Arduino? se si, mi può dire come?. Con l’attesa vi ringrazio anticipatamente e vi saluto Domenico….

    1. Ciao Domenico,
      certo che puoi modificarlo come reputi più opportuno dopo averlo letto e compreso sia dal punto di vista logico sia del codice.
      Se ti occorrono indicazioni per comprendere parti dello sketch che non comprendi puoi usare i commenti per chiederli nel rispetto delle regole del blog.

    • Daigoro il 8 Aprile 2017 alle 22:19
    • Rispondi

    Bellissimo articolo e molto chiaro anche per uno come me alle primissime armi…
    Vorrei sapere se per lei e possibile sostituire il servo con un motore DC e se a livello di sketch di ci sono grosse modifiche….
    In piu non trovo su amazon le fotoresistenze da 20kom ma da 50-100 e grave???
    Grazie mille !

    1. Ciao Daigoro,
      se sostituisci il servo con un motore DC dovrai modificare ed adattare lo sketch e l’elettronica non solo per il movimento ma anche per il feedback che ricevi.
      Per le resistenze io acquisto da negozi specializzati come robotics-3d.com o negozi di elettronica.

    • Dennis il 27 Aprile 2017 alle 14:09
    • Rispondi

    Buongioro,
    ho bisogno di aiuto!!!
    ho utilizzato la lezione dell’inseguitore solare come spunto per muovere dei pannelli solari su due assi uilizzando 3 servi.
    Di questi pannelli uno alimenta lo stesso arduino che gestisce i servi…quindi,finché c’è sole va tutto.
    Qui sorge il prblema: come far tornare i panneli nella posizion iniziale per ricevere nuova energia al sorgere del sole?
    Ho pensato di dotare l’impianto di relè,pacco batteria e pulsante con l’idea che: una volt finito il giro,la struttura stessa prema il pulsante che attiva il relè che devia l’alimentazione dal pannello al pacco batterie.
    Ora, io riesco ad attivare il relè e a ripotare i servi (fore troppo velocemente) al punto di partenza ma non appena rilascio il pulsante tutto ritorna aad eseguire lo skech pur lasciando il relè attivo (fornendo quindi corrente tramite le batterie.
    Qualche suggerimento su come premere il pulsante,dare il tempo ai servi di tornare al punto di partenza e spegnere il relè?
    Ho dovuto usare de comandi Switch…case per evitare conflitti nello sketch.
    Grazie
    Dennis

    1. Ciao Dennis,
      il problema principale, mi sembra, sia la logica di funzionamento.
      La prima domanda è: “chi controlla il relè? il pulsante tramite arduino o direttamente?”
      La seconda domanda è: “quando dovrebbe tornare in funzione il sistema di alimentazione dal sole?”

      In ogni caso esistono shield in grado di gestire:

      – carica delle batterie LiPo da pannello;
      – alimentazione da pannello o da batterie dell’arduino;
      – switch dall’una all’altra alimentazione;
      – controllo del livello di carica della batteria;

      Ne ho recensita una anche io sul blog, mi sembra si chiami solar shield e sia distribiuta da robotics-3d.com in italia.

      • Dennis il 27 Aprile 2017 alle 18:24
      • Rispondi

      Grazie per la risposta prontissima!
      Il relè è controllato tramite Arduino (la struttura gira,arriva a ovest/fine corsa e preme il pulsante, Arduino fa scattare il relè in modo tale che l’alimentazione passi dai pannelli solare (che alimentano Arduino durante il giorno) alle batterie che alimentano finché i pannelli non sono tornati alla posizione iniziale).
      Così facendo, era mia intenzione, avere i pannelli sempre pronti a generare corrente per far funzionare Arduino e le batterie solo per riprendere la posizione iniziale in attesa di un nuovo inizio del ciclo al sorgere del sole.
      Il problema è appunto che non riesco a far tornare tutto alla posizione iniziale.
      È possibile allegare sketch e immagini così posso,forse,spiegarmi meglio?
      Intanto grazie

      1. Ciao Dennnis,
        non non è possibile come hai letto nelle regole del blog.
        Ti suggerisco di valutare delle shield ce si occupano già di questi aspetti.

    • Dennis il 27 Aprile 2017 alle 20:41
    • Rispondi

    Ciao e grazie per la repentina risposta.
    Io l’ho pensata così, ho dei pannelli solari: 1 da 12v a 450mA che dovrà alimentare dei ventilatori a convezione, 1 da 6v 200mA che farà andare una pompa idraulica, e 1 da 5v 600mA che alimenterà arduino.
    Il relè è comandato da arduino, la struttura gira e segue il sole, a fine corsa arriva ad azionare il pulsante che manda l’imput ad arduino che agisce sul relè in modo tale da fermare l’alimentazione da pannello e attivare il pacco batterie (composto da 4 stilo).

    Riuscendo a sfruttare le batterie per portale la struttura al punto di partenza (cioè reindirizzandola ad est) il giorno seguente, con l’arrivo del sole, arduino riceve nuova alimentazione e ricomincia il ciclo.

    Ora, io riesco a gestire l’inseguitore solare (su due assi e con 3 servi, uno per la rotazione e 2 per l’inclinazione verticale del pannello), riesco ad agire sul pulsante e far avvenire il cambio di alimentazione, a riportare (troppo velocemente) i servi in posizione di partenza ma, giustamente, appena la struttura si muove per tornare indietro, non agisce più sul pulsante e interrompe quindi l’alimentazione a batteria (non c’è più il sole quindi non c’è più corrente) e il relè non viene sganciato continuando così ad alimentare arduino tramite le batterie.

    Per ora sono ancora in fase di prototipazione, la struttura è quasi ultimata ma finchè non risolvo il problema “pulsante/relè/torna al via/spegni relè” non posso proseguire.

    Sarebbe possibile inserire sketch e immagini per potermi spiegare meglio?

    Intanto grazie
    Dennis

    1. Ciao Dennis,
      ho risposto al medesimo commento sopra.

        • Dennis il 29 Aprile 2017 alle 11:10
        • Rispondi

        Scusa se ho scritto due volte ma la prima mi è stato restituito “errore chaptcha” e credevo non avesse inviato.

        Credo comunque di essermi spiegato male, il mio problema non è alimentare arduino ma riportare i servi nella posizione di partenza e togliere l’alimentazione da batterie in modo tale che al sorgere del sole ricominci il ciclo.

        In ogni caso, dopo mille tentativi, sono riuscito nel mio intento e il prototipo “da banco” è pronto.
        Ora posso passare al prototipo “sul campo”.

        Grazie comunque

        1. Ciao Dennis,
          sono contento che tu sia riuscito nel tuo progetto.
          Avevo compreso il tuo desiderio, ti suggerivo solo soluzioni migliori per risolvere sia il problema che migliorare il progetto in modo da ottenere una soluzione di continuità elettronica che non dipenda da dei relè.

    • gennaro il 13 Giugno 2017 alle 16:58
    • Rispondi

    Mauro ciao io porto nella mia tesina questo progetto sono uno studente che sta per diplomarsi come materia tecnica in tpsee porto il servomotore potresti darmi per favore qualche appunto che lo descrive intendo il servomotre

    1. Ciao Gennaro,
      non ho capito cosa ti servirebbe e se posso aiutarti.

    • Wade il 22 Marzo 2018 alle 17:38
    • Rispondi

    Ciao mauro prima cosa complimenti volevo portare per la tesina di esame di stato come la tua mi protesti dare dai indication qualcosa lo iniziato

    1. Ciao Wade,
      leggi e comprendi i miei articoli e ti sarà tutto chiaro su come e cosa dovrai fare per riprodurre il progetto.
      Un suggerimento: aggiungi qualcosa che faccia capire ai professori che ci hai lavorato tu, altrimenti sapranno che lo hai copiato dal mio blog, anche i professori lo leggono.

    • Alessandro il 22 Febbraio 2019 alle 10:45
    • Rispondi

    Una domanda…nella foto e nella descrizione scrivi che le due fotoresistenze devono essere posizionate con un angolo di 45°…ma nella foto si vede che l’angolo è 90°….
    Quindi cosa tengo buono?
    Grazie…
    Alessandro

    1. Ciao Alessandro,
      hai ragione è spiegato male, intendo che le resistenze devono essere tra loro a 90° come in figura e di conseguenza ciascuna a 45° dal piano orizzontale.
      Essendo 1/2 angolo retto è valido anche considerare 45° dal piano verticale, o piano di provenienza dell’irradiamento solare.

    • Alessandro il 4 Giugno 2019 alle 09:39
    • Rispondi

    Ciao Mauro,
    Complimenti per il progetto.
    Volevo farti una sola domanda, che non mi è chiara: le posizioni che assumerà il servo saranno quindi solamente di 0° – 90 ° – 180° ?

    Ipotizziamo che il sole sia significativamente sbilanciato su una delle due fotoresistenze. Pertanto la condizione di riga 29 oppure quella di riga 34 sarà valutata vera. Ad ogni ciclo quindi il servomotore verrà mosso di un grado fino ad arrivare a 0 o a 180 a seconda di dove è sbilanciato il sole.

    è corretto oppure il servo può assumente anche angoli diversi da 0-90-180? Quando avviene ciò?

    Grazie in anticipo!

    1. Ciao Alessandro,
      il servo compie tutti i passi per gradi da 0 a 180 per cui si sposterà di un grado alla volta lungo la direttiva EST-OVEST.
      Sia la linea 29 sa la 34 eseguono esattamente il movimento grado per grado, come vedi anche nel video.

    • Ninni il 31 Ottobre 2019 alle 16:22
    • Rispondi

    Ciao, grazie dello sketch, non ho mai lavoraco con i servomotori.
    Se non ho capito male, il blocco “fotoresistenze” va messo sul pannello solare, in modo che quando esso si muoverà grazie al Servomotore prima o poi si raggiungerà la condizione in cui la luminosità sarà pressoché identica per ogni Resistenza. Corretto?
    Inoltre, nel caso di un pannello fotovoltaico di grosse dimensioni, che servomotore mi consigli adoperare?
    Mi indichi una guida riguardo la libreria servo.h in modo che io possa studiare arduino e servo insieme con le loro peculiarità?
    Grazie mille

    1. Ciao Ninni,
      divido le risposte per chiarezza:
      1. si è corretto, le foto resistenze devono essere applicate al pannello solare;
      2. il dimensionamento dei motori è da calcolare in base alla coppia/forza lineare che desideri ottenere;
      3. come guida alla servo.h ti consiglio di leggere la pagina del manuale arduino dedicata alla libreria o i miei articoli nel corso base gratuito.

    • Miky il 14 Aprile 2020 alle 15:35
    • Rispondi

    Ciao Mauro. Innanzitutto compimenti i tuoi progetti.
    Ho intrapreso la costruzione di un impiantino fotovoltaico ad inseguimento solare su due assi con arduino.
    Montato il tutto, il funzionamento simulato in laboratorio con una torcia avviene correttamente.
    Mettendo però il pannello in opera al sole, quando uno dei sensori va in penombra non avviene la correzione della posizione. I fotoresistori da mè montati sono da 25kOhm e le resistenze che fan da partitore da 10kOhm.
    Sembra che ci sia un problema di sensibilità.
    Ti allego sotto lo sketch del programma utilizzato, se cortesemente me lo potresti verificare.
    Grazie.

    [[ codice rimosso in automatico ]]

    1. Ciao Miky,
      il codice purtroppo non è consentito inserirlo nei commenti e lo rimuovo automaticamente, leggi regolamento del blog.
      In merito al sensore devi far in modo che la luce del sole colpisca in egual misura entrambi perché funzioni in modo corretto.
      Inoltre non capisco l’utilizzo delle resistenze, nel mio progetto non servono e non le utilizzo.

    • Fabio Pasquale Masiero il 17 Marzo 2021 alle 11:33
    • Rispondi

    Ciao Mauro mi chiamo Fabio
    Ho visto il tuo progetto e siccome sto costruendo un impianto a inseguimento mi farebbe molto comodo( anche perchè il costo è molto contenuto) ma se io al posto del servo motore mettessi un motore di un cancello a 24 VDC
    il collegamento sarebbe molto diverso ?
    Premetto sono un buon fabbro ma di elettronica non e che macino molto.
    Ti ringrazio anticipatamente

    1. Ciao Pasquale,
      i motori DC ed i Servo differiscono per molti aspetti, tuttavia, il principale riguarda la possibilità di controllarli per gradi.
      Potresti risolvere il problema con un encoder che complica non poco la parte di elettronica, controllo e sketch.
      Ti suggerisco di approfondire il concetto di controllo del pannello in modo da studiare una soluzione che possa andar bene per il tuo progetto.

    • nicola il 25 Marzo 2021 alle 10:47
    • Rispondi

    ciao, da quanti watt è il pannello solare che hai poi usato? grazie mille

    1. Ciao Nicola,
      non lo ricordo con precisione; mi sembra 24W ma non posso esserne certo al 100%

    • walter il 28 Maggio 2021 alle 18:38
    • Rispondi

    ciao ,prima di tutto ti devo dire che un principiante come me trova il tuo progetto ben chiaro quindi lo rendi molto facile ,io ho provato e funziona e circa un mese che e attaccato sul terrazzo, ora pero volevo modificarlo cioe volevo integrare un motorino elettrico da 3v per sentire se in quel momento c’era vento, ora arriva la domanda al tuo programmino sopra scritto come inserisco il controllo?cioe se il motorino gira (per il vento) crea energia come lo dico ad arduino che se sente energia non comandi il servo o si metta in pausa? grazie spero che tu abbia tempo per rispondermi. saluti

    1. Ciao Walter,
      interessante evoluzione del progetto, non ho mai provato ad usare un motorino come anemometro, hai trovato qualche progetto che lo fa ?
      per integrarlo nel progetto dell’inseguitore solare è alquanto semplice:
      – rilevi il movimento dell’albero motore ( usando qualche tutorial online )
      – trasformi il valore di soglia in un trigger ( on/off ), puoi usare anche un semplice if()
      – inibisci il movimento del servo se la soglia di rilevamento è superata

    • Roberto il 21 Giugno 2021 alle 11:48
    • Rispondi

    Salve,
    leggo ed applico con molto interesse i suoi progetti.
    Sono interessato ad un eliostato che durante mantenga illuminato, per un tempo adeguato, un pannello solare. In poche parole, invece di fare variare gli angoli del pannello solare mi interessa fare variare l’angolazione di uno specchio in modo che possa riflettere la luce solare sul pannello durante 4-6 ore. Ha già realizzato qualcosa di simile? Ha dei suggerimenti a proposito? Grazie Roberto

    1. Ciao Roberto,
      non no mai realizzato un progetto simile, mi terrei sulla parte concettuale di questo progetto per quanto riguarda l’uso delle fotoresistenze e adatterei solo il codice e la parte meccanica al lavoro con uno specchio.

    • Eliseo il 13 Dicembre 2022 alle 17:25
    • Rispondi

    ciao ho copiato il suo programma e funziona alla grande!
    Essendo alle prime armi volevo chiederti se nel programma c’é il comando che una volta tramontato il sole a ovest il servo dovrebbe tornare a est e aspettare il sole che sorge.
    Grazie pe l’eventuale risposta.

    1. Ciao Eliseo,
      come avrai letto nel testo dell’articolo questo sistema non necessita di impostazioni e/o riferimenti alla posizione del sole, incluso il reset a dopo il tramonto o all’alba. Il movimento è regolato direttamente dalla luce percepita dalle foto resistenze che provvedono a posizionare il pannello in modo corretto.

  1. […] on https://www.mauroalfieri.it Condividi: Pin ItShare on TumblrMoreEmailDiggStampaLike this:Mi piaceBe the first to like […]

  2. […] realizzato il Robot Beginner Kit inseguitore puoi leggere l’articolo dedicato all’inseguitore solare, trattato in una delle lezioni del corso avanzato e usato da Michele per realizzare il […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.