Elettronica

Argomenti teorici e tutorial pratici su argomenti che riguardano l’elettronica analogica e l’elettronica digitale

Flyport Ethernet leggere dai pin analogici

Come acquisire un segnale analogico tramite modulo Flyport

L’acquisizione di segnali analogici permette l’interfacciamento del Flyport Ethernet con svariate tipologie di sensori e trasduttori che forniscono una tensione analogica in funzione della grandezza fisica misurata.
Il modulo dispone di 4 ingressi analogici (p18, p20, p23, p25) con una risoluzione di 10bit (valori restituiti da 0 a 1023) ed una tensione di riferimento molto precisa fissata a 2.048V.
I pin analogici non supportano tensioni superiori a 3.3V quindi dobbiamo stare attenti al valore di tensione che sarà applicato sul pin analogico.

Dato che la tensione di riferimento è di 2.048V, il convertitore analogico digitale fornirà il valore intero zero(0) quando in ingresso sarà presente una tensione di 0V, fornirà invece il valore 1023 quando sul pin analogico sarà presente una tensione pari a 2.048V. Superata questa soglia, fino al valore consentito di 3.3V il convertitore restituirà sempre 1023.

Continua a leggere

Motore passo passo bipolare e driver L298N

Come pilotare un motore passo passo usando l’integrato L298N

Quando osservo i robot industriali assemblare, saldare, fresare o posizionare oggetti con una precisione sconcertante rimango affascinato dalla capacità umana di poter costruire queste macchine. Anche nelle nostre abitazioni sono presenti oggetti dotati di parti meccaniche, che compiono movimenti molto precisi, come ad esempio le stampanti, i plotter e gli scanner.
Questi dispositivi hanno in comune tra loro un particolare dispositivo chiamato motore passo passo (stepper motor). E’ un trasduttore elettromeccanico che converte degli impulsi elettrici in un movimento fisico. Ad ogni impulso elettrico corrisponde un movimento del rotore; questo spostamento viene chiamato step.
A differenza del motore in corrente continua i motori passo passo possono mantenere la propria velocità di rotazione costante, anche con carico applicato, senza usare sistemi di controreazione (tachimetriche o encoder). Il motore eroga una coppia elevata, anche con bassi numeri di giri, possiede accelerazioni e frenate repentine ed è capace di mantenere il carico applicato fermo in posizione, senza vibrazioni.
Naturalmente esistono anche degli svantaggi, tra cui la necessità di utilizzare un circuito elettrico di pilotaggio, un rendimento energetico basso, una velocità di rotazione ridotta ed un costo di acquisto elevato.

Continua a leggere

Usare il potenziometro digitale MCP4131-103

Come usare Arduino per pilotare un potenziometro digitale

Molte applicazioni richiedono la variazione continua di alcuni parametri, come ad esempio un alimentatore, un amplificatore audio, un termostato o un varilight che solitamente impiegano un potenziometro analogico e l’intervento manuale di una persona per effettuare queste variazioni.
Possiamo digitalizzare questi sistemi impiegando lo stesso principio di regolazione basato su potenziometro ma invece di agire fisicamente sulla manopola di regolazione possiamo utilizzare dei comandi software per incrementare decrementare il valore resistivo del potenziometro.

Il componente che andremmo ad usare è l’integrato MCP4131-103 prodotto dalla Microchip. E’ un integrato a 8 pin che possiamo comandare tramite il protocollo seriale SPI.
Al suo interno troviamo un potenziometro da 10Kohm.

Diagramma interno MCP4131 103

Continua a leggere

Promemoria alternativo con Arduino e RTC

Come realizzare un simpatico gadget per ricordarci delle date importanti

Se anche tu hai difficoltà a ricordare le date degli appuntamenti e sei un tipo creativo e non ti accontenti dei classici promemoria via cellulare, tablet o computer, ma vuoi realizzare qualcosa di insolito, puoi sfruttare la tua passione per l’elettronica e la tua voglia di costruire per realizzare questo progetto di promemoria con Arduino.

Avendo già le basi per poter lavorare con l’integrato RTC DS1307 puoi sfruttare la ram non volatile di questo chip per memorizzare circa 18 date e permettere, ad Arduino, di avvisarti tramite display, led rgb, twitter o quello che ti viene in mente!!

L’idea è quella di utilizzare l’RTC per memorizzare il dato di tempo e sfruttare i 56 byte di flash ram aggiuntive per memorizzare le date degli avvenimenti. Arduino ha il compito di comparare le date e di agire di conseguenza pilotando le uscite digitali.

Parto dal presupposto che la data e l’ora del RTC sia già stata impostata come spiegato nel precedente tutorial. Continua a leggere

Netduino e irrigazione automatica fai da te (Teoria)

Come realizzare centralina di micro irrigazione

Mi è sempre piaciuta l’idea di un orto/giardino automatizzato, magari con Netduino, capace di sfruttare l’irrigazione in modo coscienzioso e senza sprechi d’acqua.
Penso sia uno di quei progetti molto ricercati per la sua evidente utilità pratica, e anche perché la coltivazione e la cura di piante è un istinto innato che ci avvicina alla natura e ci fa sentire bene!

Abito in un piccolo paese dove ogni famiglia possiede un piccolo orto per la coltivazione di verdure e frutti. La tecnica di irrigazione principale è quella a solco (scorrimento), decisamente svantaggiosa e poco efficace per l’eccessivo spreco d’acqua.
Fortunatamente oggi ci sono molte tecnologie efficienti che permettono l’impiego di sistemi programmabili per la gestione delle attività di irrigazione.

