Dimmer, 3-fas

Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Dimmer, 3-fas

Inlägg av Icecap »

Nu vill jag berätta lite om den dimmer jag håller på att tillverka för att styra våra värmefläktar på jobbet. De låter för jävligt pga. vindsus och kan bara gå full patte eller inte alls och min tanke är att dimma hastigheten så att de bara kör precis nog till att hålla temperaturen på rätt nivå. Vi håller även på att kolla om det går att få tystare fläktblad till dom. Rätt ville vara att byta skiten men vi hyr lokalerna och chefen vill inte ta den utgift av den anledning.

All diskussion om lämpligheten av denna sorts styrning har vi varit igenom och hör inte hemma här, detta är tänkt att hjälpa/inspirera folk som kan behöva en 3-fas dimmer - eller få andra att spy över att jag väljer denna lösning. Jag ämnar att bygga den och se om det fungerar, gör det inte är det ledsamt men då kommer jag att notera det här. Ja, jag vet om att den bästa lösning är en VFD.

Först lite schema:
Dimmer_3P.png
En snabb liten genomgång:
Självklart finns det anslutning för 3 faser & Noll. Jag använder jackbara kopplingsplintar med 7,62mm C-C på pinnarna. Tål rikligt Ampére för detta. Det finns en ingående (till vänster) och en utgående (till höger).

TF1 sitter mellan ena fas och Noll och får därför 230Vac. Den ger ut ung. 7,5Vac och ett par VA, det räcker fint till detta.

Kopplingen med Q1 & D2 ger en "noll-genomgångs"-puls, jag har mätt den och den är ung. 468µs lång vid varje nollgenomgång. R12 är på 10k och R11 är på 4k7 har jag för mig och används för att ladda ur dioderna så att noll-genomgången avkänns stabilt.

Nåväl, den puls är då synkroniserat med ena fasen och går in på PORTB4 som ställs till "Interrupt-On-Change". Den interrupt används sedan till att "faslåsa" den interna timer, mer nedan.

Jag har även kopplat till en ST232 (MAX232) som ger mig två RS232 portar. Den ena är tänkt att koppla ihop med en identisk enhet så att de kan köra parlöp, det är nämligen två fläktar som ska styras och jag vill bara ha en temperatursensor. Alltså kopplar jag ihop dom med lite kommunikation och då kan den som har en DS18B20 skicka kommandon till den som saknar en sådan.

Har de båda en sensor kommer jag nog att se till att de jämkar temperaturen mellan dom och använder ett medel som regleringsvärde men den tiden, den sorg.

Jag har TVÅ RS232 portar, den andra ska användas för att ställa parameter osv. via ett terminalprogram. När allt är ställd rätt kopplar jag datorn bort från den och sedan kan det sköta sig bäst det kan. Värden sparas till och hämtas från EEPROM så den ska vara självgående när den kör.

R17 och transistorn där (har glömt att annotera den) är till för 1-Wire® kommunikation, det rör sig om en enkel DS1822/DS18B20/DS18S20 som ska hänga ett lämpligt ställe.

Själva schemat är ju ytterst simpelt men mjukvaran har givit mig desto mer huvudbry!

Dimningen sker ju vid att styra hur långt inne på varje halvvåg som man ska slå på TRIAC'erna. Denna har 3 st TRIAC och jag planerade att slå på en åt gången i fasföljd och man fick då se till att ha rätt fasföljd på ingångarna - fram till jag kom på att motorn är ren 3-fas, ingen nolla! Detta betyder att jag måste slå på alla 3 optokopplare vid varje tändning samt att den måste tända med en fashastighet av 300Hz.

Och nu börjar det bli intressant...

Vill jag ha en upplösning på 1% på fläkten behöver jag alltså en klockhastighet på 30kHz för att klara detta. Jag har 3 faser som ska slås på, därav 30kHz, hade det rört sig om 1 fas hade 10kHz räckt.

