Sommario:
- Passaggio 1: parti necessarie
- Passaggio 2: principi schematici
- Passaggio 3: codice Arduino
- Passaggio 4: test nel mondo reale
Video: Sensore meteorologico compatto con collegamento dati GPRS (scheda SIM): 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
sintesi del progetto
Si tratta di un sensore meteorologico alimentato a batteria basato su un sensore di temperatura/pressione/umidità BME280 e un MCU ATMega328P. Funziona con due batterie al litio tionile AA da 3,6 V. Ha un consumo di sonno estremamente basso di 6 µA. Invia i dati ogni mezz'ora tramite GPRS (utilizzando un modulo GSM SIM800L) a ThingSpeak, controllato da un orologio in tempo reale DS3231. Il servizio stimato su un set di batterie è >6 mesi.
Uso una SIM card ASDA pay-as-you-go, che offre condizioni estremamente buone per gli scopi di questo progetto, in quanto ha un tempo di scadenza del credito molto lungo (180 giorni) e addebita solo un volume di dati di 5p/MB.
Motivazione: Sviluppo di un sensore ambientale economico, a manutenzione zero, autonomo, alimentato a batteria che può essere collocato in natura per acquisire dati meteorologici o di altro tipo e trasmettere tramite rete GSM/GPRS a un server IoT.
Dimensioni fisiche: 109 x 55 x 39 mm (comprese le flange della cassa). Peso 133 gr. Grado IP 54 (stimato).
Costo del materiale: ca. £ 20 per unità.
Tempo di montaggio: 2 ore per unità (saldatura manuale)
Alimentazione: due batterie al litio tionile AA, non ricaricabili (3,6 V, 2,6 Ah).
Protocollo di rete: GSM GPRS (2G)
Usi potenziali: qualsiasi località remota con copertura del segnale GSM. Boschi, fari, boe, yacht privati, caravan, campeggi, rifugi alpini, edifici disabitati
Test di affidabilità: un'unità è stata sottoposta a test a lungo termine senza sorveglianza dal 30.8.20. A parte un arresto anomalo del software, ha inviato dati in modo affidabile ogni 30 minuti.
Passaggio 1: parti necessarie
- PCB su misura. File Gerber zippati qui (instructables.com sembra bloccare i caricamenti di file ZIP). Consiglio vivamente jlcpcb.com per la produzione di PCB. Per le persone che vivono nel Regno Unito, sono felice di inviarti un PCB di riserva per un contributo minimo al costo del materiale e della spedizione - inviami un messaggio.
- ATMega328P-AU
- Orologio in tempo reale DS3231 modificato (vedi paragrafo sotto)
- Scheda breakout BME280, come questa
- SIM800L Modulo GSM GPRS
- Varie parti SMD come da elenco dettagliato.
- Hammond 1591, involucro in ABS nero, IP54, flangiato, 85 x 56 x 35 mm, da RS Components Italia
Modifica di DS3231
La rete di resistori quadrupla cerchiata in rosso deve essere dissaldata. Anche altri metodi più distruttivi vanno bene, ma evitate di creare un ponte tra i pad sulla fila interna di 4 pad (verso il lato dell'MCU). Gli altri 4 pad sono comunque collegati da tracce PCB. Questa modifica è essenziale per consentire al pin SQW di funzionare come un allarme. Senza rimuovere i resistori, non funzionerà finché non si collega un'alimentazione VCC al modulo, il che vanifica lo scopo di avere un RTC a bassissima potenza.
Passaggio 2: principi schematici
Le priorità principali per la progettazione sono state:
- Funzionamento a batteria con basso consumo di corrente di sospensione
- Design compatto
Alimentazione elettrica
Due batterie AA al litio tionile Saft da 3,6 V. Un MOSFET a canale P per la protezione dall'inversione di polarità.
Nel circuito sono presenti due regolatori di tensione:
- Un regolatore step-down da 2 Amp Texas Instruments TPS562208 per alimentare il SIM800L a circa 4,1 V. Questo è commutabile da ATMega e viene messo in modalità di spegnimento la maggior parte del tempo tramite Enable pin 5.
- Un regolatore MCP1700 3.3V per ATMega e BME280. Questo è un regolatore a bassa caduta estremamente efficiente con una corrente di riposo di solo circa 1 µA. Poiché tollera solo un ingresso fino a 6 V, ho aggiunto due diodi raddrizzatori (D1, D2) in serie per ridurre l'alimentazione da 7,2 V a un livello accettabile intorno a 6 V. Ho dimenticato di aggiungere il solito condensatore di disaccoppiamento da 10 µF sul PCB per l'alimentazione dell'ATMega. Pertanto, ho aggiornato il solito condensatore di uscita sull'MCP1700 da 1 a 10 µF e funziona bene.
- Monitoraggio della tensione della batteria tramite ADC0 su ATMega (attraverso un partitore di tensione)
Orologio in tempo reale
Un DS3231 modificato, che attiva ATMega a intervalli specificati per avviare un ciclo di misurazione e trasmissione dati. Lo stesso DS3231 è alimentato da una cella al litio CR2032.
BME280
Ho provato a utilizzare da solo il modulo Bosch BME280 originale, che è quasi impossibile da saldare a causa delle sue dimensioni ridotte. Pertanto, sto utilizzando la scheda breakout ampiamente disponibile. Poiché questo ha un regolatore di tensione non necessario, che consuma energia, lo accendo con un MOSFET a canale N appena prima delle misurazioni.
SIM800L
Questo modulo è affidabile ma sembra essere abbastanza capriccioso se l'alimentatore non è solido come una roccia. Ho scoperto che una tensione di alimentazione di 4,1 V funziona meglio. Ho creato le tracce PCB per VCC e GND sul SIM800L extra spesso (20 mil).
Schema/commenti PCB
- L'etichetta di rete "1" - elencata come "SINGLEPIN" nell'elenco delle parti si riferisce semplicemente a un pin di intestazione maschio.
- I due pin adiacenti all'interruttore a scorrimento devono essere ponticellati con un ponticello per il normale funzionamento, altrimenti la linea VCC è aperta qui. Sono destinati a misurazioni di corrente, se necessario.
- Il condensatore da 100 µF (C12) per il modulo SIM800L non è necessario. È stato aggiunto come misura precauzionale (disperata) in caso di problemi di stabilità previsti
Fasi di montaggio consigliate
- Assemblare tutti i componenti dell'alimentatore nella parte inferiore sinistra del PCB. Il pin di abilitazione (pin 5) del TPS562208 deve essere su logico alto per il test, altrimenti il modulo è in modalità di spegnimento e si avrà un'uscita 0V. Per tirare in alto il pin Enable per il test, è possibile collegare un filo temporaneo dal pad 9 dell'ATMega (che sul PCB è collegato al PIN 5 del regolatore di tensione) a un punto VCC; il punto più vicino sarebbe al pin inferiore di R3, che si trova sulla linea VCC.
- Test dell'uscita dal TPS562208 tra i pin inferiori di C2, C3 o C4 e GND. Dovresti avere circa 4.1V.
- Uscita di prova da MCP1700, tra il pin in alto a destra di U6 e GND. Dovresti avere 3.3V.
- Saldare ATMega328P; osservare il contrassegno pin 1 nell'angolo in alto a sinistra. Un po' di pratica richiesta, ma non troppo difficile.
- Masterizza il bootloader su ATMega328 - tutorial per questo altrove. Non devi necessariamente usare le intestazioni dei pin per connetterti a MOSI, MISO, SCK e RST. Per i pochi secondi necessari per bruciare il bootloader, puoi usare i cavi Dupont e usare un po' di angolazione per ottenere un buon contatto.
- Collegare 5 connettori pin femmina per DS3231.
- Saldare SIM800L tramite intestazioni pin maschio
- Saldare BME280
- Carica il codice nell'IDE di Arduino utilizzando un adattatore USB2TTL (seleziona Arduino Uno/Genuino come destinazione).
Passaggio 3: codice Arduino
Vedi il codice sorgente di Arduino nel file allegato.
Passaggio 4: test nel mondo reale
Ho praticato due piccoli fori sul lato destro del case appena in profondità sul lato anteriore. Li ho coperti dall'interno con toppe in Goretex per consentire il ricambio d'aria ma escludere l'acqua. Ho aggiunto una protezione aggiuntiva contro la pioggia con piccoli tetti di plastica. Quindi inserisco l'intero gruppo nel case con i componenti rivolti in avanti e la batteria rivolta verso il coperchio. Aggiungo un po' di grasso al silicone alla custodia per una maggiore protezione dall'ingresso di acqua.
L'unità è attualmente "installata" vicino a un piccolo fiume. Ecco il feed di dati in tempo reale.
Consigliato:
Collegamento di ESP 32 con sensore a ultrasuoni: 3 passaggi
Collegamento di ESP 32 con sensore a ultrasuoni: i sensori a ultrasuoni funzionano emettendo onde sonore a una frequenza troppo alta per essere udita dagli umani. Quindi aspettano che il suono venga riflesso indietro, calcolando la distanza in base al tempo necessario. Questo è simile a come il radar misura il tempo impiegato da un
Utilizzo della scheda sensore Complex Arts per controllare i dati puri tramite WiFi: 4 passaggi (con immagini)
Utilizzo della scheda sensore Complex Arts per controllare i dati puri tramite WiFi: hai mai desiderato sperimentare il controllo gestuale? Far muovere le cose con un gesto della mano? Controllare la musica con una rotazione del polso? Questo Instructable ti mostrerà come! La Complex Arts Sensor Board (complexarts.net) è un microc
Collegamento di un sensore DHT11/DHT22 al cloud con una scheda basata su ESP8266: 9 passaggi
Collegamento di un sensore DHT11/DHT22 al cloud con una scheda basata su ESP8266: nell'articolo precedente, ho collegato la mia scheda NodeMCU basata su ESP8266 a un servizio Cloud4RPi. Ora è il momento di un vero progetto
Collegamento dati seriale RF {tramite USB}: 3 passaggi
Collegamento dati seriale RF {tramite USB}: TECGRAF DOC Come trasmettere dati utilizzando un modulo RF economico tramite USB. Il circuito riceve energia dalla porta USB (può fornire 100mA e con alcune programmazioni si possono raggiungere i 500mA) Elenco dei materiali: 1 - Una coppia di moduli RF (come Laipac RLP/TL
Costruisci un collegamento dati radio da 500 metri per meno di $ 40: 7 passaggi
Costruisci un collegamento dati radio da 500 metri per meno di $ 40.: Hai un serbatoio d'acqua che vuoi misurare o una diga o un cancello? Vuoi rilevare un'auto che scende lungo il viale ma non vuoi infilare i cavi nel giardino? Questa istruzione mostra come inviare dati a 500 metri con un'affidabilità del 100% utilizzando picaxe microcontr