Innehållsförteckning:
- Steg 1: Princip
- Steg 2: Sensor, strömförsörjning och styrenhet
- Steg 3: Supervisor IC
- Steg 4: kretskortet (PCB)
- Steg 5: Kod
- Steg 6: Installation på tank
Video: UltraSonic Liquid Level Controller: 6 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Inledning Som ni säkert vet har Iran torrt väder och det råder brist på vatten i mitt land. Ibland, särskilt på sommaren, kan det ses att regeringen skär av vattnet. Så de flesta lägenheterna har en vattentank. Det finns en 1500 liters tank i vår lägenhet som ger vatten. Det finns också 12 bostäder i vår lägenhet. Som ett resultat kan det förväntas att tanken snart blir tom. Det finns en vattenpump ansluten till tanken som skickar vatten in i byggnaden. När tanken är tom fungerar pumpen utan vatten. Denna situation orsakar en ökning av motortemperaturen och under tiden kan det orsaka pumpavbrott. För en tid sedan hände detta pumpfel för andra gången för oss, och efter att ha öppnat motorn såg vi att spoltrådarna var brända. Efter att vi bytt ut pumpen, för att förhindra detta problem igen, bestämde jag mig för att göra en vattennivåkontroll. Jag planerade att göra en krets för att stänga av pumpens strömförsörjning när vattnet kom under den låga gränsen i tanken. Pumpen fungerar inte förrän vattnet stiger till en hög gräns. Efter att ha passerat den höga gränsen, kommer kretsen att ansluta strömförsörjningen igen. I början sökte jag över internet för att se om jag kan hitta en lämplig krets. Jag hittade dock inget lämpligt. Det fanns några Arduino -baserade vattenindikatorer, men det kunde inte lösa mitt problem. Som ett resultat bestämde jag mig för att designa min vattennivåkontroll. Ett allt-i-ett-paket med ett enkelt grafiskt användargränssnitt för att ställa in parametrar. Jag försökte också överväga EMC -standarder för att vara säker på att enheten fungerar giltig i olika situationer.
Steg 1: Princip
Du känner säkert till principen innan. När ultraljudspulssignalen avges mot ett objekt reflekteras den av objektet och eko återgår till avsändaren. Om du beräknar den tid som rest med ultraljudspulsen kan du hitta objektets avstånd. I vårt fall är objektet vattnet.
Observera att när du hittar avståndet till vattnet beräknar du volymen tomt utrymme i tanken. För att få volymen vatten måste du subtrahera beräknad volym från den totala tankvolymen.
Steg 2: Sensor, strömförsörjning och styrenhet
Hårdvara
För sensorn använde jag JSN-SR04T vattentät ultraljudssensor. Arbetsrutinen är som HC-SR04 (eko och trigpinne).
Specifikationer:
- Avstånd: 25 cm till 450 cm
- Arbetsspänning: DC 3.0-5.5V
- Arbetsström: < 8mA
- Noggrannhet: ± 1 cm
- Frekvens: 40khz
- Arbetstemperatur: -20 ~ 70 ℃
Observera att denna handkontroll har vissa begränsningar. till exempel: 1- JSN-SR04T kan inte mäta avståndet under 25 cm, så du måste installera sensorn minst 25 cm ovanför vattenytan. Dessutom är den maximala avståndsmätningen 4,5 miljoner. Så den här sensorn är inte lämplig för stora tankar. 2- noggrannheten är 1 cm för denna sensor. Som ett resultat, beroende på tankens diameter, kan upplösningen av volym som enheten visar varieras. 3- ljudets hastighet kan variera beroende på temperatur. Som ett resultat kan noggrannheten påverkas av olika regioner. Dessa begränsningar var dock inte avgörande för mig, och noggrannheten var lämplig.
Kontrollen
Jag använde STM32F030K6T6 ARM Cortex M0 från STMicroelectronics. Du hittar specifikationen för denna mikrokontroller här.
Strömförsörjningen
Den första delen är att konvertera 220V/50Hz (Iran Electricity) till 12VDC. För detta ändamål använde jag HLK-PM12 buck step down strömförsörjningsmodul. Denna AC/DC -omvandlare kan konvertera 90 ~ 264 VAC till 12VDC med 0,25A utström.
Som du säkert vet kan den induktiva belastningen på reläet orsaka flera problem på kretsen och strömförsörjningen, och svårigheter i strömförsörjningen kan leda till inkonstans, särskilt i mikrokontrollern. Lösningen är att isolera strömförsörjningen. Du måste också använda en snubberkrets på reläkontakter. Det finns flera metoder för att isolera strömförsörjningar. Till exempel kan du använda en transformator med två utgångar. Dessutom finns det isolerade DC/DC -omvandlare där ute i en liten storlek som kan isolera utsignalen från ingången. Jag använde MINMAX MA03-12S09 för detta ändamål. Det är en 3W DC/DC -omvandlare med isolering.
Steg 3: Supervisor IC
Enligt TI App -notering: En spänningsövervakare (även känd som en återställd integrerad krets [IC]) är en typ av spänningsmonitor som övervakar ett systems strömförsörjning. Spänningsövervakare används ofta med processorer, spänningsregulatorer och sekvenserare - i allmänhet där spänning eller strömavkänning krävs. Övervakare övervakar spänningsskenor för att säkerställa att strömmen slås på, upptäcker fel och kommunicerar med inbyggda processorer för att säkerställa systemets hälsa. du kan hitta denna app anteckning här. Även om STM32-mikrokontroller har inbyggda övervakare som till exempel strömförsörjningsmonitor, använde jag ett externt övervakarchip för att säkerställa att allt fungerar bra. I mitt fall använde jag TL7705 från TI. Du kan se beskrivningen från Texas Instruments webbplats för denna IC nedan: TL77xxA-familjen med integrerade kretsar för matningsspänning är speciellt utformad för användning som återställningskontroller i mikrodatorn och mikroprocessorsystem. Matningsspänningsövervakaren övervakar matningen för underspänningsförhållanden vid SENSE-ingången. Under uppstart blir RESET-utgången aktiv (låg) när VCC uppnår ett värde som närmar sig 3,6 V. Vid denna tidpunkt (förutsatt att SENSE är över VIT+) aktiverar fördröjningstimern en tidsfördröjning, varefter utmatningen RESET och RESET (NOT) gå inaktiva (hög respektive låg). När ett underspänningstillstånd uppstår under normal drift, aktiveras RESET och RESET (NOT).
Steg 4: kretskortet (PCB)
Jag konstruerade kretskortet i två delar. Den första är LCD -kretskortet som är anslutet till moderkortet med band/platt kabel. Den andra delen är styrkortet. På detta kretskort placerade jag strömförsörjning, mikrokontroller, ultraljudssensor och relaterade komponenter. Och även kraftdelen som är relä-, varistor- och snubberkretsen. Som du säkert vet kan mekaniska reläer som ett relä som jag använde i min krets gå sönder om de alltid fungerar. För att lösa detta problem använde jag reläet normalt nära kontakt (NC). Så i en normal situation är reläet inte aktivt och normalt kan nära kontakt leda pumpen. När vattnet kommer under den låga gränsen slås reläet på och detta kommer att bryta strömmen. Med detta sagt, Det här är anledningen till att jag använde snubberkretsen på NC- och COM -kontakter. När det gäller att pumpen hade hög effekt använde jag det andra 220 -reläet för det, och jag kör det med reläet på kretskort.
Du kan ladda ner PCB -filer som Altium PCB -filer och Gerber -filer från min GitHub här.
Steg 5: Kod
Jag använde STM32Cube IDE, som är en allt-i-ett-lösning för kodutveckling från STMicroelectronics. Den är baserad på Eclipse IDE med GCC ARM -kompilator. Den har också STM32CubeMX i den. Du hittar mer information här. Först skrev jag en kod som inkluderade vår tankspecifikation (höjd och diameter). Jag bestämde mig dock för att ändra det till GUI för inställning av parametrar baserat på olika specifikationer.
Steg 6: Installation på tank
Till slut gjorde jag en enkel låda för att skydda kretskortet från vatten. Jag gjorde också ett hål på toppen av tanken för att sätta sensorn på den.
Rekommenderad:
Coke Machine Level Detector - Nu med tal !: 6 steg (med bilder)
Coke Machine Level Detector-Now With Speech !: Detta projekt är en remix av min Coke Machine Can Level detector, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) med nya sensorer , och tillägg av talat ljud! Efter att jag gjort min första nivådetektor lade jag till en piezo -summer till g
Coke Machine Can Level Detector: 5 steg (med bilder)
Coke Machine Can Level Detector: Rev 2.5 - städade upp de 3D -tryckta delarna och uppdaterade pluggkontakten till en vanlig PCB -enhet. Rev 2 - ultraljud " -knapp " ersätter manuell tryckknapp. Att trycka på en knapp är så gammaldags, särskilt när jag redan använder en ultraljudssensor
Liquid Crystal Glasses for Amblyopia (Alternating Occlusion Training Glasses) [ATtiny13]: 10 steg (med bilder)
Liquid Crystal Glasses for Amblyopia (Alternating Occlusion Training Glasses) [ATtiny13]: Amblyopia (lat öga), en störning i synen som drabbar cirka 3% av befolkningen, vanligtvis behandlad med enkla ögonlock eller atropindroppar. Tyvärr täcker dessa behandlingsmetoder starkare öga under långa, oavbrutna perioder, nej
TTL Logic Level Tester Pen: 5 steg (med bilder)
TTL Logic Level Tester Pen: Polarity Tester Pen & TTL Logic Level Tester Pen.Denna polaritetstesterpenna är något annorlunda eftersom den kan testa TTL -nivåer och visar status på en 7 -segmentskärm med bokstäverna: " H " (Hög) för logisk nivå "
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 steg (med bilder)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Jag slog helt bort ryan97128 på hans design för Nintendo Controller MP3, version 2.0 och jag hör att han fick idén från den kloka Morte_Moya, så jag kan inte ta åt mig äran för allt deras geni. Jag ville bara lägga till bekvämligheten och ladda