Nu börjar jag räkna lite... Jag undviker helst att starta PLL-klockan i µC'n, det drar "mycket" ström och löser man jobbet rätt behövs det inte. Men jag ska likaväl klura en del och jag tror att jag har lösningen: Använd Timer 2 (utan interrupt) som frekvensgenerator som sedan matar Timer 1. Timer 1 ger interrupt vid overflow och för varje Timer 1-interrupt blir den laddad med rätt värde så att tiden till nästa interrupt svara till nästa fas, alltså 3,33ms. Interrupten kommer alltså med 300Hz vilket är alldeles överkomligt när µC'n kör på 16MHz.

Så min lösning är att main-loop ser till att läsa temperatursensorn och använda den i en PI-reglering. Den reglering ger ut mellan 0% och 100% vilket då är hastigheten som fläktfan ska köra. Självklart kommer jag att ha en minste hastighet och allt under är automatisk 0% men vilken hastighet det rör sig om vet jag inte än, det ska testas.

För varje synkroniseringspuls kommer jag att ställa Timer 1 till ett visst värde som motsvarar den fördröjning den ska ha och när den utlöser en interrupt slås optokopplarna på och Timer 1 ställs med en fast tid som motsvarar samma position på nästa fas. För att slå av optokopplarnas drivning kommer jag att ta Timer 3 och "förskjuta" den lite så att den interrupt kan stänga av utgångarna. Tiden för förskjutningen bestämmer tändpulsernas längd.

Men jag använder ju den interna oscillator som förvisso är rimligt exakt men inte lika exakt som nätfrekvensen. Alltså måste jag göra en sorts mjukvara-PLL och min tanke är att läsa Timer1 värdet vid varje Sync-puls och hålla koll på antal "varv" den har tagit mellan sync-pulserna samt vilket värde Timer 1 har vid varje Sync-interrupt.

På det vis bör jag kunde justera värdet i Timer 2 till att motsvara nätfrekvensen * 2 * 3 * 100 oavsett hur exakt den interna oscillator är.

Att det hela kommer att "hunta" lite fram och tillbaka kan jag leva med, jag tror att det kan fungera ganska OK ändå. Blir det pannkaka får jag hitta orsaken (enkelt med RS232 port) och ändra vad som går fel.

Jag använder MPLAB-X med XC8, PICkit3, µC'n är en PIC18F25K22.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
gkar
Inlägg: 1454
Blev medlem: 31 oktober 2011, 15:28:29
Ort: Linköping

Re: Dimmer, 3-fas

Inlägg av gkar »

Stiligt!
Borde funka bra. Jag har gjort liknande konstruktioner.
Får jag föreslå en spole eller två in/ut på varje fas och kanske en RC snubber?
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Dimmer, 3-fas

Inlägg av Icecap »

gkar: det får bli på den skarpa versionen, just nu är det mest en proof-of-concept som gäller.
MiaM
Inlägg: 9990
Blev medlem: 6 maj 2009, 22:19:19

Re: Dimmer, 3-fas

Inlägg av MiaM »

Antar att trig1/2/3 ska vara anslutna till pic'en nånstans (ser inte på schemat) :)

Ett tips: säkring på trafons primär är en riktigt bra idé, och se till att välja en såpass klen säkring så att den skyddar trafon ifall du skulle råka ut för nollsläpp/felkoppling så den får 400V.

Bra att fläkten körs utan nolla. Om man kör fasvinkeldimmer på en trefasmatning och driver 230V-laster så kan man i värsta fall få rejäl överström i nollan = brandfara.

Men, om fläkten inte har nån nolla så är det väl troligt att det inte ens finns nolla framdraget. Om du ska få fram nollgenomgången via nättrafon så får du kanske ta två likadana trafos och seriekoppla primärerna och parallellkoppla sekundärerna, så tål de 400V-matning rakt av. (Du kommer givetvis att få ca 14% lägre utspänning eftersom trafona får 200V istället för 230V på sina primärlindningar).

Vad gäller triggningen så blir det väl lite extra krångligt av att motorn är induktiv och du därför inte garanterat har nollgenomgången på strömmen samtidigt som nollgenomgången för spänningen, fast det funkar kanske bra att bara köra rakt av.

I teorin så borde det räcka att vid start trigga flera triac'ar samtidigt men i drift bara trigga en i taget. I praktiken verkar det dumt att göra så och bättre att samtidigt skicka triggpuls dels till den som ska triggas och dels till den som redan borde vara triggad.
svanted
Inlägg: 5084
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: Dimmer, 3-fas

Inlägg av svanted »

funkar det verkligen att dimma en asynkronmotor?
är det inte frekvensomriktare som gäller?
MiaM
Inlägg: 9990
Blev medlem: 6 maj 2009, 22:19:19

Re: Dimmer, 3-fas

Inlägg av MiaM »

Enfasmotorer går åtminstone att dimma, att reglera borrmaskinen togs väl till och med upp som användningsexempel till Josty Kit's dimmerbyggsatser i början på det glada 80-talet?
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Dimmer, 3-fas

Inlägg av Icecap »

svanted: allting går! Om det sedan är bästa sättet är en annan diskussion...
Zhorts
Inlägg: 217
Blev medlem: 15 augusti 2011, 14:42:03

Re: Dimmer, 3-fas

Inlägg av Zhorts »

Det går utmärkt att "dimma" en trefas asynkronmaskin.

Vad man gör är ju att man sänker spänningen in till motorn. Motorns moment är beroende av spänningen, och motorn blir alltså svagare med lägre spänning, får mera "slip" och roterar långsammare.
Det är, som sagts, inte ett bra sätt att göra det på, då man får stora förluster i rotorn på grund av mycket slip. Jag antar att TS är medveten om detta :)

Se http://energihandbok.se/x/a/i/10033/Spa ... torer.html för lite mer information.


För konstruktionen i allmänhet så ser jag två viktiga detaljer och två bra-att-ha:
- Säkring på primärsidan i lågspänningstransformatorn är en billig investering i brand- och personskydd.
- PE borde dras in till kortet, även om inget ansluts till den.
- Någon form av snubber och/eller filter för att göra sig av med alla de övertoner som skapas på trefasen vore ju trevligt
- Eftersom det ska kopplas in en dator så är optiska isolatorer och en isolerad DC/DC billigare än att laga en trasig COM-port...

Nu när jag skriver så blir jag plötsligt sådär otrevligt osäker: Kommer lågspänningstransformatorn att påverka fasläget vid nollövergångsdetektorn? Vad jag har sett är det "normala" att man använder en optokopplare direktkopplad på en fas...
Användarvisningsbild
gunne
Inlägg: 2076
Blev medlem: 17 juni 2004, 15:00:31
Ort: sthlm
Kontakt:

Re: Dimmer, 3-fas

Inlägg av gunne »

"...man får stora förluster i rotorn på grund av mycket slip."

Bör ju inte vara nåt problem så det ju är en värmefläkt så förlusterna gör ju ingen skada. Såvida motorn inte överhettas förstås...
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Dimmer, 3-fas

Inlägg av Icecap »

Zhorts:
* Transformatorn är en kortslutningssäker typ, säkringar osv. finns på primärsidan.
* PE är det ingen anledning att blanda in i kortet, all spänningsmatning är helt isolerat från primärspänning via optokopplare och transformator.
* Snubber/filter är helt klart önskvärd - men min prototyp är mer proof-of-concept varför prioriteten för denna sorts lyx är mycket låg.
* PC-anslutningen är ju redan isolerat...
* Så länge transformatorn är belastat på normalt sätt är fasläget vid nollgenomgången stabilt och följande fasen. Skulle det ligga snett är det en enkel kompensationsfråga i mjukvaran.

Att en VFD är det rätta sätt att lösa detta på är ju avklarat sedan ett tag, det viktiga i detta experiment är huruvida fläktarna kan sänkas så pass i hastighet att de inte längre utgör ett arbetsmiljöproblem pga. otrevligt högt väsande. Kan jag påvisa att det har en signifikant betydelse (och tro mig, fungerar dimningen kommer det att ha signifikant betydelse för oljudet) kan vi gå vidare till hyresvärden och begära ändring.

Och vi tittar även på fläktvingar med lågtstörande profil osv.

Skulle överhettning av motorn bli ett problem får jag helt enkelt ändra styrningen så att den går i självsväng, därmed slås fläkten av eller på med regelbundna mellanrum varför förlusten blir minimal. Det är alltså en programmeringsfråga.
Senast redigerad av Icecap 9 januari 2014, 17:36:06, redigerad totalt 1 gång.
Zhorts
Inlägg: 217
Blev medlem: 15 augusti 2011, 14:42:03

Re: Dimmer, 3-fas

Inlägg av Zhorts »

Transformator: Fint!
PE: Det är bara en gammal tumregel jag har haft med mig: Finns det PE i inkommande sladd så ska den kopplas på samma kort, så den inte blir "flängande fritt" i luften eftersom det inte fanns någonstans att göra av den.
RS232: MAX232 gör inte anslutningen isolerad - bara nivåskiftad. Det finns ju ingen galvanisk åtskiljning. Transformatorn gör ju dock att hela ditt kort flyter, det tänkte jag inte på, så det behövs ändå inte i slutändan - ditt kort kommer ju lägga sig på datorns nivå om de har gjort snilledraget att koppla PE till DSUB-skärm i PCn.

Vad jag har förstått så blir styrningen väldigt icke-linjär - motorn kommer följa asynkronmaskinens momentkurva, och i början kommer det finnas ett stort dödområde då man enbart flyttar när i perioden strömförbrukningen sker, men får inte något större resultat i rotationshastighet. Att gå ner till 2/3 av normal rotationshastighet ska inte vara några problem, om motorn nu inte blir för varm.

Lycka till!
Bittämjaren
Inlägg: 219
Blev medlem: 2 februari 2013, 17:50:41
Ort: FRISTAD

Re: Dimmer, 3-fas

Inlägg av Bittämjaren »

Vi har ju här en "pump" som belastning och dess belastningskurva är väl expotientiell med varvtalet, så att varvtalsreglera på det här sättet som du vill göra Icecap måste vara gynnsamt jämfört med andra typer av laster.
Om du lessnar på att experimentera och bygga kan du alltid köpa ett mjukstartdon som gör precis samma sak.
Men så tråkigt ska du inte ha det :)
MiaM
Inlägg: 9990
Blev medlem: 6 maj 2009, 22:19:19

Re: Dimmer, 3-fas

Inlägg av MiaM »

OBS att optokopplaren ska uppfylla vissa isoleringskrav för att du ska få ha en datoranslutning på ett kort som i övrigt flyter.

Jag minns att det förut faktiskt fanns S-märkta optokopplare (MOC3040, kanske? men den hade inbyggt nollgenomgångsjox och var därmed inte användbar för dimmers).

(Kraven på optokopplaren är lägre om du antingen ansluter skyddsjord till signaljord eller om du - ifall det varit enfas - haft en rund ojordad stickpropp som bara går att ansluta i rum med ojordade uttag).
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Dimmer, 3-fas

Inlägg av Icecap »

Då så, pillade lite med mjukvaran idag med och nu fungerar själva dimningen riktigt bra faktisk.

Jag har ett antal konfigureringsvärden, jag kan ställa dom via den seriella porten och de sparas såklart i EEPROM i kretsen.

Man kan ställa in:
* 1 eller 3-fas dimning.
* Minsta % som tilläts, allt under = 0.
* Högsta tillåtna %, allt över = allt på hela tiden.
* P & I faktorer.
* PI-regleringstid.
* Måltemperatur i 1/10-del °C.

Kvarstår är 1-Wire® avläsningen av temperaturen samt själva regleringsloopen.

EDIT: detta betyder alltså att man kan använda detta princip för att kunde styra en dimmer via en seriell port.

Av den anledning vill jag beskriva timingen av dimningen som den blev:
Timer 1 är "Slå på"-timern. Med Interrupt.
Timer 3 är "Mäta tiden"-timern. Ingen interrupt.
Timer 5 är "Slå av"-timern. Med Interrupt. Behövs bara vid 3-fas.

1-fas dimning:
Då jag använder den interna oscillator i µC'n har den ju en viss "skew" i förhållandet till 230Vac nätets frekvens - och felet varierar lite med µC'ns temperatur. Man kan trimma till man blir galen, använda kristall - eller helt enkelt mäta tiden och låta det värde utgöra referensen. Jag har vald det sista.

När det kommer en "Interrupt-On-Change" från port B har den hög prioritet. Det första jag gör är att kolla om portpinnen är '1' vilket enl. schemat betyder att vågen är på väg mot en nollgenomgång.
Är det fallet läsas Timer 3 och Timer 3 nollställs. Det lästa värdet fladdrar lite varför jag utför en filtrering:
Intermediate är en 32-bit unsigned variabel.
Measure_Time och Measured är 16-bit unsigned variabler.

Intermediate -= Intermediate >> 8;
Intermediate += Measured_Time;
Measured = Intermediate >> 8;
(jepp, filtret hittat i forumet)

Detta ger dock en insvängningstid på runt 10 sek vid uppstart, alltså har jag gjort en snabb liten grej som räknar 1000 Sync-pulser innan den tillåter att dimningen kommer igång.

Sedan har jag en variabel som innehåller det antal procent som dimningen ska ge, då räknar jag den procentsats uteslutande i tid. Självklart kan man räkna den i effekt men det är inte aktuellt för mig pga. funktionen det hela ska ha.

I mainloop finns en uträkning av hur lång tid varje % utgör, det ger ett avrundningsfel men det är av minimal betydelse. Jag tar helt enkelt Result / 100 som det värde. Detta betyder att avrundningsfelet jag kan få kan uppgå till 100 men då tidmätningen hamnar runt 40000 betyder det en felmarginal på max. 0,25% och det kan jag leva med.

Jag har en block variabler som kallas "Config". Där har jag alla inställningar och kan ändra dom med seriella kommandon. Detta betyder att jag kan ändra dessa värden medan det hela kör, jag kan alltså t.ex. byta mellan 1-fas och 3-fas dimning vid att ge ett kommando. Självklart sparas Config i EEPROM vid ändringar och återkallas vid boot.

Det finns:
BYTE Phases; // Antal faser som dimmas, antingen 1 eller 3
BYTE Target; // Måltemperatur i 1/10 °C
WORD P-Factor;
WORD I_Factor;
WORD I_Time; // Sekunder mellan varje integration i PI-regulatorn
BYTE Percent_Low; // Alla procent under detta värde är helt av.
BYTE Percent_High; // Alla procent över detta är fullt på hela tiden, normalt 95%

Först räknas ut hur mycket en noll-genomgång är:
One_Cycle = Measured / Config.Phases;

Sedan räknas ut hur mycket en procent är i "counts":
One_Percent = One_Cycle / 100;

Nåväl, det ska räknas ut när TRIAC'en ska slås på, det sker i main-loop.
Delay_Start = -(One_Percent * Percent);

Den uppmärksamma läsaren ser att det finns ett minus framför uträkningen av tider som Timer 1, 3, eller 5 ska laddas med, detta beror på att Timer 1, 3 & 5 räknar upp, alltså måste jag ta det värde som ger rätt sätt och det klaras enkelt vid att placera minus'et där.

Avstängning av opto-triac-utgången sker självklart vid 1-fas dimning när det kommer en "Interrupt-On-Change" = Sync-puls. Vid 3-fas är det en aning mer knepigt men det klarar Timer 5 som ställs till -1% varje Sync-puls och som återladdas med One_Cycle för varje interrupt den ger.

Därmed är resten en fråga om att ändra Percent för att reglera dimningen.

Om Percent hamnar under Config.Percent_Min eller över Config.Percent_Max stoppas Timer 1 & 5 och optokopplarutgångarna sätts till '0' hhv. '1' kontinuerligt.

Sluteffekten är att om motorerna som ska dimmas blir överhettat kan jag ställa Config.Percent_Min till det lägsta värde motorn kan köra på utan att överhettas, vill regleringen gå under stängs motorn av helt.

Och då timingen kommer att ha lite fladder och avrundningsfel kommer alla procenter över ett visst nivå att vara helt på.
MiaM
Inlägg: 9990
Blev medlem: 6 maj 2009, 22:19:19

Re: Dimmer, 3-fas

Inlägg av MiaM »

Trevligt att det går framåt!

Det kanske kunde vara läge att lägga till nån möjlighet att ha varvtalsensor på fläktarna, så att du kan styra ned hastigheten rejält utan att riskera att fläkten stannar?
Skriv svar