Hastighetsmätare till robot (Med eget släphjul)

Berätta om dina pågående projekt.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

Tjena. Idag påbörjade jag ett nytt projekt som jag gått och tänkt på i någon månad, Nämligen en distansmätare (och hastighetsmätare) till min utväcklingsplattformsrobot (som jag inte har byggt än.... :vissla:)

Syfte:
Jag vill kunna mäta hur långt min robot har kört, och hur hög hastigheten är på min robot, den ska bara gå på plant underlag (= inomhus). Däremot så kan jag inte mäta hastigheten på hjulen, oavsett om hjulen slirar eller inte så måste jag ha den reella hastigheten så att jag vet hur långt den har kört totalt.

Hur?:
Ett hjul som trycks ner i marken kommer snurra när roboten åker framåt/bakåt, hjulet kommer sitta under robotens mittpunkt, detta för att undvika sidokrafterna när den snurrar. För att läsa av hjulets rörelse kommer jag använda en reflexdetektor, alltså en ir-led och en fototransistor i samma kapsel. Typ denna, fast ytmonterad 75-344-72 .
Bild

Sedan ska det sitta någon liten PIC (kanske 12f629 / 12f675) som läser av sensorn med hjälp av "interrupt on change" funktionen som PIC'ar brukar ha. Denna ska då spara hur långt man har kört, och räkna ut en hastighet från genomsnittet av de tre sista (eller något liknande) förbipasserande linjerna.

Linjerna på hjulet kommer vara anpassade så att ett interrupt motsvarar en förflyttning av 5mm.

Kommunikation:
Ja, Då måste ju roboten kunna kommunicera med sensorns PIC på något vis, för detta hade jag tänkt mig I2C. Visst, det kanske är lite overkill, så varför tänker jag använda det? Jo, jag har aldrig använt varken I2C eller SPI, så någon gång ska man lära sig det, och nu har jag en anledning att lära mig det! Eftersom sensorn kommer ge interrupt ganska ofta är det också viktigt att det inte tar för lång tid att skicka över datan, visst är SPI snabbare än I2C, men I2C är ju ändå betydligt snabbare än tex RS232 (?).

25-juni-2009Byggandet:
Logiskt sett så är ju det första jag behöver ett hjul. Efter lite funderande kom jag fram till att man kan ta ett kullager, och helt enkelt använda det som hjul. Så jag tog ett flänskullager, hittade en lämplig bult att sätta fast det i, och två muttrar till det (varför två, det ska ni få se senare).
Bild

Sen skrev jag ut en färgskiva, 14 "rutor" ger ~4,934mm per interrupt.
Bild

Skar ut den med en skalpell så gott jag kunde. Man skulle haft något hårdare material så att jag kunde fräst ut den med CNC'n..
Bild

Efter lite fin justering så fick jag på den runt navet. Den är rätt smal tycker jag, så jag hoppas att reflexdetektorn kan fokusera på det lilla området!
Bild

När jag hade lyckats limma fast den upptäckte jag att det hade blivit en massa repor i det svarta! Hoppas att det inte stör sensorn... :(
Bild

Och såhär ska kretskortet med sensorn sitta. Längre än så har jag inte kommit..
Bild

Vad tror ni?

Mvh. Danne
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av victor_passe »

Varför inte ta en gammal kul-mus?
Då är ju redan allt klart. Du använder din egen elektronik såklart.
Denna kan du ju bara mäta 1D, med en mus kan du mäta 2D, Lägg till en elektrisk kompass så har du ju allt klart.
Men annars är det ju fins, du kan måla i det svarta med valfri mörk penna kanske?
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

Jo, En mörk penna borde ju fungera. Bra tips! :)

Edit: Det är ju roligare att bygga själv!
Cryptomaster
Inlägg: 593
Blev medlem: 17 december 2005, 02:23:20
Skype: crypto-master
Ort: Nyköping

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av Cryptomaster »

Kul! :D

Har du möjlighet får du gärna mäta signalerna med oscilloskop och visa, intressant att se hur pass distinkt skillnad man kan få :)
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

