Identifiering bilar bilbana

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Identifiering bilar bilbana

Inlägg av Tnemrap »

Hej vänner
Jag sitter och klurar på ett problem kring en Scalextric digital bilbana.
Den har tidtagning vid startlinjen kopplad till PC.
Nu skulle jag vilja identifiera vilken bil som åker in i ”pit-lane” från datorn.
Bilarnas ID består av en IR Diod som sänder ut en fyrkantsvåg i olika frekvenser:
Ungefärliga frekvenser för bilarna är:
Bil 1 5.5 KHz
Bil 2 4.4 KHz
Bil 3 3.7 KHz
Bil 4 3.1 KHz
Bil 5 2.8 KHz
Bil 6 2.4 KHz
Fyrkanten ser olika ut ifall man håller in knappen för spårbyte (växlarna använder detta).

Bild

Jag vet att en fototransistor typ OP505D fungerar bra att läsa signalen.
Nu skulle jag behöva hjälp att hitta en billig lösning för att kunna få in till datorn vilken bil som åker in för ”pit-stop”.
/Mike
Användarvisningsbild
Icecap
Inlägg: 26763
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Om det bara kommer 1 bil åt gången är det ju bara att mäta frekvensen på dessa IR-pulser, om de kan störa varandra blir det lite mer knepigt.
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Det kommer en bil åt gången.
Hur kan man mäta frekvensen med en enkel koppling och sedan ta in den i PC'n via USB?
Användarvisningsbild
Icecap
Inlägg: 26763
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

"Enkel koppling"... en valfri mikroprocessor med USB/seriellt interface på.
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Någon som kan rekommendera en billig processor som vore lämplig för detta?
/Mike
Användarvisningsbild
Icecap
Inlägg: 26763
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

PIC eller AVR eller Renesas... eller någon annan mikroprocessor, finns en uppsjö av olika märken.
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Hej är ganska ringrostig vad det gäller elektroniken(över 20 års uppehåll) och skulle uppskatta mer specifika rekommendationer.
Har t.ex. sett en frekvensräknare basera på HC590 räknare och AVR 2313, men den räknar pulser och översätter det till frekvens.
Men i mitt fall passerar bilen ganska fort så jag tror inte denna lösning är användbar.
Kan någon komma med något kontret exempel, det jag skulle vilja uppnå är typ att när bil 3 passerar över phototransistorn skickas det 3 till serieporten.

/Mike
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Atmega88/48 + FT232R skulle jag använt som hårdvara. Mest för att jag känner komponenterna väl och att de är enkla att ha och göra med.
Användarvisningsbild
Icecap
Inlägg: 26763
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

FT232R är en USB<->Serieport som kan användas av "alla" och man kan lika väl ha en extern USB<->COMx-dongel.

Att räkna pulserna är så "enkelt" som att ha en "Capture"-enhet som kan tidstämpla signalernas ena kant (framkant eller bakkant efter önska). På det vis kan den mäta frekvens ganska noga och om den mätar t.ex. 3 pulser direkt efter varandra som är "lika" (lite ± får det vara) kan frekvensen spikas till bil X och detta nummer skickas ut.

Denna funktion kan lösas med PIC, AVR, Renesas och många andra mikroprocessorer.

Den kan även lösas digitalt med ett digitalt filter för varje bil.
Detta gör man vid att ta 2 st återtrigbara timers som är ställd till en aning kortare hhv. längre än den frekvens man ska fånga.
Ni har 6 bilar man ska fånga och då kan det fungera med 7 timers och 6 D-flipflop.

D-ingången kopplas till den "långa" timers utgång och klockingången till den "korta" timers utgång, och alla RESET är kopplat till pulserna.

När ett par timers är "på rätt frekvens" kommer utgången på en D-flipflop att växla, denna växlande kan man sedan använda till att trigga ytterligare en timer (per bil) som då ger "konstant på" vid bil.

Då har du 6 signaler som reagerar på var sin frekvens = var sin bil och detta måste du sedan omvandla till data in till datorn.

Men enklast är det med en mikroprocessor...

Det finns även en annan teknik som innebär att man sampler i fast tid och sedan shiftar in dessa samplingar i ett "långt" shiftregister (över ett antal bytes), då kan man testa vissa mönster som motsvarar 3 pulser av en viss frekvens (= bil) och ge signal för detta.

Man kan självklart bygga detta shiftregister med logiska kretsar men det blir stort...
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Här kommer det en första ansats för kommentarer:

BP103 är dock en OP505D.

Bild

/Mike
Användarvisningsbild
Icecap
Inlägg: 26763
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Och snabbt infliker vi kommentaren: PIC16F84 är gammal och död sedan länge, därför ska den byta ut till t.ex. PIC16F628A, detta medför även att Q1, C1 & C2 blir överflödiga i och med att den PIC har intern oscillator.

Dessutom är det ritat en ledning mellan VDD och -MCLR, där bör istället sitta en 10K motstånd, detta för att medge programmering utan att ta bort kretsen. Detta bör vara möjligt av den enkla orsak att det aldrig fungerar i första försök.

Vidare är det inte visat avkopplingskondensatorer (minst 1 st 100nF per krets) och inte heller späningsregleringen.

Opto-förstärkaren är även den fel, det fattas en del mittpunktstrimning och dylikt.

Annars är det väl ganska bra beskrivning...
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Icecap

Tack för dina kommentarer.

Här kommer det en ny med delar av förändringarna var dock inte med på "mittpunktstrimmning"

Bild

/Mike
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Har nu tittat på signalen från fototransistorn och det ser ut liknande:

Bild

Har då satt ihop detta och skulle vilja ha lite kommentarer:

Bild

/Mike
Användarvisningsbild
Icecap
Inlägg: 26763
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Du kan kanske få IR-signalerna att fungera skapligt med den koppling men jag förstår inte hur du skulle mäta frekvensen på 2 ställen utan att ens använda CCP-modulen... eller har du tänkt dig att använda shift-registerversionen?

Om det är så MÅSTE du ha på ett kristall på kanske 20MHz för att få tid nog att fånga dessa frekvenser med shiftning osv.

Jag hade även byggt IR-sensorn så att den var självbalancerande på DC-nivån och sedan hade en schmitt-trigger efter och också en one-shot, då ville det bli tydliga och klara pulser fast one-shot'en kan göras i mjukvaran.

Hur har du tänkt dig att mjukvaran ska mäta frekvensen?
Tnemrap
Inlägg: 45
Blev medlem: 30 januari 2008, 13:57:20
Ort: Gävle

Inlägg av Tnemrap »

Då använder jag CCP, borde jag inte välja en PIC med 2 CCP?

Vad menar du med självbalanserad på DC nivå?

Skulle du använda en One-Shot eller göra detta i PIC'en?

Har inte börjat tänka på mjukvaran än :) .

/Mike
Skriv svar