Avståndsmätning medelst ultraljud. Fråga?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Andax
Inlägg: 4373
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Avståndsmätning medelst ultraljud. Fråga?

Inlägg av Andax »

Jag köpte några ultraljudselement (piezo) av Grym. Det fanns en sändar och en mottagarvariant.

1) Vad skiljer Tx varianten mot Rx i uppbyggnad.

De är väldigt smalbandiga, med en bandbredd på 1 kHz och centerfrekvens på 25 kHz.
När jag skickar in en sinus på 25 kHz ser jag en fin sinus på mottagarsidan. Fasen mellan in och ut varierar fint med avståndet och en våglängd motsvarar ungefär 14 mm.

2) Någon som vet en bra metod att hitta vilken multipel av en våglängd som ger grovavståndet?
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Per definition så är det omöjligt så länge du inte modulerar sändaren.
Användarvisningsbild
Andax
Inlägg: 4373
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

Ja det är ju klart. Nämde inte det men sändarna verkar vara väldigt resonanta. Sändaren (eller mottagaren) verkar inte påverkas något om man skickar in en cykel (inte sån man cyklar med :) ) i taget.

Räcker det att göra en mätning av fasen vid ett par frekvenser, t.ex 24800 Hz, 25000 Hz och 25200 Hz för att kunna räkna ut antalet multiplar?
Frekvenserna måste kanske ha en mindre gemensam divisor.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

*ler* jo, det bör ju gå i teorin, men det finns alltid flera lösningar som ger samma eller nästan samma resultat. Och jodå, dom är duktigt resonanta dessa småttingar...

Pulsmodulera eller FM-CW tror jag är de enda metoder som egentligen fungerar, men i teorin så kan du AM-modulera sändaren med en en LF-signal. Detektera LF-en och mät fasskinaden mellan dessa signaler. Då har du grovavståndet och sen mäter du fasen på HF-en för att hitta var du är exakt när du vet vilken multipel du är i. Hur du skall realisera detta orkar jag inte fundera på. inte ens säker på att det är en bra metod, MEN - informationen finns där iaf.
Användarvisningsbild
Andax
Inlägg: 4373
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

Nu har jag det! Heureka!!! :)

Satt och grunnade på hur det skulle kunna implementeras lätt i en liten mikrokontroller utan speciellt avancerad hårdvara och lösningen är faktiskt ganska smart om jag får säga det själv. :wink:

Krav på mikrokontrollern:
1) en snabb räknare med möjlighet till timer interrupt
2) en extern interrupt för att detektera en flank

Ultraljushögtalaren kopplas till till mikrokontrollern (ev via en transistor).
Timer interrupten programmeras att toggla pinnen så att en hel cykel blir f0 = 25 kHz. Det finns inget krav att man skickar någon sinus till ultraljudshögtalaren eftersom den filtreras så hårt där ändå.

Ultraljudsmikrofonen kopplas via en komparator till ingången för extern interrupt. På så vis gör man om en inkommande sinus signalen till en fyrkantsvåg. (med i närmast oförändrad fas).

När man får en extern interrupt läser man av timerräknaren och kan på så vis få den relativa fasen mot den utsända vågen.
Genom att medelvärdesbilda många värden kan man mäta relativa fasen godtyckligt noga och ta bort effekten av jitter.

Genom att ändra frekvensen lite kommer fasvärdet att ändras. Fasförändringen är en funktion av avståndet. Så länge avståndet inte är för stort och frekvensändringen är tillräckligt liten ändras fasen mindre än 2*PI.
Den minsta frekvensändringen som kan göras sätter den bortre gränsen för mätområdet.
Ändras fasen knappt något är det bara att ändra frekvensen mer tills man får en klar fasändring. Ju närmare något är ju mer måste man ändra frekvensen för att få en fasförändring.
Problemet är att piezohögtalarna/mikrofonerna är smalbandiga (1 kHz) vilket gör att man inte kan får hur stor frekvensskillnad som helst. Det sätter närgränsen för metoden.

För att få lite siffror och prestanda ansätter vi att räknarfrekvensen är 5 MHz.
Då får man en minsta frekvensändring kring 25 kHz på 125 Hz. Det ger en bortre gräns på 2.7 m om jag räknat rätt.
Med en maximal frekvensändring på 1 kHz och med antagandet att man kan mäta fasen med 1/10 våglängds noggranhet (mycket konservativt räknat) blir närgränsen ca 3 cm.
Det är ju teoretiska siffror. I verkliga verkligheten finns ju Murphy.

Vad tror ni om det?

Edit: glömde själva huvudformeln

340*(n + phi_1/(2*PI))/f1 = 340*(n + phi_2/(2*PI))/f2

n är okänd.
f1 och phi_1 är frekvens och fas för mätning 1
f2 och phi_2 är frekvens och fas för mätning 2

lös ut n och beräkna avståndet som R = 340*(n+phi_1/(2*PI))/f1

Klart!
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Metoden fungerar och används på ett snarlikt sätt, jag har inte kontrollräknat dina uträkningar, men dessa låter sannolika. Det är samma problem som att köra med FM-CW. Att den möjliga modulation är liten på grund av smalbandigheten hos sändaren.

Problem som du kommer att få är att lösa TWG/AGC så att du får en amplitud som är skapligt konstant. I teorin är FM-CW en bättre metod eftersom den kan detektera vid lägre S/N, men metoden lider av smalbandigheten hos sändaren.

MOdulerar du med 1kHz/100ms så får du 29Hz per meter i FFTn och därmed en närgräns på ungefär 16cm eftersom du måste ha en hel period för att få dektetering i kanal 1. Upplösningen torde bli ungefär en halv kanal så ungefär 8cm realistikt - i teorin går det göra lite bättre, men tror att det blir svårt i praktiken. Maxavståndet blir 15 meter
Användarvisningsbild
ensten
EF Sponsor
Inlägg: 3759
Blev medlem: 19 oktober 2004, 15:55:20
Ort: Hudiksvall

Inlägg av ensten »

*host* *host*

Hoppas det finns något enklare sätt att använda dom där små liven ... Annars har jag nog tagit mig vatten över huvudet. :oops:

Jag såg en ritning/schema på någon hemsida på en avståndsmätare men då använde man 40kHz sändare/mottagare. Är det bara att byta ut dom mot dom två jag köpte av grym?
Användarvisningsbild
Andax
Inlägg: 4373
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

Bengt-re, fördelen med min metod är att man inte behöver någon TWG/AWG. Man använder en enkel komparator för att göra om mottagen sinus till en fyrkantsvåg med samma fas. Genom att lägga kompareringsnivån med en liten offset från noll får man automatiskt en tröskling mot brus vid väldigt svaga signaler. Det faktum att man tittar på fasen och inte på amplitud mm gör metoden väldigt enkel och troligtvis robust.

Upplösningen blir i millimeternivå med min metod eftersom man mäter delar av våglängd. (våglängden är 14 mm vid 25 kHz, ansätter ljudets hastighet till 340 m/s)
Den bortre avståndsgränsen på 2.7 meter i mitt exempel går att förlänga på flera sätt:
1) Använda en högre räknarfrekvens (10 MHz ger 5.4 meter)
2) skicka en burst och mäta tiden för den att komma tillbaka. Då vet man vilket 2.7 meters intervall man är i.


Ensten, om man har en mikrokontroller till hands tror jag inte du hittar en enklare lösning.
Man behöver en mikrokontroller (med kristall och avkopplingskodningar), en komparator och några motstånd. Eventuellt en extra transistor om högtalaren inte går att driva direkt på en processor pinne.
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Andax, tyvärr måste jag göra dig besviken... jag hade precis samma teorier som dig inför ett projekt på universitetet. Men i praktiken blev det lite värre...
Det stora problemet är att mottagaren inte kommer att ge fullt utslag på en gång. Amplituden från mikrofonen kommer att långsamt stiga upp till komparatorns threshold. Och tiden det tar att stiga till den nivån beror på avståndet... vilket gör ekvationen svår att lösa. Stigtiden kan röra sig om flera perioder, vilket innebär att mätfelet blir rätt så stort. Du kan detektera fasläget men du vet inte om du mätte på den första, andra, tredje eller fjärde pulsen...
Det ska finnas en tråd om mitt projekt någonstans under "projekt".. tror att tråden heter nått i stil med "3D-positionering mha ultraljud".
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

Du ska ju naturligtvis köra spread spectrum på samma sätt som gps fungerar. Du skickar alltså ut en modulerad bärvåg som du sedan tar emot och demodulerar. Den demodulerade signalen multiplicerar du med samma kod som du skickar ut fast du letar efter maximal signal efter multiplikatorn genom att fasvrida koden. Skillnaden mellan dessa koder (fasvridningen) är ett mått på avståndet.

Du kan till och med skicka ut flera koder ovanpå varandra, en långsam och en snabb för att snabbare kunna faslåsa den mottagna signalen.
Användarvisningsbild
Andax
Inlägg: 4373
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

oJsan, jag har nog förklarat finessen med min metod lite dåligt för jag tittar inte på någon utskickad burst (där amplituden växer långsamt).
Mätningen görs med en kontinuerlig våg där man väntar tills steady-state har nåtts (dvs amplituden stabiliserats). Då mäter man den relativa fasen.
Gissar att det tar någon millisekund för steady-state.
Sedan ändrar man frekvensen lite till en ny och gör en ny mätning (under steady-state). Har man en tillräckligt stor skillnad i fasen mot första mätningen kan man räkna ut avståndet.
Om skillnaden för liten ändrar man bara frekvensen mer och mer.

Rehnmaak, det är ju ett alternativ. Men skillnaden i implementeringssvårighet verkar ganska stor.
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Ahh, då är jag med... måste erkänna att jag inte läste så jättenoga.. var på språng, sorry..
Din metod verkar ju helt klart vara mer sofistikerad! Ska bli intressant att se resultatet!
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Det GÅR ju alltid köra pulsmodulerat också... det är lite trist och har en och annan nackdel, men fungerar...
Skriv svar