IR spårning torn med PIC och C (7 / 9 steg)

Steg 7: Testa och justera



Testrigg

Det enklaste sättet att testa detta är att montera servon tillsammans som i steg 5, och bifoga det kamera ombord med lite dubbelhäftande tejp. Det kan hjälpa att först montera kameran styrelsen på en bit av plast (Tic Tac box) att ge dig en bra yta att band till tilt servo.

Provning

Den enklaste beacon är en IR-fjärr, men eftersom de moduleras, prestanda är inte lika bra. Pixart kameran verkar reagera bättre till 940-950 nm IR-lysdioder, som du kan bara nypa runt ett mynt batteri. Jag gjorde denna wqith mycket goda resultat med en 940 nm ledde med en 90 graders synlighet kon. För att förbättra rundstrålande synlighet klustrade jag även 3 av dem parallellt som på bilden ovan.

Ganska mycket en IR källa fungerar inomhus och du kan justera kamerakänslighet för att få bästa resultat med din setup. Akta dig för glödljus, ljus, cigaretter och soliga fönster - de kan distrahera tornet förrän du har ställt in konfigurationen. Du kan också överväga att använda IR-pass filter från WiiMote eller från en annan IR-sensorn (från en trasig TV kanske). Det bästa är att ha en optiska lågpassfilter att matcha din ledstjärna lysdioder, men detta är tänkt för att vara ett billigt projekt :)

Försöka driva upp din testrigg. Det bör först centrerar sig, sedan vänta på en IR-källa. Steg tillbaka om 10 fot eller så och använda beacon. Servon ska flytta - om de inte flyttar korrekt, prova att byta pannan och tilt pluggar på moderkortet.

Tweaking

Pixart kamera Config

Denna länk kommer att spara mycket tid - jag tror allt du behöver veta om konfigurationen och några rekommenderade inställningar finns. http://wiibrew.org/wiki/Wiimote

Jag ska kortfattat relatera min erfarenhet här.

  • Jag använde grundläggande utdata inställning som ger dig 10 byte av positionsuppgifter för upp till 4 BLOB. Det finns två andra nivåer som får du ytterligare information såsom storlek och intensitet (12 och 18 byte nyttolast, respektive - du skulle behöva öka den I2C läsa buffert accordinly), men jag inte använder det här.
  • Finjustera blob storlek threshholds att filtrera bort oönskade störningar från windows, öppna spisar och glödljus.
  • Att hålla maximal blob storlek liten är en bra början.
  • Högre vinst innebär att det blir mer sensistive att störningar från reflektioner, andra IR källor etc., men ger bättre noggrannhet i positionering.

Jag fick ganska bra resultat inomhus (och ut på en mulen dag) med följande konfiguration och IR-pass filter som kommer i WiiMote.

statisk const uint8_t wiiCamInitData [14] [2] = {{0x30, 0x01}, < br >

/ * Känslighet config Block A * /
{0x00, 0x00}, {0x01, 0x00}, {0x02, 0x00}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00},
{0x06, 0x90}, / / p0: MAXSIZE: maximal storlek för blob. Wii använder värden från 0x62 till 0xc8
{0x07, 0x00},
{0x08, 0x41}, / / p1: få: Sensor få. Mindre värden = högre vinst

/ * Känslighet config Block B * /
{0x1A, 0x40}, / / p2: GAINLIMIT: Sensor få gräns. Måste vara mindre än vinst för kameran att fungera.
{0x1B, 0x00}, / / p3: MINSTORLEK: Minimum blob storlek. Wii använder värden från 3 till 5

/ * Läge config * /
{0x33, 0x01}, / / läge: 1 = basic, 3 = extended, 5 = full
< br > {0x30, 0x08}};

Servo vänden klassar

Kameran Returnerar koordinaterna på en 1028 x 768 x / y planet. Den har en FOV av ca 33 grader över och 23 grader hög. Det ger koordinater på en 1024 x 768 grid, så en grad är ca 30 bildpunkter. På grund av motringning tricket vi använde i tmr2.c har vi 9 bitar precision för 4ms (eller cirka 320 steg från 0.5ms till 2.5ms över 180 grader av servo resa) med servo signalen. Ökar CCPR för en PWM påverkar positionen av ca 0,6 grader.

För att förhindra jitter vi vill ange ett fönster som anses center är så att spåra smidigare och inte hyper-känsliga. I det här fallet har vi ett fönster 20 x 20 pixlar som anses center. Du kan spela med "center" rutan storlek att få resultat som passar dina behov.

