Rilevatore Pressione e Densità di un liquido

Tesine 2015-18

Scritto da De Martino Luigi

De Martino Luigi - Classe 5A-IPAI -  Esame di Stato: 2017-20178        UK
Rilevatore Pressione e Densità di un liquido
Applicazione con Arduino e sensore di pressione differenziale MPX5010dp

Descrizione
Il rilevatore di Pressione/Densità è un sistema elettronico Hardware/Software basato su Arduino Uno e il sensore di pressione differenziale MPX5010dp.
In Figura 1 è riportato lo schema della parte Hardware. Tramite Software, memorizzato nella memoria programma di Arduino, viene letta la pressione differenziale tra due punti del liquido in esame (h=4 cm), sempre tramite software e con la legge di Stevino si determina la densità del liquido.
densità=DP/(g*h)     ( DP=pressione differenziale in KPa, g=9,81 m/s2 accelerazione di gravità, h=4 cm distanza tra i due punti di misura)
In base alle unità di misura scelte, la densità è espressa in g/cm3.
Nel sistema sono presenti anche due sensori di temperatura uno interno ed uno esterno che rilevano rispettivamente la temperatura del liquido e la temperatura dell'ambiente. I dati acquisiti ed elaborati insieme alla data e l'ora vengono visualizzati sul display LCD 20x04.

 schema 2ab  

Il progetto è suddiviso in una parte Hardware ed in una parte Software.
1) Arduino Uno (Sistema di sviluppo programmabile)

2) Sensore di pressione differenziale MPX5010dp
3) Modulo Orologio RTC DS 1307
4) Display LCD I2C 20x4

 
1Arduino Uno
Arduino è un sistema open source che permette la prototipazione rapida e l'apprendimento veloce dei principi fondamentali dell'elettronica e della programmazione. È composto da una scheda hardware per l'assemblaggio del prototipo. Questa si basa su un circuito stampato che integra un microcontrollore con pin connessi alle porte I/O, un regolatore di tensione e un'interfaccia USB che permette la comunicazione con il computer. A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (Linux, Apple Macintosh e Windows). Questo software permette di scrivere programmi (sketch ) con un linguaggio semplice e intuitivo derivato da C/C++ chiamato Wiring (cablare, collegare con cavi). 
In commercio esistono diversi modelli, in tabella sono riportate le caratteristiche tecniche di Arduino Uno.
  • Microcontrollore: ATmega328
  • Tensione operativa: 5 V Alimentazione: - da 7 a 12 V (tramite plug) - 5V (tramite porta USB) - Tensione di alimentazione (limiti): 6-20V
  • Ingressi/uscite Digitali: 14 (di cui 6 possono essere utilizzate come uscite PWM)
  • Ingressi analogici: 6
  • Corrente Dc per pin I/O: 40 mA - Corrente DC per pin 3,3 V: 50 mA
  • Memoria Flash: 32 kB (di cui 0,5 kB utilizzati dal bootloader) - SRAM: 2 kB -EEPROM: 1 kB
  • Velocità di Clock : 16 MHz

 

 

2) Sensore di pressione differenziale MPX5010dp
mpx5010dpIl MPX5010DP è un sensore integrato di pressione in silicio a doppia porta in un pacchetto SIP a 6 pin.
Questo trasduttore piezoresistivo è un sensore monolitico di pressione in silicio di ultima generazione progettato per un'ampia gamma di applicazioni.

Ideale per il sistema a microprocessore o microcontrollore con ingresso per convertitore A/D.
Questo modello combina tecniche avanzate di microlavorazione, metallizzazione a pellicole sottili e elaborazione bipolare per fornire un preciso segnale di uscita analogico ad alto livello proporzionale alla pressione applicata. La porta assiale è stata modificata per accogliere tubi industriali.

 

In figura è riportata la caratteristica di trasferimento

Caratteristiche tecniche:

  • Controllato da segnale su chip, a temperatura compensata e calibrata
  • Configurazioni differenziali
  • Errore massimo 5,0% su 0°C / 85°C
  • Corpo unico epossidico durevole
  • Temperatura compensata da -40°C a 125°C
  • Pressacavo taglio silicio brevettato
  • La portata va da 0KPa a 10KPa
  • Intervallo di tensione da 4.75VDC a 5.25VDC
  • Sensibilità 450mV/mm
  • Tempo di risposta 1ms

Applicazioni
Rilevamento & Strumentazione, Elettronica di Consumo, Dispositivi Portatili, Automazione e Controllo di Processo, Medicale

 

UKMPX5010dpThe MPX5010DP is a built-in dual-port silicon pressure sensor in a 6-pin SIP package. This piezoresistive transducer is a latest generation monolithic silicon pressure sensor designed for a wide range of applications. Ideal for microprocessor or microcontroller system with input for A / D converter. This model combines advanced micromachining, thin film metallurgy and bipolar processing techniques to provide a precise high-level analog output signal proportional to the applied pressure. The axial door has been modified to accommodate industrial pipes.

Features
• Controlled by signal on chip, temperature compensated and calibrated
• Differential configurations
• Maximum error 5.0% on 0 °C / 85 °C
• Durable epoxy unique body
• Temperature compensated from -40 °C to 125 °C
• Patented silicon cut cable gland
• The flow rate ranges from 0KPa to 10KPa
• Voltage range from 4.75VDC to 5.25VDC
• Sensitivity 450mV / mm
• Response time 1ms
• Available in Surface Mount (SMT) or Through-hole (DIP) Configurations

Application Examples
• Detection & Instrumentation, Consumer Electronics, Portable Devices, Automation and Process Control, Medical

3) Modulo Orologio RTC DS 1307

Un RTC (Real-Time Clock, orologio in tempo reale, è un dispositivo con funzione di orologio, solitamente costituito da un processore a circuito integrato specializzato per questa funzione, il quale conteggia il tempo reale (anno, mese, giorno, ore, minuti e secondi) anche quando l'utilizzatore viene spento. Viene usato in molti tipi di computer ed è presente in tutti i PC. L'RTC è presente anche in molti sistemi embedded nonché viene utilizzato anche in circuiti elettronici dove è necessario avere un preciso riferimento temporale.
Alcuni modelli di RTC integrati sono il DS1307 di Maxim, il PCF8563 di NXP Semiconductors (ex Philips) e le diverse soluzioni di Integrated Device Technology (IDT).
Per poter mantenere il conteggio del tempo anche a circuito non alimentato, i real-time clock hanno un oscillatore al quarzo a loro dedicato e sono alimentati da una speciale batteria autonoma rispetto all'alimentazione principale; in alcuni tipi anche il quarzo è installato all'interno del package. Al contrario, i clock che non sono real-time non funzionano quando il dispositivo è spento.

Gli RTC furono introdotti nei computer agli inizi degli anni ottanta: uno dei primi ad integrare un orologio in tempo reale fu l'Apple III. Successivamente anche IBM utilizzò un RTC nel suo PC AT del 1984, che integrava un RTC MC146818. Successivamente anche Dallas Semiconductor realizzò degli RTC. Gli orologi in tempo reale erano facilmente individuabili sulle schede madri dei vecchi PC grazie alla batteria tampone che avevano vicino e a dei disegni che indicavano la funzione del chip. Nei computer più recenti gli RTC sono integrati direttamente nel chipset del sistema. Gli RTC non devono essere confusi con il real-time o il clock della CPU.

Questo modulo è basato sul chip DS1307, orologio/calendario a basso consumo che implementa anche 56 bytes di memoria SRAM non volatile; il modulo RTC fornisce informazioni su secondi, minuti, ore, giorno, mese e anno. La data del fine mese è riconosciuta automaticamente per quei mesi con meno di 31 giorni, inclusi anche gli anni bisestili; l'orologio può operare sia in modalità 24-ore sia in modalità 12-ore con indicazione AM/PM.
Il modulo RTC utilizza il protocollo I2C per comunicare con Arduino tramite i pin analogici A5 (SCL) e A4 (SDA). Il DS1307 opera come slave sul bus I2C ed è allocato all’indirizzo 0x68 (Nel linguaggio C si usa il suffisso 0x per indicare un numero esadecimale).

4) Display LCD I2C 20x4

lcd1

Il display, come evidenziato nello zoom della figura, permette la visualizzazione dei seguenti dati:
1) Data e Ora
2) Pressione differenziale, Densità
3) Temperatura interna, m/M (minimo/Massimo della temperatura interna)
4) Temperatura esterna, m/M (minimo/Massimo della temperatura esterna)
Modulo LCD 20x4 dispone di 4 righe e 20 colonne è basato sul controller HD44780; dotato di retroilluminazione blu, caratteri bianchi, regolazione del contrasto e di un'interfaccia di comunicazione I2C.

Lo schermo a cristalli liquidi (LCD) è un display a schermo piatto, una visualizzazione elettronica o un video che utilizza le proprietà modulanti della luce dei cristalli liquidi. I cristalli liquidi non emettono direttamente la luce. 
Come mostrato nell'immagine, un'importante caratteristica di questo modulo LCD è l'interfaccia di comunicazione I2C integrata posta sul retro che ne rende estremamente semplice l'utilizzo con Arduino.
Il modulo è dotato di 4 pin (Alimentazione: Vcc, Gnd) e (Dati: SDA, SCL)
Questo modulo permette di comunicare con un display LCD mediante il protocollo I2C che impegna quindi due sole porte. (Dati: SDA, SCL) oltre ai due terminali di alimentazione (VCC, GND).

Sul modulo è presente un potenziometro per la regolazione del contrasto ed un jumper rimovibile per l'attivazione della retroilluminazione. Se il jumper viene rimosso e tra i due pin viene inserita una resistenza, si può modificare l'intensità di retroilluminazione (ad esempio con una resistenza da 470 ohm 1/4w l'intensità si dimezza).

Settaggio dell'indirizzo del modulo
Sono inoltre presenti tre connessioni denominate A1, A2 e A3 per il settaggio (a 3-bit) dell'indirizzo I2C tra 0x20 e 0x27. L'indirizzo di default è 0x27 (A0, A1 e A2 lasciati aperti). La chiusura di una coppia si effettua collegando tra loro le due rispettive piazzole. E’ ovvio che tale indirizzo hardware deve coincidere con l’indirizzo I2C nel software/libreria di gestione del Modulo. Il display viene gestito tramile la libreria LiquidCrystal_I2C.h.

Approfondimento:
Densità:
La densità di una sostanza è il rapporto tra la massa e il volume di tale sostanza.
d=m/v
Nel Sistema Internazionale la densità si misura in kg/m³; nel sistema CGS in g/cm³ o equivalentemente in g/mL.

Nell'uso comune si utilizza talvolta il kg/litro (kg/dm³), che corrisponde esattamente al g/cm³.
La densità di una sostanza è la quantità di materia presente in un volume unitario di detto corpo. E' una grandezza intensiva in quanto il suo valore non dipende dalla quantità di sostanza considerata.


 


 

 

 

 

 

 

Software
Di seguito è riportato un estratto del software (Sketch) di gestione

/* -----------------------------------------------------------------------
- De Martino Luigi - Esame di Stato A.S.2017-2018 - CL:5AIPAI
--------------------------------------------------------------------------
*/ 

 

Bibliografia:
1) Appunti scolastici
2) http://it.farnell.com
3)

Allegati:
Scarica questo file (MPX5010.pdf)MPX5010.pdf[ ]555 kB