Hur reglera en tekokare på 2200 W?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Wedge »

Arduinos PWM- frekvens är INTE 488 kHz.
danei
EF Sponsor
Inlägg: 27428
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av danei »

Och även det projektet försökte folk lösa åt dig, men du tycktes inte kunna ta till dig just något av det.

Om du nu kan all så lös dina problem själv, om du vill ha hjälp så se till att försök fatta vad folk säger.

Om vi tex tar den här rappakaljan.
Al_Bundy skrev:
Vänta nu lite? Så jag ska pwma med en frekvens också?
Ja det är svårt att köra PWM utan någon frekvens. All reglering när man bara har till eller från som lägen blir ju någon typ av PWM.
Al_Bundy skrev: Jag trodde att SSR skulle slå av när temperaturen är uppnått?
Visst det går att ha en vanlig termostat med till/från och lämplig hysteres också.
Al_Bundy skrev: Men i så fall så borde PWM vara propotionell emot temperaturen.
Jo om du nöjer dig med P reglering. Vilket antagligen duger.
Al_Bundy skrev: På arduino så ligger PWM på ca 488 kHz. Men jag hade mer tänkt att SSR slår av och på under korta eller långa stunder. Jag vågar inte riktigt ändra PWM för enligt Arduino.cc så ändras också andra parameterar så som millis() _delay() och annat.
Var för nämner du ens en frekvens på 447kHz? Det handlar om frekvenser i storleksordningen av 0,1Hz. Vilket är svårt att missa i tråden.
Al_Bundy skrev: Vi kan säga att SSR är konstant OFF när temperaturen har är över börvärde. Vid vattnets rumstemperatur så är SSR konstant ON.
Då kan använda fuzzy controll för att lösa detta :)
Fuzzy control? Det är helt normal termostat funktion.
Al_Bundy skrev: Kanske en for-loop som loopar on/off vid olika hastigheter? :)
Om du använder for-loopar eller inte saknar relevans i det här stadiet. Men PWM handlar om att ändra förhållandet mellan till och från med en frekvens lämplig för det man ska reglera. Först måste du ha en regler teori, sedan kan du fundera på hur du ska implementera den. Om du försöker gå andra vägen blir det så här galet.

Varför lägger jag tid på att svara på det här egentligen? :doh:
Man kan väl hoppas att någon annan kanske kan få ut något vettigt av det. Jag räknar inte med att TS gör det.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Al_Bundy »

Vad tycker ni om detta relä?
http://www.aliexpress.com/item/G104Free ... 43219.html

Input DC: 3-24 volt
Input AC: 24-380 volt
Ampere: 25 A

:)

3.16 dollar styck.
danei
EF Sponsor
Inlägg: 27428
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av danei »

Nog för att deras specifikation har sina konstigheter. Men din tolkning av den var värre.
Miramithe
Inlägg: 1423
Blev medlem: 21 januari 2013, 17:45:10
Ort: Borlänge

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Miramithe »

Ja det blir bra, rätt garanterat Fake men funkar nog. Leta fram dina papper med anteckningar från styr och regler kursen och fundera ut var du bäst mäter temperaturen i ditt kärl. Svårare än så är det inte.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Al_Bundy »

danei skrev:Och även det projektet försökte folk lösa åt dig, men du tycktes inte kunna ta till dig just något av det.

Om du nu kan all så lös dina problem själv, om du vill ha hjälp så se till att försök fatta vad folk säger.

Om vi tex tar den här rappakaljan.
Al_Bundy skrev:
Vänta nu lite? Så jag ska pwma med en frekvens också?
Ja det är svårt att köra PWM utan någon frekvens. All reglering när man bara har till eller från som lägen blir ju någon typ av PWM.
Al_Bundy skrev: Jag trodde att SSR skulle slå av när temperaturen är uppnått?
Visst det går att ha en vanlig termostat med till/från och lämplig hysteres också.
Al_Bundy skrev: Men i så fall så borde PWM vara propotionell emot temperaturen.
Jo om du nöjer dig med P reglering. Vilket antagligen duger.
Al_Bundy skrev: På arduino så ligger PWM på ca 488 kHz. Men jag hade mer tänkt att SSR slår av och på under korta eller långa stunder. Jag vågar inte riktigt ändra PWM för enligt Arduino.cc så ändras också andra parameterar så som millis() _delay() och annat.
Var för nämner du ens en frekvens på 447kHz? Det handlar om frekvenser i storleksordningen av 0,1Hz. Vilket är svårt att missa i tråden.
Al_Bundy skrev: Vi kan säga att SSR är konstant OFF när temperaturen har är över börvärde. Vid vattnets rumstemperatur så är SSR konstant ON.
Då kan använda fuzzy controll för att lösa detta :)
Fuzzy control? Det är helt normal termostat funktion.
Al_Bundy skrev: Kanske en for-loop som loopar on/off vid olika hastigheter? :)
Om du använder for-loopar eller inte saknar relevans i det här stadiet. Men PWM handlar om att ändra förhållandet mellan till och från med en frekvens lämplig för det man ska reglera. Först måste du ha en regler teori, sedan kan du fundera på hur du ska implementera den. Om du försöker gå andra vägen blir det så här galet.

