Elektronisch Peillood

by Jope246 in Circuits > Arduino

485 Views, 0 Favorites, 0 Comments

Elektronisch Peillood

WhatsApp Image 2020-09-18 at 10.55.03 (1).jpeg

In deze instructable zal ik uitleggen hoe mijn eerste arduino project ooit tot stand is gekomen. Met deze sensor kan de waterdiepte van een stilstaand water gemeten worden, doormiddel van een touw met knopen erin en een gewicht aan het uiteinde. als de waterdiepte echter tussen de knopen inzat, was het niet mogelijk de waterdiepte precies af te lezen, iets wat met de technologie van tegenwoordig makkelijk kan. De sensor bestaat uit een stappenmotor, een knop, een LDR en een aantal ledjes, welke elk aangesloten worden in de komende stappen.

Materialen En Set Up

WhatsApp Image 2020-09-18 at 10.55.03.jpeg

Allereerst zijn natuurlijk de materialen om dit project te maken belangrijk. Dit zijn de onderstaande:

- 1x arduino ATmega328 UNO
- 1x 830 hole breadboard (kleiner kan ook, maar dan wordt het misschien een beetje krap met alles wat erop moet)
- 1x ULN2003 Driver
- 1x Unipolar Stepper Motor 28-BYJ48

- 1x een klein wieltje/rad ( met diameter van ongeveer 2.5 cm)
- 1x dun touw van ongeveer 50 cm
- 1x gewichtje van 5 tot 10 gram

- 1x button
- 1x LDR
- 3x LED
- 5x 220 ohm weerstand
- 4x breadboard jumper wires met een vrouwelijke en mannelijke kant
- 14x breadboard jumper wires met twee mannelijke kanten
- 4x 4 x 9 x 1.5 cm lange planken
- 2x 4 x 20 x 1.5 cm lange planken
- heel veel ducktape

De Stappenmotor Aansluiten

stepper motor.jpg

We beginnen gelijk met de (naar mijn mening) lastigste stap, namelijk de stappenmotor aansluiten.

Voordat dit kan gebeuren moeten we allereerst het breadboard aan onze arduino koppelen, door de min-zijde van het breadboard in de 5-volt-poort van de arduino te pluggen, en de plus-zijde in de ground-poort. Nu is het breadboard aangesloten op de arduino.

vervolgens sluiten we de driver aan, door met twee kabels met een mannelijke en vrouwelijke kant de 5-volt poort van de driver te verbinden met de + kant van het breadboard, en de ground kant met de minzijde, zoals ook te zien is in de afbeelding, nu heeft de driver stroom.

vervolgens kan de stappen motor aan worden gesloten. dit wordt gedaan door het witte uiteinde van de kabels van de stappenmotor in te pluggen in het witte hokje op de driver. het kan zijn dat deze er wat lastig in gaat, maar duw hem er met beleid in, anders bestaat er een kans dat je de driver sloopt.

Als laatste moet de arduino nog aangesloten wordenaan de driver. dit kan in de onderstaande volgorde Dus niet zoals op de afbeelding:

IN1 gaat in poort 3
IN2 gaat in poort 4
IN3 gaat in poort 5
IN4 gaat in poort 6

De stappenmotor is nu aangesloten. om te kijken of deze goed werkt kan je de bijgevoegde code runnen. Deze kan je uploaden door je arduino aan te sluiten op je laptop, en op de knop uploaden linksboven te klikken. Check hiervoor eerst of wordt geupload naar de usb-poort waarin de arduino geplugd is. Dit is te zien bij hulpmiddelen en dan poort. Check ook gelijk of het board op arduino uno staat. Dit is namelijk het type arduino wat gebruikt wordt voor deze sensor, anders kan het zijn dat deze niet werkt.

Als deze geüpload wordt naar de arduino, en alles goed is aangesloten, moet de stappenmotor draaien. Draait deze niet? Check dan of alle lampjes op de driver knipperen. Knippert er een niet? Dan zit er een kabel niet goed ingeplugged, waardoor de stappenmotor niet meer werkt.

Het Rad Maken

waterrad.jpg
wheel.png

als de stappenmotor werkt, kan hier het rad op geplaatst worden. Ikzelf gebruik hiervoor een wiel van de arduino (zie afbeelding) zonder de band, met een rond bierviltje erop geplakt tegen aflopen van het touw. Ik zou aanraden om ook een wiel zoals in de afbeelding te gebruiken, aangezien deze precies op de stappenmotor aansluit. mocht het wieltje niet precies aansluiten, plak dan een klein beetje tape op het ronddraaiende gedeelte van de stappenmotor, zodat deze iets beter om het wieltje heen klemt.

Als het wieltje getransformeerd is in een rad, kan met tape het touw aan het rad worden geplakt, met aan de onderkant van het touw het gewichtje. Wat belangrijk is, is dat het gewichtje niet blijft drijven, aangezien dan de essentie van het peillood niet meer werkt. ook moet het gewichtje een beetje volume hebben, dus een platte schijf voldoet niet. Waarom dit zo is komen we later nog op terug. Ik zelf heb een gebruikt koffiecupje gebruikt als gewichtje (zoals te zien is in de afbeelding), wat erg goed werkt. Nu is het rad af.

De Button Aansluiten

button.JPG

Met de "takelconstructie" werkend, wordt het nu tijd voor de meetapparatuur. We beginnen met het aansluiten van de button. Deze zorgt ervoor dat de meting start, en de takelconstructie dus begint te takelen. plug hiervoor eerst een kabel in de min-kant van het breadboard, en zorg dat je je button in dezelfde rij plaatst.

de button zit op twee plekken in het board, en in de rij van de tweede plek pluggen we een 220 Ohm weerstand in en een kabel die naar poort 2 van de arduino gaat. Als laatste sluiten we dan nog een kabel aan van het uiteinde van de weerstand naar de pluszijde van het breadboard, en dan is de knop aangesloten. Als het goed is ziet dit er dus hetzelfde uit als in de afbeelding hierboven.

De LDR Aansluiten

WhatsApp Image 2020-09-18 at 12.38.36.jpeg
LDR aansluiten.JPG

De constructie is zo gebouwd dat het gewichtje tussen een LDR en lampje door getakeld wordt, en wanneer dit gebeurd, stopt de meting. Dit is de reden dat het belangrijk is dat je gewichtje volume heeft, want anders kan het zijn dat de lichtstraal niet genoeg verstoord wordt om de meting te stoppen. In de afbeelding is een voorbeeld te zien van hoe het wel moet, het cupje blokt namelijk volledig de lichtstraal voor de LDR.

De LDR wordt op een vergelijkbare manier aangesloten als de button. Wederom wordt er eerst een kabel van de min-zijde van het breadboard naar een plaats in het breadboard gestuurd. in deze zelfde rij wordt een 220 Ohm weerstand aangesloten. Het uiteinde hiervan dient in dezelfde rij te zitten als de eerste poot van de LDR en de kabel die van het breadboard naar poort A0 op de arduino gaat. Als laatste gaat er dan weer een kabel vanuit de rij van de tweede poot van de LDR naar de plus-kant van het breadboard. Als het goed is heb je dus dezelfde constructie gebouwd als in de afbeelding. Voor overzicht is de button niet meer te zien op deze afbeelding, maar in het echt is deze natuurlijk nog wel aangesloten, net zoals de stappenmotor!

De LDR stuurt een signaal naar je laptop/computer via de A0 poort. Dit signaal kan uitgelezen worden door bij de hulpmiddelen de seriële monitor te openen. Met de code die hieronder staat kan dit gedaan worden, zorg weer dat je poort en board goed staan (zie stap 2). Kijk wat voor waardes je LDR geeft als je er met het lampje op schijnt, en wat voor waardes deze geeft zonder lampje. Dit is belangrijk voor later!

De LED's Aansluiten

LED's.JPG

Met de code kan via de seriële monitor een waarde gegeven worden voor de gemeten diepte. Als je echter snel en niet al te nauwkeurig de diepte wilt weten, kan dit ook prima aangegeven worden met behulp van ledjes. als aanwordt genomen dat elk ledje 5 cm is, kan hiermee heel snel afgelezen worden wat de diepte is. deze ledjes worden alsvolgt aangesloten. allereerst plugt men een kabel in het breadboard en poort 10 van de arduino. in dezelfde rij in het breadboard wordt weer een 220 ohm weerstand geplaatst. In de rij van de tweede poot van de weerstand wordt de korte poot van het ledje geplugd. Als deze andersom wordt geplaatst veroorzaak je kortsluiting en gaat het lampje kapot. In de rij van het lange pootje wordt als laatste een kabel van deze rij naar min-kant van het breadboard getrokken.

Deze stappen worden twee keer herhaalt met als enig verschil de poort. De ledjes dienen ingeplugd te worden in poort 10, 11 en 12, zoals te zien is in de afbeelding.

Als het goed is heb je nu dus een aangesloten button, stappenmotor, LDR en drie ledjes.

De Code Modificeren

In het bestand bijgevoegd in deze stap is de code te vinden die deze sensor werkend maakt. Er zitten wel een paar sidenotes bij deze code, die in deze stap zullen worden behandeld.

- Als wordt gekeken in de code is een if (sensorValue < 950) te zien. Deze 950 is de waarde die ik heb gekozen voor mijn LDR als switchpunt. Met het lampje erop bleef de LDR waarde hier ruim onder, en als het gewichtje ervoor kwam ging deze boven de 950. In een erg lichte kamer kan het echter zijn dat zelfs met het gewichtje ervoor de LDR nog steeds een waarde onder de 950 meet. Als het goed is heb je dit in de stap van het aansluiten van de LDR gecheckt.

Je kunt dan de kamer verduisteren of de sensorvalue omlaag halen, maar het risico is dan dat kleine fluctuaties niet veroorzaakt door het gewicht de meting al onderbreken. Daarom kies ik zelf liever voor de kamer verduisteren.

- Het LED-meetsysteem is ingesteld op metingen tot ongeveer 15 centimeter. Wil je met dit systeem dieper meten dan kan dat door de intervallen tussen de ledjes groter te maken. Dit kan door in de if(distance >5) en if (distance > 10) de 5 en 10 aan te passen naar hogere waarden zoals bijvoorbeeld 10 en 20. Merk wel op dat het interval hierdoor groter wordt, en er dus minder nauwkeurig uit de leds is op te maken om wat voor diepte het precies gaat.

- Dan als laatste nog een sidenote voor de echt geïnteresseerde onder ons, namelijk over hoe de afstand wordt gemeten. Het programma loopt als het ware in loops, en elke loop duurt 40 ms. hiermee kan dus uitgerekend worden hoeveel loops er in een rotatie zitten van de stappenmotor, en dus hoeveel deze draait per loop. door te vermenigvuldigen met 2,5 cm (de diameter van mijn rad) krijg ik de afstand die daadwerkelijk opgetakeld wordt. Dit betekend dat als je een beduidend groter of kleiner wiel tot je beschikking hebt, deze 2,5 ook aangepast moet worden naar de diameter van je eigen wieltje.

De Sensor Plaatsen

Doordat de meting stopt wanneer het gewicht bij de LDR is, is het belangrijk de LDR zo dicht mogelijk bij het wateroppervlak te houden. je loopt dan echter het risico dat je apparatuur het water raakt, wat je absoluut niet wil hebben. Mijn oplossing zijn twee planken waarop de sensor kan rusten. Er kan ook gedacht worden aan een vlot, maar trek dan wel de afstand die de LDR van het wateroppervlak is van de meting af, anders klopt deze niet meer.

Dit was de instructable over hoe een elektronische peilmaat te maken.