» Elektronica » Arduino »Zelfgemaakte Arduino Aquacontroller - essentieel voor een thuisaquarium

Zelfgemaakte Arduino Aquacontroller - essentieel voor een thuisaquarium


Groeten aan alle liefhebbers van microcontroller zelfgemaakt. Als u een gelukkige eigenaar bent van een huisaquarium, dan is dit artikel misschien interessant voor u. Daarin zal ik het hele proces van het creëren van een eenvoudige, maar zeer nuttige zelfgemaakte - aquacontroller in detail beschrijven, ontworpen om het leven van de eigenaar van een kleine onderwaterwereld te vergemakkelijken.


Zoals u weet, begint elk succesvol project met het opstellen van technische specificaties. Hieronder volgen de basisvereisten en functies die ik van de aquacontroller wilde hebben:

- lage kosten en beschikbaarheid van componenten;
- aanpasbare tijd voor het in- en uitschakelen van het licht in het aquarium;
- voedingsmodus (het filter wordt uitgeschakeld en start automatisch na 15 minuten);
- de opname van een voedingsschema;
- meting van temperatuur en vochtigheid van omgevingslucht (als toevoeging);
- weergave van de huidige datum, tijd en andere parameters op het LCD-scherm;
- beheer en parameterinstellingen via het menu met 4 knoppen (Omhoog, Omlaag, Ok, Annuleren);


Op basis van het bovenstaande is het circuit in figuur 1 geboren.


Figuur 1 - Elektrisch diagram van de aquacontroller

Het belangrijkste element is het bord Arduino Prominiovergenomen in China. Zoals later bleek, was er een controller op geïnstalleerd ATMega168 in plaats van ATMega328. Hierdoor ben ik gaan sleutelen aan de optimalisatie van het programma, omdat het voor deze controller ondraaglijk bleek te zijn vanwege de helft van de grootte van het flashgeheugen.


Voor het weergeven van informatie is gekozen voor een bekend 2-regelig LCD display met 16 karakters. In het project is het verbonden met Arduino op een 4-draads databus.


Een digitale sensor is verantwoordelijk voor het meten van temperatuur en vochtigheid. Dth11. Voor huishoudelijke behoeften is het voldoende. In feite heeft het geen specifiek doel en wordt het puur toegevoegd als aanvulling op het totaalbeeld.


Om de fluorescentielamp en het filter te besturen, heb ik twee simistorkanalen gebruikt, gemaakt op een heleboel opto-simistor MOC3063 en vermogenssimistor BT137-600E. Dit stelde ons in staat het circuit van mechanische relais te verwijderen, waarvoor ik om de een of andere reden geen sympathie voel.


De bedieningsknoppen zijn gewone klok, zonder bevestiging.


Welnu, aangezien alle instellingen zijn gekoppeld aan een specifieke tijdsperiode, moet het apparaat noodzakelijkerwijs een realtime klok bevatten.In dit geval heb ik de module gebruikt Tinyrtc gebaseerd op microschakeling DS1703. De module wordt bestuurd door protocol i2c en bevat een connector voor het installeren van een batterij, waarmee u de datum en tijd kunt opslaan wanneer de stroom is uitgeschakeld. De externe module-invoer wordt weergegeven in foto nr. 2


Zelfgemaakte Arduino Aquacontroller - essentieel voor een thuisaquarium
Foto nr. 2 - realtime klokmodule

Dus de vereisten zijn gedefinieerd, het schema is opgesteld - u kunt naar de ontwerpfase van de printplaat gaan. De online service EasyEda heeft me met succes geholpen deze taak aan te kunnen. Om geen last te hebben van het boren van gaten besloot ik alle stroomvoerende rails en componenten in de bovenlaag te plaatsen. Nadat ik de details een beetje had verdraaid in de editor, kreeg ik een PCB-ontwerp met slechts drie jumpers. Het uiterlijk van het bord is te zien in figuur 3.


Figuur 3 - Het uiterlijk van de aquacontrol-printplaat

Degenen die het project willen herhalen, kunnen het PCB-bestand downloaden via deze link: pcb-lut.pdf [69.4 Kb] (downloads: 131)
Bekijk online bestand:

Dus, op welke punten u moet letten. Weerstand R4 en R8 - twin, de rest is gemaakt SMD huisvesting 1206. Klokknoppen hebben maat 12x12. Het bord heeft ook een Chinese spanningsomvormer 220V / 5Vwaarvan het uiterlijk te zien is op foto nr. 4.


Foto nr. 4 - spanningsomvormer 220V / 5V.

Het LCD-scherm en de realtime klokmodule zijn gepland om te worden gemonteerd op racks aan boord, waarvan ik de rol met succes heb vervuld door gesneden plastic pluggen.


Hierop zijn alle kenmerken van de installatie gedefinieerd en het blijft alleen om het bord van het beeldscherm naar onze fysieke wereld over te brengen. Hiervoor is gekozen voor een bekende methode. LUT, wat duidt op de aanwezigheid van een laserprinter en strijkijzer. Voor degenen die niet bekend zijn met deze technologie van de toekomst, zal het proces van het maken van een printplaat in mijn badkamer hieronder worden beschreven.


Zoek om te beginnen naar een tijdschrift met glanzende pagina's of een vel fotopapier. We printen het bordpatroon op de laserprinter, zonder te vergeten het om te draaien. We bereiden een stuk met folie bedekt glas-texaliet volgens de grootte van de blanco en slijpen het koperoppervlak met fijnkorrelig schuurpapier tot een glans. Het zou zoiets moeten zijn (foto nummer 5).


Foto nr. 5 - het bord is voorbereid voor de vertaling van de tekening

Vervolgens draaien we de afdruk om naar de folie en plakken deze op de printplaat. Daarna rijden we het papier ongeveer 3 minuten met een heet strijkijzer. De opwarmtijd hier kan variëren afhankelijk van de temperatuur van het strijkijzer en de ervaring van de uitvoerder van dit geheime ritueel. Dit ziet er visueel zo uit als dit (foto nr. 6):


Foto nr. 6 - overdracht van de foto naar het oppervlak van de folie

Nadat het papier stevig aan de printplaat is gehecht, zet u het strijkijzer uit en laat u de printplaat afkoelen. Nu moet u de papierlaag voorzichtig verwijderen en de kleverige toner niet beschadigen. Om de zaak te laten slagen, moet het papier worden bevochtigd en verwijderd door met de vingertoppen te rollen. Dit proces wordt duidelijker weergegeven op foto nr. 7.


Foto nr. 7 - papier verwijderen van de printplaat

Soms komt het voor dat op sommige plaatsen de toner gewoon niet blijft plakken. In dit geval kunnen deze gebieden worden aangevuld met een permanente marker. Foto nr. 8 toont het bord na het verwijderen van het papier. Houd er rekening mee dat er linksboven geen deel van de afbeelding is, dat vervolgens wordt hersteld met de bovenstaande methode.


Foto nr. 8 - bord na het verwijderen van papier

Wanneer alle onaangename momenten zijn geëlimineerd, kun je beginnen met etsen. Hiervoor heb ik een oplossing van ferrichloride gebruikt, als een van de meest betaalbare en veilige opties. Spoel het bord na het etsen grondig af met een oplosmiddel om de toner van de sporen te verwijderen. Vervolgens reinigen we opnieuw met fijn schuurpapier, ontvetten en blik. Het resultaat is te zien op foto nr. 9.


Foto nr. 9 - het bord is klaar om radiocomponenten te installeren

Een van de hoofdfasen is voltooid. De volgende stap is het installeren en solderen van radiocomponenten. Dit is een creatief en puur individueel proces. Als je vragen hebt, ben ik klaar om ze te beantwoorden in de reacties, maar nu laat ik je zien wat ik heb (foto 10):


Foto nr. 10 - een bord met verzegelde componenten

Zoals ik hierboven schreef, worden het display en de klokmodule boven het bord geheven met plastic rekken gemaakt van pluggen voor snelle installatie, en hun contacten worden met dunne draden aan het bord gesoldeerd.De temperatuur- en vochtigheidssensor wordt afzonderlijk weergegeven bovenop het apparaat. Naar mijn mening zullen de metingen met deze regeling nauwkeuriger zijn. Voor de verlichtingskanalen en het filter worden twee externe uitgangen onderaan het bord weergegeven. Ook was de hoogte van de knoppen onvoldoende, dus ik ben van plan ze te vergroten met plastic bussen. Na wat manipulaties krijgt het apparaat een bijna afgewerkt uiterlijk, zoals te zien is op foto nr. 11.


Foto nr. 11 - aquacontroller zonder behuizing

Voordat u de bovenkant van de behuizing verzegelt, moet u de firmware erin schrijven Arduino ProMini. Om dit te doen, heb ik pinnen op het bord geplaatst dat is verbonden met de contacten Vcc, GND, Rx en TX. Te programmeren Arduino ProMini gemakkelijkste gebruik USB-programmeur, maar dit was niet beschikbaar. Zijn rol werd met succes vervuld door een ander bestuur Arduino uno met de controller verwijderd. Ik ga niet in op de details van dit proces, aangezien er veel artikelen over dit onderwerp op internet staan. Ik geef alleen foto nr. 12 voor de duidelijkheid.


Foto nr. 12 - voorbereiding voor firmware

Laten we het nu hebben over het programma zelf. Wanneer u de stroom inschakelt, wordt het hoofdscherm weergegeven. Het geeft informatie weer over de huidige datum, tijd, temperatuur en vochtigheid. Er worden ook verschillende speciale tekens weergegeven, afhankelijk van de huidige status van het systeem, namelijk: het licht is aan - het zonpictogram; licht uit - maanpictogram; filter aan - filterpictogram; het voeren is bezig - vis icoon. Wanneer u op OK klikt, komt de gebruiker in een menu waar het mogelijk is om parameters te configureren zoals:
- lichtregeling modus. In deze sectie kunt u de verlichting handmatig in- en uitschakelen door het bijbehorende menu-item te selecteren en ook de tijd voor het in- en uitschakelen volgens het schema instellen.
- filterregelmodus. Stelt u in staat om het filter handmatig aan en uit te zetten, selecteer de "toevoer" functie (voeden) en stel het voerschema in. In de voedingsmodus stopt het filter en herstelt het automatisch na 15 minuten.
- het instellen van de huidige datum.
- het instellen van de huidige tijd. Datum- en tijdgegevens worden vastgelegd in de klokmodule en wanneer de stroom wordt uitgeschakeld, worden ze niet gereset als er een batterij op is geïnstalleerd.

Voor een beter begrip toont figuur 13 de menustructuur.


Figuur №15 - menustructuur van de aquacontroller.

Download firmware voor Arduino Pro Mini en alle benodigde bibliotheken kunnen zijn deze link

Nadat u het programma naar de microcontroller hebt geschreven, kunt u de behuizing sluiten en onder reële omstandigheden doorgaan met de tests. Ongeveer een week van operatie verstreken voordat dit artikel werd geschreven. De aquacontroller werkte perfect zonder enige problemen, waardoor ik niet constant aan de vorken hoefde te trekken om de vissen te voeren of de lichten uit te doen. Het resultaat van mijn inspanningen is te zien op foto 16.


Foto nr. 16 - aquacontroller in bedrijf
9
9.6
9

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
5 opmerkingen
Roman, goedemiddag. Werk de link naar de schets bij.
Precies))
Vele jaren geleden kocht ik een stopcontact met een timer die het licht aan en uit doet met het filter, de prijs is ~ 150 roebel.
En wat voor soort schets past niet in het flashgeheugen? Een generatie arduino .. verdrietig. Over het algemeen goed gedaan dat je iets met je eigen handen kunt doen
aquacontroller aan Arduino - noodzakelijk voor een huisaquarium
Hij heeft het aquarium zoveel jaren bewaard en wist niet eens dat hij een aquacontroller nodig had, vooral een die de watertemperatuur niet op peil houdt, niet voedt, maar de bewoners van het aquarium informeert over de huidige datum, tijd, temperatuur en vochtigheid van de omringende lucht! xaxa
"Misschien is het" of "noodzakelijk"? Of niet allebei?

We raden je aan om te lezen:

Geef het voor de smartphone ...