Innehållsförteckning:

Hur man skapar en vattenflödesmätare: 7 steg
Hur man skapar en vattenflödesmätare: 7 steg

Video: Hur man skapar en vattenflödesmätare: 7 steg

Video: Hur man skapar en vattenflödesmätare: 7 steg
Video: Hur skapar man en youtube kanal 2024, November
Anonim
Hur man skapar en vattenflödesmätare
Hur man skapar en vattenflödesmätare

En exakt, liten och billig vätskeflödesmätare kan enkelt göras med GreenPAK ™ -komponenter. I den här instruktionsboken presenterar vi en vattenflödesmätare som kontinuerligt mäter vattenflödet och visar det på tre skärmar med 7 segment. Flödessensorns mätområde är från 1 till 30 liter per minut. Sensorns utgång är en digital PWM -signal med en frekvens som är proportionell mot vattenflödeshastigheten.

Tre GreenPAK-programmerbara Mixed-Signal Matrix SLG46533 ICs räknar antalet pulser inom en bastid T. Denna bastid beräknas så att antalet pulser är lika med flödeshastigheten under den perioden, sedan visas detta beräknade antal på 7 -segmentdisplayer. Upplösningen är 0,1 liter/min.

Sensorns utgång är ansluten till en digital ingång med Schmitt-trigger av en första Mixed-signal Matrix som räknar bråktalet. Chippen kaskaderas tillsammans via en digital utgång, som är ansluten till en digital ingång i en pågående blandad signalmatris. Varje enhet är ansluten till en 7 -segment gemensam katodskärm via 7 utgångar.

Att använda en GreenPAK programmerbar blandad signalmatris är att föredra framför många andra lösningar som mikrokontroller och diskreta komponenter. Jämfört med en mikrokontroller är en GreenPAK lägre kostnad, mindre och lättare att programmera. Jämfört med en diskret design av integrerade kretsar är det också lägre kostnad, lättare att bygga och mindre.

För att göra denna lösning kommersiellt gångbar måste systemet vara så litet som möjligt och vara inneslutet i en vattentät, hård kapsling för att vara resistent mot vatten, damm, ånga och andra faktorer så att det kan fungera under olika förhållanden.

För att testa konstruktionen byggdes en enkel PCB. GreenPAK -enheterna är anslutna till detta kretskort med 20 stift med dubbla rader, honkontakter.

Tester görs första gången med hjälp av pulser som genereras av en Arduino och under en andra gång mättes vattenflödet från en hemvattenkälla. Systemet har visat en noggrannhet på 99%.

Upptäck alla steg som behövs för att förstå hur GreenPAK -chipet har programmerats för att styra vattenflödesmätaren. Men om du bara vill få resultatet av programmeringen, ladda ner GreenPAK -programvara för att se den redan färdiga GreenPAK -designfilen. Anslut GreenPAK Development Kit till din dator och tryck på programmet för att skapa en anpassad IC för att styra din vattenflödesmätare. Följ stegen som beskrivs nedan om du är intresserad av att förstå hur kretsen fungerar.

Steg 1: Övergripande beskrivning av systemet

Övergripande beskrivning av systemet
Övergripande beskrivning av systemet
Övergripande beskrivning av systemet
Övergripande beskrivning av systemet

Ett av de vanligaste sätten att mäta vätskeflöde är exakt som principen för att mäta vindens hastighet med en vindmätare: vindens hastighet är proportionell mot vindmätarens rotationshastighet. Huvuddelen av denna typ av flödessensor är ett slags tapphjul, vars hastighet är proportionell mot vätskeflödeshastigheten som passerar genom den.

Vi använde vattenflödessensorn YF-S201 från företaget URUK som visas i figur 1. I denna sensor avger en Hall Effect-sensor monterad på tapphjulet en puls vid varje varv. Utsignalens frekvens presenteras i Formel 1, där Q är vattenflödeshastigheten i liter/minut.

Till exempel, om den uppmätta flödeshastigheten är 1 liter/minut är utsignalens frekvens 7,5 Hz. För att visa flödets verkliga värde i formatet 1,0 liter/minut måste vi räkna pulser under tiden 1,333 sekunder. I exemplet på 1,0 liter/minut kommer det räknade resultatet att vara 10, vilket kommer att visas som 01,0 på sjusegmentsdisplayerna. Två uppgifter tas upp i den här applikationen: den första är att räkna pulser och den andra visar numret när räkningsuppgiften är klar. Varje uppgift varar 1,333 sekunder.

Steg 2: Implementering av GreenPAK Designer

SLG46533 har många mångsidiga kombinationsfunktionsmacroceller och de kan konfigureras som Slå upp tabeller, räknare eller D-flip-flops. Denna modularitet är det som gör GreenPAK lämplig för applikationen.

