Handleiding voor de ASURO-module „Mijnveger“ AREXX / Robin Gruber 23.3.
1 Functiebeschrijving van de schakeling De uitbreidingsmodule “Mijnveger” stelt de ASURO-Robot in staat metalen voorwerpen te detecteren, die zich onder de halve ping-pong-bal bevinden.
Omdat deze conversie niet zonder verliezen verloopt, zal de oscillatie na een paar perioden afsterven. Men moet voortdurend energie toevoeren om deze verliezen te compenseren. Daartoe moet men evenals bij een schommel de juiste tijdstippen voor de benodigde impuls kiezen, anders werkt het niet. In ons ontwerp zorgt de schakeling er daarom voor, dat het systeem de laadstroom voor de condensator proportioneel instelt tot de spanning over de condensator.
Je moet nu namelijk 400 windingen (ja, dat is geen typefout!) dun koperdraad (0,1mm diameter) op de spoelvorm wikkelen. Dat gebeurt als volgt: In de bouwdoos bevindt zich een spoelvorm met een dubbele kamer, die in feite voor twee kernhelften is ontworpen (zie fig. 2). Fig. 2: Spoelvorm, met dubbele kamer Fig. 3: Spoelvorm, doorgezaagd Om ervoor te zorgen, dat de spoelvorm in onze enkelvoudige kern past, moet de vorm doorgezaagd worden. Daartoe is een beugelzaag goed geschikt.
Vervolgens wordt voorzichtig (vanzelfsprekend zonder tijdens het wikkelen van wikkelrichting te veranderen) en secuur 400 windingen van het dunne gelakte koperdraad gewikkeld. Als je niet secuur te werk gaat, past het niet op de spoelvorm. Als de draad breekt (in dat geval is er geen plaats voor een reparatie) of je de tel kwijtraakt, moet je weer opnieuw beginnen. Het maakt niet zoveel uit, of je 380 of 420 windingen wikkelt, maar de afwijkingen mogen niet al te veel groter worden.
Ter afsluiting plak je de 10nF-condensator (met de opdruk: 103) met secondelijm op de achterkant van de spoel vast, zodat de draadeinden in de richting van de sleuf wijzen, waaruit de draden steken. Fig. 7 schetst de plaatsing van de condensator naast het gat in het midden van de kern – misschien kunnen wij dit gat later nog ergens voor gebruiken. Voor de nu te bouwen schakeling is dit gat echter niet van belang. Verkort nu eerst de aansluitdraden van de condensator tot een lengte van ca.
Fig. 8: De kant en klare spoel 2.2 De montage van de spoel Om de nu kant en klare spoel op de robot te monteren moet je eerst de ping-pong bal weer verwijderen. Als je de ping-pong bal over de gehele rand (in plaats van slechts op een paar puntjes) hebt vastgelijmd, is dit een vervelend klusje. De spoel wordt vervolgens – ook weer met secondelijm – aan de binnenkant onder de halve pingpong bal vastgelijmd (zie fig. 9).
a) Op de ASURO zijn nog geen aansluiting-pins voor de uitbreidingsprint beschikbaar In dit geval moeten allereerst enkele onderdelen voor de lijnvolger, en wel de fototransistors T9, T10 en de LED D11 van de print worden weggenomen. Daartoe moet je eerst de ping-pong bal hebben verwijderd. Meestal lukt de demontage van onderdelen prima, als je de gesoldeerde aansluitingen van een onderdeel tegelijkertijd met een soldeerbout verhit en het onderdeel voorzichtig van de printplaat trekt.
Fig. 12: Uitbreidingsprint met de plugverbindingen 2.4 De bevestiging van de ping-pong bal Als de aansluitingspins op de print zijn gesoldeerd, moet je de uitbreidingsprint weer verwijderen en tijdens de verdere montage opzij leggen. Nu wordt eerst de aansluitkabel van de spoel door het gat in de ASURO-print gevoerd en de ping-pong bal met de daarin vastgeplakte spoel weer voorzichtig met drie tot vier puntjes op de ASURO-print vastgelijmd. 2.
Fig.
Fig. 14: Kant-en-klare uitbreidingsprint Attentie: De aansluitingen VCCOUT1/2, GNDOUT1/2 en ADC2OUT/ADC3OUT worden voorlopig niet gebruikt. Deze aansluitingen kunnen later samen met een bevestigingsgat op de print toegepast worden, om twee afstandssensoren voor een triangulatiemeting aan te sluiten. Daarmee kan de ASURO zowel autonoom navigeren als ook metalen objecten opsporen. De bijbehorende details staan in „Meer plezier met ASURO, Deel II“.
if ((PIND & } // If oscillator // range, so LED if (oscillation) } } return 0; (1<<2)) == 0) oscillation = TRUE; is running, no metal object is within should be off FrontLED(OFF); else FrontLED(ON); Dit programma zorgt ervoor, dat de LED uitgaat, als de oscillator werkt. Afhankelijk van de toegepaste detectiemethode (uitdemping van de oscillaties of verandering van de oscillatiefrequentie) moet men verschillende ijkingsprocedures volgen.
for (i=0; i<100; i++) { count72kHz=0; // This counter is incremented in timer interrupt FrontLED(OFF); while (count72kHz<72) { // Detect level change newlevel = PIND & (1<<2); if (oldlevel != newlevel) { oldlevel = newlevel; freq++; FrontLED(ON); } } } sprintf(s,"%5d\n\r",freq); SerWrite(s,7); } } return 0; 2.7 Debugging Als de schakeling niet volgens de handleiding werkt, moet je een debugging (speurtocht naar de fouten) starten.