Tutorial Arduino

Impara a programmare Arduino in modo semplice seguendo i miei articoli Tutorial Arduino. Seguendo passo passo le istruzioni dei miei articoli potrai imparare in modo semplice  e rapido a sviluppare i tuoi progetti

Come usare il ponte H integrato TLE5205-2

Pilotare un solenoide con un circuito integrato TLE5205-2

Quando ho realizzato la centralina di micro irrigazione, ho dovuto eseguire varie prove su come pilotare l’elettrovalvola, trovando un compromesso tra affidabilità e basso assorbimento di corrente (in stato di inattività) e costo dei componenti contenuto. Attualmente sto utilizzando un ponte ad H realizzato con dei componenti discreti. Il vantaggio di questa configurazione è costo ridotto e affidabilità, il problema è il notevole spazio occupato dai componenti sul pcb.

Alternativamente è possibile adottare dei ponti H integrati, come ad esempio l’integrato TLE 5205-2 prodotto da Infineon. Le caratteristiche principali sono le seguenti:

  • Corrente di lavoro 5A (6A di picco)
  • Tensione di lavoro di 40V
  • Protezione dai corto circuiti
  • Protezione sovratemperatura
  • Diodi di soppressione integrati
  • input compatibile TTL/CMOS

Nelle figure seguente viene mostrata la pin function e lo schema a blocchi interno:

Schema a blocchi tle5205-2g

Schema a blocchi e pin function integrato TLE5205-2

Continua a leggere

Nuova centralina per impianto di microirrigazione

Come costruire una centralina di irrigazione a goccia

Centralina Micro Irrigazione

In alcuni miei articoli ho parlato della realizzazione di un impianto di micro irrigazione tramite una centralina autocostruita. Questa centralina aveva il compito di pilotare una elettrovalvola bistabile utilizzando una coppia di relè.

Nel tempo ho modificato questo prototipo per renderlo più efficiente e facile da gestire, e soprattutto perché la vecchia centralina aveva dei consumi di corrente elevati e quindi non efficiente con alimentazione a batteria.

Il circuito di questo articolo è attualmente installato nel mio giardino e in quello di alcuni miei amici.

La decisione di realizzare una nuova centralina nasce per via di alcune esigenze:
la prima è quella dovuta alla scarsità di piogge di questi ultimi anni e di conseguenza la crescente esigenza di irrigare in modo sostenibile utilizzando sistemi ad ala gocciolante o linee autocostruite con micro gocciolatori.
La seconda è dovuta alla mia passione per il fai da te e per la convinzione che i circuiti autocostruiti, benché inizialmente siano più costosi, possano essere una valida alternativa al modello usa e getta e dell’obsolescenza programmata, infatti conoscendo schema elettrico e codice del progetto possiamo, in caso di rottura di qualche componente, ripararlo o riadattarlo per ulteriori esigenze.

Questa mia nuova centralina permette di utilizzare sia elettrovalvole bistabili sia valvole motorizzate.

Le elettrovalvole bistabili sono consigliate per impianti alimentati a batteria in quanto, tramite un breve impulso elettrico di qualche millisecondo, è possibile aprire o chiudere il passaggio dell’acqua.
L’uso di una elettrovalvola nel nostro impianto di irrigazione comporta, il più delle volte, l’impiego di un filtro che privi l’acqua delle impurità che potrebbero comprometterne il funzionamento dell’elettrovalvola; le impurità dell’acqua, col tempo, possono ostruire il piccolo canale che porta l’acqua nella camera del solenoide.

Quando l’acqua possiede una torbidità elevata e non possiamo permetterci un sistema filtrante di qualità possiamo optare per una valvola motorizzata (Escludendo però il sistema di irrigazione a gocciolatori ma a irrigazione diretta).
La valvola motorizzata assorbe più corrente perché il tempo necessario per aprirla o chiuderla è maggiore rispetto all’elettrovalvola (circa3-5 secondi).

Caratteristiche nuova centralina di micro irrigazione

  • Basso assorbimento di corrente in standby (circa 0.3uA)
  • Open Source e Open Hardware
  • Calendario con RTC
  • Memorizzazione dati su SD
  • Interfaccia seriale
  • Programmazione tempi di irrigazione tramite jumper
  • Programmazione intervalli di irrigazione tramite jumper
  • Led di stato

Continua a leggere

Circuito supervisore watchdog timer ADM1232

Come utilizzare un circuito di supervisione hardware usando l’ADM1232

L’architettura dei microcontrollori ha raggiunto ottimi livelli di affidabilità con elevati livelli prestazionali. Solitamente, quando si parla di affidabilità, si intende la capacità del micro di funzionare in ambienti critici, dove gli intervalli di temperature sono estesi (-40°C +85°C) o dove la presenza di rumori elettromagnetici o altri elementi fisici non deve certamente bloccare il funzionamento del microcontrollore.

Nella maggior parte dei casi i blocchi software sono ancora causati da errori di scrittura del firmware che gira sul micro. Questi blocchi sono tipicamente dovuti a loop infiniti o deadlock; errori che aumentano all’aumentare della complessità del codice.

Quando non possiamo permetterci nessun tipo di blocco vengono impiegati sistemi di supervisione hardware che, tramite sistemi integrati all’interno del micro stesso (Watchdog Timer) o con specifici moduli esterni, possono eseguire un reset del micro appena ‘si accorgono’ che l’esecuzione del codice del micro è bloccata.