Programmet har tre steg: steg (1) genererar en periodisk digital signal för att växla mellan systemets två uppgifter, steg (2) räknar flödessensorpulser och steg (3) visar bråktalet.

Steg 3: Första etappen: Räkna/visa växling

Första etappen: Räkna/visa växling
Första etappen: Räkna/visa växling
Första etappen: Räkna/visa växling
Första etappen: Räkna/visa växling
Första etappen: Räkna/visa växling
Första etappen: Räkna/visa växling

En digital utgång “COUNT/DISP-OUT” som ändrar tillståndet mellan högt och lågt var 1.333 sekunder krävs. När det är högt räknar systemet pulser och när det är lågt visas det räknade resultatet. Detta kan uppnås med DFF0, CNT1 och OSC0 trådbunden som visas i figur 2.

Frekvensen för OSC0 är 25 kHz. CNT1/DLY1/FSM1 är konfigurerad som en räknare, och dess klockingång är ansluten till CLK/4 så att CNT1: s ingångsklockfrekvens är 6,25 kHz. För den första klockperioden som varar som visas i ekvation 1 är CNT1 -utmatningen hög och från nästa klocksignal stiger kanten, räknarutgången är låg och CNT1 börjar minska från 8332. När CNT1 -data når 0, blir en ny puls på CNT1 -utgången genererad. På varje stigande kant av CNT1 -utgången ändrar DFF0 -utgång tillståndet, om det är lågt växlar det till högt och vice versa.

DFF0: s utgående polaritet bör konfigureras som inverterad. CNT1 är inställd på 8332 eftersom räkne-/visningstid T är lika med som visas i ekvation 2.

Steg 4: Andra etappen: Räkna ingångspulser

Andra etappen: Räkna ingångspulser
Andra etappen: Räkna ingångspulser
Andra etappen: Räkna ingångspulser
Andra etappen: Räkna ingångspulser
Andra etappen: Räkna ingångspulser
Andra etappen: Räkna ingångspulser

En 4-bitars räknare görs med DFF3/4/5/6, som visas i figur 4. Denna räknare ökar bara på varje puls när “COUNT/DISP-IN”, som är PIN 9, är hög. AND-grind 2-L2-ingångarna är "COUNT/DISP-IN" och PWM-ingången. Räknaren återställs när den når 10 eller när räkningsfasen startar. 4-bitarsräknaren återställs när DFFs RESET-stift, som är anslutna till samma nätverk”RESET”, är låga.

4-bitars LUT2 används för att återställa räknaren när den når 10. Eftersom DFF-utgångar är inverterade definieras siffror genom att invertera alla bitar i deras binära representationer: byta 0s för 1s och vice versa. Denna representation kallas 1: s komplement till binärt tal. 4-bitars LUT2-ingångar IN0, IN1, IN2 och IN3 är anslutna till a0, a1, a2, a3 respektive a3. Sanningstabellen för 4-LUT2 visas i tabell 1.

När 10 pulser har registrerats växlar utgången från 4-LUT0 från hög till låg. Vid denna tidpunkt växlar utgången från CNT6/DLY6, konfigurerad för att fungera i ett skottläge, till låg under en period av 90 ns och slås sedan på igen. På samma sätt, när "COUNT/DISP-IN" växlar från låg till hög, det vill säga. systemet börjar räkna pulser. Utsignalen från CNT5/DLY5, konfigurerad för att fungera i ett skottläge, växlar för lågt under en period av 90 ns och slås sedan på igen. Det är avgörande att hålla RESET -knappen på en låg nivå ett tag och slå på den igen med CNT5 och CNT6 för att ge tid för alla DFF: er att återställa. En fördröjning på 90 ns påverkar inte systemets noggrannhet eftersom PWM -signalens maximala frekvens är 225 Hz. CNT5- och CNT6 -utgångar är anslutna till ingångarna på AND -grinden som matar ut RESET -signalen.

Utgången från 4-LUT2 är också ansluten till stift 4, märkt "F/10-OUT", som kommer att anslutas till PWM-ingången för nästa chips räknesteg. Till exempel, om "PWM-IN" för fraktionsräknaren är ansluten till sensorns PWM-utgång och dess "F/10-OUT" är ansluten till "PWM-IN" för enhetens räknarenhet och " F/10-OUT "på den senare är ansluten till" PWM-IN "för tioräknaren och så vidare. "COUNT/DISP-IN" av alla dessa steg bör anslutas till samma "COUNT/DISP-OUT" för någon av de tre enheterna för fraktionsräknaren.