Jo, Jag tänkte göra det så fort jag har fått på sensorn, det är lite enklare att kolla med en gång än att sitta och felsöka PIC'ens program sen när jag inte får det att fungera (så som det brukar bli...) :wink:
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

26-juni-2009 - Första testet!

Fortsatte bygga på den idag...

Varför finns det ytmonterade komponenter om man ändå måste löda på egna ben på dem!? :wacko:
Bild

Lödde fast två SMD motstånd, lite sladdar och en stiftlist...
Bild

Dock hade jag satt reflexdetektorn lite för högt upp, så jag fick tillverka en plastbricka som gör att kretskortet kommer lite längre ifrån kullagret.
Bild

Såhär blev det, ganska perfekt tycker jag, dock var jag lite orolig eftersom sensorn sitter så lågt ut från navet..
Bild

Kopplade in den till oscilloscopet (och strömmatning) och körde lite fram och tillbaks.
Bild

Resultatet blev detta. Det verkar fungera, men det blir ju inte direkt en fyrkantsvåg som jag räknade med... :roll:
Bild

Om frekvensen är 4,68hz som på bilden, då blir varvtalet:
4,68 hz / 7 linjer = ~0,669 varv/sek = 40,11 RPM

Och, då körde jag den i:
40,11 RPM * 2tt * 11 / 60 = 46,18 mm/sek
Och det kan nog stämma :)

Jag ska testa att köra den liiite snabbare och se hur det går :twisted:

Mvh. Danne
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

36,25 hz = 357,7 mm/sek (1,28 km/h)
Detta var ju inget vackert...
Bild

40,39 hz = 398 mm/sek (1,43 km/h)
Och inte detta heller... Tanken va att den skulle kunna mäta uppåt 10 km/h. Någon som har idéer på hur man ska lösa detta, eller vad det kan bero på? :)
Bild
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av Malm »

Det är ju inte så konstigt att du inte får en fyrkantsvåg ut, reflexdetektor har ju ett linjärt område mellan helt vitt och helt svart. Ett tips är att testa med en Schmitt-trigger.
Användarvisningsbild
EagleSpirit
Inlägg: 1288
Blev medlem: 27 maj 2003, 23:15:48
Ort: Västerås
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av EagleSpirit »

Jag höll på litegrann med encoders i kandidatprojektet. Det bästa hade vart att använda en magnetavkännande rotationssensor men pga konstruktionen kunde vi inte göra det. Här är en bild på våra "fält":
Bild

Här har du ett diagram över avstånd och utspänning.
Bild

Vi kom fram till att man ska ha ca 70% svart och 30% vitt för att få en ungefär 50% duty. Avståndet ska vara ca 1-2mm.

Man kan ha ca 4mm breda fält innan de går in för mycket i varandra pga bredden på sensorn. Det kan hjälpa om man sätter något översensorn med en springa som är smalare än 3mm. Vi hade en skiva med 48 svarta fält = 96 fält = 384 pulser per varv vid 135mm ut från centrum.

Det allra bästa är dock att använda en mätskiva som har genomskinliga fält. Det vill säga som i en kulmus eller om man skriver ut på ett OH-papper och mäter på varsin sida av skivan mha. en läsgaffel. Då blir det mycket stabilare pulser.

Vi använde en schmitt-triggerkrets på våra encoders för att få en ordentlig fyrkantsvåg. Det hjälper väldigt mycket om man ska använda den direkt på en digital ingång. Jag är inte säker men jag tror vi använde 74HC132.

Sen så föreslår jag att använda två stycken sensorer per hjul med 90° förskjutning. Då får du möjlighet att mäta riktning på hjulet + dubbelt så många pulser (om du även mäter på flankerna får du dubbelt så många till). Problemet om man inte har två sensorer är att sensorn kan hamna i ett gränsläge när hjulet står still, och om du inte vet riktningen så kommer du få en himla massa felvärden. Hur de funkar ser du här: http://en.wikipedia.org/wiki/Encoder

victor_passe: Jag har visserligen inte testat det, men vad jag har hört så ger kulmus och lasermus inte så värst bra mätvärden. Problemet är att de inte är så noggranna och missar ofta mätvärden när hjulet slirar eller sensorn i lasermöss får dåliga mätvärden. Anledningen till att de funkar bra på datorn är att vi har ögon som feedback. Om pekarn inte hamnar där vi tänkt oss korrigerar vi det "omedvetet". Men i vissa tillämpningar kan de vara tillräckliga så det skulle vara intressant om någon testar.
Cryptomaster
Inlägg: 593
Blev medlem: 17 december 2005, 02:23:20
Skype: crypto-master
Ort: Nyköping

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av Cryptomaster »

Första oscilloskope bilden ser ju fin ut, vad är det för instrument du har ? Digitalt oscilloskope eller inkopplad dito på datorn ?

En schmitt trigger skulle nog göra en hel del, och sen mycket nyttigt EagleSpirit skrev tidigare.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

Är lite stressad nu, så jag ska läsa igenom allt igen och svara mera sen.

Ni säger att jag ska koppla en schmitt trigger på den innan PIC'en, men de digitala ingångarna på en PIC, är inte dem schmitt trigger?? :humm:

Cryptomaster: Det är ett digitalt oscilloskop. Från Farnell. (Kostade båda skjortan och slipsen!!)

EagleSpirit: Mycket intressant information! Ska läsa lite noggrannare senare. Bengt (Vänerhall) hade ju en sensor från en optisk mus på sin robot i Robot-SM, men han sa precis som du att den inte fungerade alls bra, den hoppade över ibland och visade konstiga värden m.m. Så det känns som om man borde kunna få detta stabilare!

Edit: Jag ska öka pull-up resistansen på utgången ganska mycket så att jag får en större skillnad mellan utspänningen på svart och vit, jag skulle vilja ha närmare 0v ut när det är vitt!
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

Efter en koll i databladet så såg jag att PIC'ar kan ha både med Schmitt Trigger och utan på ingångarna. Men jag hittade en låda med AND-kretsar med Schmitt Trigger ingång på, om jag kopplar ihop ingångarna på den så kan jag ju använda det tills vidare för att få en fyrkantsvåg.

Nu ska jag gå o labba lite mer, sen kommer det en ny uppdatering!
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

De svarta som hade blivit dåligt fyllde jag i med en bläckpenna. Sen satte jag en till distansbricka på skruven så sensorn kom lite längre ifrån tavlan.
Bild

Här ser man avståndet...
Bild

(Om ni la märke till skalbaggen på båda de förra bilderna, vilket jag gjorde precis, så är det denna. Väldigt efterhängsen, så fort jag tog fram kameran så satte den sig på det jag skulle ta kort på!! :shock: (Kanske något med IR-strålning eller liknande... :humm:))
Bild

Såhär blev det då. Mycket bättre!
Bild

Sen ändrade jag pull-upen så att jag fick mera "sving" på signalen. Dock tog jag lite för stort så den kom bara upp i 3,2v. Men det fixade jag, så nu går den upp till 4,2v.
Bild

Men när jag kopplade in den till min schmitt trigger blev det konstigt! Både shmitt triggerns utgång, och sensorns utgång fick störningar på sig! :shock:
Bild

Vad kan det bero på? Jag använder en 74HC08 (.pdf), jag kopplade ihop de två ingångarna, dock lät jag ingångarna på de oanvända kretsarna ligga flytande... Kan det vara det som är problemet? Jag har ordentlig avkoppling på matningen!
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av squiz3r »

Efter en närmare titt så var inte den AND-kretsen shmitt trigger... Jag har kollat igenom hela mitt logik förråd, och där finns inte en enda schmitt trigger av någon typ :shock: . Det får väll bli att koppla in det dirrekt på en schmitt trigger ingång på PIC'en, men det är ju svårare att felsöka då...
Cryptomaster
Inlägg: 593
Blev medlem: 17 december 2005, 02:23:20
Skype: crypto-master
Ort: Nyköping

Re: Hastighetsmätare till robot (Med eget släphjul)

Inlägg av Cryptomaster »

7414 är schmitt triggerkrets. Dock har jag inte själv någon annars hade jag skickat ner en till dig mot att få se skillnaden :D
Skriv svar