Alcuni moduli permettono anche di controllare la qualità della tensione di alimentazione, e di eseguire un reset non appena si verificano abbassamenti di tensione.

Il dispositivo che ho utilizzato per questo tutorial è l’integrato ADM1232 prodotto da Analog Device, molto semplice da utilizzare e dal costo contenuto (circa 2 €).

Continua a leggere

MKR1000 gpio speed test

Misurare frequenza di commutazione di una linea gpio della MKR1000

La MKR1000 è una scheda molto compatta, dal prezzo contenuto, che permette di realizzare interessanti progetti IoT. Questa scheda è basata sul SoC ATMEL ATSAMW25 (famiglia di dispositivi ATMEL Wireless) ed è l’insieme di questi moduli:

  • MCU SAMD21 Cortex-M0+ 32bit operante alla frequenza di 48MHz
  • Modulo Wi-Fi WINC1500 a basso consumo (2.4GHz IEEE® 802.11 b/g/n)
  • Crittografia per comunicazioni sicure basate sul chip ECC508
  • Antenna implementata sul PCB

La scheda possiede anche un caricabatterie per batterie Li-Po rendendola quindi adoperabile in ambienti dove non è presente una fonte di energia costante.
In questo articolo andremmo a misurare la velocità di commutazione di un pin digitale eseguendo lo stesso codice che ho usato per gli altri gpio speed test.

Questo test è puramente indicativo, è un metodo molto semplice che eseguo per fare un piccolo paragone tra le schede in mio possesso.

La figura seguente mostra lo schema elettrico che ho utilizzato:

MKR1000 Gpio SPeed Test

Continua a leggere

Arduino come utilizzare l’RTCC MCP7940N

Accedere ai registri dell’MCP7940N usando Arduino

Molti tutorial sull’utilizzo di un RTCC (Real Time Clock and Calendar) con Arduino riguardano l’integrato DS1307 in quanto la sua diffusione è data dalla disponibilità di diverse librerie, dal costo contenuto e dalla sua integrazione in numerose shield. Nonostante ciò sul mercato esistono molti altri dispositivi interessanti che svolgono funzioni aggiuntive e hanno precisioni molto più elevate riguardo al conteggio del tempo.

Mi sono trovato a realizzare dei progetti che come specifica richiedevano una alimentazione di 3,3V, dato che il DS1307 lavora tra i 4,5V e i 5,5V ho dovuto ripiegare su un altro rtcc. Quello che ho scelto è l’MCP7940N prodotto da Microchip. Nonostante non sia disponibile la versione PDIP ho scelto questo integrato perché oltre a lavorare con tensione di alimentazione di 3,3V ha alcune altre funzioni interessanti come la possibilità di impostare due allarmi e la possibilità di calibrare l’orologio per poter aumentare la sua precisione nel conteggio del tempo.

Continua a leggere

Genuino 101 gpio Speed Test

Misura della velocità di commutazione di un pin della Genuino 101

Ho acquistato la Genuino 101 di recente e ho realizzato un semplice gpio speed test per misurare e soprattutto paragonare la velocità di commutazione di un pin digitale rispetto alle altre schede in mio possesso. Lo schema elettrico che ho realizzato per effettuare la misura è il seguente:

Genuino 101 Gpio Speed test

Il codice caricato sulla Genuino 101 permette tramite un ciclo while di eseguire continuamente la commutazione, da uno stato alto ad uno basso, di un pin della scheda:

Continua a leggere

Arduino gps ottenere coordinate geografiche e orario

Come utilizzare un ricevitore gps con Arduino

Il ricevitore GPS (Global Positioning System) è oggi un dispositivo alla portata di tutti, dal costo contenuto e dal semplice utilizzo. Questo articolo vuole essere una guida introduttiva all’interpretazione dei dati di posizione forniti dal ricevitore gps, senza utilizzare librerie esterne. Ho utilizzato una scheda Arduino/Genuino UNO e il modulo Adafruit Ultimate GPS Breakout v3 (vedi l’articolo su Amazon).

arduino Gps

Il modulo ha una sensibilità di ben -165dBm (in tracking), questo significa che riesce a rilevare segnali di 1.25nVolt, ha un refresh di 10 Hz e permette di ‘inseguire’ 22 satelliti.

Questo dispositivo rende semplice la gestione del tracking dei satelliti ed del calcolo della posizione. I dati vengono restituiti sul canale seriale TTL, alla frequenza di 1Hz. E’ sufficiente collegarsi alla seriale per poter leggere i dati. I dati principali sono quelli di posizione (espressa in Latitudine e Longitudine) la quota e l’orario zulu ma sono presenti anche altre informazioni relative ai satelliti utilizzati per il fix.

Continua a leggere

Come usare il sensore di luminosità TSL2591

Misurare l’intensità luminosa col sensore TSL2591

Il sensore TSL2591 permette di misurare l’intensità luminosa di un ambiente. Ha una buona capacità di campionamento ed in particolare permette con un solo sensore di rilevare sia lo spettro IR sia quello visibile. Il range di misurazione va da 188 Lux sino ad arrivare ad 88000 Lux (unità di misura Lux).
Nella figura seguente potete osservare il diagramma del circuito:

TSL2591 Diagramma di funzionamento

La conversione dei due canali viene eseguita contemporaneamente. Al termine del ciclo di conversione i dati vengono memorizzati nei relativi registri (CH0 Data e CH1 Data). Dopo la memorizzazione dei dati viene automaticamente eseguita la misurazione successiva.

Continua a leggere

I miei gadget
Newsletter

Seguimi su Twitter