Make It Last Build Series: creazione del data logger - 💡 Fix My Ideas

Make It Last Build Series: creazione del data logger

Make It Last Build Series: creazione del data logger


Autore: Ethan Holmes, 2019

Per la nostra quarta settimana della serie Make It Last Build, stiamo valutando come trasformare il nostro termometro elettronico in un data logger aggiungendo capacità di archiviazione. Probabilmente vorrai controllare la newsletter più recente per i dati in background, prima di continuare con questo post.

Inoltre, prima che ci dimentichiamo, stiamo arrivando alla fine della nostra prima build. Spero che tu stia seguendo e abbia la maggior parte dei pezzi pronti per completare il tuo progetto. Il termine ultimo per l'iscrizione è il 23 novembre alle 23:59 PDT, quindi assicurati di inviare il tuo progetto entro tale data! Come promemoria, non è necessario acquistare nulla o costruire il nostro progetto di esempio per essere idoneo: è sufficiente creare qualsiasi dispositivo che funziona a batterie e può raccogliere una qualche forma di dati ambientali. Vedi le regole ufficiali per le specifiche su tutto questo e quali premi puoi vincere.

Infine, se avete domande su questo progetto, o sulle idee che vorreste condividere, consultate l'argomento Forum di MAKE e suonate. Ora, per costruire il nostro data logger!

Schema del data logger

Ecco lo schema per il data logger. Per renderlo un po 'più facile da capire, l'ho suddiviso in cinque sezioni: il microcontrollore (componenti necessari per far funzionare il microcontrollore), il programmatore (la porta utilizzata per collegare un programmatore PIC), il sensore (per il nostro esempio , un termometro), porta seriale (intestazione per collegare un cavo FTDI) e memorizzazione dei dati (il chip di memoria EEPROM e le parti correlate). Gli schemi circuitali possono essere confusi da guardare, quindi una buona strategia è cercare di romperli in parti più piccole. Questo può anche essere utile quando si guardano i circuiti attuali: è possibile identificare quali componenti sulla breadboard corrispondono a ciascuna delle sezioni precedenti? Il tuo circuito dovrebbe avere già le prime quattro sezioni o tutto tranne la parte di archiviazione dei dati.

Passaggio 0: raccogliere i materiali di consumo

Elenco delle parti:

  • Completato il progetto "termometro"
  • Memoria EEPROM Microchip 24AA1025
  • Resistore 2x10k (100k va bene)
  • Cavi ponticello per tagliere
  • Porta batterie e batterie 2xAA

Passaggio 1: posizionare l'EEPROM sulla scheda

Posizionare il chip EEPROM nella breadboard, a destra del microcontrollore. Dopo averlo posizionato, collegare i cavi di alimentazione e di terra come mostrato sopra. Il pin 8 deve essere collegato all'alimentazione e il pin 5 a Ground.

Passaggio 2: Configurare l'EEPROM usando i cavi dei ponticelli

Successivamente, abbiamo bisogno di aggiungere alcuni cavi per dire alla EEPROM come comportarsi. Innanzitutto, dobbiamo configurare l'indirizzo seriale a cui il chip risponderà. Quando il microcontrollore vuole leggere o scrivere dalla memoria, deve prima inviare l'indirizzo del chip sulla linea seriale i2c. Aggiungendo un modo esterno di configurare l'indirizzo a cui il dispositivo risponde, i progettisti hanno reso possibile collegare e utilizzare più chip EEPROM allo stesso tempo, senza che questi siano in conflitto tra loro. Abbiamo solo un chip, quindi configuriamolo per rispondere all'indirizzo 7 collegando i fili da EEPROM Pins 1, 2 e 3 per alimentare.

Quindi, dobbiamo dire al chip di consentire sia la lettura che la scrittura sul chip. Per fare ciò, eseguire un filo dal pin WP (Pin 7 sulla EEPROM) a massa.

Passaggio 3: Collegare il bus i2c tra il processore e la memoria

