Barometro fatto in casa su un microcontrollore. La metropolitana segnerà i confini: quando i trasporti della capitale introdurranno il pagamento a zone?

Ricordo che quando ero molto piccolo, mio ​​nonno non ascoltava mai le previsioni del tempo alla radio, guardava sempre il suo vecchio barometro a lancette, ne aveva almeno due (non ricordo esattamente, perché sono passati tanti anni) , e non sbagliava mai!

Quindi desideravo da tempo avere un barometro nella mia fattoria, ma non è ancora possibile, è costoso, non l'ho trovato o c'erano altri ostacoli. Ma poi ho iniziato a lavorare sui microcontrollori ed è diventato possibile realizzare io stesso un barometro.
Ho risparmiato un po' di soldi dalla scorta della mia amata moglie e ho acquistato dei sensori, MPX4115AP (sensore di pressione) e HIH-4000-004 (sensore di umidità), perché proprio questi? Sì, semplicemente, perché su Internet si trovano molte informazioni su di loro ed erano in vendita, anche se erano costosi. Hanno fatto la parte del leone nel costo dell'intero dispositivo.
Entrambi i sensori sono analogici, il che significa che il barometro dovrebbe essere un voltmetro a due ingressi, con le letture dell'ADC regolate in mmHg. (millimetri di mercurio) e % (percentuale di umidità dell'aria). La conversione effettiva delle letture dell'ADC in mmHg. , e % l'ho preso coscienziosamente dall'articolo “Piccola stazione meteorologica fai-da-te” - http://www.avispro.com.ua/doc.php?id=1172

Ma il design presentato nell'articolo mi è sembrato ridondante e volevo renderlo più semplice e definitivo sugli indicatori LED, poiché si illuminano e hanno di grandi dimensioni, il che significa che saranno chiaramente visibili da lontano e con qualsiasi illuminazione e consumano molta meno corrente della retroilluminazione LCD.
Ho utilizzato l'indicatore BA56-12SRWA (LED a sette segmenti, 3 cifre OA), 2 pezzi. Sono super luminosi, ad es. il consumo di corrente può essere ulteriormente ridotto.

Puoi leggere come utilizzare i valori di pressione atmosferica e umidità dell'aria nelle previsioni del tempo, ad esempio, qui - http://www.meteopost.com/info/Pressure/

Questo è il diagramma risultante:

Il layout della scheda è questo:

Sul circuito stampato è presente un bus comune: digitale e analogico sono separati.
Anche l'alimentazione è divisa in analogica e digitale e viene fornita tramite induttanze da 25 µH. ai circuiti analogici e il conduttore in un tubo di ferrite a quelli digitali.

All'ingresso dell'ADC sono presenti condensatori da 0,33 µF verso la terra analogica e un resistore da 750 ohm verso i sensori. Questi sono filtri per ridurre tutti i tipi di rumore agli ingressi.

I pin AVCC e AREF del microcontrollore sono deviati con condensatori ceramici da 0,1 μF e altri condensatori al tantalio da 10,0 μF (quelli gialli delle vecchie schede madri).

Affinché la lettura dell'umidità dell'aria sia corretta, è necessario portarla all'esterno della stanza (esterno), e collegarla alla scheda con un cavo (meglio se schermato), e ovviamente protetta dall'esposizione diretta alle precipitazioni, perché il cristallo del sensore è completamente aperto. Non è affatto necessario spostare il sensore di pressione all'esterno della scheda.

Questo programma, ovviamente, non è uno standard, ma è abbastanza adatto come opzione per i principianti
Certo, puoi aggiungere la soppressione dello zero insignificante nell'indicatore di umidità, non è difficile, puoi scavare e correggere qualcos'altro, perché non c'è limite alla perfezione.
Do ai lettori la completa libertà di migliorare il codice.

L'articolo è destinato a persone a cui piace creare qualcosa con le proprie mani, solo per l'anima e la soddisfazione morale.

Nota: è vietato l'uso commerciale dei materiali di questo articolo!

Il codice è scritto CodeWizardAVR V2.04.4a
La scheda viene instradata in Sprint-Layout 5.0
Il diagramma è disegnato in Splan7.0.0.8_portable_rus

Questo design è stato sviluppato su richiesta del mio amico, un dilettante viaggio in macchina e fuoristrada. Loro (amici e compagni) durante le escursioni vogliono davvero sapere in quale direzione e con quale velocità cambia la pressione atmosferica per cercare di capire cosa accadrà al tempo. Ha scelto l'economico indicatore ME-GLCD128x64 mostrato nella foto:

Il dispositivo è assemblato su un PCB a doppia faccia prodotto utilizzando il metodo LUT:


Il microcontrollore è stato scelto ATMega32 in un pacchetto profondo per i seguenti motivi: ce l'avevo, non sono riuscito a trovare un altro utilizzo per un pacchetto così grande (DIP40), perché V ultimamente Faccio quasi tutto su SMD.

Sensore di pressione HopeRF - HP03M, comunicante con MK tramite il protocollo TWI. Sensori di temperatura DS18S20 di Maxim.

L'orologio in tempo reale è stato scelto sul chip M41T81 per i seguenti motivi: la presenza della correzione dell'ora e la presenza di un Timekeeper - che consente di leggere l'ora corrente senza perdere i cicli dell'orologio del contatore principale.

Si è deciso di utilizzare un adattatore per auto USB come fonte di alimentazione: produce 5 V con una corrente fino a 0,5 A. A causa del fatto che all'avvio del motore le "lacune" nella rete di bordo dell'auto sono piuttosto grandi, era necessario un circuito per la registrazione di emergenza dei valori attuali nell'eeprom. Per fare ciò, viene utilizzato il disaccoppiamento dell'alimentazione del MK e del resto del circuito. L'alimentazione del MK è supportata da un condensatore da 1000 uF, che, come hanno dimostrato i test, è sufficiente (più del doppio) affinché il MK scriva 6 byte di valori del sensore corrente sull'eeprom. Il monitoraggio della presenza di alimentazione e il circuito di reset MK sono forniti da due supervisori di potenza. Il primo monitora la tensione all'ingresso del circuito e, in caso di interruzione dell'alimentazione, restituisce log.0 a int0, avviando così la procedura di salvataggio. Il secondo prevede un reset “hard” del MK stesso quando la sua alimentazione diminuisce, per evitare danni all'eeprom.

In modalità normale, i dati vengono scritti sull'eeprom ogni mezz'ora. In totale, vengono memorizzati i valori per 2 giorni. Ora corrente, ricevuto da m41t81, viene convertito nel numero di secondi da 2000 e, in base a questo valore, viene calcolato l'indirizzo di scrittura corrente (uno di 96). Dopo semplici calcoli, si può vedere che la risorsa EEPROM si esaurirà in circa 540 anni (ogni cella viene sovrascritta una volta ogni 2 giorni) o in 18 anni se l'alimentazione viene interrotta ogni minuto. I dati di mezz'ora rappresentano la pressione media, la temperatura per ciascun sensore, il tempo in secondi (multipli di 96) e il checksum CRC16. All'avvio vengono letti i dati dalla eeprom e viene controllato il checksum di ogni blocco; se la somma non è corretta il dato viene ignorato; Inoltre, i dati vengono ignorati se la data della loro registrazione supera i 2 giorni (non abbiamo bisogno di dati così vecchi). Il checksum delle impostazioni principali viene calcolato allo stesso modo e, se non è corretto, supponiamo che si tratti del primo avvio del programma e impostiamo tutti i valori su quelli predefiniti.


Nell'angolo in alto a sinistra c'è la pressione attuale in mmHg e dopo la freccia c'è la variazione di pressione nelle ultime 3 ore. Di seguito sono riportate le letture di due sensori di temperatura e i valori massimi/minimi delle ultime 24 ore. Di seguito è riportato un grafico delle variazioni di pressione. (un guasto nel grafico - il dispositivo è stato spento appositamente per questa mezz'ora - quindi non ci sono dati e niente da mostrare)

Menù Impostazioni:


Sono possibili le impostazioni: data e ora, “correzioni” per la frequenza dell'orologio, correzioni della pressione (per portarlo all'altitudine attuale), regolazione della luminosità massima e minima, il tempo dopo il quale la luminosità passa dal massimo al minimo.

Tutte le impostazioni vengono effettuate utilizzando tre pulsanti Invio, +, - Per accedere al menu delle impostazioni è necessario tenere premuti + e - per più di un secondo.

Nella modalità principale i pulsanti + e - non funzionano e sono quindi nascosti. Il pulsante Invio cambia la luminosità dello schermo da max. per min. e viceversa. Se lo tieni premuto a lungo, la retroilluminazione dello schermo si spegne completamente.

Lo schema reale del dispositivo:


In archivio: Firmware, schema elettrico, scheda, scheda in diptrace. Più una serie di vari numeri e simboli con codici C.

PS: il progetto si svilupperà, perché... Ci sono ancora test invernali per la resistenza al gelo in vista :)


File:
Bonus: molti numeri con array "C".
Firmware, sorgenti, schema elettrico, scheda


Chi ha vinto il bando

Il vincitore della gara è stato lo sviluppatore di software “Prodotto software”. Il prezzo del contratto era di 670 milioni di rubli. Il periodo di esecuzione è di 910 giorni di calendario dalla data di conclusione del contratto.

“La questione della zonizzazione è una questione tariffaria. Le tariffe e le regole per i trasferimenti sono determinate dalle strutture del Dipartimento dei trasporti di Mosca, il nostro compito nell'ambito del contratto è supportare queste regole tecnologicamente", ha detto a RBC Dmitry Chursin, direttore esecutivo di Software Product.

Chursin non ha spiegato come si possa controllare esattamente l'attraversamento di determinate zone da parte dei passeggeri. "Nei prossimi tre anni, in questo sistema potrebbero apparire nuovi tipi di supporti per biglietti e dispositivi di automazione dei passeggeri per metodi di convalida dei biglietti senza contatto", ha affermato.

Come ha detto a RBC Tatyana Semenova, direttrice generale di MSP LLC (una joint venture tra il produttore di microelettronica Mikron e la metropolitana di Mosca, responsabile dello sviluppo di progetti di trasporto), uno dei compiti nell'ambito dello sviluppo delle infrastrutture delle città intelligenti è l'ottimizzazione dei costi di trasporto passeggeri in funzione della durata, regolarità e tempistica del viaggio, oltre a garantire la possibilità di usufruire biglietti di viaggio nelle regioni limitrofe.

Dal 2013 Mikron produce e fornisce smart card in plastica senza contatto per le tariffe Troika. Secondo Semenova, MSP LLC è pronta a rilasciare un nuovo microcontrollore (situato all'interno del ticket), in grado di fornire le funzioni del nuovo sistema di ticket. “La prima modifica del nuovo chip con supporto per i protocolli open world sarà completata tra un anno. Il prossimo passo è lo sviluppo di una seconda modifica che supporterà la crittografia secondo GOST nazionale", ha osservato, aggiungendo che i modelli russi di tale chip sono limitati a al momento NO.

Come cambierà il sistema di biglietteria di Mosca

Nel novembre 2018, il servizio stampa della metropolitana di Mosca ha annunciato lo sviluppo di un nuovo sistema di biglietteria. Nel messaggio si precisa che la carta della Troika sarà personalizzata e verrà effettuata l'integrazione con i sistemi di biglietteria di altre regioni. Il nuovo sistema di ticket sarà in grado di elaborare più di 6 miliardi di transazioni all’anno. Il messaggio non menziona però l'introduzione delle tariffe zonali.

Secondo le specifiche tecniche della metropolitana, il nuovo sistema di biglietti dovrebbe unire i vettori e i servizi urbani che operano nel territorio di Mosca e Nuova Mosca. Su questa base, attraverso l'applicazione Troika, attraverso l'integrazione con altri operatori di trasporto, dovrebbe essere organizzata l'emissione unificata dei biglietti e la gestione del trasporto urbano unificato. Questo sistema includerà anche la possibilità di pagare i servizi più diffusi in città (car sharing, noleggio biciclette), biglietti del cinema, biglietti del teatro e sale espositive. Si prevede una determinazione dinamica della tariffa in più fasi, che dipenderà, ad esempio, dall'ora del giorno, dalla zonizzazione, dal numero di trasferimenti e dalle modalità di trasporto utilizzate.

Inoltre, il sistema consentirà di gestire i flussi di passeggeri offrendo nuovi prodotti e programmi fedeltà. Comprenderà la possibilità di replicare le soluzioni proposte in altre regioni. Secondo le stime riportate nelle specifiche tecniche della metropolitana, il flusso medio giornaliero di passeggeri gestito dal nuovo sistema di biglietteria dovrebbe essere di almeno 16 milioni di passeggeri al giorno. Nel medio termine potrebbe arrivare a 24 milioni.

Quando è nata l’idea del pagamento per zone?

I rappresentanti della metropolitana di Mosca hanno annunciato diversi anni fa la necessità di introdurre tariffe zonali. In particolare, nel 2009, l’ex capo della metropolitana della capitale, Dmitry Gaev, affermò che le zone tariffarie sono il futuro della metropolitana. Secondo lui, l'introduzione di un tale sistema di pagamento sarà possibile solo dopo il completamento del terzo circuito di interscambio, quando i passeggeri avranno la possibilità di percorrere percorsi alternativi. Secondo il piano attuale, dovrebbe essere completato nel 2020.

Le tariffe zonali nella metropolitana sono utilizzate in molte megalopoli, ad esempio a Parigi, Barcellona e Londra. Quanto più la stazione è lontana dal centro, tanto più cara sarà la tariffa. Ad esempio, a Shanghai il costo dipende dalla distanza del viaggio: per i primi 6 km il passeggero paga 3 yuan (circa 29 rubli) e per ogni 10 km successivi - 1 yuan (9,7 rubli). Allo stesso tempo, su una delle diramazioni che portano in una zona in via di sviluppo della città, il viaggio costa 2 yuan (19,46 rubli).

Foto: Evgeny Razumny / Vedomosti / TASS

Cosa darà questo alla metropolitana?

Secondo il direttore generale di INFOLine Analytics, Mikhail Burmistrov, è matura la necessità di dividere la metropolitana di Mosca in zone tariffarie. “La metropolitana si sta espandendo attivamente, addentrandosi nella regione e nella Nuova Mosca. I piani prevedono l'estensione delle linee agli aeroporti. In queste condizioni, la ridistribuzione del peso tariffario sui passeggeri è abbastanza logica”, ha detto l’analista.

Secondo SPARK, nel 2017 (l’ultimo periodo disponibile), la perdita della metropolitana di Mosca è stata di 2,9 miliardi di rubli e il fatturato è stato di 108,27 miliardi di rubli. La zonizzazione tariffaria consentirà alla metropolitana di aumentare le entrate aumentando le tariffe per i residenti delle stazioni remote, ha osservato Burmistrov. Tuttavia, è impossibile stimare quanto il reddito potrà aumentare finché non saranno determinati la politica tariffaria e i principi di zonizzazione.

Burmistrov ha osservato che l'attuazione del nuovo sistema tariffario richiederà diversi anni. “Molto probabilmente inizieranno con le zone test. Non escludo che in futuro questo stesso sistema verrà utilizzato nella metropolitana di San Pietroburgo. In altre città russe la metropolitana non è così estesa e le zone tariffarie semplicemente non hanno senso”, ha concluso Burmistrov.

Secondo Alexander Gushchin, vicedirettore dell’Analytical Credit Rating Agency (ACRA), il sistema di pagamento zonale può aumentare le entrate del vettore ridistribuendo l’onere tariffario sui passeggeri. “L’aumento del costo dei biglietti di viaggio è sempre un tema molto delicato per la popolazione. Ma quando il vettore dispone di un meccanismo per la regolazione delle tariffe, questo aumento non sarà così evidente. Pertanto, se il sistema di zonizzazione viene comunque implementato e si radica, con la corretta fissazione delle tariffe ciò può avere un impatto positivo sui ricavi della metropolitana. Naturalmente l’effetto non sarà visibile immediatamente”, ha concluso l’analista.

Cosa accadrà ai vecchi metodi di pagamento?

Il servizio stampa della metropolitana di Mosca ha dichiarato che la gara d'appalto prevede la creazione di un sistema che supporti il ​​pagamento e il controllo dei viaggi sui trasporti pubblici di Mosca, nonché la personalizzazione della carta Troika. “Poiché il sistema è progettato per l'uso su diversi tipi trasporto pubblico, quindi le specifiche tecniche prevedono diversi tipi di controllo dei biglietti, sia all'ingresso che all'uscita", afferma il servizio stampa in risposta alla richiesta di RBC. La metropolitana ha notato che a Mosca le tariffe zonali sono già applicate. Nella capitale esistono due zone tariffarie per il trasporto urbano terrestre di passeggeri: la zona A (Mosca all'interno della tangenziale di Mosca e Novomoskovsky distretto amministrativo) e la zona B (distretto amministrativo di Troitsky).

“L’implementazione graduale del nuovo sistema di ticket inizierà nel 2020. Supporterà tutte le soluzioni tecniche attualmente disponibili nei sistemi di pagamento e di controllo delle tariffe, quindi la sua implementazione avverrà quasi inosservata dai passeggeri. Questa logica di una transizione “senza soluzione di continuità” al nuovo sistema è inclusa come uno dei requisiti chiave”, ha riferito la metropolitana di Mosca. Prima di realizzare il progetto, si è sviluppata l'esperienza di Tokyo, Singapore, Londra, New York e altre megalopoli sistemi di trasporto, ha osservato il servizio stampa della metropolitana della capitale.​

Un altro progetto di un misuratore di visualizzazione avanzato, che include la misurazione della temperatura, della pressione atmosferica, dell'umidità dell'aria e il conteggio del tempo con un calendario. In generale, include tutti i miei sviluppi nel lavoro con i sensori attraverso la mia passione per i microcontrollori, e tutti i beni acquistati devono essere utilizzati da qualche parte :) Il risultato dovrebbe essere un registratore di temperatura migliorato, la prima versione della quale ho abbandonato. Bene, questo sarà più tardi, ma ora fornirò una descrizione di questa scheda e testerò il codice per verificarne la funzionalità pieno di sensori e microcircuiti.

Il cuore del circuito è il microcontrollore ATMega64 di Atmel, alimentato da un quarzo esterno a 16 MHz. Il tempo viene conteggiato dal chip dell'orologio in tempo reale DS1307, me ne sono già occupato e quindi ho seguito il percorso collaudato.

Per misurare temperatura e umidità è stato utilizzato un sensore DHT11, sebbene sia prodotto in Cina acqua pura, ma le letture sono abbastanza soddisfacenti. Ho anche SHT21 nella mia scorta, ma poi la ripetibilità del circuito diminuirà notevolmente, perché è più difficile da ottenere e costerà quanto l'intero circuito assemblato.

Tutti gli elementi (ad eccezione di due resistori) si trovano sullo strato superiore, sul fondo ci sono strade che non si adattano alla parte superiore. C'è poco di interessante lì, quindi non includo foto.

Per poter collegare direttamente il dispositivo a un computer (ad esempio per scaricare i dati accumulati), la scheda dispone di un convertitore USB-UART sul chip FT232RL. Puoi anche caricare il firmware nel microcontrollore tramite questo convertitore se installi prima un bootloader nel microcontrollore. Ho scritto prima come farlo.

Per collegare sensori esterni, per ogni evenienza, sono fornite uscite dalle porte PA0-PA3. Vengono visualizzati anche i contatti dell'interfaccia SPI, nel caso in cui si desideri connettersi

Il circuito barometrico per la misurazione della pressione atmosferica è realizzato utilizzando un sensore di pressione MPXHG6115. Il sensore stesso fornisce una tensione in uscita proporzionale alla pressione dell'aria. Il campo operativo copre la pressione atmosferica (90 - 110 kPa) a livello del mare. La pressione minima dell'aria operativa del sensore è di 15 kPa, che ne consente l'utilizzo anche in zone montuose. Per fare ciò, però, è necessario ricalcolare le resistenze presenti sulla sua scheda. Per la pressione atmosferica in un'area vicino al livello del mare, l'intervallo di tensione di uscita del sensore è 3,625 - 4,55 volt. Nella parte analogica del circuito (ombreggiata nel diagramma), all'uscita viene generata una tensione lineare nell'intervallo 0 - 5 V, che rientra nell'intervallo normale dell'ADC del microcontrollore. L'adattamento viene effettuato utilizzando due amplificatori operazionali. Quello di sinistra (nello schema) fornisce la resistenza di carico ottimale per il sensore (51 kOhm) e inverte la tensione di riferimento di circa 2,5 V. La tensione di riferimento è ottenuta utilizzando un partitore di tensione costituito da due resistori da 11,5 k (precisione 1%) . L'amplificatore operazionale destro fornisce il ridimensionamento della tensione necessario e l'impostazione iniziale su 0. Si consiglia di utilizzare un doppio OPA2374.

Specifiche

  • Intervallo di misurazione: 700 - 800 mmHg
  • Tensione di alimentazione: 5 volt
  • Consumo di corrente: 40 mA

Il sensore zoom e l'amplificatore analogico sono assemblati su un piccolo circuito stampato. Si collega alla scheda principale tramite 3 fili. Il circuito di test è costituito da un microcontrollore e un modulo di interfaccia LCD montato sul lato posteriore. La scheda di interfaccia effettua tutte le comunicazioni con il PIC utilizzando solo due fili e il suo software implementa una versione semplificata dell'interfaccia I2C standard. Il programma del controller PIC16F84 assegna il suo ingresso pin RC3 all'ingresso ADC. Calcola semplicemente la pressione in base alla tensione di ingresso secondo la formula, la converte in BCD e la visualizza sullo schermo.