Anche io ho voluto sviluppare il mio sistema a microcontrollore per gestire le fasi di irrigazione di un piccolo orto.
Per la realizzazione di questo sistema bisogna avere un minimo di esperienza nella coltivazione di piante ed essere consapevoli che ci dovremmo sporcare le mani!!

La tecnica di irrigazione migliore per questo progetto si basa sulla microirrigazione a goccia. E’ necessario quindi procurarci tutto il materiale per l’impianto. Le mie informazioni progettuali sono da considerare di carattere generale, dato che il sistema è influenzato da vari parametri come, la tipologia del terreno (inclinazione, consistenza, composizione, esposizione agli agenti atmosferici) il tipo e la quantità di piantine da coltivare. Continua a leggere

Accedere ai registri dell’MCP9803 (2° parte)

Gestire i registri dell’MCP9803

Nella prima parte abbiamo visto come comunicare con il sensore di temperatura MCP9803 utilizzando il bus I2C per leggere il valore di temperatura contenuto nel Temperature Register.
Proveremmo ora a fare qualcosa di più interessante variando alcuni parametri del sensore. Il circuito elettrico è sempre quello impiegato nella prima parte dell’articolo.

Il register pointer permette di selezionare 4 registri differenti a seconda di come vengono impostati i bit P0 e P1.

Per cambiare la risoluzione del convertitore dobbiamo accedere al registro di configurazione. Come mostra la tabella della figura precedente bisogna impostare il bit P1 a 0 ed il bit P0 a 1. Continua a leggere

Protocollo I2C e sensore di temperatura MCP9803 (1°parte)

Protocollo I2C ed uso dell’integrato MCP8903

Il mondo dell’elettronica, come sapiamo, è composto da migliaia di componenti che svolgono funzioni dedicate, come un sensore di temperatura, oppure sono capaci di gestire diverse operazioni come nel caso dei microcontrollori.
La tecnologia analogica ha pian piano lasciato il posto a quella digitale e i componenti hanno iniziato a colloquiare tra loro utilizzando vari protocolli di comunicazione (insieme di regole che determinano il funzionamento della comunicazione).
Oggi, la maggior parte dei circuiti utilizza un microcontrollore, il cui compito è quello di gestire il circuito ed i componenti ad esso collegato.
Nel caso di sistemi complessi i componenti che creano il circuito sono diversi e possono saturare la capacità fisica di collegamento del microcontrollore, come nel caso proposto in figura.

Ben presto si è capito che per snellire questo tipo di circuiti era necessario creare un meccanismo capace di ottimizzare l’interconnessione tra componenti e microcontrollore. Il sistema più efficace è certamente quello di adottare un bus di collegamento, che permette lo scambio di dati, tra componenti e microcontrollore, utilizzando pochi fili comuni.
La figura seguente mostra un esempio di bus dove diversi componenti sono interconnessi utilizzando solo 2 fili. Il microcontrollore in questo caso deve gestire la comunicazione utilizzando un protocollo comune a tutti i componenti.
Continua a leggere

MCP9700A Netduino e sensore di temperatura analogico

MCP9700A come leggere il valore di temperatura

Sfruttiamo il Netduino per la realizzazione di un dispositivo che permette la lettura della temperatura tramite il sensore MCP9700A.
Il sensore fornisce una tensione analogica proporzionale alla temperatura rilevata. E’ un dispositivo molto semplice e compatto, ha tre pin, uno per l’alimentazione, uno per la massa e uno per la tensione analogica di uscita.

MCP9700A

Per capire come collegare questo sensore al Netduino analizziamo prima le sue caratteristiche. Può essere alimentato da un intervallo di tensione che va da 2.3Vdc a 5.5Vdc, misura temperature che vanno da un minimo di -40°C a un massimo di 125°C con una precisione tipica di -+1°C (-+2°C massima). Ad una temperatura di 0°C il dispositivo eroga in uscita una tensione di 500mV utile come riferimento di partenza per il nostro circuito. La variazione di un grado produce una variazione di tensione di 10mV. La minima tensione in uscita dal sensore è di 100mV mentre quella massima è di 1.75V.
Per approfondire tutti gli aspetti di questo sensore potete consultare il suo datasheet.
La tabella seguente mostra un riassunto di quanto detto:

DescrizioneValori
Alimentazione del sensoreda 2.3Vdc a 5.5Vdc
Intervallo di temperaturada -40°C a 125°C
Precisione tipica+/- 1°C da 0 a 70°C
Variazione di tensione10mV per grado
Tensione di uscita a 0°C500mV
Intervallo di tensione in uscitada 100mV a 1.75V

Il grafico seguente mostra invece la curva di risposta del sensore.

Curva di risposta MCP9700A

La precisione del sensore è garantita alimentandolo a 3.3Vdc. In effetti, a parità di temperatura rilevata, alimentandolo prima a 3.3Vdc e poi a 5Vdc ho notato delle differenze di tensione in uscita dal sensore.
Come sappiamo il gli ingressi analogici del Netduino possono accettare una tensione massima di 3.3Vdc, l’MCP9700A può essere collegato direttamente all’ingresso analogico poiché la sua massima tensione in uscita è pari a 1.75Vdc.
Il Netduino dispone di un’alimentazione da 3.3Vdc che ho utilizzato per alimentare il sensore.

Continua a leggere

Rimani aggiornato

Sondaggi

Arduino.cc vs Arduino.org

Visualizza risultati

Loading ... Loading ...
Seguimi su Twitter