Innholdsfortegnelse:

Hvordan lage en vannmåler: 7 trinn
Hvordan lage en vannmåler: 7 trinn

Video: Hvordan lage en vannmåler: 7 trinn

Video: Hvordan lage en vannmåler: 7 trinn
Video: Hvordan lage en hjemmeside pa 7 minutter 2024, November
Anonim
Hvordan lage en vannmåler
Hvordan lage en vannmåler

En nøyaktig, liten og rimelig væskestrømningsmåler kan enkelt lages ved hjelp av GreenPAK ™ -komponenter. I denne instruksen presenterer vi en vannmåler som kontinuerlig måler vannføringen og viser den på tre 7-segmenters skjermer. Flow sensor måleområdet er fra 1 til 30 liter per minutt. Sensorens utgang er et digitalt PWM -signal med en frekvens som er proporsjonal med vannstrømningshastigheten.

Tre GreenPAK programmerbare blandede signalmatrise SLG46533 ICs teller antall pulser innen en basetid T. Denne basetiden beregnes slik at antallet pulser er lik strømningshastigheten i den perioden, deretter vises dette beregnede tallet på 7 -segmentvisninger. Oppløsningen er 0,1 liter/min.

Sensorens utgang er koblet til en digital inngang med Schmitt-utløser av en første blandet signalmatrise som teller brøknummeret. Brikkene kaskades sammen via en digital utgang, som er koblet til en digital inngang til en pågående blandet signalmatrise. Hver enhet er koblet til en 7 -segmenters felles katodeskjerm gjennom 7 utganger.

Å bruke en GreenPAK programmerbar blandet signalmatrise er å foretrekke fremfor mange andre løsninger som mikrokontrollere og diskrete komponenter. Sammenlignet med en mikrokontroller er en GreenPAK lavere kostnad, mindre og enklere å programmere. Sammenlignet med en diskret design av integrerte kretser, er det også lavere kostnader, lettere å bygge og mindre.

For å gjøre denne løsningen kommersielt levedyktig, må systemet være så lite som mulig og være innelukket i et vanntett, hardt kabinett for å være motstandsdyktig mot vann, støv, damp og andre faktorer, slik at det kan fungere under forskjellige forhold.

For å teste designet ble det bygget en enkel PCB. GreenPAK -enhetene er koblet til denne PCB -en ved hjelp av 20 pinners dobbelrader hunnkontakter.

Tester utføres første gang ved bruk av pulser generert av en Arduino, og i andre gang ble vannstrømningshastigheten til en hjemmevannskilde målt. Systemet har vist en nøyaktighet på 99%.

Oppdag alle trinnene du trenger for å forstå hvordan GreenPAK -brikken er programmert til å kontrollere vannmengde. Men hvis du bare vil få resultatet av programmeringen, kan du laste ned GreenPAK -programvare for å se den allerede fullførte GreenPAK -designfilen. Koble GreenPAK Development Kit til datamaskinen din, og trykk på programmet for å lage den egendefinerte ICen for å kontrollere vannmengden. Følg trinnene beskrevet nedenfor hvis du er interessert i å forstå hvordan kretsen fungerer.

Trinn 1: Samlet beskrivelse av systemet

Samlet beskrivelse av systemet
Samlet beskrivelse av systemet
Samlet beskrivelse av systemet
Samlet beskrivelse av systemet

En av de vanligste måtene å måle væskestrømningshastighet på er nøyaktig som prinsippet om måling av vindhastigheten med et vindmåler: vindens hastighet er proporsjonal med vindhastigheten til vindmåleren. Hoveddelen av denne typen strømningssensor er en slags tappehjul, hvis hastighet er proporsjonal med væskestrømningshastigheten som passerer gjennom den.

Vi brukte vannstrømningssensoren YF-S201 fra firmaet URUK vist i figur 1. I denne sensoren gir en Hall Effect-sensor montert på tappehjulet en puls ved hver omdreining. Utgangssignalfrekvensen presenteres i formel 1, der Q er vannmengde i liter/minutt.

For eksempel, hvis den målte strømningshastigheten er 1 liter/minutt, er utgangssignalfrekvensen 7,5 Hz. For å vise den virkelige verdien av strømmen i formatet 1,0 liter/minutt, må vi telle pulser i en tid på 1,333 sekunder. I eksemplet på 1,0 liter/minutt vil det tellede resultatet være 10, som vises som 01,0 på de syv segmentene. To oppgaver er adressert i denne applikasjonen: den første teller pulser og den andre viser tallet når telleoppgaven er fullført. Hver oppgave varer 1,333 sekunder.

Trinn 2: Implementering av GreenPAK Designer