Figur 5 förklarar i detalj hur detta steg fungerar genom att visa hur man mäter en flödeshastighet på 1,5 liter/minut.

Steg 5: Tredje etappen: Visa uppmätt värde

Tredje etappen: Visar uppmätt värde
Tredje etappen: Visar uppmätt värde
Tredje etappen: Visar uppmätt värde
Tredje etappen: Visar uppmätt värde
Tredje etappen: Visar uppmätt värde
Tredje etappen: Visar uppmätt värde

Denna etapp har ingångar: a0, a1, a2 och a3 (omvänd), och kommer att matas ut till stiften som är anslutna till 7-segmentskärmen. Varje segment har en logisk funktion som ska göras av tillgängliga LUT: er. 4-bitars LUT kan göra jobbet mycket enkelt men tyvärr finns bara 1 tillgängligt. 4-bitars LUT0 används för segment G, men för de andra segmenten använde vi ett par 3-bitars LUT som visas i figur 6. De 3-bitars LUT: n längst till vänster har a2/a1/a0 anslutna till sina ingångar, medan den längst till höger 3-bitars LUT har a3 ansluten till sina ingångar.

Alla uppslagstabeller kan härledas från 7-segments avkodarens sanningstabell som visas i tabell 2. De presenteras i tabell 3, tabell 4, tabell 5, tabell 6, tabell 7, tabell 8, tabell 9.

Kontrollpinnar på GPIO: er som styr 7-segmentskärmen är anslutna till "COUNT/DISP-IN" via en växelriktare som utgångar när "COUNT/DISP-IN" är lågt, vilket innebär att displayen endast ändras under visningsuppgiften. Under räkningsuppgiften är därför skärmarna AV och under visningsuppgiften visar de de räknade pulserna.

En decimalpunktsindikator kan behövas någonstans inom 7-segmentskärmen. Av denna anledning är PIN5, märkt "DP-OUT", ansluten till det omvända "COUNT/DISP" -nätverket och vi ansluter det till DP på motsvarande display. I vår applikation måste vi visa decimalpunkten för enheternas räknarenhet för att visa siffror i formatet "xx.x", sedan ansluter vi "DP-OUT" för enhetens räknarenhet till DP-ingången på enhetens 7- segmentvisning och vi lämnar de andra oanslutna.

Steg 6: Implementering av maskinvara

Hårdvaruimplementering
Hårdvaruimplementering

Figur 7 visar sammankopplingen mellan de 3 GreenPAK -chipsen och anslutningarna för varje chip till dess motsvarande display. Decimalpunktsutmatningen för GreenPAK är ansluten DP-ingången på 7-segmentskärmen för att visa flödeshastigheten i sitt korrekta format, med en upplösning på 0,1 liter / minut. PWM -ingången på LSB -chipet är ansluten till PWM -utgången från vattenflödessensorn. Kretsarnas F/10 -utgångar är anslutna till PWM -ingångarna på följande chip. För sensorer med högre flödeshastigheter och/eller större noggrannhet kan fler chips kaskad för att lägga till fler siffror.

Steg 7: Resultat

Resultat
Resultat
Resultat
Resultat
Resultat
Resultat

För att testa systemet byggde vi ett enkelt kretskort som har kontakter för att ansluta GreenPAK-uttag med 20-stifts dubbelradiga honrubriker. Schemat och layouten för detta kretskort samt foton presenteras i bilagan.

Systemet testades först med en Arduino som simulerar en flödeshastighetssensor och en vattenkälla med en konstant, känd flödeshastighet genom att generera pulser vid 225 Hz vilket motsvarar en flödeshastighet på 30 liter/minut respektive. Resultatet av mätningen var lika med 29,7 liter/minut, felet är cirka 1 %.

Det andra testet gjordes med vattenflödeshastighetssensorn och en hemvattenkälla. Mätning vid olika flödeshastigheter var 4,5 och 12,4.

Slutsats

Denna instruktionsbok visar hur man bygger en liten, billig och noggrann flödesmätare med en Dialog SLG46533. Tack vare GreenPAK är denna design mindre, enklare och lättare att skapa än jämförbara lösningar.

Vårt system kan mäta en flödeshastighet på upp till 30 liter / minut med en upplösning på 0,1 liter, men vi kan använda fler GreenPAK för att mäta högre flödeshastigheter med högre noggrannhet beroende på flödessensorn. Ett Dialog GreenPAK-baserat system kan fungera med ett brett utbud av turbinflödesmätare.

Den föreslagna lösningen var utformad för att mäta flödeshastigheten för vatten, men den kan anpassas för att användas med alla sensorer som matar ut en PWM -signal, som en gasflödeshastighetssensor.

Rekommenderad: