Triac Modelēšana, izmantojot Proteus

T

the_balistic

Guest
Hii Laba diena,

Man ir problēma projektēšana circuit, lai kontrolētu ātrumu AC motoru.Es fāzes leņķis Spridzināšanas méthode.Es izmantoju Microcontroller (AVR) sadedzināšanas Triac, bet es saņēmu anomali rezultātu.Lūdzu, pārbaudiet savu dizainu, (šo simulāciju, izmantojot Proteus 7,2), I use AC signālam ar frekvenci 5 Hz un priekša = 12V, bet izejas ir nepareizi.

<img src="http://images.elektroda.net/37_1266902333_thumb.jpg" border="0" alt="Triac Simulation Using Proteus" title="Triac Modelēšana, izmantojot Proteus"/> Un šeit ir mans kods, lūdzu pārbaudiet: (I use Bascom avr kā manu kompilators)Kods:$ Regfile = "m16def.dat"

$ Kristāla = 12000000

$ Bodu = 9600 "izmantošana bodu likme

$ Hwstack = 32 'noklusējuma izmantot 32 aparatūras kaudze

$ Swstack = 10 'noklusējuma izmantot 10 SW kaudze

$ Framesize = 40'==============================

"LCD inisialisation

"Režīmā 4 bit

"Pin R / W zemes tikai rakstīt

'==============================

Config Lcdpin = Pin, Db4 = Portb.4, Db5 = Portb.5, Db6 = Portb.6, Db7 = Portb.7, E = Portb.1, R = Portb.0

Config LCD = 20 * 2

CLS

Kursora Off Noblink'====================================

"Eksternal Interrupt 0 inisialisation

"Par Noteikt Zero Crossing Signal

'====================================Par Start_timer0 Int0

Int0 Config = FallingDim statusu Bit

Dim Displaystatus Kā Bit'================================================= ===================

"Timer 1 Inisialisation par Countdown Zero Crossing

"AR LĪDZEKĻU 1024/12000000 (CRSYTAL) = 0.08ms

"Tā taimeris 1 būs pārplūdes reizi (0.08ms * 65535 = 5242,8 ms = 5.2s)

'================================================= ====================

Config Timer1 = Taimeris, Prescale = 1024

Dim Nilaitimer1 kā Integer

Dim Waktu par vienuDim Z Kā String * 5

Config Porta.7 = izeja

Triac Alias Porta.7Config Portd.2 = Input

Ddrd.2 = 0
'==========================

"Galvenais Program

'==========================

Galvenais:Atrodiet 1, 1

LCD "Program Zero Cross"

Atrodiet 2, 1

LCD "Ar Liegt Bodat'z"

Reset statussIeslēgt Timer1

Ieslēgt Int0

Ieslēgt PārtraukumiCLSDoKaut Displaystatus = 0

Iet

Displaystatus = 0

Waktu = Nilaitimer1 * 0,08

Atrodiet 1, 1

LCD "Timer1:"; Nilaitimer1

Atrodiet 2, 1

Z = Str (waktu)

Z = sapludinot (waktu, "#.##")

LCD "Laiks", Z, "ms"

Cilpa'=============================

"Ārējās Interrupt 0 Vektor

'=============================

Start_timer0:

Ja Statuss = 0 tam

Timer1 = 0

Sākt Timer1

Kaut Pind.2 = 0

Iet

Waitms 25

Uzstādīt Triac

Waitms 40

Reset Triac

Iestatīt statusu

Vēl

Pietura Timer1

Kaut Pind.2 = 0

Iet

Waitms 25

Uzstādīt Triac

Waitms 40

Reset Triac

Reset statuss

Nilaitimer1 = Timer1

Displaystatus = 1

Beigas Ja

AtgrieztiesBeigas
 

Welcome to EDABoard.com

Sponsor

Back
Top