SLG46533 har mange allsidige kombinasjonsfunksjonelle makroceller, og de kan konfigureres som Slå opp tabeller, tellere eller D-flip-flops. Denne modulariteten er det som gjør GreenPAK egnet for applikasjonen.

Programmet har 3 trinn: trinn (1) genererer et periodisk digitalt signal for å veksle mellom systemets 2 oppgaver, trinn (2) teller strømningssensorpulser og trinn (3) viser brøknummeret.

Trinn 3: Første trinn: Telle/vise bytte

Første trinn: Telle/vise bytte
Første trinn: Telle/vise bytte
Første trinn: Telle/vise bytte
Første trinn: Telle/vise bytte
Første trinn: Telle/vise bytte
Første trinn: Telle/vise bytte

En digital utgang “COUNT/DISP-OUT” som endrer tilstanden mellom høy og lav hvert 1.333 sekund er nødvendig. Når det er høyt, teller systemet pulser og når det er lavt, viser det det tellede resultatet. Dette kan oppnås ved hjelp av kablet DFF0, CNT1 og OSC0 som vist i figur 2.

Frekvensen til OSC0 er 25 kHz. CNT1/DLY1/FSM1 er konfigurert som en teller, og klokkeinngangen er koblet til CLK/4 slik at CNT1s inngangsklokkefrekvens er 6,25 kHz. For den første klokkeperioden som varer som vist i ligning 1, er CNT1 -utgangen høy, og fra den neste klokkens signal stiger kanten, er telleutgangen lav og CNT1 begynner å avta fra 8332. Når CNT1 -data når 0, blir en ny puls på CNT1 -utgangen generert. På hver stigende kant av CNT1 -utgang endrer DFF0 -utgang tilstanden, hvis den går over til høy og omvendt.

DFF0s utgangspolaritet bør konfigureres som invertert. CNT1 er satt til 8332 fordi telling/visningstid T er lik som vist i ligning 2.

Trinn 4: Andre trinn: Telle inngangspulser

Andre trinn: Telle inngangspulser
Andre trinn: Telle inngangspulser
Andre trinn: Telle inngangspulser
Andre trinn: Telle inngangspulser
Andre trinn: Telle inngangspulser
Andre trinn: Telle inngangspulser

En 4-bits teller lages med DFF3/4/5/6, som vist i figur 4. Denne telleren øker bare på hver puls når “COUNT/DISP-IN”, som er PIN 9, er høy. AND-port 2-L2-inngangene er "COUNT/DISP-IN" og PWM-inngangen. Telleren nullstilles når den når 10 eller når tellefasen starter. 4-bits telleren tilbakestilles når DFFs RESET-pinner, som er koblet til det samme nettverket “RESET”, er lave.

4-bits LUT2 brukes til å tilbakestille telleren når den når 10. Siden DFF-utganger er invertert, defineres tall ved å invertere alle bitene i deres binære representasjoner: bytte 0s for 1s og omvendt. Denne representasjonen kalles 1s komplement til binært tall. 4-bits LUT2-innganger IN0, IN1, IN2 og IN3 er koblet til henholdsvis a0, a1, a2, a3 og a3. Sannhetstabellen for 4-LUT2 er vist i tabell 1.

Når 10 pulser er registrert, bytter utgangen fra 4-LUT0 fra høy til lav. På dette tidspunktet går utgangen til CNT6/DLY6, konfigurert til å fungere i ett skuddmodus, til lav i en periode på 90 ns og slår seg deretter på igjen. På samme måte når "COUNT/DISP-IN" bytter fra lav til høy, det vil si. systemet begynner å telle pulser. Utgangen til CNT5/DLY5, konfigurert til å fungere i ett skuddmodus, bytter for lavt i en periode på 90 ns og slås deretter på igjen. Det er avgjørende å holde RESET -knappen på et lavt nivå en stund og slå den på igjen med CNT5 og CNT6 for å gi alle DFF -er tid til å tilbakestille. En forsinkelse på 90 ns har ingen innvirkning på systemets nøyaktighet siden maksimal frekvens for PWM -signalet er 225 Hz. CNT5- og CNT6 -utganger er koblet til innganger til AND -porten som sender ut RESET -signalet.

Utgangen fra 4-LUT2 er også koblet til Pin 4, merket "F/10-OUT", som vil bli koblet til PWM-inngangen til den neste brikkens telletrinn. For eksempel, hvis "PWM-IN" på fraksjonstelleren er koblet til sensorens PWM-utgang, og dens "F/10-OUT" er koblet til "PWM-IN" for enhetens tellerenhet og " F/10-OUT "av sistnevnte er koblet til" PWM-IN "til telleren som teller og så videre. "TELL/DISP-IN" av alle disse stadiene bør være koblet til den samme "TELLING/DISP-UT" av en av de tre enhetene for fraksjonstelleren.

