Du får plocka fram mekanikkunskaperna du tyckte var så tråkiga en gång i tiden. Tror att man tjänar på att göra en riktigt enkel modell, gör man en för avancerad blir det så svårt att räkna på det :)
Uåten är ju en massa som lyfts av en kraft (tyngden av den undanträngda vattenmassan). På denna ubåt verkar även dämpande viskös kraft
Fv=B*v^4
tror jag, detta går dock inte att räkna på så vi säger
Fv=B*v
istället.
Edit: Ändrat oklar text nedan.
Låt Fl vara lyftkraften. Totalt alla krafter som verkar på ubåten (positiv riktning uppåt) är då
Fl - Fv = -x*g - B*v
x betecknar mängden vatten i tanken, där x=0 motsvarar den mägd vatten då ubåten är i jämnvikt, varken stiger eller sjunker.
F = m*a
får man
-x*g - B*v = m*a
-x*g - B*h' = m*h'' (h=båtens höjd över en tänkt punkt, t.ex. sjöbottnen)
(m*g''+b*s')/g = -x
transformering ger
(ms^2+bs)*H(s)/g= -X(s)
Totala systemet med vattennivån i tanken som insignal och ubåtens position i vattnet som utsignal borde då bli
G(s)=H(s)/G(s) = -g/(s*(ms+B)) = -(g/Bs)* 1/(ms/B+1))
Med reservation för alla eventuella felräkningar. Viskositetskonstanten B måste nu mätas. Kika på denna ekv.
-x*g - B*v = m*a
Om du låter ubåten stiga eller sjunka långsamt i vattnet med konstant hastighet blir a=0 och du får
-x*g - B*v = 0
B*v=-x*g
B=-x*g/v
där x är mängden (liter) vatten över jämviktsläget (då ubåten varken sjunker eller stiger), g = 9.81 och v är den konstanta hastighet med vilken den rör sig.
Jag skulle nog överhuvudtaget inte bry mig om snabbheten på pumpmotorerna till tankarna, endast se dom som en konstant K (dvs att du "omedelbart" kan bestämma vattenmängden i tanken), detta pga deras stora snabbhet i förhållande till resten av systemet. Jag kanske skulle kolla ungefär hur snabbt de t.ex. tömmer tanken, beteckna den tiden för Ta och aproximera med.
G(s) = K/(S*Ta+1)
dvs. ett första ordningens system.
Slutligen: Eftersom systemet består av en (och endast en) integration kommer proportionell reglering att fungera. Däremot kan det gå att få ubåten att reagera snabbare om du flyttar polen i s=-B/m närmare 0. Där kommer reglerteori och PID in, och där kan jag inte hjälpa dig mer.
PID REGULATOR MED PIC
- Greensilver
- Inlägg: 1305
- Blev medlem: 21 januari 2005, 21:24:57
- Ort: Sverige
- Kontakt:
Damn!
Kunde du det där rakt av eller pluggar du detta just nu?
Hur som helst, tänkte bara på detta:
Låt Fl vara lyftkraften, den motsvarar precis tyngden av mängden vatten du har i ubåtens vattentankar.
Det låter som om detta är idealfallet, alltså när jämviktsförhållande råder. Borde det inte vara något i stil med:
Låt Fl vara lyftkraften, den motsvarar precis tyngden av den undanträngda volymen vatten minus mängden vatten du har i ubåtens vattentankar.

