Dieu Khien Goc Mo Triac

You might also like

You are on page 1of 9

Cách điều khiển góc mở của Triac.

Cụ thể của tôi ở đây là điều khiển độ sáng của bóng đèn thông qua vi điều khiển . Mạch
của mình có dùng MOC3021 và một mạch cầu dùng để phát hiện điểm 0 của dòng điện xoay
chiều 220V.

Mạch cầu dùng để phát hiện điểm 0 của điện xoay chiều 220V

Tín hiệu tại hai đầu của Diode Zener 5V


Tín hiệu tại điểm INVDK
Tín hiệu tại điểm INVDK cho ta thấy khi điện áp xoay chiều 220V về giá trị 0 thì xung tín
hiệu lúc đó tại INVDK sẽ là 5V. Chúng ta sẽ cho tín hiệu này vào VĐK và xử lý.

Vi điều khiển
Khi tín hiệu vào bằng 1 chúng ta delay một khoảng thời gian ( thời gian delay sẽ được thay
đổi thông qua việc vặn biến trở nó sẽ nằm trong khoảng từ 1ms->9ms bời vì chu kỳ của điện
áp 220V là 20ms ). Khoảng thời gian delay này sẽ quyết định độ sáng của bóng đèn. Sau khi
delay chúng ta sẽ cho tín hiệu OUTVDK bằng 1( để mở Triac ) sau đó cho bằng 0 luôn
( delay 1ms rồi cho về 0)
Mã:
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
void main(void)
{
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=1 State1=T State0=T
PORTC=0x00;
DDRC=0x02;
// ADC initialization
// ADC Clock frequency: 1000.000 kHz
// ADC Voltage Reference: AREF pin
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x83;
OUT = 0;
while (1)
{
val = read_adc(5);
TimeDL = val/100;
if (TimeDL==10)
{
OUT=0;
}
else
{ if (IN)
{
delay_ms(TimeDL);
OUT = 1;
delay_ms(1);
OUT = 0;
}
}
}
}
Mạch điều khiển góc mở của Triac dùng MOC3021
Khi tín hiệu tại OUTVDK lên 1 thì tại điểm G của Triac sẽ có dòng làm cho hai đầu A2 và
A1 của Triac thông với nhau. Khi tín hiệu tại OUTVDK về 0 thì A2 và A1 sẽ đóng khi điện
áp xoay chiều về 0 ( tức là chênh lệch điện áp giữa A2 và A1 là 0 ).

Điện áp đầu ra tại RL


Việc phát hiện được điểm 0 của điện áp 220V sẽ giúp chúng ta đóng mở được trong từng chu
kỳ của điện 220V thay vì đóng và mở mỗi chu kỳ ( việc này có ừng dụng rất nhiều trong việc
điều khiển động cơ xoay chiều )
Đây là sản phẩm nhỏ của mình

Xin chào các bạn, hôm nay mình xin giới thiệu với các bạn về cách điều khiển góc mở của
Triac. Cụ thể của tôi ở đây là điều khiển độ sáng của bóng đèn thông qua vi điều khiển .
Mạch của mình có dùng MOC3021 và một mạch cầu dùng để phát hiện điểm 0 của dòng điện
xoay chiều 220V.

Mạch cầu dùng để phát hiện điểm 0 của điện xoay chiều 220V
Tín hiệu tại hai đầu của Diode Zener 5V

Tín hiệu tại điểm INVDK


Tín hiệu tại điểm INVDK cho ta thấy khi điện áp xoay chiều 220V về giá trị 0 thì xung tín
hiệu lúc đó tại INVDK sẽ là 5V. Chúng ta sẽ cho tín hiệu này vào VĐK và xử lý.
Vi điều khiển
Khi tín hiệu vào bằng 1 chúng ta delay một khoảng thời gian ( thời gian delay sẽ được thay
đổi thông qua việc vặn biến trở nó sẽ nằm trong khoảng từ 1ms->9ms bời vì chu kỳ của điện
áp 220V là 20ms ). Khoảng thời gian delay này sẽ quyết định độ sáng của bóng đèn. Sau khi
delay chúng ta sẽ cho tín hiệu OUTVDK bằng 1( để mở Triac ) sau đó cho bằng 0 luôn
( delay 1ms rồi cho về 0)
Mã:
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
void main(void)
{
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=1 State1=T State0=T
PORTC=0x00;
DDRC=0x02;
// ADC initialization
// ADC Clock frequency: 1000.000 kHz
// ADC Voltage Reference: AREF pin
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x83;
OUT = 0;
while (1)
{
val = read_adc(5);
TimeDL = val/100;
if (TimeDL==10)
{
OUT=0;
}
else
{ if (IN)
{
delay_ms(TimeDL);
OUT = 1;
delay_ms(1);
OUT = 0;
}
}
}
}

Mạch điều khiển góc mở của Triac dùng MOC3021


Khi tín hiệu tại OUTVDK lên 1 thì tại điểm G của Triac sẽ có dòng làm cho hai đầu A2 và
A1 của Triac thông với nhau. Khi tín hiệu tại OUTVDK về 0 thì A2 và A1 sẽ đóng khi điện
áp xoay chiều về 0 ( tức là chênh lệch điện áp giữa A2 và A1 là 0 ).

Điện áp đầu ra tại RL


Việc phát hiện được điểm 0 của điện áp 220V sẽ giúp chúng ta đóng mở được trong từng chu
kỳ của điện 220V thay vì đóng và mở mỗi chu kỳ ( việc này có ừng dụng rất nhiều trong việc
điều khiển động cơ xoay chiều )

Đây là sản phẩm nhỏ của mình

You might also like