Primi passi con Controllino, il PLC con Arduino

Ciao!

Oggi vi parlerò di Controllino (controllino.biz), per chi non lo conoscesse è un PLC basato sulla piattaforma open source Arduino.

In questo post vedremo come configurare il software Arduino (scaricabile gratuitamente qui), per iniziare subito a programmare il nostro PLC.






Sono disponibili 3 versioni di Controllino, il Mini, il Maxi e il Mega. Vediamo le specifiche tecniche del medio di gamma, il Maxi (nella foto sopra).


  • Alimentazione 12V (10.8V-13.2V) o 24V (21.6V-26.4V), max 20A
  • 10 uscite a relè – max 6A a 230V
  • 12 Ingressi Analogici/Digitali
  • 12 Uscite Digitali – max 2A a 24V o 12V
  • 1 interfaccia RS485
  • 1 interfaccia SPI
  • 1 interfaccia i2c
  • RTC
  • Connettore Ethernet
  • Protezione da corto circuito. sovraccarico e cariche elettrostatiche.
  • Possibilità di collegarsi direttamente al micro tramite connettore sul fronte.
  • Microcontrollore: ATmega2560 (lo stesso della Arduino Mega)
Per le specifiche complete vi rimando a questa pagina.


Cominciamo subito a configurare la nostra Controllino Maxi!

Aprite il software Arduino, dovremo aggiungere le schede Controllino a quelle già supportate.Per farlo andate su "File", "Impostazioni", nel campo "Url aggiuntive per il gestore schede", scrivere "https://raw.githubusercontent.com/CONTROLLINO-PLC/CONTROLLINO_Library/master/Boards/package_ControllinoHardware_index.json", cliccate su ok.





Poi andate in "Strumenti", "scheda.......", "gestore schede",
scrivete "controllino" ed installate la scheda.
Ad installazione finita potrete selezionare la scheda Controllino che volete utilizzare (nel mio caso la Maxi).

Scaricate ed installate (copiando nella cartella "libraries" di Arduino) la libreria di Controllino che trovate qui.


Ora possiamo iniziare a programmare il nostro Controllino.
Per questo esempio ho collegato una lampadina a 220v ad un'uscita relè, farò lampeggiare la lampadina variando la frequenza del lampeggio grazie ad un potenziometro collegato ad un ingresso analogico.

Ecco lo schema elettrico:




Per effettuare il lampeggio ho evitato l'uso del "delay()" che mette in pausa il micro non consentendoci di fare altre operazioni, ho preferito la funzione "millis()", che restituisce in ogni istante il tempo dall'accensione della scheda (espresso in millisecondi).
Quando avvio il contatore mettendo ad 1 "start_contatore1", catturo il valore di "millis" memorizzandolo in "mem_tempo1".
"millis()" continuerà ad incrementare il suo valore, quando supererà "mem_tempo1" del parametro "tempo_cont" allora verrà messo ad 1 "stop_contatore1", indicandomi che il tempo è stato raggiunto.

Il ciclo "lampeggio" è il cuore del programma, li viene attivato e disattivato il relè grazie al ritardo creato nella funzione "contatore", ho separato i vari passaggi grazie alla variabile "flag_step" in modo da evitare che venga eseguita un'operazione nel momento sbagliato.

Ed ecco il programma da caricare nel nostro Controllino Maxi tramite il cavo usb.




Per ora è tutto, ma prossimamente pubblicherò aggiornamenti su questo ottimo dispositivo.
Per qualsiasi domanda lasciate un commento qui sotto!

Segui Daniele Alberti su Google+ per rimanere sempre aggiornato su nuovi post!

7 commenti:

  1. finalmente una pagina in italiano. Per me un grosso aiuto visto che con l'inglese ho qualche problema. Grazie

    RispondiElimina
    Risposte
    1. Di niente, spero che il post ti possa essere utile!

      Elimina
  2. io ho preso un MINI e ci sto sperimentando un po sopra

    RispondiElimina
  3. non proprio un vero plc se i delay mi mette in pausa l'intero ciclo...

    RispondiElimina
    Risposte
    1. È vero, però è programmabile anche con altri software oltre ad Arduino, che potrebbero "mascherare" questo problema.

      Elimina
    2. Si può parzialmente ovviare al problema utilizzando i due ingressi ad interrupt.
      Oppure scrivendo tutto il loop come una macchina a stati finiti, che è sempre un buon approccio di programmazione, per questo tipo di applicazioni

      Elimina
  4. Questo commento è stato eliminato dall'autore.

    RispondiElimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Related Posts Plugin for WordPress, Blogger...