Kunde du det där rakt av eller pluggar du detta just nu?
Hur som helst, tänkte bara på detta:
Låt Fl vara lyftkraften, den motsvarar precis tyngden av mängden vatten du har i ubåtens vattentankar.
Det låter som om detta är idealfallet, alltså när jämviktsförhållande råder. Borde det inte vara något i stil med:
Låt Fl vara lyftkraften, den motsvarar precis tyngden av den undanträngda volymen vatten minus mängden vatten du har i ubåtens vattentankar.
För ett tag sedan programmerade jag en regulator till en ball and beam process.
Jag programmerade PID regulatorn i java men den är lätt att översätta till andra språk.
här är en realtidsoptimerad java kod till en PID-regulator.
för mer info om koden kan du gå in på LTHs kursrealtidssystem , kolla speciellt föreläsning 6.
Film på min reglering! (klicka på "free"-knappen, och vänta i 25 sukunder)
-uppgiften är att jag ska sortera 3 olika stora kulor och kasta dom på olika sätt. Jag använder grafcet till att skifta mellan olika referenser och regleringslägen. Sen i grunden använder jag java för att beräkna styrsignal. Regulatorn jag använder är en kaskadkopplad PI-PID regulator.
Och angående din ubåt så kan jag rekommendera Engel. Dom har både ballasttankar till ubåtar och färdiga regulatorer till dessa.
Jag programmerade PID regulatorn i java men den är lätt att översätta till andra språk.
här är en realtidsoptimerad java kod till en PID-regulator.
Kod: Markera allt
y = yIn.get(); //Läser in analogt värde
e = yref - y; //Felet relativt en referenssignal
D = ad * D - bd * (y - yold); // beräknar D-delen
v = K*(beta*yref - y) + I + D; //Beräknar styrsignalen (PID)
u = sat(v,umax,umin)} //Antiwind-up, sat-funktionen sätter u till umax om u>umax
uOut.put(u); // Skickar ut styrsignalen.
I = I + (K*h/Ti)*e + (h/Tr)*(u - v); //Beräknar I delen.
yold = y //Sparar gamla invärdet
sleep(); //Sov tills nästa sample
/*
ad och bd är förberäknade konstanter.
ad=(Td /(Td + N * h))
bd=(K*Td*h)/(Td + N*h)
beta=0.0-1.0, Referens ändrings filtrering
N=ca 10-20, filtreringskoefficient till D-delen.
K= P viktning
Ti= I viktning
Td= D viktning
h= tid mellan två sample */
Film på min reglering! (klicka på "free"-knappen, och vänta i 25 sukunder)
-uppgiften är att jag ska sortera 3 olika stora kulor och kasta dom på olika sätt. Jag använder grafcet till att skifta mellan olika referenser och regleringslägen. Sen i grunden använder jag java för att beräkna styrsignal. Regulatorn jag använder är en kaskadkopplad PI-PID regulator.
Och angående din ubåt så kan jag rekommendera Engel. Dom har både ballasttankar till ubåtar och färdiga regulatorer till dessa.
Green: Jo, hade knarkat när jag skrev det där, ändrade det lite.
Och, ja, jag har just läst en enklare reglerkurs ;). Inte för att det jag skrev hade nåt om reglerteori, det var mekanik 1 som jag läste för 5 år (HELVETE!) sen :p. Men det har väl gått igen lite då då i olika kurser.
Min reglerkurs var väldigt basic dock, hade hoppats på lite mer... Har blivit mer å mer intresserad av reglerteknik nu när jag börjat pilla med lite elprojekt och insett att det mesta man bygger innefattar reglerteori. Antingen om man skall styra nåt mekaniskt, eller rent elektrisk feedback i alla dess former.
Och, ja, jag har just läst en enklare reglerkurs ;). Inte för att det jag skrev hade nåt om reglerteori, det var mekanik 1 som jag läste för 5 år (HELVETE!) sen :p. Men det har väl gått igen lite då då i olika kurser.
Min reglerkurs var väldigt basic dock, hade hoppats på lite mer... Har blivit mer å mer intresserad av reglerteknik nu när jag börjat pilla med lite elprojekt och insett att det mesta man bygger innefattar reglerteori. Antingen om man skall styra nåt mekaniskt, eller rent elektrisk feedback i alla dess former.
- Greensilver
- Inlägg: 1305
- Blev medlem: 21 januari 2005, 21:24:57
- Ort: Sverige
- Kontakt: