thetrueman
Junior Member
Offline
Posts: 67
Thank You
-Given: 24
-Receive: 2
|
|
« on: August 30, 2008, 07:07:34 07:07 » |
|
I want to know that in an IRON CORE TRANSOFRMER Inverter design what frequency of triangular wave should to be modulated with 50Hz Sine Wave reference?
|
|
|
Logged
|
|
|
|
Kwaigo
Newbie
Offline
Posts: 25
Thank You
-Given: 5
-Receive: 6
|
|
« Reply #1 on: September 01, 2008, 07:38:13 07:38 » |
|
What did you mean? Build inverter with sine wave output on the iron core transformer? I have built one on ATtiny26 MC. Bridge driver+additional ferrite choke (optional). PWM sine synthesis.31.25Khz PWM with ferrite coil and 500-1000 Hz PWM without it.
However, iron core transformer have some disadvantages. There exist more advanced technology with synchronous rectification. It can make any waveform, and use HF ferrite transformer+choke.
|
|
« Last Edit: September 01, 2008, 07:47:30 07:47 by Kwaigo »
|
Logged
|
|
|
|
thetrueman
Junior Member
Offline
Posts: 67
Thank You
-Given: 24
-Receive: 2
|
|
« Reply #2 on: September 02, 2008, 08:14:51 08:14 » |
|
Yes I want to built 220V 300W Inverter with iron core transformer by the PWM technique. Any suggestion on some points i.e. modulation frquency, efficiency, possibility etc.
|
|
|
Logged
|
|
|
|
Kwaigo
Newbie
Offline
Posts: 25
Thank You
-Given: 5
-Receive: 6
|
|
« Reply #3 on: September 02, 2008, 07:54:26 19:54 » |
|
1) This inverter works similar to class D audio amplifier. http://www.irf.com/technical-info/appnotes/an-1071.pdf2) Chose PWM frequency. There three aspects: a) PWM frequency must be at least 10-20 times higher than 50Hz. So 500-1000Hz minimum. b) Higher frequency - higher switching loses. c) At frequency less than 25kHz transformer can produce some noise. 3) Efficiency 85-95%. 4) Synthesis method: analog with triangle voltage - is obsolete. Use a microcontroller with PWM. Here my old assembler code: .include "tn26def.inc"
.def ADLOW = r11 .def ADHIGH = r12 .def MSWITCH = r24 .def drem16uL=r14 .def drem16uH=r15 .def dv16uL =r22 .def dv16uH =r23
.def RPWM = r16 .def TEMP = r17 .def TEMP2 = r18 .def NEGF = r0 .def REV = r19
.def dd16uL =r20 .def dd16uH =r21 .equ TABSTARTl = 0 .equ TABSTARTh = 6 .equ TABENDl = 49 .equ MAXVOLTAGE = 500 .equ MINVOLTAGE = 150 .equ ADCSR = $06 .equ TS_MIN_VOLTAGE = 90 .equ CS_MIN_VOLTAGE = 10 .cseg
.org 0 rjmp reset
.org 20
reset: ldi TEMP,254 out OCR1C,TEMP mov ADHIGH,TEMP ldi TEMP,0b00001100 out DDRB,TEMP ldi TEMP,0b00001100 out WDTCR,TEMP ldi TEMP,127 out OCR1B,TEMP ldi TEMP,2 out TCCR0,TEMP ;0.5 us clock ldi TEMP,0b00010001 out TCCR1A,TEMP ldi TEMP,1 out TCCR1B,TEMP
clr TEMP mov ADLOW,TEMP
ldi TEMP,0b10000111 ;start conversion out ADCSR,TEMP
ldi TEMP,1 ;select terminal out ADMUX,TEMP
ldi Zh,6 ;table high ldi Zl,0 ;table low sbi ADCSR,ADSC
main: in TEMP,TIFR sbrs TEMP,TOV0 rjmp main wdr ldi TEMP,56 out TCNT0,TEMP ;step ldi TEMP,2 out TIFR,TEMP sbis ADCSR,ADIF rjmp AD_NOT_COMPL
MEASURE_VOLTAGE:
in ADLOW,ADCL in ADHIGH,ADCH
sbi ADCSR,ADSC
AD_NOT_COMPL: lpm dd16uH,Z
mov dv16uL,ADLOW mov dv16uH,ADHIGH
ldi TEMP,high(MAXVOLTAGE) cpi dv16uL,low(MAXVOLTAGE) cpc dv16uH,TEMP ;brcc fault ldi TEMP,high(MINVOLTAGE) cpi dv16uL,low(MINVOLTAGE) cpc dv16uH,TEMP ;brcs fault
div16u: clr drem16uL ;clear remainder Low byte sub drem16uH,drem16uH;clear remainder High byte and carry ldi TEMP,17 ;init loop counter d16u_1: rol dd16uL ;shift left dividend rol dd16uH dec TEMP ;decrement counter brne d16u_2 ;if done rjmp divcompl ; return d16u_2: rol drem16uL ;shift dividend into remainder rol drem16uH sub drem16uL,dv16uL ;remainder = remainder - divisor sbc drem16uH,dv16uH ; brcc d16u_3 ;if result negative add drem16uL,dv16uL ; restore remainder adc drem16uH,dv16uH clc ; clear carry to be shifted into result rjmp d16u_1 ;else d16u_3: sec ; set carry to be shifted into result rjmp d16u_1 divcompl: clr TEMP cpi dd16ul,127 cpc dd16uh,TEMP brcs pass1 ldi dd16ul,127 pass1: ldi RPWM,127 sbrs NEGF,0 add RPWM,dd16uL sbrc NEGF,0 sub RPWM,dd16uL
sbrs REV,0 inc Zl sbrc REV,0 dec Zl
cpi Zl,49 brcs compl sbr REV,1 compl: cpi Zl,1 brcc compl2 cbr REV,1 com NEGF compl2:
out OCR1B,RPWM ;write to pwm rjmp main
fault: clr TEMP out TCCR1A,TEMP out PORTB,TEMP clr TEMP floop1: clr TEMP2 floop2: clr RPWM floop3: wdr inc RPWM brne floop3 inc TEMP2 brne floop2 inc TEMP brne floop1
rjmp reset
.org (0x300) sin0: .db 0,4 sin2: .db 8,12 sin4: .db 16,20 sin6: .db 24,28 sin8: .db 32,36 sin10: .db 40,44 sin12: .db 48,51 sin14: .db 55,59 sin16: .db 62,66 sin18: .db 69,76 sin21: .db 79,82 sin23: .db 85,88 sin25: .db 91,94 sin27: .db 97,99 sin29: .db 102,104 sin31: .db 106,109 sin33: .db 111,113 sin35: .db 114,116 sin37: .db 118,119 sin39: .db 121,122 sin41: .db 123,124 sin43: .db 125,125 sin45: .db 126,126 sin47: .db 127,127 sin49: .db 127,127 With C language it looks more friendly
|
|
« Last Edit: September 02, 2008, 08:02:11 20:02 by Kwaigo »
|
Logged
|
|
|
|
suzuki
Newbie
Offline
Posts: 15
Thank You
-Given: 6
-Receive: 2
|
|
« Reply #4 on: October 03, 2008, 04:14:04 16:14 » |
|
What did you mean? Build inverter with sine wave output on the iron core transformer? I have built one on ATtiny26 MC. Bridge driver+additional ferrite choke (optional). PWM sine synthesis.31.25Khz PWM with ferrite coil and 500-1000 Hz PWM without it.
However, iron core transformer have some disadvantages. There exist more advanced technology with synchronous rectification. It can make any waveform, and use HF ferrite transformer+choke.
Please share this design with code ( c or assembly ) and schematic for 50Hz sine wave synthesed on.31.25Khz PWM with synchronous rectification.
Thanks in advance.
|
|
|
Logged
|
|
|
|
Kwaigo
Newbie
Offline
Posts: 25
Thank You
-Given: 5
-Receive: 6
|
|
« Reply #5 on: October 07, 2008, 11:48:53 23:48 » |
|
2 suzuki: sorry, but I`m didn`t built this variant. It`s too complicated for a hobby. I will share this project when it be done. Probably, you can find such inverters in industrial DC/AC systems.
In fact there no PWM. HF Transformer voltage is square wave (high frequency). Low frequency sine syntezed by changing phase of syncronous rectifier.(in fact is not "syncronous", just controlled). When phase shift between primary voltage and rectifier control signal is 0 deg we take full "+" when 90 deg we take approx "0" and when 180 then full"-". Duty cycle the same: 1/2. Just changing phase from 0 to 180, and any waveform at output!
|
|
|
Logged
|
|
|
|
suzuki
Newbie
Offline
Posts: 15
Thank You
-Given: 6
-Receive: 2
|
|
« Reply #6 on: October 09, 2008, 02:23:00 14:23 » |
|
Please let us have a suggested schematic for the code you have posted above, also you are requested to post the c code & schematic which you have already built. I hope it will be lot of help to all of us. I believe the variant I had mentioned is complicated, I was thinking in this direction quite some time earlier,but couldn't find a starting point. No sooner I saw your post I got hope that it could be done. I believe your great contribution can lead to a successful development of a very nice & matured device.
|
|
|
Logged
|
|
|
|
Walkura
Active Member
Offline
Posts: 123
Thank You
-Given: 56
-Receive: 82
|
|
« Reply #7 on: October 10, 2008, 07:20:09 19:20 » |
|
It can be i misunderstand your idea ,but when you say triangular wave are you thinking about pwm generation like you would do for a class D amplifier . (triangular oscilator ,sine generator > comperator > pwm >halfbridge c.q. full bridge > transformer > filter) ? Why a program when you would do it this way ,afterall a few simple opamps etc. would do . In case of a processor ,i'm curious what you have in mind with the triangular wave
|
|
« Last Edit: October 10, 2008, 07:21:32 19:21 by Walkura »
|
Logged
|
|
|
|
Kwaigo
Newbie
Offline
Posts: 25
Thank You
-Given: 5
-Receive: 6
|
|
« Reply #8 on: October 10, 2008, 11:25:39 23:25 » |
|
2 Walkura: Analog sine wave generator,ALC system, precision parts or adjustment controls with couple of triangular oscillator, comparator, protection systems, etc it will be lot of chips and no reason to build obsolete solution. MC is good alternative. Of course, no triangular waves there 2 Suzuki: About variant, that was built. Overcurrent and overheat protections is not comlete, and you can complete code with it (if you need it). I have no schematic and no device now, but I can sketch one, if you really need it. There was two IR2184 mosfet drivers on OC1A and OC1B pins, resistive divider from bridge Vcc on ADC1. Other futures was not realized. There no loopback system, MC just measure voltage of bridge Vcc, and calculate PWM swing. MC run at 8MHz (maybe not, it was few years ago;)) Advanced variant require simplified schematic to understand it`s topology and principle of operation. I will draw it later.
|
|
« Last Edit: October 10, 2008, 11:33:40 23:33 by Kwaigo »
|
Logged
|
|
|
|
andig
Junior Member
Offline
Posts: 38
Thank You
-Given: 46
-Receive: 6
|
|
« Reply #9 on: October 11, 2008, 08:02:13 08:02 » |
|
Kwaigo, since you mentioned OC1A/OC1B I suppose you have used an Atmega. Sine wave inverters have become common these days and the basic idea is a lookup table recreating the sine wave form. Feedback is necessary for lower distortion and voltage regulation.
|
|
|
Logged
|
|
|
|
suzuki
Newbie
Offline
Posts: 15
Thank You
-Given: 6
-Receive: 2
|
|
« Reply #10 on: October 11, 2008, 08:23:23 08:23 » |
|
To kwaigo: It will be very nice of you to help with code and schematic,please take little pain to recollect and redraw.
|
|
|
Logged
|
|
|
|
Kwaigo
Newbie
Offline
Posts: 25
Thank You
-Given: 5
-Receive: 6
|
|
« Reply #11 on: October 11, 2008, 01:10:58 13:10 » |
|
2 andig: ATtiny26 have PWM too. Of course, solution without feedback have a lack of load regulation, i suggested with it. Вut that project was just a hobby experiment.
2 suzuki: I think andig`s remark about feedback is right, I have found that output voltage significantly change with load variation. Transformers have some uncoupled magnetic flux, and it produce parasitic serial inductivity. It`s impedance much higher than open mosfet resistance.
|
|
« Last Edit: October 11, 2008, 01:14:55 13:14 by Kwaigo »
|
Logged
|
|
|
|
|
charnyutk
Newbie
Offline
Posts: 32
Thank You
-Given: 7
-Receive: 5
|
|
« Reply #13 on: November 21, 2008, 09:34:46 09:34 » |
|
Hi, all. I used to design 12Vdc => 220 Vac at 250W full-bridge inverter with low-frequency transformer. The modulating frequency of my inverter is 20kHz using st7light19BF micro-controller. it working fine.you may try it. Remember the eddy current loss will effect by frequency that you increase.
|
|
|
Logged
|
|
|
|
thetrueman
Junior Member
Offline
Posts: 67
Thank You
-Given: 24
-Receive: 2
|
|
« Reply #14 on: November 23, 2008, 06:56:45 06:56 » |
|
Hi charnyutk
How does Low frequency (Iron Core Transformer) can switch at 20KHz? Also how do you keep voltage regulated? i.e. by incresing Pulse Width??? Please guide me. I want to do an experiment. Thanks
|
|
|
Logged
|
|
|
|
tAhm1D
Senior Member
Offline
Posts: 326
Thank You
-Given: 103
-Receive: 180
|
|
« Reply #15 on: December 13, 2008, 07:21:05 19:21 » |
|
Hi charnyutk
How does Low frequency (Iron Core Transformer) can switch at 20KHz? Also how do you keep voltage regulated? i.e. by incresing Pulse Width??? Please guide me. I want to do an experiment. Thanks
Hi, You can switch Low Frequency Iron Core Transformer at 20 KHz if you know the modality. You can switch with 20 KHz carrier frequency but before the Transformer, you have to De-modulate that carrier frequency with Low Pass Filter so that the Iron Core Transformer face with only the Reference 50 Hz sine wave. Thanks.
|
|
|
Logged
|
|
|
|
nordiceng
Newbie
Offline
Posts: 29
Thank You
-Given: 1
-Receive: 11
|
|
« Reply #16 on: May 03, 2013, 01:23:36 13:23 » |
|
The switching frequency depend on the power semiconductor device used in the power circuit, however , as the switching frequency increased the distortions factor in the output waveform decreased
|
|
|
Logged
|
|
|
|
andig
Junior Member
Offline
Posts: 38
Thank You
-Given: 46
-Receive: 6
|
|
« Reply #17 on: May 03, 2013, 04:04:10 16:04 » |
|
Hi,
Increase in switching frequency frequency increases switching losses and does not contribute to reduction in core area while working with Iron Stamping Transformer. Since in Inverter the switcher is on the low voltage side the natural choice is MOSFETs which can go upto hundreds of kilohertz provided they have proper gate drivers.
In India earlier designs here in the commercial segment has seen software PWM doing at about 6.4Khz but with audible chirping noise, so newer designs use frequency in the range of 19-22KHz which is soundless. Since with a Iron core transformer you would have split winding (Primary and Secondary are two lobes on the column rather than one on top of another), which increases the leakage inductance, so output inductor filter in most cases are not required. Thus inductor dimension vs Switching Frequency is not considered. The High Frequency Sine Switched PWM gets integrated in the transformer itself and outputs the low frequency envelope of 50/60Hz as being looked up from a pre-computed sine table. For voltage regulation this sine table can be multiplied by a modulator which effectively increases or decreases the output voltage. Correction can be done by average sampling of the output (feedback) and doing a PI control or by dynamically correcting the Sine Wave (In most cases requires a faster micro with high speed ADC)
Thus I believe switching at greater than 22KHz would contribute to more switching losses with no extra design gain for Iron Core Transformer.
With any micro you can setup the PWM timebase to different values for different frequencies and experiment, keeping the rest of the code same.
Regards
|
|
|
Logged
|
|
|
|
zab
Active Member
Offline
Posts: 137
Thank You
-Given: 25
-Receive: 58
|
|
« Reply #18 on: May 05, 2013, 05:36:28 05:36 » |
|
Correction can be done by average sampling of the output (feedback) and doing a PI control or by dynamically correcting the Sine Wave (In most cases requires a faster micro with high speed ADC)
Normally I came across 20khz frequency for inverter based on iron core transformers.The transformer works here as Filter choke . Secondly same transformer is used for charger . Can some one explain how the feed back circuitry is used in PI control for correction of table values.The first obstacle sensing of Ac high voltage. the second problem lack of time for multiplication and division for time sliced routines.
|
|
|
Logged
|
|
|
|
andig
Junior Member
Offline
Posts: 38
Thank You
-Given: 46
-Receive: 6
|
|
« Reply #19 on: May 05, 2013, 06:13:36 06:13 » |
|
The first obstacle sensing of Ac high voltage.
A number of ways of AC Sensing could be: 1. Having a Feedback Winding on Top of the Secondary (AC Side Fed to Load) 2. Use of a P.T. (StepDown Transformer) 3. Differential Amp Fed (The Diff Amp sees a Large common mode voltage) 4. Directly Sensing Using AC->Attenuator-> Half/VDD offset -> ADC, Usually having the Output Neutral Common with System Ground or Battery Negative, Not allowed in certain regulation due to lack of safety if Line-Neutral Reversed. he second problem lack of time for multiplication and division for time sliced routines
Depends on the way your Firmware is designed and your controller. I am PIC microcontroller guy (Means I don't know anything else ) where the mid-range parts (PIC16F) lack hardware multiplier. With that part it is easier to do a Cycle by Cycle correction based on averaged DC feedback, means you can re-compute the entire lookup table at zero cross(takes a bit of time still can be managed within the Zero band). Lets assume for a 50Hz system you have 64 lookup table values that means the values need to be updated every 20mS/64 = 312.5uS. With a PIC16F running @ 20MHz having instruction cycle time of 0.2uS, this is quite a lot of time between interrupts and Bit rolled Multiply can be done with the index value and modulator. I am not saying it can be done, I am saying it has been done. I wish I could share the code, but bound under NDA by customers. Regards Sougata Das Andig Technologies Kolkata India
|
|
|
Logged
|
|
|
|
alien
Junior Member
Offline
Posts: 55
Thank You
-Given: 30
-Receive: 6
|
|
« Reply #20 on: May 07, 2013, 04:06:54 16:06 » |
|
Lets assume for a 50Hz system you have 64 lookup table values that means the values need to be updated every 20mS/64 = 312.5uS. Dear Sougata, Is`nt that should be 10mS/64 = 156.25 uS...for a SPWM of 6.4 Khz.. ? and as per my experience...even at interrupt rate of 156.25 uS Microchip mid-range MCUs can manage a multiply and a divide...so no need to calculate whole of the table at zero cross...but every time a new value can be calculated "on the fly"....
|
|
|
Logged
|
|
|
|
andig
Junior Member
Offline
Posts: 38
Thank You
-Given: 46
-Receive: 6
|
|
« Reply #21 on: May 07, 2013, 04:19:33 16:19 » |
|
Hi,
As for the number of lookup points it depends. Since I have used Hardware PWM unit with external I/O based steering and a 32+32 Values for each cycle was done, and I absolutely agree with you that even within a interrupt rate of 156.25 uS it is absolutely possible to run a time optimized unsigned bit shift multiply. Since I cannot actively share my code and tend to encourage though, I mentioned the possibility and have seen an implementation of the same as well, although it is not at all recommended since you would end up using more RAM for the array, keeping in mind the indirect addressing capabilities of the PIC. Regards
|
|
|
Logged
|
|
|
|
alien
Junior Member
Offline
Posts: 55
Thank You
-Given: 30
-Receive: 6
|
|
« Reply #22 on: May 07, 2013, 05:13:53 17:13 » |
|
Dear, As far as RAM usage is concerned ....I think no need to put the array in RAM area..simply fetching constants from table/Array as per index and then calculating the next PWM value is sufficient....but for all these things one should me good at the c compiler he is using..as to make things work that way will require extensive debugging of design so that there is no clash between code segments...though my code was written in C but at some places it uses inline assembly (specially inside interrupt routine)..charging frequency was 15.625 Khz (can be raised to 20 Khz also..but that will increase losses ) and SPWM frequency was 6.4 Khz with 64 value sine table.
Some local designs here designed around DSPs uses 20+ Khz SPWM frequency...but i think that only increases losses...this much high frequency should be used in situations where a high voltage DC is converted to AC with H-Bridge of mosfets...as what we usually see in double conversion type inverters etc.For iron core transformer based sine wave inverters 6.4 Khz is reasonable....with minimum losses.
|
|
|
Logged
|
|
|
|
andig
Junior Member
Offline
Posts: 38
Thank You
-Given: 46
-Receive: 6
|
|
« Reply #23 on: May 08, 2013, 06:08:34 06:08 » |
|
Dear, As far as RAM usage is concerned ....I think no need to put the array in RAM area..simply fetching constants from table/Array as per index and then calculating the next PWM value is sufficient....but for all these things one should me good at the c compiler he is using..as to make things work that way will require extensive debugging of design so that there is no clash between code segments...though my code was written in C but at some places it uses inline assembly (specially inside interrupt routine)..charging frequency was 15.625 Khz (can be raised to 20 Khz also..but that will increase losses ) and SPWM frequency was 6.4 Khz with 64 value sine table.
Some local designs here designed around DSPs uses 20+ Khz SPWM frequency...but i think that only increases losses...this much high frequency should be used in situations where a high voltage DC is converted to AC with H-Bridge of mosfets...as what we usually see in double conversion type inverters etc.For iron core transformer based sine wave inverters 6.4 Khz is reasonable....with minimum losses.
Hi, Since I started my programming with PicBasic Pro and still stick to it for 8 Bit projects, I used pure assembly interrupt routines and some inline assembly optimized for PBP bank switching scheme. For a PIC16F73 if you could keep the PR2=255, then the population of the 2 LSBs of the 10 Bit PWM in the CCPxCON register can be avoided. So 19.53KHz is a natural choice. This gives better handling of the 8 Bit PWM value stuffed in the CCPRxL with an automatic limit in modulation to 1020 preventing DC. I found it pretty helpful in the debug stage. Get an 8Bit Lookup using "RETLW", multiply it with modulator, stuff the high byte of the result to PWM(CCPRxL) and you are done. I used the IR2110 shutdown function an a 300% overload sensed by a dedicated comparator which keeps a RC charged happy when not triggered. So huge overloads/short circuits are taken care outside the MCU.(IR2110 provides a latched pulse by pulse turn-off for the shutdown pin) and the MCU can takeover for steady overloads measuring the R/C and Shunt current. The Hardware PWM keeps the MCU free for many housekeeping tasks. For example synchronizing to the utility AC before switchover to mains. Regards Sougata
|
|
|
Logged
|
|
|
|
|