Om koordinaterna returneras av kameran utanför fönstret, vi panorera eller luta i den riktningen. Jag delar pixel skillnaden med (20 * 3) för att jämna det ut och förhindra nickande effekten om du över rätt. Kameran är tillbaka koordinaterna cirka 60 gånger per sekund här, så vi måste jämna ut pan/tilt att hålla den från jering överallt.

875 och 375 är PWM värden som motsvarar 0,5 och 2,5 ms perioder på servo signalen (extrem vänster till höger på en servo).

void updatePan(void) {
om ((b1x == 0x00) || (b1x == 0xFF)) hemkomst.
om (b1x > 522) DcPan += (b1x-522)/(20*3);
om (b1x < 502) DcPan-= (502-b1x)/(20*3);
om (DcPan > 875) DcPan = 875;
om (DcPan < 375) DcPan = 375;
PWM2DCH = DcPan >> 2.
PWM2DCL = DcPan << 6.
}

void updateTilt(void) {
om ((b1y == 0x00) || (b1y == 0xFF)) hemkomst.
om (b1y > 394) DcTilt-= (b1y-394)/(20*3);
om (b1y < 374) DcTilt += (374-b1y)/(20*3);
om (DcTilt > 875) DcTilt = 875;
om (DcTilt < 375) DcTilt = 375;
PWM3DCH = DcTilt >> 2.
PWM3DCL = DcTilt << 6.
}

IR-Filter

Använda IR-filter från WiiMote är en bra idé om det inte är alltför repas upp. Annars kan du hitta dem i alla typer av kasserade elektronik.

IR-LED

940-950 nm rekommenderas. 880 fungerar också, men inte liksom ett avstånd.

Gemensamma frågor

Servo Back-och-Forth (över korrigering)

Prova DcTilt eller DcPan divideras med ett större numrerar att jämna ut panorering.

"Fastnar"

Servon kan dra för mycket ström - prova att använda en större kondensator på spänningsregulatorn.

Reagerar inte

Kan vara i ständig reset - servon kan dra för mycket ström för att hålla kameran eller IC från återställa. Kontrollera alla anslutningar och se om servon center när du slår på den.

Konstant återställa

Lågt batteri oftast (om inte något av ovanstående).

Se Steg
Relaterade Ämnen

Auto-torn med TOPPLUVA och Nerf Gun

Med Auto-torn-projektet, kan du automatiskt spåra och eld på dina fiender! Detta projekt använder en TOPPLUVA kameramodul, en RobotGeek pan/tilt bas, en skum dart pistol och en Geekduino att samordna komponenterna. TOPPLUVA kan vara "lärt" att k...

Realtid ansikte spårning Robot med Arduino och Matlab

Realtid ansiktsspårning avser uppgiften att lokalisera ansikten i en videoström och spårning hittas eller igenkända ansikten. Numera finns det många verkliga tillämpningar av ansiktsavkänning och andra tekniker för bildbehandling. Det finns många alg...

Bygga ett Portal torn med rörelse kontrollerade ljud och belysning

i detta Instructable jag ska visa dig hur jag gick om att bygga min egen liv storlek talar Portal torn från början till slut. Detta är ett ganska ingående projekt som kommer att omfatta varje konstruktionsfasen samt alla tekniker jag använde längs vä...

Dagis övervakning och spårning System med Intel Edison Development Kit

Vi har byggt ett dagis övervakning och spårning system med Intel Edison styrelsen tillsammans med Bluetooth låg energi (BLE) enheter och en USB-kamera. Det är en demonstration av hur lätt Intel Edison DevKit kan användas för att bygga en lösning till...

Objektet spårning av färg med Python och openCV

Målet är att skriva ett skript som gör en robotbil upptäcka en blå markör, gå mot markören, läsa skylten som är på märkningen och följa dess riktning tills en stoppskylt hittas.Videon visar en översikt över den strategi och prestanda.Programvara som...

Skateboard med PIC mikrokontroller och lysdioder

vad gör du när en elektroingenjör bygger en Skateboard från början för en 13-årig julklapp? Du får en skateboard med åtta vita lysdioder (strålkastare), åtta röda lysdioder (tailights) alla kontrolleras via PIC microntroller! Och jag vill tillägga, e...

Mediatek linkit en - Bygg din egen spårning webbplats med hjälp av linkit en GPS, GPRS och JSP med Google karta

Först och främst mycket tack för Mediatek för skicka mig en Mediatek Linkit en styrelse. Jag är mycket glad å öppna förpackningen och arbeta med WIFI, Bluetooth, GPS, GSM, GPRS. Det är mycket trevligt. Ser utdata från varje kod har mitt sinne hoppa a...

* uppdaterad * LED-torn "Hej", Vu-mätare avancerad Sensing musik utan IC endast med Ardurino och gränssnitt med PC Windows Software!

LED-torn "Hej", Vu-mätare avancerad Sensing musik utan IC endast med Ardurinooch samverkan med PC Windows programvara! Hej, alla.Vad som gör detta projekt så cool är, som dess avkänning musik, till skillnad från traditionellaVU-mätare eller Equa...

Att göra en Formboard tärning torn

spela bordsskiva spel är en av glädjeämnen i livet. Styrelsen tar ibland upp alla tabellen och det finns ingenstans att kasta tärningarna, och ibland din kompis har bemästrat den handleden åtgärden för att få den roll han vill att kanske du inte vill...

PiTank - en web kontrollerade tank med kanon och direktuppspelad video

PiTank är en web controller tank byggd för en tävling på min skola robotics club. Projektet tog ungefär två veckor för att slutföra med alla 5 gruppmedlemmar deltar i olika aspekter. Dess huvudsakliga projektilen är ping pong bollar (upp till 3). Brä...

NOMAD från ursprungliga Star Trek-serien med ljus och ljudeffekter

om du är ett fan av den ursprungliga Star Trek-serien, du vet vad NOMAD.Det visades i episod #37 "Changeling".NOMAD är huvudsakligen en hybrid av en gammal jord utrymmesonden som kolliderade med en främmande utrymmesonden. Den resulterande hybri...

30 objekt Ultimate Altoids Tin Urban Survival Kit (inkluderar solglasögon, en kortlek med kort och ketchup)

det finns massor av dessa survival kit flyter runt Instructables och resten av Internet och även om jag älskar att göra kit som inkluderar fiske krokar och sy uppsättningar, mina chanser att bli i en överlevnad situationen där jag faktiskt behöver de...

En sträng manövrerade marionett med ögon och ögonlock flytta / Une marionette à fil avec les yeux et les paupières qui bougent.

En sträng manövrerade marionett med ögon och ögonlock flyttarUtrustning:-Ett ansikte i papier maché, papper mache-4 ping pong bollar-tråd-2 tandpetare-2 gummiband-sträng-2 små bitar av trä eller plast-1 cross i trä-4 ringar i metall eller plastLe Mat...

Battlestar Galactica havet. 1 pistol: kul med kanoner och Moldmaking

med min förra terminen för min kandidatexamen gång, min fru och jag var upptagen på sidan Skapa steampunk Bonnie och Clyde kostymer för den kommande Salt Lake Comic Con. Jag hade valt att bara ändra ett par Nerf vapen, överväger jag försöker slutföra...

Nintendo AMD retro moderna spel PC bygga med nya och gamla delar

OK, så jag har läst många av instructables på här om att bygga en PC med en Nintendo NES som givaren för fallet. Jag har byggt en hel del datorer de senaste 10 åren men är alltid ute efter att göra något lite annorlunda som fortfarande kommer att var...

Målat glasskål med kopparfolie och löd

Detta är mitt första försök i att göra en glasskål med hjälp av bitar av glas tillskurna, inslagning sidorna med kopparfolie och lödning bitar tillsammans. Tidigare har jag postat en instructable på "Målat glas Terrarium", där jag har använt epo...

Ultimate Robo-Planter (med ljus och avtagbara anti spill modul)

(Om du gillar mitt projekt, snälla rösta på mig. Tack!)Mina damer och herrar, jag ger dig... min ultimata Robo-Planter!"Men Mario" - ni kommer att säga - "vi har sett din Robo-planteringsmaskiner innan. Inte illa och mycket ekologiskt, men...

Laserskärning för konst och industriella kreativitet

förstå capabilites laserklingor och hur man får det mesta av dem är i fokus för detta instructable. Jag kommer att använda kniv, verktyg och olika andra maskiner som jag har för att visa vad jag har lärt mig om detta medium. Spännande huvudfunktionen...

Bärbar sol spårning solpanel med A Windup klocka enhet

jag har bara konstruerade och byggde en hemmagjord solar tracker än kan enkelt ställa in att exakt anpassa till höjden av solen (eftersom det ändras dagligen, med årstiderna), och också troget följa solen, från soluppgång till solnedgång. Panelen spå...