Sida 1 av 2

Tempregleringsmodul #2

Postat: 31 augusti 2007, 21:09:24
av thepirateboy
Jag har med inspiration från andra projekt, framförallt mri's tempregleringsmodul, gjort en enklare variant av en temperaturreglering.
Den har har en PID-regulator som styr en opto-triac med nollgenomgångsdetektor som i sin tur tänder en triac.

Önskad temperatur ställs in med en rotationssensor och sparas i eeprom. Aktuella värden kan fås ut på USB-porten om man vill logga.

Displayen visar önskad temperatur, aktuell temperatur och hur mycket den styr ut till triacen samt info om man vill spara till eeprom när man ändrar temperaturen.


Projektet består bland annat av följande hårdvara:

Atmega88 är "hjärnan"
En standard HD44780 2x20 LCD
Rotationssensor från Sodjan
FTDI-chip USB<->serial
MOC3041 optotriac
Triac MAC223
Tempgivare AD22100 (22,5mV/grad) inkapslad i en gammal radioantenn
Summer för akustiskt larm
Låda från electrokit

Kvar att göra:

"Snygga" till koden
Justera PID-regulator
Kylfläns triac
Noggrannare inställning för önskad temp.

Förbättringar i framtiden:

4 raders LCD för bättre utskrift
En billigare tempgivare


Bild

Bild

Bild

Bild

Bild


Test av ny 20x4 display från kina.

Bild

Postat: 1 september 2007, 10:29:06
av Mindmapper
Snyggt jobbat. En sådan borde jag också byggt, men kommer mig inte för.

Postat: 1 september 2007, 10:39:00
av anlamotte

Kod: Markera allt

Vald temperatur  5c
Temp 23,6c Pwr 55%
Hur går det ihop?
Värmer den med 55% effekt fast det redan är 18,6 grader
för varmt i rummet?

...eller tänker jag fel nu?

Sedan är jag lite nyfiken på valet av optokopplare.
Brukar man inte använda en optotriac UTAN nollgenomgånsdetektor, och istället trigga en liten stund efter nollgenomgången, när man ska effektreglera (dimma)...?

Postat: 1 september 2007, 11:01:37
av thepirateboy
Nej du tänker rätt men PID-regulatorn var nog inte helt i funktion när fotot togs, hehe. :)

Jag har läst en del om optokopplare och som jag uppfattat det så använder man en utan nollgenomgångsdetektor när man vill dimma tex en lampa som inte drar så mycket effekt, och triggar då en liten stund efter nollgenomgången som sagt.

I det här fallet då jag kanske vill styra ett 2kW värmeelement vill jag bara slå på och av spänning i nollgenomgångarna för att undvika störningar på nätet.

Jag styr optokopplaren i hundra steg varje sekund, minsta steget blir då 10mS vilket är en halvperiod. 55% ska då motsvara att triacen är på 0,55 sekunder under en sekund.

Rätta mig gärna om jag har fel. :)

Schema: http://www.savefile.com/files/1123661

Postat: 1 september 2007, 13:43:37
av Mindmapper
Smart att strunta i fasvinkelstyrning och minska ner på nedskräpningen av både elnätet och luften. Styr man en lampa så, skulle den blinka när den är nerdimmad och flera halvperioder försvinner. Medans det vid styrning av ett element inte spelar någon roll att flera halvperioder är borta

Postat: 1 september 2007, 21:29:37
av kimmen
Se till att du får med lika många negativa som positiva halvcykler. Reglera efter hela cykler är en bättre idé för att slippa dra likström från nätet med alla otrevliga effekter det får. 100 steg över 2 sekunder borde ju gå att använda i stället.

Postat: 15 oktober 2007, 12:08:54
av Andax
Thepirateboy, schemat går inte att ladda ner... Fick följande meddelande:

"Sorry. You can not download this file today. Download traffic for your country is empty."

I mitt tempstyrningsprojekt använder jag också MOC304x (i mitt fall MOC3043). Om man ska vara säker på att man alltid har lika många positiva som negativa cykler som Kimmen tycker måste man ju synka MCU till nätet. Har du någon zero-crossing detektion som ger feedback till MCU?

Postat: 15 oktober 2007, 12:18:55
av mri
Andax: Nätspänningen har ju mycket stabil frekvens, så även kristallen till MCU'n. I mitt projekt använder jag en hårdvarutimer i MCU'n som genererar en interrupt när utgången kan switchas på eller av. Interruptet kommer 50 ggr per sekund. Om nu inte nollgenomgången råkar sammanfalla just med interruptet, så att man står och pendlar just på gränsen (före/efter) borde lösningen vara tillräckligt bra...

Postat: 15 oktober 2007, 12:23:06
av mri
thepirateboy: Trevligt projekt föresten. :tumupp:

Postat: 15 oktober 2007, 12:39:49
av thepirateboy
Ändrade länken nu, hoppas det funkar.

Angående lika många positiva halvcykler förstår jag inte riktigt. Visst kan det bli något osymmetriskt under vissa tillfällen, men slår man ut det på en minut eller så bör det bli 50/50 tycker jag.

Jag har nog samma lösning som mri (tror jag), förutom att jag har interrupt 100ggr sekund. Det kändes enklast så slipper man hålla på med att koppla in nätspänning till uC'n. Det finns för övrigt ett AVR applikationsexempel för nollgenomgångsdetektor.

Postat: 15 oktober 2007, 12:48:53
av mri
thepirateboy: Anta att du ställer uteffekt på 1%, det betyder en halv växelspänningsperiod per sekund. Om du då startar din PWM cykel exact i början av varje sekund, är det mycket troligt att du endast belastar den negativa (eller positiva) sidan från nätet...
Sen kan du ju ha annan typ av PWM, men grejen är att försöka mata ut lika många positiva som negativa halvperioder.

Postat: 15 oktober 2007, 13:00:12
av thepirateboy
Jo, jag förstår. Men hur stor är chansen att regleringen ligger på exakt samma värde hela tiden? Jag kan inte ställa uteffekten direkt utan bara önskad temp.

Hursomhelst är detta ett problem kan man enkelt ändra i mjukvaran och köra helperioder istället.

Postat: 15 oktober 2007, 13:32:04
av Andax
Körde en liten simulering i prospice med MOC3043 och man kan få lite konstiga effekter förskjutningen mellan sina triggpulser och nätspänningen är oturlig.

Det borde väl gå att synka MCU och nätspänning med en optokopplare, ett motstånd och en diod.
Optokopplaren kopplas in via motståndet till nätspänningen. Motståndet begränsar strömmen till ex 5 mA. (Kräver dock ett effektmotstånd på 2W).
Dioden kopplas antiparallellt över optokopplaren så att backspänningen inte överskrids på optokopplaren.

Vill man inte köra med effektmotstånd borde man kapacitivt kunna spänningsdela först.

Postat: 15 oktober 2007, 13:46:26
av thepirateboy
Ok, har faktiskt inte vågat mäta med skopet hur det ser ut. Kanske man skulle fixa en nollgenomgångsdetektor i version 2 då. :)
En optokopplare känns som en bra idé.

Är man riktigt tuff gör man så här:
http://www.atmel-grenoble.com/dyn/resou ... oc2508.pdf

Ett till exempel:
http://www.necel.com/nesdis/image/U16498EE1V1AN00.pdf

Postat: 15 oktober 2007, 17:52:05
av mri
Andax: Menar du att det uppstår konstiga effekter när triggpulsen ligger nära en nollgenomgång eller får du andra konstiga effekter också?