JunkBot #1: Runner


19-10-2005

Dit junkbotje begon zijn leven als rennende muis.

In de behuizing van een Dell computermuis werden twee motoren ingebouwd, een accu en wat electronica. Het idee was een variant te maken op het inmiddels beroemde MakeZine project Mousey The Junkbot (pdf artikel). Later is door Nexus Research dit nog eens verbeterd. Mijn eigen versie zou een forse sprong vooruit moeten zijn qua intelligentie. Ik koos er daarom voor om een PIC16F819 microcontroller als kern van het geheel te gebruiken.

Voor de aandrijving werd per kant 1 motor gebruikt. Dit zijn scrap motoren die in Dell CD drives gebruikt worden om de lade aan te drijven. De motoren worden gevoed vanuit de schakeling via de transistors. In verband met het feit dat de vonken die veroorzaakt worden door koolborstels storingen kunnen veroorzaken worden de motoren voorzien van condensatoren. Met een ontstoorcondensator wordt de storing als het ware kortgesloten tegen het motorhuis. De gebruikte condensatoren zijn 100nF (type aanduiding 104). In het geval van DC motoren, groot of klein, gestuurd door elektronische regelaars wordt de motor HF ontstoord door condensatoren van zo'n 100 nF aan te sluiten tussen beide polen van de motor en 1 van elke pool van de motor naar de massa wat meestal de behuizing is. Omdat het niet mogelijk is vanwege de stroom die er gaat lopen om de motoren rechtstreeks vanaf een output pin van de microcontroller te voeden is een additionele schakeling noodzakelijk. Dit kan op meerdere manieren gerealiseerd worden. Een van de zaken die meegenomen dienen te worden is het verschijnsel "Back EMF" veroorzaakt door het feit dat de motor kan draaien terwijl hij niet aangedreven wordt. Dit veroorzaakt een spanning dien ongewenst is en mogelijk destructief voor het electronisch circuit.

Een H-brigde maakt het mogelijk om elke motor individueel twee kanten op te laten draaien door gebruik te maken van twee pinnen van de microcontroller, een voor vooruit en een voor achteruit. Een H-Beam schakeling kan ook als chip worden uitgevoerd door bijvoorbeeld de toepassing van de L293 D. Hiermee kan ook de voedingsbron een andere zijn dan die voor de microcontroller. De 0V dient wel gekoppeld te worden tussen beide circuits.

De L293D kan tot 800mA schakelen, dat is tweemaal de capaciteit van de accu's en ongeveer 4 maal de stroom bij volle belasting (lees maximale weerstand) van de motoren. Om het stroomverbruik te beperken worden de motoren om en om gepulst zodat het stroomverbruik gehalveerd wordt. In de schakeling van de L293D zijn dioden opgenomen zodat er geen externe EMF onderdrukking hoeft plaats te vinden.

De minimale voedingsspanning voor de microcontroller bedraagt 3 Volt, de maximale spanning 5 Volt. De motoren worden gevoed vanuit dezelfde bron als de schakeling. De accu bestaat uit 3 AA NiCd cellen in serie. Dit levert in theorie een spanning van 3.6 V en een capaciteit van 450 mA. In tegenstelling tot lood batterijen is de spanning van de accu bij NiCd (en NiMh) batterijen geen goede indicatie voor de status van de accu omdat de ontlaadcurve bijna vlak is. Om accubewakingsfunctionaliteit toe te voegen is een wat meer complex monitoring circuit nodig dat helaas niet in de behuizing past. Dat is jammer want het zou de muis een stuk interessanter maken.

Daarom besloot ik maar iets leuks met het laden van de accu te verzinnen. De accu werd in eerste instantie geladen vanuit de USB poort van een pc. Dit is mogelijk omdat USB poorten 500 mA belast kunnen worden. Door het spanningverschil zal er een stroom gaan lopen van de USB poort naar de accu. Omdat gedurende het laden de weerstand van de accu afneemt zal de laadstroom ook afnemen tot ca 5 mA, voldoende om de accu in conditie te houden. Om de juiste weerstand van de accu te krijgen wordt een weerstand van 100 Ohm in serie geplaatst. In het circuit wordt een led opgenomen om aan te geven dat de accu geladen wordt. De gemeten spanning op de onbelaste USB poort is 4.9 V. Sluit ik de drie cellen met een in serie geschakelde weerstand van 100 Ohm aan, dan zakt de spanning naar 3.9V. De spanning over de cellen is overigens ook 3.9V. Er loopt een heel klein stroompje, waarschijnlijk 0.05 mA. Als je met 1/10 van de capaciteit wilt laden dan (5V-3.6V)/(1/10 accucapaciteit) is de benodigde weerstand dan (5-3.6)/15mA=93 ohm. Op deze manier bereken je dus de weerstand in het schema. De accu is dus vol bij die 0.05 mA en zodoende wordt hij in conditie gehouden. Je kunt hem dus onbestraft aan de lader laten hangen. Het schema ziet er heel simpel uit:

Echter....uit een usb-poort trek je niet zomaar 500mA. Volgens de USB specificatie levert op een poort in rust ongeveer 40 milliampere. Van zodra je meer dan 10 milliampere trekt uit de poort wordt de controller wakker en gaat ie kijken of er een device bijgekomen is. Er gebeurt dan een soort handshaking proces ( enumeratie) als er geen device gevonden wordt dan gaat de poort ofwel dicht of wordt ze gereset ( das dat 3 maal op en af gaan wat je ziet , de usb engine probeert de aangesloten apparatuur te resetten door de spanning af te snijden, enumereert opnieuw , snijdt opnieuw af ,enumereer opnieuwe etc ) wanneer dit niet lukt gaat de poort gewoon dicht ( je krijgt er dan maximaal een paar milliampere uit. ) vandaar de 2 volt die overblijft. als de enumeratie gelukt is ( doordat er een echt USB device aan de andere kant zit en dat is een microprocessor et en USB engine an boord en de bijbehorende software ) dan kan er onderhandeld worden over de beschikbare stroom je kan 0-40 milliampere krijgen , 0-100 of een full power device en dat is 500 mA. De USB power wordt via TS2041 chips geschakeld. bij veel goedkope moederborden kun je vaak gewoon die halve ampere trekken ongeacht enumeratie. Anyway, omdat het ook op een laptop moest werken heb ik dus een 5 Volt aftakking aan een memorystick gesoldeerd. Dit voldoet prima hoewel ik mij afvraag waarom een memorystick zoveel zou willen trekken, geen idee over welk stroomverbruik hij onderhandelt. Maar... het werkt.

Later heb ik deze manier van laden vervangen door achterin de muis een laadstekker connector uit een stukke nokia telefoon in te bouwen. Hierdoor is hij nu op te laden met behulp van een nokia gsm-lader.

Wordt vervolgd.....

Klik aub op de sponsor hieronder als je dit artikel waardeert.