• No se han encontrado resultados

ANÁLISIS INTERNO Y EXTERNO DE OTRAS UNIDADES DE NEGOCIO

5.1 Conclusion

This thesis has presented the design of the Buck Converter and its implementation in the power converter Unit. The buck converter was designed to operate with the input range of 32-64V DC. A load range of 3-14 was selected that would result in a power output range of 10-50W. The control of the buck converter is carried out by the by the flexible controller integrated platform developed in the SPEED laboratory. A user end interface to the FCIV controller using visual basic programming was designed. A complete model comprising of a rectifier, buck converter and inverter was created using the Portunus simulation software.

Due to equipment limitation and the prototype nature of the buck converter the efficiency 67% was obtained.

Fig. 5.1 Efficiency Verses Speed of Generator

Fig 5.1 illustrates the efficiencies obtained at different speeds. This is due to the losses due to Resistance of the switch, Diode forward voltage drop, Inductor winding resistance, Capacitor equivalent resistance.

56 When the Buck Converter is operated in closed loop, the losses are not considered as it does not affect the buck converter output as the control loop compensates for the voltage drop by increasing the duty cycle.

57

REFERENCE

[1] Donald Schelle and Jorge Castorena. Maxim Integrated Products. Retrieved from Maxim Integrated Products website:

http://powerelectronics.com/power_systems/dc_dc_converters/power_buckconverter_

design_demystif

[2] AWG to Metric Conversion table . Retrieved from Engineering ToolBox website:

http://www.engineeringtoolbox.com/awg-wire-gauge-d_731.html

[3] The practical design of a buck converter by Johor Bahru. Retrieved from IEEE Website: http://ewh.ieee.org/r10/malaysia/ie_ia_pel/pecon2008/akhtar_tutorial.pdf [4] Bennett, J. C. (2006). Practical computer analysis of switch mode power supplies.

CRC Press.

[5] Buck Conver Basics. Retrieved from eCircuit Center website:

www.ecircuitcenter.com/Circuits/smps_buck/smps_buck.html [6] Unitode Magnetics Design Handbook .

[7] 600 Watt Pure Sine Wave Inverter. Retrieved from http://www.donrowe.com/inverters/puresine 600.html

[8] Portunus Information. Retrieved from Cedrat Groupe Website:

http://www.cedrat.com/en/software-software-solutions/portunus.html

[9] Introduction to power supplies . Retrieved from National Semiconductor website:

http://www.national.com/an/AN/AN-556.pdf

[10] Lee, Yim. (1993). Computer-aided analysis and design of switch mode power supplies. CRC Press.

[11] Mohan,Undeland and Robbins. (2007). Power electronics: converters, applications and design. Wiley India.

[12] Raymond A. Mack, J. (2005). Demystifying Switching Power Supplies . Newnes.

[13] Operation Of A 3-Phase Fully-Controlled Rectifier. Retrieved from university of Sydney website: http://services.eng.uts.edu.au/~venkat/pe_html/ch05s1/ch05s1p1.htm [14] Step down: SMPS Buck Converter Ideal Circuit. Retrieved from university of Sydney website: http://services.eng.uts.edu.au/~venkat/pe_html/ch07s1/ch07s1p1.htm#intro

58 [15] Robert Warren Erickson, D. M. (2001). Fundamentals of Power Electronics.

Springer.

[16] ETD39 Datasheet. Retrieved from Fexxocube website:

http://www.ferroxcube.com/prod/assets/etd39.pdf [17] ETD44 Datasheet. Retrieved from Fexxocube website:

http://www.ferroxcube.com/prod/assets/etd44.pdf [18] ETD34 Datasheet. Retrieved from Fexxocube website:

http://www.ferroxcube.com/prod/assets/etd34.pdf [19] ETD29 Datasheet. Retrieved from Fexxocube website:

http://www.ferroxcube.com/prod/assets/etd29.pdf

[20] Feucht, D. L. (n.d.). Practical Design of a Buck Converter. AnalogZONE .

[21] Understanding variable output characteristics of wind Power. Retrieved from wind energy the facts.org website:

http://www.wind-energy-the-facts.org/_includes/print.php?lg=en&cmp_id=48&safe_mode= 8/13/2009

59 APPENDIX A

60 APPENDIX B

61 APPENDIX C

Public Class Simulation_Form Dim bytLength As Byte

Dim bytPackage11(10) As Byte, bytPackage8(7) As Byte Dim bytEcho11(10) As Byte, bytEcho8(7) As Byte

Dim vntwarning As Object

Dim blnComunication As Boolean Dim bytStatusInfo As Byte

'Sequence to carry out Serial Communications via RS232 Port

'---

Public Sub Comunication(ByVal bytLength As Byte, ByRef bytPackage() As Byte)

Dim intCount As Integer ' Used to count read/write buffers through TX/RX arrays

Dim varWarning As VariantType ' Used to Launch Error Warnings

Dim intVerify As Integer ' Used to wait check message is recieved.

Dim intError As Integer ' Used to timeout the waiting for a message to be recieved

intError = 0

62 ' Write bytPackage to the output buffer of the serial port

Do Until intVerify = intCount ' if recieve operation times out then throw an exception

End If

Threading.Thread.Sleep(1) ' delay a millisecond per loop (500ms delay total)

Loop ' Close the programme if the communications fail

End Try Try

' MSComm1.Read(bytRecieve, 0, intCount) ' Read the serial port input buffer and store in bytReceive

Catch readException As System.TimeoutException ' If the read operation times out show warning

varWarning = MsgBox("The Interface has not recieved data "

& _

"from FCIV, check serial connection", _

63

Private Sub btn_configure_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_configure.Click

Call Comunication(bytLength, bytPackage11) If intFF = 1 Then

64

Private Sub btn_stop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub Label11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub GroupBox4_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox4.Enter

End Sub

65

Private Sub txt_gen_voltage_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

txt_gen_voltage.TextChanged End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

rdbCloseLoop.CheckedChanged

If rdbCloseLoop.Checked = True Then txtDutyCycle.Enabled = False

Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

rdbOpenLoop.CheckedChanged

If rdbOpenLoop.Checked = True Then txtDutyCycle.Enabled = True txtKP.Enabled = False

txtKI.Enabled = False

txtRefVoltage.Enabled = False intBM = 1 'open loop

End Sub

Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click

End Sub

Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter

End Sub

Private Sub Label11_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label11.Click

End Sub

Private Sub btn_run_stop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_run.Click

66 Call Comunication(bytLength, bytPackage11) 'Package to send Mod Index Command

bytLength = 11

Call BuildPackage(bytLength, 18, 102, 0, _ CByte(intMI), 0)

Call Comunication(bytLength, bytPackage11) 'Package to send Duty Cycle Command

bytLength = 11

Call BuildPackage(bytLength, 18, 104, 0, _

CByte(Fix(intDC / 256)), CByte(intDC Mod 256)) Call Comunication(bytLength, bytPackage11)

67

Call Comunication(bytLength, bytPackage11) 'Package to send Kp Command

bytLength = 11

Call BuildPackage(bytLength, 18, 106, 0, _

CByte(Fix(intKp / 256)), CByte(intKp Mod 256)) Call Comunication(bytLength, bytPackage11)

'Package to send Ki Command bytLength = 11

Call BuildPackage(bytLength, 18, 107, 0, _

CByte(Fix(intKi / 256)), CByte(intKi Mod 256)) Call Comunication(bytLength, bytPackage11)

End Sub

Public Sub BuildPackage(ByVal intLength As Integer, ByVal bytCmd As Byte, ByVal bytFunc1 As Byte, ByVal bytFunc2 As Byte, _

ByVal bytMsb As Byte, ByVal bytLsb As Byte)

68

Call Comunication(bytLength, bytPackage11) End Sub

Call Comunication(bytLength, bytPackage11) End Sub

Private Sub txtDC_Change() intDCF = 1

txtDutyCycle.ForeColor = Color.FromArgb(192, 0, 0) End Sub

69

txtModulationIndex.ForeColor = Color.FromArgb(192, 0, 0) End Sub

Private Sub txtVref_Change() intVF = 1

txtRefVoltage.ForeColor = Color.FromArgb(192, 0, 0) End Sub

Private Function ValidateForm() As Boolean If (rdbCloseLoop.Checked = True) Then

70

Private Sub btn_run_EnabledChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_run.EnabledChanged

End Sub

Private Sub txtFrequency_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFrequency.TextChanged

intFF = 1 End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

71

End Sub

Private Sub txtDutyCycle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDutyCycle.TextChanged

Private Sub txtRefVoltage_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

txtRefVoltage.TextChanged intVF = 1

End Sub

Private Sub txtKI_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKI.TextChanged

intKiF = 1 End Sub

Private Sub txtKP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKP.TextChanged

intKpF = 1 End Sub

Private Sub Simulation_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

intRun = 0 End Sub

Private Sub txtModulationIndex_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

txtModulationIndex.TextChanged intMIF = 1

End Sub End Class

72 APPENDIX D