Jag är helt inne på labmasters linje, att presentera något mindre än cm är onödigt, om jag inte missminner mig är standardlängderna med intervall på 30 cm.
Jag skulle personligen satsa på 1cm upplösning, givarhjulet kommer slira och missa steg och ha sig.
Längdmätning
Re: Längdmätning
Jaha? Skrev jag att det skulle presenteras med den upplösning?
Jag byggde i sin tid en trippmätare som kalibrerades i 1/10 mm upplösning. Längder visade som mest i 1m upplösning men upplösningen "internt" gjorde att avrundningsfel som mest kunde uppgå till mycket små värden.
Min tumregel är att kalibreringen ska vara i 100 till 1000 gg högre upplösning än givaren ger, med 1000 gg så hög blir det en promille som maximal "digital" fel vilket borde räcka bra.
Ska man vara lite smart kan man använda ett värde som enkelt medger att man kan kapa en eller två bytes, på detta vis kan man få en mycket bra upplösning och noggrannhet utan att få svett på pannan.
Jag byggde i sin tid en trippmätare som kalibrerades i 1/10 mm upplösning. Längder visade som mest i 1m upplösning men upplösningen "internt" gjorde att avrundningsfel som mest kunde uppgå till mycket små värden.
Min tumregel är att kalibreringen ska vara i 100 till 1000 gg högre upplösning än givaren ger, med 1000 gg så hög blir det en promille som maximal "digital" fel vilket borde räcka bra.
Ska man vara lite smart kan man använda ett värde som enkelt medger att man kan kapa en eller två bytes, på detta vis kan man få en mycket bra upplösning och noggrannhet utan att få svett på pannan.
-
- Inlägg: 13
- Blev medlem: 12 juli 2011, 06:30:10
Re: Längdmätning
Att man ser till att mäta med hög upplösning men att visa vilken upplösning man vill.
Tänk en tripmätare i en bil, den normala som jag nollställer varje gång jag fyller upp tanken räknar med en upplösning på 100m. Detta betyder dock inte att den får en puls från hjulet var 100m, det betyder dock att det finns någon "grej" mellan som räknar ner pulserna som kommer (från ABS-sensorerna) och adderar ihop till 100m innan en puls skickas.
Om du gör ett mäthjul som är t.ex. 15cm i effektiv diameter och som ger 15 pulser per varv ger varje puls en längd av 3,14159 (råkar bli Pi) mm.
Om du då bara räknar hela mm (i detta fall 3mm) får du en felvisning på 4,7% rakt av. Räknar elektroniken med 1/10 mm blir felvisningen 0,47% och med 1/100 mm upplösning i uträkningarna blir felet 0,047%. Då 0,47% felvisning låter ganska OK låtsas jag att resten av uträkningarna sker med 1/10 mm som minsta enhet.
Då blir en pinne på 4m alltså ett värde på 40.000 men delar man med 10 vid utläsningen får man längden i mm, så enkelt är det.
Själva räkningen består av att man har en variabel ("Summa") som kan hålla den maximala längd man någonsin kan komma till att mäta i den givna upplösningen och för varje puls adderas eller subtraheras det kalibrerade pulsvärde ("Calib", i detta ex. 31) till/från "Summa".
Alltså vid uppräkning: Summa = Summa + Calib.
Och vid nedräkning: Summa = Summa - Calib.
Visningen beror ju på hur man vill ha det, vill man ha cm i visningen är det bara att skriva ut Summa/1000 osv.
Man kan göra det enkelt för sig och använda binära värden så att man kan spola lägsta byten innan man skriver ut men det är finputs, sensorn med ett hjul som följer virket ordentligt är den största utmaningen!
Tänk en tripmätare i en bil, den normala som jag nollställer varje gång jag fyller upp tanken räknar med en upplösning på 100m. Detta betyder dock inte att den får en puls från hjulet var 100m, det betyder dock att det finns någon "grej" mellan som räknar ner pulserna som kommer (från ABS-sensorerna) och adderar ihop till 100m innan en puls skickas.
Om du gör ett mäthjul som är t.ex. 15cm i effektiv diameter och som ger 15 pulser per varv ger varje puls en längd av 3,14159 (råkar bli Pi) mm.
Om du då bara räknar hela mm (i detta fall 3mm) får du en felvisning på 4,7% rakt av. Räknar elektroniken med 1/10 mm blir felvisningen 0,47% och med 1/100 mm upplösning i uträkningarna blir felet 0,047%. Då 0,47% felvisning låter ganska OK låtsas jag att resten av uträkningarna sker med 1/10 mm som minsta enhet.
Då blir en pinne på 4m alltså ett värde på 40.000 men delar man med 10 vid utläsningen får man längden i mm, så enkelt är det.
Själva räkningen består av att man har en variabel ("Summa") som kan hålla den maximala längd man någonsin kan komma till att mäta i den givna upplösningen och för varje puls adderas eller subtraheras det kalibrerade pulsvärde ("Calib", i detta ex. 31) till/från "Summa".
Alltså vid uppräkning: Summa = Summa + Calib.
Och vid nedräkning: Summa = Summa - Calib.
Visningen beror ju på hur man vill ha det, vill man ha cm i visningen är det bara att skriva ut Summa/1000 osv.
Man kan göra det enkelt för sig och använda binära värden så att man kan spola lägsta byten innan man skriver ut men det är finputs, sensorn med ett hjul som följer virket ordentligt är den största utmaningen!
Re: Längdmätning
Varför krångla till det? Eftersom mäthjulet blir egengjort ser man till att välja värdena så att det blir enkelt.
Får man en omkrets på 20 cm ser man till att få in 20 hål, som ger en puls per hål och då cm. Enkelt och nybörjarvänligt.
Sen kan man ju börja fundera på var omkretsen ska mätas, det beror ju på hur långt in i träet man trycker piggarna. Det enda vi kan vara helt säkra på är att de inte kommer vara lika långt inne hela varvet runt...
Får man en omkrets på 20 cm ser man till att få in 20 hål, som ger en puls per hål och då cm. Enkelt och nybörjarvänligt.
Sen kan man ju börja fundera på var omkretsen ska mätas, det beror ju på hur långt in i träet man trycker piggarna. Det enda vi kan vara helt säkra på är att de inte kommer vara lika långt inne hela varvet runt...
-
- Inlägg: 13
- Blev medlem: 12 juli 2011, 06:30:10
Re: Längdmätning
Här kommer en bild på ett kopplings schema
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Längdmätning
Jag antar att det är så du vill att elektroniken ska se ut? Finns det schema i en storlek som syns också?
Omedelbart förstår jag att du bara vill ha 3 siffror och att det ska vara 7-segment LED. Men varför en drivkrets mellan? µC'n klarar lätt att driva dom och du kan enkelt spara in drivkretsen. Och vill du ha lite fler siffror kan ett enkelt LCD-modul fungerar ytterst väl, man kan t.o.m. skriva text osv.
Sedan ser det ut som att du har de 2 puls-ingångar direkt in i processorn - och det kommer med stor sannolikhet inte att fungera!
Orsaken är störningar! Alla in- och utgångar som går utanför kretskortet skyddar man på lämpligt sätt, du har inte ens ett pull-down motstånd ifall ingångarna flyter. Big no-no!
Omedelbart förstår jag att du bara vill ha 3 siffror och att det ska vara 7-segment LED. Men varför en drivkrets mellan? µC'n klarar lätt att driva dom och du kan enkelt spara in drivkretsen. Och vill du ha lite fler siffror kan ett enkelt LCD-modul fungerar ytterst väl, man kan t.o.m. skriva text osv.
Sedan ser det ut som att du har de 2 puls-ingångar direkt in i processorn - och det kommer med stor sannolikhet inte att fungera!
Orsaken är störningar! Alla in- och utgångar som går utanför kretskortet skyddar man på lämpligt sätt, du har inte ens ett pull-down motstånd ifall ingångarna flyter. Big no-no!