Il chip EEPROM comunica con il microcontrollore su un bus seriale i2c. Il bus utilizza due fili (orologio e dati) per passare i messaggi avanti e indietro tra i due dispositivi. Collega la linea dell'orologio collegando il Pin 14 del microcontrollore con la EEPROM Pin 6 e la linea dati collegando il Pin 15 del microcontrollore con la EEPROM Pin 5. L'altra cosa che dovremo fare è aggiungere resistori pull-up da entrambe queste linee a energia. Questi sono necessari perché i dispositivi sul bus i2c utilizzano le uscite open collector, che aiutano a prevenire i problemi se sia la EEPROM che il microcontrollore dovessero inviare i dati sulla linea seriale contemporaneamente.

Nota: alcuni microcontrollori dispongono di resistori di pull-up integrati, quindi non è necessario fornire quelli esterni. Ne hai bisogno per il 18lf25k22, però!

Passaggio 4: collegare la porta seriale

Ora, abbiamo bisogno di aggiungere un filo per consentire al computer di inviare dati seriali al PIC. Collegare il pin 18 del microcontrollore al pin 4 sull'header seriale.

Nota: nel progetto del termometro, ho mostrato un resistore opzionale tra il cavo seriale FTDI e il PIC, perché stavo usando un convertitore seriale 5V. Ho scoperto come convertire il mio adattatore in una versione 3.3V, quindi ho rimosso il resistore per questa build.

Passaggio 5: collegare le batterie

Infine, collega il pacco batteria! Collegare il cavo positivo (rosso) del pacco alla barra di alimentazione e il cavo negativo (nero) a massa. Un pacco batteria con un interruttore on / off funzionerà al meglio, poiché si vorrà accertarsi che sia scollegato mentre si utilizza il cavo di programmazione.

Passaggio 6: testare il data logger

Questo è tutto per le modifiche hardware. La parte finale è quella di modificare il software per utilizzare la memoria EEPROM per scopi di registrazione. Prendi il

, quindi usa MPLAB per programmarlo sulla tua scheda. Per il progetto di esempio, abbiamo implementato un semplice protocollo seriale per controllare il data logger. I comandi sono:

  • m: misura la temperatura e restituisce immediatamente il valore
  • b: Inizia la registrazione
  • e: Termina la registrazione
  • d: esegue il dump dei dati registrati
  • r: ripristina il logger).

Per verificare che tutto funzioni, attiva il tuo programma seriale (come nell'ultimo esempio) e digita la lettera "m". Dovresti ottenere una risposta come questa:

La temperatura attuale è: 68

Se ha funzionato, sei pronto per partire. Scollegare il programmatore PIC, accendere la batteria e digitare "b" per iniziare la registrazione. A questo punto, è possibile disconnettere il data logger dal cavo FTDI e impostarlo da qualche parte per raccogliere dati di temperatura.Per impostazione predefinita, acquisisce la temperatura ogni 10 secondi, ma è possibile modificarla modificando il valore della variabile 'logInterval' nel codice sorgente.

Lascia che raccolga i dati per un po '(alcuni minuti o alcune ore), quindi ricollegalo al cavo seriale, digita "e" nella finestra del terminale per interrompere la raccolta dei dati, quindi digita "d" per ottenere i dati. Dovresti ottenere una lunga lista di campioni di temperatura, che puoi tagliare e incollare in un programma di fogli elettronici per creare un grafico. Ecco uno che ho preso, dove ho messo il mio registratore di dati in frigo, poi accanto a un bollitore d'acqua, poi di nuovo nel congelatore prima di lasciarlo sulla mia scrivania mentre preparavo il tè:

Conclusione

È tutto per ora. La prossima settimana, renderemo il progetto efficiente dal punto di vista energetico configurando il processore per arrestare le misurazioni, lavorare per rendere le misure un po 'più precise e creare una GUI semplice per visualizzare i dati raccolti utilizzando Processing.



Si Può Essere Interessati

I 10 post più visti in CRAFT nel 2008

I 10 post più visti in CRAFT nel 2008


Intervista con il fondatore di Elsewares, Ryan Deussing

Intervista con il fondatore di Elsewares, Ryan Deussing


I primi 9 articoli letti in CRAFT Digital Editions (volumi 1-9) nel 2008

I primi 9 articoli letti in CRAFT Digital Editions (volumi 1-9) nel 2008


Aggiornamento sul progetto di utilizzo energetico di Twitter

Aggiornamento sul progetto di utilizzo energetico di Twitter






Messaggi Recenti