Varför lägger jag tid på att svara på det här egentligen? :doh:
Man kan väl hoppas att någon annan kanske kan få ut något vettigt av det. Jag räknar inte med att TS gör det.
Ja, förlåt då. Jag skrev fel. Menade 488 Hz. Jag har en bok om arduino som beskriver att arduinos PWM är på 488 Hz.


Vänta nu lite. Jag kanske inte fattat allt med SSR, men menar ni verkligen att man kan kontrollera spänningen igenom att pulsera med ett relä?

På min ATmega328 så kan jag pulsera så jag kan få t.ex. 0.5 volt eller 1.6 volt, eller 5 volt. Ni menar att jag ska, men SSR, pulsera så snabbt så om jag tar en multimeter och mäter på SSR reläet så kommer den visa något annat än 230 volt? Kanske 150 volt? Är det så ni har tänkt?

Bild
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Al_Bundy »

Miramithe skrev:Ja det blir bra, rätt garanterat Fake men funkar nog. Leta fram dina papper med anteckningar från styr och regler kursen och fundera ut var du bäst mäter temperaturen i ditt kärl. Svårare än så är det inte.
Allt är "fake". Hela ELFA är "fake".

Jag har en bok om det, framför mig.
Edit: Det stog att tempsensorn har sitta vart som helst, så länge det är cirkulation.
Miramithe
Inlägg: 1423
Blev medlem: 21 januari 2013, 17:45:10
Ort: Borlänge

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Miramithe »

Ne finns spaltmeter på nätet om just de märket och billiga SSR.
Men testa, kan vara ett riktigt man vet aldrig.
Sen har du ju alla svar till hur du ska lösa detta i tråden redan.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Al_Bundy »

Jag vet redan svaret. Det var något som skrev det på sida 4:
Om man bara vill ha ut halva effekten från elementet så aktiverar man SSR:en bara varannan spänningscykel. Vill man ha mer effekt så ökar man dom aktiva cyklerna och minskar dom om man vill ha lägre effekt. Gör man regleringen över 2 sekunder så får man lätt en 0-100% reglering. Dock behöver man en optokopplare så att µP vet när nollgenomgången sker. Man får en väldigt flimrande lampa men till ett element spelar det ingen roll
Alltså precis som denna bild - exempel.
Bild

Men då är frågan: Hur ska jag göra det?
Jag måste troligtvis ändra om PWM frekvensen på min ATmega.
danei
EF Sponsor
Inlägg: 27428
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av danei »

Al_Bundy skrev:Vänta nu lite. Jag kanske inte fattat allt med SSR, men menar ni verkligen att man kan kontrollera spänningen igenom att pulsera med ett relä?

På min ATmega328 så kan jag pulsera så jag kan få t.ex. 0.5 volt eller 1.6 volt, eller 5 volt. Ni menar att jag ska, men SSR, pulsera så snabbt så om jag tar en multimeter och mäter på SSR reläet så kommer den visa något annat än 230 volt? Kanske 150 volt? Är det så ni har tänkt?
Nej det är det inte.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Al_Bundy »

Nähä?
Nu ger ni mig dubbla budskap.

Eller så hittar jag på en egen typ av reglering med delay(); och multithreadning.
Mindmapper
Inlägg: 7110
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Mindmapper »

Skit i PWM! En så trög process har ingen användning av det. Tänk på vilket stegsvar du har från processen. Hur snabbt svänger temperaturen idag, kan ge vägledning. Villken nogrannhet på regleringen vill du uppnå?

Vanlig ON- OFF reglering räcker! Att slå till från för snabbt skapar bara störningar och problem.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Hur reglera en tekokare på 2200 W?

Inlägg av jesse »

Din kod med for-loopen och temperaturen (T) var ganska bra... Vad den egentligen gör är att den skapar PWM, fast istället för att göra det med Arduino-funktioner gör di det själv i koden. Det är ett framsteg - då slipper du grubbla över att Arduino har fel PWM-frekvens för detta ändamål.

