Zelfbouw lijnvolger lijntje

vooraanzicht lijntjeToen ik mijn dochter Romy een lijnvolger liet zien op Youtube was de beslissing om er zelf een te bedenken en te maken als snel genomen. Maar wat is een lijnvolger nou precies? Een lijnvolger is een robot die door middel van optische sensoren een lijn kan detecteren en dan een route kan volgend door boven deze lijn te blijven rijden. Als sensor neemt men meestal een infrarood sensor omdat deze het minst last heeft van omgevingslicht, vaak heeft de lijnvolger een simpel microprocessor board (in ons geval een Arduino Uno) als brein en twee in draairichting en snelheid regelbare motoren en een caster (rolllende ronde bal) als achterwiel. Het heeft wat experimenteren gekost maar uiteindelijk is het ons gelukt om een prima lijnvolger te maken met de naam lijntje. We hebben er naast de infrarood sensoren voor het detecteren van de lijn ook nog een ultrasoon afstand detector opgezet zodat het ook botsen kan vermijden. Lijntje was een leerzaam en leuk project en we hebben twee routes op een groot vel A2 papier gemaakt waar onze lijnvolger op kan rijden, met een paar lastige hoeken en kruisingen. Bij echte competities van lijnvolgers moeten de lijnvolgers nog veel slimmer zijn omdat ze dan ook extra markeringen moeten kunnen herkennen en het de bedoeling is dat ze route in de snelste tijd afleggen. Dit maakt een lijnvolger programma veel complexer, lijntje is in dat opzicht relatief eenvoudig te noemen. Ik gebruik deze pagina ook als naslagwerk voor mijzelf en ter lering en vermaak voor bezoekers van mijn site. Een paar jaar later besloot ik om een kleine versie van Lijntje te maken en de toepasselijke naam werd dan ook Klijntje. De kleine lijnenvolger is gebaseerd op een Arduino Nano, heeft geen ultrasoon sensor, heeft maar drie CNY70 infrarood sensoren, een eenvoudige motor aansturing met twee Fet's en twee kleine geared motoren. Klijntje staat onderaan deze pagina beschreven en van zowel Lijntje als Klijntje kunt u de schema's en de broncode hier downloaden. Vriendelijk groet, Hein Pragt.

De buitenkant

bovenaanzicht lijntjeBij het maken van een robot is de keuze voor het materiaal wel belangrijk. Het moet eenvoudig te bewerken zijn, niet te zwaar en makkelijk te monteren. Ik kies vaak 8 mm multiplex plaat, dit is licht, makkelijk te zagen en eenvoudig in elkaar te lijmen, waarna het ook oersterk is. Ik heb een plankje genomen van 6,5 x 10 mm waar voldoende ruimte was voor de Arduino UNO en de batterijhouder er achter en een cm extra aan de voorkant om de ultrasoon sensor te monteren. Voor de infrarood sensor heb ik een standaard verkrijgbaar houdertje gekocht die ik met een paar kleine schroefjes vast kon zetten en die zo op een paar "ogen" van de lijnvolger lijken. Voor de batterijhouder heb ik een houder voor vier penlight batterijen gekozen, deze heb ik met een door mijzelf 3D geprint bakje vastgezet, en ook heb ik hier het aan/uit schakelaartje gemonteerd. Maar dit is natuurlijk ook van hout of wat plastic zelf te maken naar eigen inzicht. De Arduino UNO heb ik er met vier kleine kunsstof afstandbusjes zo opgezet dat de USB aansluiting aand voorkan precies naast de beugel van de ultrasoonsensor zit waardoor de code nog te uploaden is wanneer de lijnvolger al gemonteerd is.


onderaanzicht lijntjeDe motoren heb ik met twee geboorde gaatjes en tie-wrap's vastgezet en het hbrug motor boardje heb ik aan de onderkant tussen beide motoren geplaats, De print met de IR sensoren heb ik met een aantal afstandbusjes precies een halve cm boven de ondergrond gemonteerd en om het geheel af te dekken heb ik een klein houten plaatjes aan de voorkant ervoor geschroefd.

Voor de motordriver heb ik een zeer klein printje gebruikt dat toch behoorlijke specificaties heeft en maar een paar euro kost. Het haat om dit boardje dat online bij veel elektronica webshops te bestellen is: DRV8833 Dual Motor Driver. Het bevat de TI's DRV8833 dual motor driver en kan maar liefst 1.2 A per kanaal leveren met 2 A piek bij een spanning van 2.7 V tot 10.8 V en een ingebouwde beveiliging tegen kortsluiting en temperatuur.

De wielen zijn ook standaard verkrijgbaar bij een aantal webshops, het maakt niet zoveel uit welke wielen u neemt zolang ze maar niet te groot zijn omdat ze dan te hoge snelheid geven en slecht bij te sturen zijn. Ik heb deze Pololu Wheel 40×7mm gebruikt.

Bij de motoren is het belangrijk dat ze een niet te hoog toerental hebben en er zijn hiervoor mooie kleine motoren te koop met een ingebouwde tandwielenset voor vertraging, ik heb deze Micro Metal Gearmotor gebruikt.

Eerste heb ik een poging gedaan met drie IR sensoren maar dit werkte niet echt goed, waarna ik toch een standaard board gekocht heb met daarop 8 IR sensoren, waarvan ik er uiteindelijk maar 6 gebruik. Er zat een klein breekrandje op en zo was het IR board net zo breed als de lijnvolger. Ik heb deze QTR-8A Reflectance Sensor Array gebruikt die speciaal gemaakt is voor een lijnvolger.

De caster heb ik zelf gemaak met mijn 3D printen en een knikker, deze zijn echter ook in veel elektronica webshops online te bestellen met een kunstof balletke. Het is belangrijk om een caster te gebruiken omdat de achterkan vrij moet kunnen draaien zonder al te veel weerstand,

Ultrasoon sensor HC-SR04

Ultrasoon sensor HC-SR04 Een robot moet zijn omgeving kunnen waarnemen om er op te kunnen reageren. Een eenvoudige methode is afstand meting door middel van ultrasone geluidsgolven, deze techniek is zeer goedkoop geworden door toepassingen in de auto (parkeerhulp) en in digitale afstandsmeters. De SR-04 is een populaire ultrasone zender / ontvanger met interface chip die maar een paar euro kost. De module heeft maar vier aansluitingen en is zeer eenvoudig te programmeren, het enige wat er voor nodig is dat is een nauwkeurige timer in microseconden. De module zend ultrasone geluidsgolven uit van 40 Khz wat ver boven het menselijke gehoor ligt. De werking van ultrasone afstandsmeting berust op het uitsturen van een ultrasoon geluidssignaal en het opvangen van het gereflecteerde (echo) signaal. De tijd tussen versturen en ontvangen is afhankelijk van de afgelegde weg van het geluidssignaal en aangezien geluid een redelijk nauwkeurige snelheid heeft, kunnen we hieruit de afstand berekenen. De afstand is dus gelijk is aan de snelheid van het geluidssignaal vermenigvuldigt met echo tijd / 2 (heen en terugweg). De snelheid van het geluid in lucht bedraagt gemiddeld 340 meter per seconden en er van uitgaande dat zender en ontvanger zich op dezelfde plaats bevinden zal 1 sec dus 780 meter (340 x 2) ijn en is 100 Ms dus 34 meter, 10 Ms is 3,4 meter en 1 Ms is 30 cm. U ziet dat voor kleinere afstanden een nauwkeurige timer met een hoge resolutie nodig is. De HC-SR04 heeft een trigger signaal van 10us (microseconden) nodig (op TTL niveau) op de trigger pin als startsignaal waarna er een burst van 8 pulsen van 40KHz zal worden uitgestuurd. Daarna begint de module te luisteren naar de ontvangen echo van deze pulstrein en de echo uitgang blijft hoog tot de echo is ontvangen. Aangezien niet elke module weer na een timeout omlaag gaat is het veiliger om ook in de software hier een timeout op te zetten met als resultaat een oneindige afstand.

Kleine lijnenvolger Klijntje

Kleine lijnenvolger Klijntje is de naam van een veel kleinere (en eenvoudigere) lijnenvolger op basis van een Arduino Nano, drie CNY70 infrarood sensoren, twee kleine geared motoren (uit China) die aangestuurd worden door middel van twee 2N7000 mosfets in plaats van een Hbrug schakeling. Het geheel haalt de voeding uit een kleine 3,7 volt Lipo accu waarbij ik door middel van een goedkope DC-DC converter van de 3.7 volt een stabiele 5 volt maak voor de Arduino Nano en de motoren. Om ruimte van een print te besparen heb ik geen aansluit pennen op de Arduino Nano gezet en de Fets en aansluitdraden rechtstreeks op de Arduino Nano aansluit gaatjes gesoldeerd. De wielen vond ik in een oude lego doos en deze zijn met lijm op de asjes van de motoren gelijmd. Ik heb met de 3D printer een chassis geprint (deze STL bestanden kunt u hier ook downloaden) Omdat ik geeb gebruik maak van een Hbrug kunnen de motoren wel in snelheid geregeld worden maar niet achteruit draaien. Hierdoor is de draaicirkel van Klijntje een beetje groot waardoor lijnen op het papier wel een stukje uit elkaar geplaatst moeten zijn. Anders wil Klijntje wel eens de nabijgelegen lijn overpakken.

Onderkant lijnenvolger Klijntje

Onderkant Kleine lijnenvolger De drie IR sensoren (CNY70 is een standaard goedkope sensor, zie datasheet onderaan deze pagina) heb ik samen met twee weerstanden per sensor op een klein stukje experimenteerprint gesoldeerd en er twee voedinspanning draadjes aan gesoldeerd en drie analoge datalijntjes. En tip om te controleren of de leds van de infrarood sensoren werken (of u ze juist aangesloten heeft) is om even met de fotocamera van uw telefoon er naar te kijken. Het menselijk ook kan IR licht niet zien, maar de camera van de telefoon wel en dit zal duidelijk zichtbaar zijn op het beeld. Ik heb het kleine printje met de sensoren met het lijmpistool vastgezet in de behuizing. De kleine motoren zijn 3,7 tot 5v met een ingebouwde (geared) vertragingskast. Het toerental is zo 100 omwentelingen per minuut. Deze motoren heb ik vrij goedkoop in China kunnen bestellen. Ik heb een halve houten kraal als voorwiel gebruikt, deze schuift fijn over het papier. Deze heb ik ook als laatste met een lijmpistool vastgeplakt op de onderkant. Let wel op de de IR sensoren ongeveer een halve Cm boven het papier moeten hangen om goed te werken. De DC-DC converter heb ik met een afstand busje boven de Arduino Nano gemonteerd om het geheel lekker compact te houden. De positie van de Lipo accu is boven de wielen zodat deze wielen lekker veel grip hebben en niet slippen. Het monteren is een klein priegelwerk ik heb wel de meeste draadjes van krimpkous voorzien voor de stevigheid en de isolatie. Voor de rest laat ik het aan u over, het moet ook een beetje avontuur zijn om zelf een lijnenvolger te bouwen.

Schema's, datasheets en links

Klik hier voor het elektronica schema van Lijntje.

Klik hier voor het elektronica schema van Klijntje.

CNY70 Optical Sensor Datasheet.

Youtube demonstratie van de prestaties van Lijntje.

Klik hier voor mijn Arduino pagina!

Klik hier voor mijn Robotica index pagina

DRV8833 Dual Motor Driver

Pololu Wheel 40×7mm

Micro Metal Gearmotor

QTR-8A Reflectance Sensor Array

Sourcecode van lijntje en klijntje

Klik hier voor het sourccode van Lijntje.

Klik hier voor het sourccode van Klijntje.

Klik hier voor de 3D STL bestanden van Klijntje.

Klik hier voor het 3D STL bestand van de knikker caster.

Klik hier voor het 3D STL bestand van batterijhouder voor Lijntje.

Robotica boeken

boek bestellenRobot - De machines van de toekomst. Van robotstofzuiger tot bestuurbare robots. In deze vrij lijvige, rijk geïllustreerde gids wordt gedetailleerd beschreven wat robots voor ons betekenen en nog gaan betekenen. Je komt te weten hoe ze werken, kijken, bewegen en denken. In zes hoofdstukken is er aandacht voor o.a. robots in huis, op het werk, extreme robots en robothelden. Op vrijwel elke spread komt een soort robot of aanverwant thema aan bod zoals kunstmatige intelligentie en online programmeren. Bij een korte inleidende tekst staan enkele ongekaderde kleurenfoto's en ook speelse graphics, begeleid door korte weetjes met titelkopjes. Een enorme hoeveelheid interessante informatie passeert de revue, er is ook een uitgebreid register. De lay-out is kleurrijk, elke paragraaf staat op een gekleurde achtergrond, maar wat onrustig, het is vrij lastig om hoofd- en bijzaken te onderscheiden. Voor de echte doorzetter en in robots geïnteresseerde valt er echter genoeg te ontdekken.

boek bestellenVoor Dummies - Robots bouwen voor kids. Hoe kun je beter iets leren dan door het zelf te doen? Met Robots bouwen voor kids voor Dummies leert je kind op de leukste manier robots te maken: hij bouwt ze helemaal zelf! Het boek bevat vier coole projecten waarin je kind van alledaagse artikelen en oud speelgoed zijn eigen robots bouwt. Ze leren je kind de basis van robotica met eenvoudige en makkelijk te volgen opdrachtjes. De levendige, kleurrijke afbeeldingen zorgen ervoor dat hij zijn ogen niet van het boek kan afhouden wanneer hij aan zijn project werkt. Als jouw kind graag knutselt, zal hij veel plezier beleven aan het ontwikkelen van zijn creatieve vaardigheden met Robots bouwen voor kids voor Dummies.

boek bestellenRobots zelf construeren - tips en trucs voor de zelfbouwer. Voertuigen die zich schijnbaar zelfstandig voortbewegen, als door een onzichtbare hand gestuurd, oefenen op veel toeschouwers een grote aantrekkingskracht uit. Deze aantrekkingskracht wordt vaak gevolgd door de wens om zelf ook zo'n voertuig te bouwen, dus een eigen robot te construeren. De zelfbouw van dergelijke robotvoertuigen is echter geen sinecure. Wanneer men niet over de nodige kennis op dit gebied beschikt, zijn mislukkingen gegarandeerd. En het onvermijdelijke gevolg? Frustraties, vaak na onnodig grote investeringen, die in veel gevallen het voortijdige einde van een nieuwe hobby betekenen. Dit boek reikt de roboticus in spé de nodige basiskennis aan van mechanische constructies en elektronische systemen. Bovendien worden eenvoudige, gemakkelijk na te bouwen en goed functionerende systemen beschreven die de fantasie van de lezer zullen prikkelen en een bron van inspiratie zijn voor de eigen creativiteit. In dit boek worden niet alleen bouwbeschrijvingen van complete systemen gegeven, maar wordt ook een groot aantal modulaire componenten beschreven ten behoeve van aandrijving, voortbeweging, voeding en sensoren. De beschreven modules kunnen naar believen in eigen modellen worden ingebouwd waarbij aan de combinatiemogelijkheden geen grenzen zijn gesteld.

Last update: 20-02-2017
Disclaimer: Hoewel de heer Pragt de informatie beschikbaar op deze site met grote zorg samenstelt, sluit hij alle aansprakelijkheid uit. Op de artikelen van de heer Pragt rust auteursrecht, overname van tekst en afbeeldingen is uitsluitend toegestaan na voorafgaande schriftelijke toestemming. Heinpragt.com is ingeschreven bij de KvK onder nummer: 73839426 en is gevestigd in Veenendaal.  Lees hier de privacyverklaring van deze site. Voor informatie over adverteren op deze site kunt u contact opnemen met: (mail@heinpragt.com).