Precis som rubriken säger vill jag kumma läsa av olika sensorer tex temperatur sensorer, deras resistans varierar beroende hur varmt det är.
Jag vill kunna läsa av värdet från en PIC16F628, då kanske man kan använda komparatorerna, men jag kan inte med dom alls.
Men förut läste jag på forumet(vet ej var) att man kunde använda en kondensator och ladda upp den och sedan mäta hur lång tid det tog för den att ladda ur, jag tror shemat såg ut ungefär så här:
Men jag har inga värden och jag tror det var fler komponenter.....
Senast redigerad av net4all 23 juli 2007, 16:56:59, redigerad totalt 1 gång.
Nu kan jag inte 16F628 alls. Men om den har ADC så kan du göra en enkel spänningsdelaremed ett motstånd och PTC/NTC givaren och läsa av spänningen. Inte den mest optimala lösningen då strömmen genom givaren kommer orsaka en självuppvärmning. Men det skapar du lätt en kalibreringstabell i mcu'n för.
> tex temperatur sensorer, deras resistans varierar beroende hur varmt det är.
Inte alla. Det finns de som ger ett digital "värde" direkt ut, eller de som
ger en spänning (ofta 10 mV per grad celcius). Varför använda den
typ av temp-sensor som är svårast att läsa av ??
Byt också till en PIC modell med ADC, om du vill göra detta.
Komparatorerna är inte så lämpliga till detta, om det inte bara är ett
temp-larm vid en viss temperatur du vill ha, då fungerar de bra...
Grejen med det här var att man bara skulle använda en helt vanlig
portpinne..
Hur gör man när man använder en AD då, koplings shema?
EDIT: Jag behöver inte ha så stor nogrannhet, hade tänkt att mäta ljus/ljud/värme omkringen robot och sedan om värdet går utanför en viss gräns så ska tex roboten svänga undan.
>Varför ?
Enkelt, har inte nödvändiga modulerna i PICen
Helt vanlig port pinne= vanlig I/O
Jag tror man skulle ladda upp kondensatorn med PICens pinne, för att sedan använda samma pinne till att mäta hur lång tid det tar för den att ladda ur och få logisk 0...
Man byter mellan output när man ska ladda upp och input när man ska mäta.
Den mätmetod du är ute efter är att mätobjektet (resistans) tillsammans med kondensatorn bildar en rc-oscillator med en känd kapacitans. Denna drar man igång genom att lägga ut en frekvens på pinnen, vänta en stund och sedan mäta vilken frekvens den svänger med. Inte helt enkelt att åstadkomma kan jag tänka.
Ja oscillatorn måste dras igång på något vis. Det fanns en funktion för detta i BasicStamp med en tillhörande Basic-instruktion för att läsa av pinnen, men exakt hur det var implementerat vet jag inte.
> Den mätmetod du är ute efter är att mätobjektet (resistans) tillsammans med kondensatorn bildar en rc-oscillator
Det skulle jag inte tro att han var ute efter.
Det är en vanlig (men inte så värst praktisk) metod att mäta
tiden för up (eller ur) laddning av en kondig. Några oscillatorer
och frekvensen behövs inte. Men om man kan välja enklare
givare (och bättre PICs) så...
Ska man bara mäta laddnivån så måste man ha en väldefinierad omslagsnivå på processorpinnen, det känns svårt att få någon noggrannhet på det. Men jag kan mycket väl fått fel för mig angående metoden.
>Det är en vanlig (men inte så värst praktisk) metod att mäta
>tiden för up (eller ur) laddning av en kondig.
Exakt! Någon som har värden till komponenterna?
Det här med nogrannhet: tex en ljus-sensor ska åtminstone kunna se skilnad på "vanligt" rums ljus och total mörker. Det borde inte behöva bli så avanserat, eller?
Det verkar inte som om någon har komponentvärdena. Men det går att räkna ut, eller testa sig fram till.
Hur stor resistans har givaren vid olika temperaturer eller ljusförhållanden?
edit: eller du kanske inte har skaffat givarna än?
Senast redigerad av JimmyAndersson 20 juli 2007, 16:39:55, redigerad totalt 1 gång.