Att bestämma om något är mycket eller lite (AVR)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Om man har ett "långsamt" system kan man fint göra bara en I-del:
Med regeltbundna mellanrum (beror på hur långsamt det ska reagera) kollar man är och bör värden, ska det skruvas upp för fläkten ger man den ett steg +, ska det skruvas ner ger man den ett steg -, är det OK låter man den bli.

Enklare än så kan det knappast bli tror jag.
Användarvisningsbild
fredde76
Inlägg: 117
Blev medlem: 28 oktober 2003, 21:17:40
Ort: Uppsala

Inlägg av fredde76 »

Icecap:
Då har vi väl en P-regulator och inte en I-regulator, eller?
danei
EF Sponsor
Inlägg: 27424
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Nä det är en I regulator. Det var så jag menade.
Användarvisningsbild
fredde76
Inlägg: 117
Blev medlem: 28 oktober 2003, 21:17:40
Ort: Uppsala

Inlägg av fredde76 »

Om man bara tittar på bör- och är-värden och sedan förstärker den skillnaden med en faktor så har du ju en proportionell verkan på systemet, P-reglering. Om du vill ha integralverkan så måste man väl ha med lite historik också?? Minns jag allt helt galet eller??

/En som försöker minnas...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Med ett fast reglersteg (+/- "ett steg") i inlägget ovan), så är det inget I-steg, eftersom man där måste summera felet över flera mätpunkter och sedan reglera med summafelet x en faktor (med ovänt tecken så klart).

Så som Icecap beskriver det sker det inte någon "integrering", alltså summering över tiden. Det som beskrivs låter som en form av P-reg med fast reglersteg (alltså inte proportionellt mot felets storlek).

Att enbart köra I, är lite svårt, eftersom man får ett system som reagerar väldigt konstigt på ett fel, lite av "ketchup-effekt". Först ingenting ett tag, sedan (när integreringen har hunnit bygga upp ett tillräckligt stort summafel), kommer regleringen. Sannolikt kommer denna inte att hinna stanna på börvärdet, eftersom det *måste* bli ett översving för att integreringen skall "vända" och börja gå mot noll. Sannolikt kommer det att självsvänga eller översvänga tills systemet begränsas av något mekaniskt stopp t.ex.. Notera att så länge som felet ligger på samma sida om börvärdet (även om det har närmat sig), så *ökar* summafelet och regleringen "trycker på" mer och mer tills man passerar börvärdet, först då kommer summafelet att börja minska.

Det är ju här som D delen kommer in och fungerar som en "stötdämpare" och hjälper till att "bromsa in" när man närmar sig börvärdet för fort. Men ett bra justerat system, kan man få det att tvärnita på börvärdet, men det är inte lätt... :-)
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Man måste ha en minnescell med det ackumulerade värde men det har inget med historik att göra, det är D-delen som kräver historik.

P = Propotionell, "vilken skillnad är det här o nu?"
I = Integrerande, "sammantagit blir det såhär"
D = Diffrentiell, "Det har skett såhär mycket sedan senaste mätningen"
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

I = Summering av felet över tiden. Summan utgör en slags "historik" även om man inte lagrar individuella värden.

D = Hur ändras felet (derivatan) just nu (och man behöver *ett* tidigare värde för att få ett delta-fel, vilket jag inte skulle kalla "historik").
danei
EF Sponsor
Inlägg: 27424
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

När man använde I del så bör man se till att integreringen inte fortsätter när styrsignalen når taket. Men en långsam I regulator är bra om man ska hålla något på konstant temeratur. Men den kommer inte att hantera störningar så bra.
danei
EF Sponsor
Inlägg: 27424
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

sodjan skrev:Med ett fast reglersteg (+/- "ett steg") i inlägget ovan), så är det inget I-steg, eftersom man där måste summera felet över flera mätpunkter och sedan reglera med summafelet x en faktor (med ovänt tecken så klart).
Om man reglerar digitalt så är allt i steg. Iden är ju att man ökar eller minskar signalen ett steg i taget. En långsam i reglering.
sodjan skrev: Så som Icecap beskriver det sker det inte någon "integrering", alltså summering över tiden. Det som beskrivs låter som en form av P-reg med fast reglersteg (alltså inte proportionellt mot felets storlek).
Jo det gör det. Läs igen.
sodjan skrev: Att enbart köra I, är lite svårt, eftersom man får ett system som reagerar väldigt konstigt på ett fel, lite av "ketchup-effekt". Först ingenting ett tag, sedan (när integreringen har hunnit bygga upp ett tillräckligt stort summafel), kommer regleringen. Sannolikt kommer denna inte att hinna stanna på börvärdet, eftersom det *måste* bli ett översving för att integreringen skall "vända" och börja gå mot noll. Sannolikt kommer det att självsvänga eller översvänga tills systemet begränsas av något mekaniskt stopp t.ex.. Notera att så länge som felet ligger på samma sida om börvärdet (även om det har närmat sig), så *ökar* summafelet och regleringen "trycker på" mer och mer tills man passerar börvärdet, först då kommer summafelet att börja minska.
Nu är det inget servo vi reglerar på.
sodjan skrev: Det är ju här som D delen kommer in och fungerar som en "stötdämpare" och hjälper till att "bromsa in" när man närmar sig börvärdet för fort. Men ett bra justerat system, kan man få det att tvärnita på börvärdet, men det är inte lätt... :-)
Det beror så mycket på vilken process man ska reglera. Om det var ett servo så stämmer dina tankar bra.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

OK, ett I-steg där man enbart ser till felsignalens polaritet, inte dess absolutvärde. Och eventuellt att det ligger utanför ett visst "dead band" för att inte reglera "i onödan", så att säga. Kör för det. :-)
danei
EF Sponsor
Inlägg: 27424
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Som du säger är det nog en bra ide att reglera lite fortare om felet är stort. Men som enlklast tänkbara regulator så funkar det nog. Det beror ju lite på hur konstanta förhållandena är.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Det verkar som många spelar på olika planhalvor här.
För att reda ut saken korrekt matematiskt:

En PID implementerad digitalt (exempelvis i en AVR) hanterar diskretiserade signaler, alltså är dess egenskaper:
P: Proportionell
I: Summerande
D: Differentierande

Om man istället bygger en analog PID-regulator, kommer den hantera kontinuerliga signaler och får därmed egenskaper enligt:
P: Proportionell
I: Integrerande
D: Deriverande

Här använder vi en AVR, därmed är inte begrepp som derivata och integral korrekta.
Analoga och digitala regulatorer har olika egenskaper som ger fördel i vissa situationer, men det är knappast lönt att diskutera för den aktuella tillämpningen.

/Messerschmitter :ajabaja:
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

Det vanligaste sättet att bygga en regulator är att först ta fram den analoga regulatorn och sedan översätta den till den digitala domänen tex. via Tustins approximation.
/Messerschmitter :ajabaja: :wink:

Man nu snackar vi om en enkel och slö process dvs. en fläkt så då räcker det mer än väl med en PI regulator. En PI regulator är den mest utan konkurrens använda regulatorn i industrin.

För lite mer info så finns här (sista sidan) en PID-regulatorn med antivindup skrivan i JAVA.
Skriv svar