Ett fel i koden bara: Du fördröjer både efter ON och efter OFF med samma tid (T). Men den ena fördröjningen ska ju vara tvärt om, mindre ju större T är.

Först hittar du två lämpliga temperaturer som du ska reglera mellan. T.ex. 50 och 68 grader celcius.
Antag att T är temperaturen celcius som heltal (dvs T=50 betyder 50 grader C):

Kod: Markera allt

#define HIGH_TEMP 67
#define LOW_TEMP 50
#define SPAN (MAX_TEMP - LOW_TEMP)
P = T - LOW_TEMP;
if (P < 0) P = 0;
if (P > SPAN) P = SPAN; 
/* omvandla spannet till 0-100 */
P = (P * 100) / SPAN;

/* nu kan du använda P till att reglera tiderna i loopen */
void loop()
{
  analogWrite(10, 1);  // SSR ON
  delay(100 - P);
  analogWrite(10, 0); // SSR OFF
  delay(P);
}
Ett räkneexempel på koden ovan :

temp T=52 grader.
P = T - LOW_TEMP; // P = 52 - 50 = 2
if (P < 0) P = 0; // P ändras inte här.
if (P > SPAN) P = SPAN; // P ändras inte här heller (SPAN = 17)
/* omvandla spannet till 0-100 */ //
P = (P * 100) / SPAN; // P = (2 * 100) / 17 = 11.
...
delay(100 - P); // delay (100-11) = dealy(89) ... ONTIME = 89%
delay(P); // delay(11) ... offtime = 11%

Nästa exempel:

temp T=66 grader.
P = T - LOW_TEMP; // P = 66 - 50 = 16
if (P < 0) P = 0; // P ändras inte här.
if (P > SPAN) P = SPAN; // P ändras inte här heller (SPAN = 17)
/* omvandla spannet till 0-100 */ //
P = (P * 100) / SPAN; // P = (16 * 100) / 17 = 94.
...
delay(100 - P); // delay (100-94) = dealy(6) ... ONTIME = 6%
delay(P); // delay(94) ... offtime = 94%

Det som behöver fixas här är frekvensen. Det bästa är antagligen att göra en egen funktion som kanske heter slowDelay(int tid) som ger en fördröjning på tid*20ms, så att tid=100 ger en fördröjning på 20ms*100 = 2 sekunder, och ersätter delay(P) med slowDelay(P).

Nu har du skapat en P-regulator. Sedan kan du fortsätta att lägga till I och eventuellt D, om det behövs. Det är bara matematik. OBS , var noga med att du inte kan få owerflow i beräkningarna. Flyttal fungerar fint om man vill göra det enkelt.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur reglera en tekokare på 2200 W?

Inlägg av Icecap »

Al: PWM betyder bara att man använder en on-off styrning av signalen, inte att det ska vara flera hundra Hertz eller mer på det hela.
En PWM-frekvens på 1Hz använder jag i ett kommersiellt produkt för att styra ett 1kW värmeelement, det sitter i luft varför värmeinertin inte räcker till en långsammare frekvens. Detta har i övrigt ökad livslängden ~5gg jmf. med en likvärd äldre styrning med 0,5Hz PWM-frekvens.

Men till det du vill uppnå räcker en PWM-frekvens på 0,5Hz mycket långt. Och då man som minst kan slå på 1 halvperiod ger det 200 steg att reglera effekten med.

Och nej, det är inte spänningen som regleras, det är effekten! Om du har en 1kW värmeelement och tänder den 1 sek och släcker 1 sek kommer effekten det avger att vara 500W.

Men du har ju redan som vanligt löst alla problem utan hjälp - och tydligen utan att fatta hur man gör.
Senast redigerad av Icecap 25 december 2014, 23:02:21, redigerad totalt 1 gång.
danei
EF Sponsor
Inlägg: 27428
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Hur reglera en tekokare på 2200 W?

Inlägg av danei »

Mindmapper: Han ska inte slå till och från snabbt, det är bara han som har fått för sig.
Men en reglering som inte måste invänta att en givare signalerar "för varmt" och "för kallt" kommer att reglera bättre.

Det han borde göra är att reglera med en PWM med en frekvens på tex. 0,2Hz. (en grov gissning) Man kan ju mäta upp vilken effekt som man kommer att behöva när man ligger på önskad temperatur. På så vis kan man köra full effekt tills man är uppe i rätt temperatur, då går man över till en PI där man laddar in det normala värdet på integratorn. Så regulatorn behöver inte svänga in så mycket, utan ligger redan från start i ett lämpligt tillstånd.
Skriv svar