Dirt Devil Spider op Espruino of Arduino: deel 2 (IC en accu)

In het vorige deel zette ik de geschiedenis en mijn plannen op een rij. In dit deel licht ik mijn eerste stappen toe: het verwijderen van het IC, het verbinden van een nieuwe aansturing en het opladen van de accu.

Verwijderen van het IC

De Dirt Devil laat zich prima openen. Allereerst zitten onderop zes schroeven. De rode rubberen stootband laat zich eenvoudig verwijderen door eraan te trekken (de rand is niet vastgelijmd). Onder de band zitten de laatste twee schroeven. Deze houden de plastic bumper op hun plaats, die moet je verwijderen voordat je het deksel kunt openen. Eenmaal geopend lacht de banaan-vormige printplaat je toe. Het IC bevindt zich in het midden van de printplaat, dus aan de voorkant van de Dirt Devil. De printplaat zelf zit met vier kleine schroefjes vast.

Het IC is vastgesoldeerd aan de printplaat. Een onderdeel dat met veertien poten aan een printplaat is gemonteerd, laat zich niet gemakkelijk verwijderen. Zonder mijn tinzuiger (desoldeer-pompje) was het me waarschijnljk niet gelukt. Door bij elke pin van het IC het tin te verwarmen, en direct zoveel als op te zuigen met de tinzuiger, kon ik de boel redelijk opschonen. De banen van de printplaat lijken wat fragiel, dus het is zaak de soldeerbout niet te lang aan de plaat te houden. Uiteindelijk had ik alle pootjes min of meer vrij gezogen, en kon ik met een kleine, platte schroevendraaier het IC van de printplaat wippen. Daarbij sprong een splintertje van het IC af, maar dat heeft de werking niet aangetast.

Als het hele project roemrijk mislukt, wil ik de Dirt Devil gemakkelijk weer in originele staat kunnen terugbrengen. Daarom heb ik een standaard IC-voetje op de printplaat gemonteerd (16-pins afgekort tot 14-pins). In het IC-voetje kun je ook gemakkelijk jumper-wires aansluiten.

Printplaat met de zojuist geplaatste IC-voet

Verbinden van de nieuwe aansturing

De Dirt Devil Spider laat zich heel gemakkelijk aansturen. De pinnen 4 en 11 leveren de spanning (5V; 4 is +, 11 is -). Daarop zal de nieuwe microprocessor draaien. Pin 2 is de interrupt van de bumper (wordt HIGH als de bumper is ingedrukt). De overige pinnen sturen de motoren, LED's, ventilator (zuigmotor) en speaker aan. De borstels beginnen automatisch te draaien als de ventilator aanstaat en de Dirt Devil rijdt.

Pin In/uit Functie Betekenis
1 output LED "batterij vol" HIGH = LED aan
2 input Bumper-interrupt Bumper ingedrukt = HIGH
3 output speaker Vereist PWM-aansturing?
4 V in Voeding (+) Spanning: zie hieronder
5 ?? ?? --
6 output Ventilator (zuigmotor) HIGH = ventilator aan
7 ?? ?? --
8 output Wiel links HIGH = voorwaarts
9 output Wiel links HIGH = achteruit
10 output Opladen stoppen HIGH = stop opladen accu
11 Ground Voeding (-) Spanning: zie hieronder
12 output Wiel rechts HIGH = achteruit
13 output Wiel rechts HIGH = vooruit
14 output LED "Batterij leeg" HIGH = LED aan

Opladen van de accu

Zoals ik schreef in het vorige deel van deze blog-serie, rapporteerde Paai, die ook een Dirt Devil onder handen heeft genomen, een probleem met het opladen van de accu. Zodra de accu-lader is aangesloten wordt de 5V-spanning naar het IC onderbroken, en de accu wordt tijdens het laden erg heet, aldus Paai.

Omdat dit wezenlijke problemen zijn, pak ik dit direct op. Ik ben simpelweg draden in het apparaat gaan volgen. De aansluiting voor de accu-lader is aangesloten op een deel van een printplaat waar een extra IC zit:

De connector van de aansluiting van de accu-lader en de omliggende componenten

Een zoekopdracht naar het typenummer, MC34063AL, wijst uit dat het een DC-to-DC-converter is (datasheet). En die worden onder meer gebruikt voor het opladen van accu's - zie bijvoorbeeld EEVblog #110. Dat roept het idee op dat het IC dat de Dirt Devil aanstuurt, niets te maken heeft met het laden van de accu. Nu dat IC in de vorige stap is verwijderd, kan ik dat goed testen.

Ik verwissel de accu van de opengeschroefde Dirt Devil voor die van onze "echte", die er net een beurt op heeft zitten en dus "leeg" is. Met de lege batterij op zijn plek bevestig ik mijn multimeter aan de contacten van het batterij-compartiment, sluit de accu-lader aan, en houd het gemeten voltage bij:

X-as: tijd in minuten; Y-as: Volt

Uit bronnen op andere websites begrijp ik dat dit geen gekke laadcurve is (BatteryUniversity en eRadioControl bijvoorbeeld). Wat wel opvalt, is dat mijn curve niet stopt. In de handleiding van de Dirt Devil staat dat een laadcyclus vier uur duurt, en na bijna zes uur gaat de MC34063AL nog altijd door. En de accu bleef in de eerste uren koel, maar begint nu op te warmen. Ik besluit daarom het laden handmatig te beeindigen en verwijder de accu om te koelen.

Als de MC34063AL niet zelfstandig het opladen regelt, zou het IC dat de Dirt Devil aanstuurt dan toch een rol hebben? Ik sluit mijn multimeter aan op pinnen 4 en 11 (+5V en -) en lees +3,8V. Potdorie: de voedingsspanning wordt door het aansluiten van de accu-lader niet onderbroken, maar verlaagd. En volgens de datasheet van het originele IC (EM78P153K) blijft de spanning binnen de acceptabele bandbreedte (2,1 - 5,5V). Het IC blijft dus werken! Een microprocessor die op 5V werkt, zou onvoldoende spanning krijgen om aan te blijven.

Op goed geluk schakel ik de drie pinnen waarvan de werking nog onbekend is (5, 7 en 10) handmatig naar HIGH, door ze kort te sluiten naar V-in. De multimeter hangt intussen weer aan de contacten van het lege batterijcompartiment. Ik lees 19,05V, de spanning van de accu-lader. Totdat ik pin 10 omhoog trek. De spanning verdwijnt: nul op de meter.

Mijn gok is dat het originele IC meet wat de hoogte van de voedingsspanning is. Is deze 5V, dan start het zuigprogramma, is deze lager, dan wordt slechts een timeout geactiveerd om na vier uur pin 10 naar HIGH te trekken. Theoretisch is het mogelijk dat het originele IC gebruik maakt van de interne sensor van de accu (de derde, bruine draad naar het compartiment) om de laadcyclus te beeindigen. Maar volgens de handleiding duurt elke laadcyclus vier uur, en als deze onderbroken wordt, beginnen de vier uur opnieuw. Dat wekt niet het vermoeden van laden op basis van sensor-feedback. Dat hoeft ook niet, want de accu is na elke volledige zuigbeurt in dezelfde staat. Een statisch laadprogramma leent zich daar prima voor.

Conclusie

In dit deel van mijn miniblog beschreef ik hoe ik het IC heb verwijderd en welke pinnen wat doen. Het probleem van het laden van de accu is nu in theorie verholpen. Duidelijk is dat pin 10 na vier uur laden naar HIGH moet worden geschakeld, maar hoe, dat is nog niet direct helder. De NodeMCU kan zowel op 5V als op 3,3V draaien. Maar dat zijn gescheiden pinnen: 3,3V op 5V-pinnen werkt niet en 5V op 3,3V-pinnen beschadigt de chip permanent.

Misschien ligt de oplossing voor dit probleem buiten de Dirt Devil. Zoals ik in het vorige deel schreef, wil ik een return-home-functie inbouwen. Daarvoor moet ook een "home" (laadplatform) worden gemaakt. Ook vanaf die zijde kan na vier uur de spanning worden onderbroken. Of de meest simpele oplossing: een schakelklok. Wordt vervolgd!

Over Thijsmans

Thijsmans houdt van internet, techniek en het snijvlak daarvan. Hij klopt vloeiend PHP, MySQL, HTML, CSS en Javascript, maar is niet gehinderd door enige elektrotechnische kennis. De hier beschreven gebeurtenissen moeten dan ook vooral niet worden opgevat als advies of wijsheid, maar als verslaglegging voor de mensheid. Do not try this at home!

 

Meer inhoud als dit:

© 2019 @Thijsmans