Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
December 08, 2016, 05:06:26 17:06


Login with username, password and session length


Pages: [1]
Print
Author Topic: SineWave Inverter modulated Frequency Question?  (Read 4567 times)
0 Members and 1 Guest are viewing this topic.
thetrueman
Junior Member
**
Offline Offline

Posts: 69

Thank You
-Given: 24
-Receive: 2


« on: August 30, 2008, 08:07:34 08: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 Offline

Posts: 25

Thank You
-Given: 5
-Receive: 6


« Reply #1 on: September 01, 2008, 08:38:13 08: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, 08:47:30 08:47 by Kwaigo » Logged
thetrueman
Junior Member
**
Offline Offline

Posts: 69

Thank You
-Given: 24
-Receive: 2


« Reply #2 on: September 02, 2008, 09:14:51 09: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 Offline

Posts: 25

Thank You
-Given: 5
-Receive: 6


« Reply #3 on: September 02, 2008, 08:54:26 20:54 »

1) This inverter works similar to class D audio amplifier.
http://www.irf.com/technical-info/appnotes/an-1071.pdf
2) 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:
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  Wink
« Last Edit: September 02, 2008, 09:02:11 21:02 by Kwaigo » Logged
suzuki
Newbie
*
Offline Offline

Posts: 15

Thank You
-Given: 6
-Receive: 2


« Reply #4 on: October 03, 2008, 05:14:04 17: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 Offline

Posts: 25

Thank You
-Given: 5
-Receive: 6


« Reply #5 on: October 08, 2008, 12:48:53 00: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 Offline

Posts: 15

Thank You
-Given: 6
-Receive: 2


« Reply #6 on: October 09, 2008, 03:23:00 15: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 Offline

Posts: 123

Thank You
-Given: 55
-Receive: 82


« Reply #7 on: October 10, 2008, 08:20:09 20: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 Smiley
 
« Last Edit: October 10, 2008, 08:21:32 20:21 by Walkura » Logged
Kwaigo
Newbie
*
Offline Offline

Posts: 25

Thank You
-Given: 5
-Receive: 6


« Reply #8 on: October 11, 2008, 12:25:39 00: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 Wink

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 11, 2008, 12:33:40 00:33 by Kwaigo » Logged
andig
Junior Member
**
Offline Offline

Posts: 39

Thank You
-Given: 39
-Receive: 6


« Reply #9 on: October 11, 2008, 09:02:13 09: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 Offline

Posts: 15

Thank You
-Given: 6
-Receive: 2


« Reply #10 on: October 11, 2008, 09:23:23 09: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 Offline

Posts: 25

Thank You
-Given: 5
-Receive: 6


« Reply #11 on: October 11, 2008, 02:10:58 14: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, 02:14:55 14:14 by Kwaigo » Logged
andig
Junior Member
**
Offline Offline

Posts: 39

Thank You
-Given: 39
-Receive: 6


« Reply #12 on: October 11, 2008, 02:18:40 14:18 »

Hi,

This thread may give you some pointers http://www.picbasic.co.uk/forum/showthread.php?t=1846

Walkura already knows it.  Smiley
Logged
charnyutk
Newbie
*
 Muted
Offline Offline

Posts: 32

Thank You
-Given: 7
-Receive: 5


« Reply #13 on: November 21, 2008, 10:34:46 10: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 Offline

Posts: 69

Thank You
-Given: 24
-Receive: 2


« Reply #14 on: November 23, 2008, 07:56:45 07: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 Offline

Posts: 336

Thank You
-Given: 103
-Receive: 180



« Reply #15 on: December 13, 2008, 08:21:05 20: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 Offline

Posts: 30

Thank You
-Given: 0
-Receive: 11


« Reply #16 on: May 03, 2013, 02:23:36 14: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 Offline

Posts: 39

Thank You
-Given: 39
-Receive: 6


« Reply #17 on: May 03, 2013, 05:04:10 17: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 Offline

Posts: 132

Thank You
-Given: 24
-Receive: 54


« Reply #18 on: May 05, 2013, 06:36:28 06: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 Offline

Posts: 39

Thank You
-Given: 39
-Receive: 6


« Reply #19 on: May 05, 2013, 07:13:36 07: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 Cheesy) 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 Offline

Posts: 47

Thank You
-Given: 11
-Receive: 6


« Reply #20 on: May 07, 2013, 05:06:54 17:06 »

Quote
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 Offline

Posts: 39

Thank You
-Given: 39
-Receive: 6


« Reply #21 on: May 07, 2013, 05:19:33 17: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 Offline

Posts: 47

Thank You
-Given: 11
-Receive: 6


« Reply #22 on: May 07, 2013, 06:13:53 18: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 Offline

Posts: 39

Thank You
-Given: 39
-Receive: 6


« Reply #23 on: May 08, 2013, 07:08:34 07: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
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC