Mäta fasskillnad på något sätt.
Mäta fasskillnad på något sätt.
Jag snickrar lite smått på en robotklippare och för att ge klipparen en bättre uppfattning om gränstrådens dragning tänkte jag montera två antenner liggande men vridna 90 grad sinsemellan. Dvs en pekar rakt fram i klipparens riktning och en sitter tvärs klipparen. (En sitter också lodrätt men den avgör "bara" om vi är innanför eller utanför slingan).
De båda antennerna (spolar) plockar upp en sinusformad signal runt 8kHz som matas i gränstråden. Signalen blir som starkast rakt över gränstråden samt om spolen ligger tvärs tråden. Ligger spolen längs med tråden blir signalen svag, samt fasvriden.
Man kan då avgöra i vilken vinkel klipparen närmar sig tråden genom att mäta fasskillnaden, (och amplituden ger ett hum om avstånd) frågan är bara hur man gör detta på ett listigt sätt.
Helst skulle jag vilja göra det utanför µC och få ett analogt värde då de interna räknarna börjar ta slut.
Amplituderna kan variera stort så antagligen behöver man först omvandla till fyrkant, eller...
Någon som sitter på en slug lösning på fasskillnadsproblemet?
De båda antennerna (spolar) plockar upp en sinusformad signal runt 8kHz som matas i gränstråden. Signalen blir som starkast rakt över gränstråden samt om spolen ligger tvärs tråden. Ligger spolen längs med tråden blir signalen svag, samt fasvriden.
Man kan då avgöra i vilken vinkel klipparen närmar sig tråden genom att mäta fasskillnaden, (och amplituden ger ett hum om avstånd) frågan är bara hur man gör detta på ett listigt sätt.
Helst skulle jag vilja göra det utanför µC och få ett analogt värde då de interna räknarna börjar ta slut.
Amplituderna kan variera stort så antagligen behöver man först omvandla till fyrkant, eller...
Någon som sitter på en slug lösning på fasskillnadsproblemet?
Re: Mäta fasskillnad på något sätt.
Om du gör om dem till till fyrkant så blir du som du själv skriver av med amplitud-problemet. Sedan kan du ju titta på hur de gör fasmätning i PLL-kretsar. Ofta har man någon XOR och ett LP-filter.... Man får väl fundera på hur man ser tecknet på fas felet (om det är plus eller minus vinkel).
Se sidan 38 i denna för lite ideer också: http://ece.wpi.edu/analog/resources/PLL ... CC2004.pdf
EDIT: Gör så här:
1) Gör om till fyrkant och får två signaler D1 och D2
2) gör XOR(D1,D2) och lågpass filtrera signalen. Den kommer att vara 0 när de är i fas, och 1 när de är helt i motfas.
3) trigga en interrupt på D1 rising flank och läs av D2. Är D2 låg så har fasen ett tecken, och är D2 hög har fasen motsatt tecken.
4) Klart!
Se sidan 38 i denna för lite ideer också: http://ece.wpi.edu/analog/resources/PLL ... CC2004.pdf
EDIT: Gör så här:
1) Gör om till fyrkant och får två signaler D1 och D2
2) gör XOR(D1,D2) och lågpass filtrera signalen. Den kommer att vara 0 när de är i fas, och 1 när de är helt i motfas.
3) trigga en interrupt på D1 rising flank och läs av D2. Är D2 låg så har fasen ett tecken, och är D2 hög har fasen motsatt tecken.
4) Klart!
Re: Mäta fasskillnad på något sätt.
Du bör inte få någon fasvridning alls. Du bör nog gå på amplitudskillnaden för att få en uppfattning om vinkeln.
Re: Mäta fasskillnad på något sätt.
Jag ser ingen möjlighet att mäta fasvridning heller. Amplitudeskillnader kan jag se men inte annat.
Re: Mäta fasskillnad på något sätt.
Ja, danei, du har helt rätt. I vilket fall som helst så kan man ju ha fasdetektorn som jag skissade på ovan i andra sammanhang...
Så Gimbal, likrikta signalen och LP-filtrera. sampla de två signalerna och i princip är vinkel = arctan(A1,A2) där A1 och A2 är amplituden på de två sensorerna.

Så Gimbal, likrikta signalen och LP-filtrera. sampla de två signalerna och i princip är vinkel = arctan(A1,A2) där A1 och A2 är amplituden på de två sensorerna.
Re: Mäta fasskillnad på något sätt.
Så var min ursprungliga tanke också, enkelt och bra. Men ett praktiskt försök i går kväll visade att man fick fasvridning (märkligt nog) och använder man det så täcker man in alla vinklar i cirkeln så att säga, jämfört med amplituden som kan ge en vinkel men inte skilja på om det är 30 grader höger eller vänster.danei skrev:Du bör inte få någon fasvridning alls. Du bör nog gå på amplitudskillnaden för att få en uppfattning om vinkeln.
Ska kika närmare på Andax lösning i helgen.
Re: Mäta fasskillnad på något sätt.
Om du vet färd riktning och vilken sida sensorn sitter på så vet du väl höger eller vänster. Eller har du bara en uppsättning sensorer?
Re: Mäta fasskillnad på något sätt.
Jag tänkte mig endast omgång med sensorer, totalt 3st "antenner". Den stående har ständig kontakt med slingan, de liggande kan (troligen) tappa kontakten på lite avstånd från slingan. Ev. kanske man ska mäta fasskillnaden mot den stående som får agera referens.
Nä, det kanske inte ger något förresten.

Re: Mäta fasskillnad på något sätt.
Då är jag med. Du kommer ju att få en fasvridning på 180grader när slingan är på ena sidan och 0 grader på andra. Det borde gå att använda.
Re: Mäta fasskillnad på något sätt.
Ja den biten fungerar redan, en intern klocka synkar sig med slingan vid uppstart och så länge den går i synk med slingsignalen så är vi innanför.
Re: Mäta fasskillnad på något sätt.
Samma funktion kan ju användas för att se om slingan finns till höger eller vänster. Bara att ta insignal från spolen som sitter på tvären i stället för på höjden.
Re: Mäta fasskillnad på något sätt.
Hm ja det ju borde gå, fast fasvridningen beror på vinkeln (märkligt nog som sagt). Med andra ord så kanske det räcker med en tvärstående utan den extra längsgående och ändå kan man plocka vinkeln.
eller nja då kan det bli svårt att bedöma avstånd om man attackerar tråden i rät vinkel. Det ger i princip ingen signal i den tvärstående och vips så har man kört över tråden (vilket den stående säger till om).

Re: Mäta fasskillnad på något sätt.
Om man inte har perfekt nollgenomgångstriggning då man fyrkantifierar signalen (och det har man ju inte om man har en vanlig schmidt-trigger) så får man en fasskillnad som beror på signalstyrkan.
Detta kan lätt provas genom att helt enkelt ansluta en sinus-signalgenerator till två pot'ar och leda deras löpare till två schmidt-triggers, och ställa pot'arna på olika stark signal.
Ska man mäta fasläget på fyrkantgenererade signaler så ska man nog köra insignalen genom en ALC och ett tillräckligt smalbandigt filter innan man manglar signalen till fyrkantvåg. Man kan också fundera på var på vågformen man vill trigga - en variant är att ha separata schmidttriggers för nedåtgående respektive uppåtgående kurva, och justera dem så att omslaget verkligen sker just vid nollpunkten. Utgångarna från dessa leder man sen till ingångarna på en vippa för att få en korrekt fyrkantvåg ut.
Detta kan lätt provas genom att helt enkelt ansluta en sinus-signalgenerator till två pot'ar och leda deras löpare till två schmidt-triggers, och ställa pot'arna på olika stark signal.
Ska man mäta fasläget på fyrkantgenererade signaler så ska man nog köra insignalen genom en ALC och ett tillräckligt smalbandigt filter innan man manglar signalen till fyrkantvåg. Man kan också fundera på var på vågformen man vill trigga - en variant är att ha separata schmidttriggers för nedåtgående respektive uppåtgående kurva, och justera dem så att omslaget verkligen sker just vid nollpunkten. Utgångarna från dessa leder man sen till ingångarna på en vippa för att få en korrekt fyrkantvåg ut.
Re: Mäta fasskillnad på något sätt.
Bra tanke där med faskillnaden beroende på nivån, men vad farao är en ALC? Det är en förkortning jag inte känner igen. 
Edit, Automatic level control så klart.

Edit, Automatic level control så klart.
Re: Mäta fasskillnad på något sätt.
Om man AC-kopplar signalen och sedan kör med komparatorer med trimbara nivåer så har alla möjligheter.