Hur reglera en tekokare på 2200 W?
Re: Hur reglera en tekokare på 2200 W?
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.
Varför lägger jag tid på att svara på det här egentligen?
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.
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.
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:
Vänta nu lite? Så jag ska pwma med en frekvens också?
Visst det går att ha en vanlig termostat med till/från och lämplig hysteres också.Al_Bundy skrev: Jag trodde att SSR skulle slå av när temperaturen är uppnått?
Jo om du nöjer dig med P reglering. Vilket antagligen duger.Al_Bundy skrev: Men i så fall så borde PWM vara propotionell emot temperaturen.
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: 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.
Fuzzy control? Det är helt normal termostat funktion.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![]()
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.Al_Bundy skrev: Kanske en for-loop som loopar on/off vid olika hastigheter?
Varför lägger jag tid på att svara på det här egentligen?

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.
Re: Hur reglera en tekokare på 2200 W?
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.
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.
Re: Hur reglera en tekokare på 2200 W?
Nog för att deras specifikation har sina konstigheter. Men din tolkning av den var värre.
Re: Hur reglera en tekokare på 2200 W?
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.
Re: Hur reglera en tekokare på 2200 W?
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.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.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:
Vänta nu lite? Så jag ska pwma med en frekvens också?Visst det går att ha en vanlig termostat med till/från och lämplig hysteres också.Al_Bundy skrev: Jag trodde att SSR skulle slå av när temperaturen är uppnått?Jo om du nöjer dig med P reglering. Vilket antagligen duger.Al_Bundy skrev: Men i så fall så borde PWM vara propotionell emot temperaturen.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: 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.Fuzzy control? Det är helt normal termostat funktion.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
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.Al_Bundy skrev: Kanske en for-loop som loopar on/off vid olika hastigheter?
Varför lägger jag tid på att svara på det här egentligen?![]()
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.
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?

Re: Hur reglera en tekokare på 2200 W?
Allt är "fake". Hela ELFA är "fake".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.
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.
Re: Hur reglera en tekokare på 2200 W?
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.
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.
Re: Hur reglera en tekokare på 2200 W?
Jag vet redan svaret. Det var något som skrev det på sida 4:

Men då är frågan: Hur ska jag göra det?
Jag måste troligtvis ändra om PWM frekvensen på min ATmega.
Alltså precis som denna bild - exempel.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

Men då är frågan: Hur ska jag göra det?
Jag måste troligtvis ändra om PWM frekvensen på min ATmega.
Re: Hur reglera en tekokare på 2200 W?
Nej det är det inte.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?
Re: Hur reglera en tekokare på 2200 W?
Nähä?
Nu ger ni mig dubbla budskap.
Eller så hittar jag på en egen typ av reglering med delay(); och multithreadning.
Nu ger ni mig dubbla budskap.
Eller så hittar jag på en egen typ av reglering med delay(); och multithreadning.
-
- Inlägg: 7110
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Re: Hur reglera en tekokare på 2200 W?
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.
Vanlig ON- OFF reglering räcker! Att slå till från för snabbt skapar bara störningar och problem.
Re: Hur reglera en tekokare på 2200 W?
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):
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.
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);
}
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.
Re: Hur reglera en tekokare på 2200 W?
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.
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.
Re: Hur reglera en tekokare på 2200 W?
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.
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.