Mikroprocessor till reglersystem

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Kretskort
Inlägg: 182
Blev medlem: 5 februari 2008, 08:07:45
Ort: Göteborg

Re: Mikroprocessor till reglersystem

Inlägg av Kretskort »

Jaha! ANSEL=%1111 sätter alltså AN0, AN1, AN2 och AN4, inte AN7, AN6, AN5 och AN4 med andra ord? Och jag kan sätta AN10 genom ANSELH=%100?
Användarvisningsbild
Icecap
Inlägg: 26625
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Mikroprocessor till reglersystem

Inlägg av Icecap »

När man skriver på det vis skriver man med ALLA 8 bit för tydlighetens skull! Alltså:
ANSEL=%00001111 och
ANSELH=%00000100

Men värden är rätt i sig! Behövdes bara lite inledande nollor för att visa alla 8 bit.
sodjan
EF Sponsor
Inlägg: 43244
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Mikroprocessor till reglersystem

Inlägg av sodjan »

> Jaha! ANSEL=%1111

Skriv *alltid* ut alla 8 bitarna så slipper du ställa den här typen av frågor
(och vi slipper svara på dom så alla spar tid... :-) ).
BoF
EF Sponsor
Inlägg: 222
Blev medlem: 7 oktober 2006, 16:43:37

Re: Mikroprocessor till reglersystem

Inlägg av BoF »

Nu var det väl så att han inte riktigt förstod sambandet mellan decimaltal och binära talet.

Uttrycket %1111, är ju detsamma som %00001111, senaste skrivsättet ger dock en tydligare avsikt hur man vill att dom olika bitarna skall vara satta eller inte. Icecap påpekade detta på ett trevligt sätt.

Till en som just skall lära sig det binära talsystemet så är det väl lämpligt att påpeka läsbarheten som utfyllnad av nollor gör i detta specifika fall.

Irriteras man av sådana här så kanske man skall hoppa över att läsa/svara så spar man sin tid till annat.

Vi är alla nybörjare när vi ger oss i kast med det okända!
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Re: Mikroprocessor till reglersystem

Inlägg av v-g »

Snarare var det så att han inte förstod vilken av BIT:arna som var 0 respektive 7 detta är kanske inte helt självklart för den nyblivne kodaren. Misstag gör alla men frågar man bra (som i detta fallet) så förtjänar man svar.

Hoppas det löste sig nu iaf ;)
Kretskort
Inlägg: 182
Blev medlem: 5 februari 2008, 08:07:45
Ort: Göteborg

Re: Mikroprocessor till reglersystem

Inlägg av Kretskort »

Tack för hjälpen gott folk! The struggle continues ;)

Ska lägga upp lite bilder på skapelsen allt eftersom arbetet fortskrider också. Skruvdragaren är nu monterad ovanpå ventilen och arrangemanget fungerar hyfsat rent mekaniskt.
Kretskort
Inlägg: 182
Blev medlem: 5 februari 2008, 08:07:45
Ort: Göteborg

Re: Mikroprocessor till reglersystem

Inlägg av Kretskort »

Lite fler n00bfrågor! Hur beräknas och presenteras egentligen resultatet från ADC:en? Databladet lämnar fler frågor än vad den svarar på i det här avseendet.
The converter generates a 10-bit binary result via successive
approximation and stores the conversion result into the
ADC result registers (ADRESL and ADRESH).
Hur arbetar egentligen ADC:n? Jämförs ANx mot Vref enligt ANx/Vref? Eller Vref-ANx? Sen tänker vi att detta räknas om för redovisning. Säg att vi väljer att redovisa resultatet som 8 bit. Är en spänning motsvarande Vref då 256 och en spänning på 0 volt 0? Eller räknare controllern om det så man får resultatet i volt direkt?

Jag har just nu suttit och vridit en pot inkopplad till controllern med 2 st 7 segments led för att redovisa resultatet. Dagens slutsats hittils är att jag inte kan så mycket som jag trodde. :)
Användarvisningsbild
Icecap
Inlägg: 26625
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Mikroprocessor till reglersystem

Inlägg av Icecap »

Om ADC'n är en 10-bit är området mellan 0V och Vref uppdelat i 1024 delar. Är Vref 5,00V blir varje steg 5V/1024 = 4,8828125mV/steg.

Exakt hur den fungerar är inte så viktigt, bara du förstår att man ska välja kanal, låta den hinna stabilisera, sedan startar man den och efter ett tag finns resultatet i de nämnda register. Och man kan ofta välja om det ska vara höger- eller vänster-justerat, något som kan vara värd att kolla på också.
Kretskort
Inlägg: 182
Blev medlem: 5 februari 2008, 08:07:45
Ort: Göteborg

Re: Mikroprocessor till reglersystem

Inlägg av Kretskort »

Aha!
Om jag sedan ska räkna om det här till en spänning, kan jag göra som i nedanstående exempel då? Vi antar att det är en 10 bitars konvertering och jag lämnar ute konfigurationen av register och annat här i exemplet.

Kod: Markera allt

adcinput var WORD 'variabel med storleken word
adcoutput var WORD 'variabel med storleken word


main:

ADCIN 10, adcinput            'läser ADC kanal 10 och sparar resultatet i variabeln ADCINPUT

adcoutput = (adcinput/1024)*Vref           'ADC resultatet i volt som sedan skickas till displayen med annan kod

GOTO main
END

Jag älskar det här forumet, finns mer kompetens och information här än man kan föreställa sig.

EDIT: Nu hittade jag ett kodexempel i en ebok där ovanstående beskrivs. Dom använder t.om. samma givare som mig, lysande.

Nu räknade jag ut att PIC:ens 10 bits ADC ger en upplösning på 0,49 °C, med givaren som ger 10 mV per °C. Vafalls, värdelöst! Vad sägs om att förstärka utspänningen med en OP? Är det stor skillnad i precision på olika OP för det här ändamålet eller kan man ta i princip vilken som helst? En OP lägger ju till en viss onogrannhet om den är lite olinjär osv.

Mätningen ska bara visa rätt värde vid en given punkt, och vill ha en onogrannhet på +/- 0,1 °C just vid denna temperatur. Givaren är specad till +/- 0,5 °C över hela området, men tror den kan nå ovan önskad precision just runt denna punkt.
sodjan
EF Sponsor
Inlägg: 43244
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Mikroprocessor till reglersystem

Inlägg av sodjan »

> ger en upplösning på 0,49 °C...

OK, en halv grad. Det är väl inte så illa.
Vilken noggranhet har givaren ?
Användarvisningsbild
Icecap
Inlägg: 26625
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Mikroprocessor till reglersystem

Inlägg av Icecap »

Att mäta temperatur är inte enkelt, speciellt inte i luft! Visst kan man förstärka det önskade område och då få en bättre upplösning och där fungerar en op-amp lysande. Men op-amp är inte olinjära! Självklart beror det hela på kvaliteten av återkopplingen och att man väljer rätt op-amp (t.ex. med rail-to-rail) och håller sig inom ett vettigt arbetsområde (inte för nära spänningsmatningen).
ds77
Inlägg: 2453
Blev medlem: 24 juli 2008, 09:38:07
Ort: småland

Re: Mikroprocessor till reglersystem

Inlägg av ds77 »

Vilken noggrannhet har ADC:n och hur pass linjär är den? Det bör stå i databladet men sen kan ju brus lätt ställa till det ändå.
Kretskort
Inlägg: 182
Blev medlem: 5 februari 2008, 08:07:45
Ort: Göteborg

Re: Mikroprocessor till reglersystem

Inlägg av Kretskort »

Nu har jag äntligen fått min termometer att fungera efter en sabla massa om och men. En mängd småfel här och var, som t.ex. höger- respektive vänsterjusteringen av resultatet. Mycket ettor och nollor som ska stoppas in på rätt ställe.

Icecap: Så bra! OP förstärkaren är en komponent i min prissmak. :)

ds77: I databladet står att ADC:n har gain-, differential-, integral-, och offset error på respektive +/- 1 LSb och att det totala felet inkluderar alla dessa fel, men inte på vilket sätt.
Note 1: Total Absolute Error includes integral, differential, offset and gain errors.

Sida 255 i databladet.

Ska man tolka det som att det totala felet är +/- 4 bitar? Det är ju inte så mycket i sig, men hisnande ca +/- 2 °C med den här givaren isåfall. Lägg sedan till upplösningen på ca 0,5°C och givarfel på +/- 0,4°C över hela området också så får vi en härlig onoggrannhet på runt 2,89°C. Lägg på lite fler störmoment som att Vref inte är 100% säkert fastställd och precisionen kan konstateras till typ +/- en blåslampa. :) Lite skillnad mot dom PT100 man lekt med i "tjänst".

Men det kommer fungera ändå, givaren ska kalibreras och justeras mot en given temperatur vid varje användningstillfälle så det är bara upplösningen som är ett stort problem.

Den här hade varit fin om den kostat iaf 90 kr mindre:
73-088-93

Upplösning < 0.005 °C. Kass precision, men hade nog kunnat mäta bra runt just en specifik punkt.
sodjan
EF Sponsor
Inlägg: 43244
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Mikroprocessor till reglersystem

Inlägg av sodjan »

> Ska man tolka det som att det totala felet är +/- 4 bitar?

Nej, så ska du säkert inte tolka det.
Det normala är att uppgiven nogranhet (+/- 1 lsb) gäller när man
ser till att uppfylla hela specen för övrigt. Början man glida på
något (för kort acq-time, för hög ingångs imp eller något annat)
så garanteras inte +/- 1 lsb längre. Exakt *vad* som händer
går inte enkelt att säga.

Och i ett worst-case scenario kan man kanske summera alla fel så
som du gör, men det är ett väldigt osannolikt fall. D.v.s t.ex att alla
olika felkällor skulle ligga på t.ex sin maxgräns. Samtidigt.
Kretskort
Inlägg: 182
Blev medlem: 5 februari 2008, 08:07:45
Ort: Göteborg

Re: Mikroprocessor till reglersystem

Inlägg av Kretskort »

Nej, det är ju osannolikt, och vissa fel lär ju ta ut varandra också. Dock räknar man ofta på det värsta tänk bara scenariot när man anger onoggrannhet.

Igår försökte jag styra skruvdragaren m.h.a. transistorer men det gick inte så bra. Skruvdragaren drog mycket större ström än jag först trott (>5A) så transistorerna jag köpt blev snabbt för varma.

Eftersom det är en induktiv last så bör man väl ha en skyddsdiod parallellt över skruvdragaren. Problemet i det här fallet är det att skruvdragaren går åt två håll, vilket styrs genom att vända polerna. Då kan man ju inte använda dioder, för den ena riktningens diod skulle isåfall kortsluta strömkällan.

Duger ett motstånd parellellt över skruvdragaren istället? Jag hade isåfall tänkt mig ett motstånd på 47ohm som då konstant håller en ström på runt 50mA då skruvdragaren går på runt 2,5V.

Upplägget med en läsgaffel fungerar dock som tänkt. Det är mycket krångel med det här skruvdragarkonceptet som helhet dock, det lutar mer och mer åt att jag letar upp en stegmotor för att vrida ventilen.
Skriv svar