Figur 5 forklarer i detalj hvordan dette stadiet fungerer ved å vise hvordan man måler en strømningshastighet på 1,5 liter/minutt.

Trinn 5: Tredje trinn: Vise målt verdi

Tredje trinn: Vise målt verdi
Tredje trinn: Vise målt verdi
Tredje trinn: Vise målt verdi
Tredje trinn: Vise målt verdi
Tredje trinn: Vise målt verdi
Tredje trinn: Vise målt verdi

Dette trinnet har innganger: a0, a1, a2 og a3 (reversert), og vil sende ut til pinnene som er koblet til 7-segmenters display. Hvert segment har en logisk funksjon som skal gjøres av tilgjengelige LUT -er. 4-biters LUT kan gjøre jobben veldig enkelt, men dessverre er bare 1 tilgjengelig. 4-biters LUT0 brukes for segment G, men for de andre segmentene brukte vi et par 3-bits LUT-er som vist i figur 6. De 3-biters LUT-ene til venstre har a2/a1/a0 koblet til inngangene, mens den høyre til høyre 3-biters LUT har a3 koblet til inngangene.

Alle oppslagstabeller kan utledes av 7-segmenters dekoder sannhetstabell vist i tabell 2. De er presentert i tabell 3, tabell 4, tabell 5, tabell 6, tabell 7, tabell 8, tabell 9.

Kontrollpinner til GPIO-er som styrer 7-segmenters display er koblet til "COUNT/DISP-IN" via en inverter som utganger når "COUNT/DISP-IN" er lav, noe som betyr at displayet bare endres under visningsoppgaven. Derfor, under telleoppgaven, er skjermer AV, og under visningsoppgave viser de de tellede pulser.

En desimaltegn kan være nødvendig et sted i 7-segmentet. Av denne grunn er PIN5, merket "DP-OUT", koblet til det omvendte "COUNT/DISP" -nettverket, og vi kobler den til DP på den tilsvarende skjermen. I vår applikasjon må vi vise desimalpunktet til enhetens telleenhet for å vise tall i formatet "xx.x", deretter kobler vi "DP-OUT" for enhetstelleren til DP-inngangen til enhetens 7- segmentvisning, og vi lar de andre ikke være tilkoblet.

Trinn 6: Implementering av maskinvare

Maskinvareimplementering
Maskinvareimplementering

Figur 7 viser sammenkoblingen mellom de 3 GreenPAK -brikkene og tilkoblingene til hver brikke til den tilhørende skjermen. Desimalpunktsutgangen til GreenPAK er koblet til DP-inngangen på 7-segmentskjermen for å vise strømningshastigheten i det riktige formatet, med en oppløsning på 0,1 liter / minutt. PWM -inngangen til LSB -brikken er koblet til PWM -utgangen til vannstrømssensoren. F/10 -utgangene til kretsene er koblet til PWM -inngangene til den følgende brikken. For sensorer med høyere strømningshastigheter og/eller større nøyaktighet kan flere brikker kaskades for å legge til flere sifre.

Trinn 7: Resultater

Resultater
Resultater
Resultater
Resultater
Resultater
Resultater

For å teste systemet, bygde vi en enkel kretskort som har kontakter for å koble til GreenPAK-stikkontakter ved hjelp av 20-pins to-raders hunnhoder. Skjematisk og oppsett av denne PCB -en samt bilder er presentert i vedlegget.

Systemet ble først testet med en Arduino som simulerer en strømningshastighetssensor og en vannkilde med en konstant, kjent strømningshastighet ved å generere pulser på 225 Hz som tilsvarer en strømningshastighet på henholdsvis 30 liter/minutt. Resultatet av målingen var lik 29,7 liter/minutt, feilen er ca 1 %.

Den andre testen ble utført med vannstrømningshastighetssensoren og en hjemmevannskilde. Måling ved forskjellige strømningshastigheter var 4,5 og 12,4.

Konklusjon

Denne instruksjonsboken viser hvordan du bygger en liten, rimelig og nøyaktig strømningsmåler ved hjelp av en Dialog SLG46533. Takket være GreenPAK er dette designet mindre, enklere og enklere å lage enn sammenlignbare løsninger.

Systemet vårt kan måle en strømningshastighet på opptil 30 liter / minutt med en oppløsning på 0,1 liter, men vi kan bruke flere GreenPAK -er til å måle høyere strømningshastigheter med høyere nøyaktighet avhengig av strømningssensoren. Et Dialog GreenPAK-basert system kan fungere med et bredt spekter av turbinestrømningsmålere.

Den foreslåtte løsningen ble designet for å måle strømningshastigheten til vann, men den kan tilpasses til bruk med alle sensorer som sender ut et PWM -signal, som en gassstrømningshastighetssensor.

Anbefalt: