Een van mijn eerste projecten was een slim robotje. KLM, Klein
Lachwekkend Machientje geheten. Dit robotje is nu "af", dat wil zeggen: ik verbeter het nog steeds maar het werkt.. Het is inmiddels zelfs opgevolgd door KLM3. Kijk onderaan deze pagina voor wat er veranderd is.
voeding 4x AA 1700 mAh
motoren met vertraging
PIC16F628A microprocessor
De voeding word gestep-upt naar 8V voor de motoren, vervolgens met
een 70l05 naar 5V voor de PIC. over deze 5V staan 2 elco's van
2200uF/35V parallel, om het piekje op te vangen als de motoren
starten (de step-up kan dat niet aan en gaat in stroombegrenzing, waardoor de microcontroller reset). De
microcontroller bevat de software.
(nader inzicht: toen KLM3 gemaakt werd bleken er een aantal fouten in KLM2 te hebben gezeten, oa. met de step-up. Zie onderaan de pagina)
Overzichtsfoto.
De achterkant. Zoals je kunt zien is dit al de 2e poging een Klein Lachwekkend Machientje te bouwen. (KLM II = KLM 2)
De onderkant.
De zijkant.
Op bovenstaande foto's (klikbaar) is de robot goed te zien, ook de
elektronica zie je aan de onderkant goed zitten. Maar ik heb ook een
paar filmpjes:
Bij de restyle van mijn website heb ik de filmpjes naar youtube verplaatst. Mochten ze dus nu niet werken, geef dan youtube de schuld en niet mij ;).
Hier
"danst" KLM voor de camera. Hij/zij (Het) draait een
rondje. Goed om een overzichtje te zien.
Hier
zie je wat de robot doet als deze word aangezet. Of eigenlijk hoor je
dat.
Hier zie je het eerste programma. Hierbij rijd de robot rechtdoor, en
maakt na een bepaalde tijd een klein bochtje. Na nog wat langere tijd
rechtdoor een groot bochtje. Bij het grote bochtje word de teller
gereset, op een muur rijden heeft hierop dus geen effect, wat het
resultaat meer random laat lijken.
Hier zie je hoe de robot zelfstandig uit een probleemsituatie komt,
waarbij de bumperschakelaar niet kan helpen als muurdetectie. De
robot draait en gebruikt alsnog de bumperschakelaar. Mocht het object
te laag zijn voor de bumper, dan helpt de grote draai de robot om
toch los te komen.
Hier
zie je wat de robot doet als programma 1 is afgelopen. Programma 1
stopt als de robot 7 keer een muur heeft ontmoet. De robot draait dan
een rondje en geeft een paar bliepjes.
Dit is programma 2. hierop gaat de robot al piepend telkens een stukje
naar rechts. Zodoende kan deze op vrij terrein een cirkel rijden. Op
niet vrij terrein betekend tegen een detecteerbaar iets oprijden dat
de robot achteruit gaat, en weer door gaat met piepen en naar rechts
gaan. Bij een niet detecteerbaar obstakel staat de robot vast.
Ook
heeft de robot sinds kort nog een derde programma. Hiermee is het
mogelijk dat de robot mijn naam schrijft. Dit lijkt idioot en dat is
het waarschijnlijk ook. Het was een ideetje van een klasgenoot en ik
vond het wel een uitdaging om te kijken of het ook kon.
Het kon
dus :).
28-6-2007:
De robot heeft wat operaties ondergaan. De wielen
zaten vroeger onder de aan/uit schakelaar. Aan de schakelaar gelijmd
via een stukje hout. Dat is natuurlijk niet waar die schakelaar voor
bedoeld is, dus zijn ze verplaatst. Het nadeel daarvan is dat de
wielen nu breder uit elkaar staan (en niet meer helemaal recht).
Doordat ze breder uit elkaar staan moest ook de bumperschakelaar
aangepast worden. Infrarood-muurdetectie zou wat dat betreft
misschien handiger geweest zijn. Foto's van de nieuwe
bumperschakelaar komen er aan.
Dit zijn de foto's van hoe de gemodificeerde KLM robot er nu uit
ziet. Ook is de robot nu van nieuwe software voorzien, welke alles
kan wat de hierboven beschreven software kan, alleen het rondje niet
meer (die piepjes waren iets te irritant), en het opstartgeluid is nu
anders. En de belangrijkste verandering: De robot kan nu random
(willekeurig) een richting kiezen, en daarna ook nog eens random de
tijd dat 'ie in de richting rijd. Dit geeft een leuk effect! Het
lijkt een beetje op het gedrag van een mier, alleen staan die niet zo
vaak stil. Gelukkig is de software aan te passen via die op de
achterkant gelijmde RJ-45 plug.
Muren detecteren met IR licht ipv. met bumperschakelaar
random bewegen
lijnen volgen
stand-alone programmeerbare routes
Als 'ie af ie krijgt 'ie een eigen pagina. Kijk daarvoor links in het menu.
KLM2 is opgevolgd door KLM3. KLM3 is nu "af", maar ik voeg nog af en toe dingen toe. Voornamelijk software.
Er bleken een paar fouten in KLM2 te zitten. Leermomenten:
Een step-up bedoeld om max. 20mA te leveren om een LCD van -30V te voorzien is niet bedoeld om motoren te voeden. (De step-up heeft al die tijd als een soort veredelde diode gewerkt. De microcontroller resette als de motoren werden gestart doordat ze op dat moment een piekstroompje trekken en de spanning dus kort in elkaar zakte. De condensatoren voorkomen dat de spanning inzakt door dit piekstroompje te leveren.)
De motorsturing werkt niet goed, de transistors stonden verkeerd waardoor er meer spanning over viel dan noodzakelijk. Daardoor bleef er minder over voor de motor en was KLM2 erg traag. KLM3 is nog steeds traag (zelfde motoren), maar wel sneller (hogere spanning & betere motorsturing).
4 NiMh AA's leveren niet genoeg spanning om een 7805 in te zetten. Doordat de micrcocontroller maar weinig stroom vraagt gaat het goed, maar eigenlijk wil de 7805 een minimum van 3V verschil tussen in- en uitgang. Bij lagere stroomafname wordt dit minder.
Om deze pagina te kunnen printen, zonder de rest van de frameset, voeg &print toe aan de url, of klik deze link: print. Kleur wordt als het goed is genegeerd (spaart inkt). Zo niet: stuur me a.u.b. even een (liefst niet al te boos) mailtje en ik pas het aan.