Kapasitiv lineær enkoder

Jeg har lenge drodlet litt om å lage custom servoer. Ikke fordi jeg tror jeg kan slå kjøpeservoer på ytelse, det er mer for å kunne lage noe som passer perfekt til sitt bruk. Det gjelder spesielt små servoer med litt spesiell formfaktor.

Det største problemet med dette er å lage gode enkodere som indikerer posisjonen til servoen. En essensiell del av at servosystem. På gamle kjøpeservoer ble dette ordnet med et pot-meter. Ganske enkelt, men ikke veldig fleksibelt. Hva som gjøres i moderne servoer vet jeg ikke, men det er mange muligheter. Problemet er å finne en løsning som både er bra, billig og mulig å mekke selv.

Litt inspirert av min venn Bernt sitt hovedprosjekt gikk tankene i retning av variabel kapasitans. Bernt brukte en spesiell ADC krets for å måle kapasitans, samt at giveren var roterende. Jeg ønsker å unngå en ekstra komponent samt bruke en lineær giver.

Løsningen min, som jeg tenker å teste ut ganske snart, er å lage giveren av et messingrør med innerdiameter på 2 eller 3mm. Inni dette røret støper jeg plast, som jeg borer ut et 1mm hull gjennom. I dette hullet kan man dra en 1mm messingstang. Kapasitansen øker jo lenger inn messingstangen føres.

For å måle denne kapasitansen tenker jeg å bruke en mikrokontroller med innebygget analog komparator. Mikrokontrolleren trengs uansett for å kjøre reguleringssløyfe, samt kommunikasjon. Komparatoren settes opp som en oscillator der frekvensen varierer med C. Hvis man skulle måle absoluttverdier, så måtte en god del nøkkelkomponenter være av høy presisjon, men i dette tilfellet er det kun relativ nøyaktighet, eller presisjon, vi er ute etter. Da blir presisjonen bestemt av jitter på MCU klokka og jitter på den nevnte oscillatoren. Oppløsningen bestemmes av hvor lenge man teller for å bestemme frekvensen.

Hvis dette ikke gir helt mening, så ta en titt på skissen under (klikk for større versjon).

 

Én kommentar

  1. Det er en annen kilde til unøyaktighet her, og det er sammenligneren. Sammenlignere (en: comparator) i mikrokontrollere har ofte dårlig ytelse m.h.p. CMRR. Dette manifesterer seg gjerne som jitter. Men teller man mange nok pulser, så er det vel ingen som bryr seg.

    Ellers er prinsippet OK nok skulle jeg tro.

    Formelverket har jeg ikke studert, så det kan jeg ikke si noe om.

Legg igjen en kommentar