Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp.. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực cô
Trang 1Lời mở đầu
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả cao
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành
và sử dụng được lại là một điều rất phức tạp Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này
là 64 bit Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử Với môn học Vi điều khiển này, em đã quyết định nhận làm đồ án thiết kế mạch băm xung áp xoay chiều một pha
Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và năng lực còn hạn chế nên mạch vẫn còn những sai sót Em mong thầy giáo và các bạn góp ý để việc học tập của em được tốt hơn
Em xin chân thành cảm ơn
Trang 2I Giới thiệu về các linh kiện chính dùng trong mạch
1 PIC 16F877A
- PIC 16F877A là loại vi điều khiển 8bit tầm trung của hãng microchip
- PIC 16F877A có kiến trúc Havard, sử dụng tập lệnh kiểu RISC (Reduced Instruction Set Computer) với chỉ 35 lệnh cơ bản
- Tất cả các lệnh được thực hiện trong một chu kì lệnh ngoại trừ các lệnh rẽ nhánh
Sơ đồ chân vi điều khiển PIC 16F877A
Trang 3- Để PIC hoạt động cần cấp nguồn cho PIC Ngoài ra có thêm bộ dao động thạch anh
2 MOC3020
MOC3020 là cách ly quang (hay còn gọi là OPTO) là một linh
kiện bán dẫn cấu tạo gồm 1 bộ phát quang và một cảm biến quang
tích hợp trong 1 khối bán dẫn bộ phát quang là 1 doide phát quang
dùng để phát ra ánh sáng kích cho các cảm biến quang dẫn, còn cảm
biến quang là triac
Sơ đồ chân và cấu tạo MOC3020
MOC3020 được dùng để cách ly giữa các khối chênh lệch nhau về điện hay công suất như khối có công suất nhỏ với khối điện áp lớn Hoặc có thể dùng để
Trang 4chống nhiễu cho các mạch cầu H, ngỏ ra PLC, chống nhiểu cho các thiết bị đo lường
Về nguyên lí hoạt động: Khi có dòng nhỏ di qua 2 đầu của led có trong opto làm cho led phát sáng Khi led phát sáng làm thông 2 cực của triac, mở cho dòng điện chạy qua
3 TRIAC
Triac là một linh kiện bán dẫn có ba cực năm lớp, làm việc như 2 Thyristor mắc song song ngược chiều, có thể dẫn điện theo hai chiều
Cấu tạo
Triac có bốn tổ hợp điện thế có thể mở cho dòng chảy qua:
Trang 5Đặc tuyến Volt – Ampe gồm hai phần đối xứng nhau qua gốc O, mỗi phần tương tự đặc tuyến thuận của Thyristor
Đặc tuyến của TRIAC
4 Ổn áp 7805
IC 7805 là loại dòng IC dùng để ổn định điện áp dương đầu ra, với điều kiện đầu vào luôn luôn > đầu ra 3V
Trang 6Tùy loại IC 7805 mà nó ổn áp đầu ra là bao nhiêu Chân 1 (Vin): Chân nguồn đầu vào
Chân 2 (GND): Chân nối đất
Chân 3 (Vout): Chân nguồn đầu ra
II Sơ đồ nguyên lý
Nguyên lý hoạt động
Trang 7Cấp nguồn 220V cho mạch, thông qua biến áp, nguồn được giảm xuống còn 12VAC, qua 4 diode mắc cầu điện áp được chỉnh lưu về dạng 1 chiều (nhấp nhô), Diode D5 có chức năng ngăn cách giữa điện áp 1 chiều trước khi lọc và sau khi lọc Điện áp 1 chiều trước lọc kích transistor Q1 để tạo ”xung đồng bộ” cấp cho vi điều khiển PIC Vi điều khiển PIC đọc điện áp ADC được điều chỉnh bởi biến trở, giá trị này được ta tính toán và quy đổi thành góc kích cho triac Tức là, nếu giá trị điện áp ADC càng lớn thì góc kích sẽ càng trễ và ngược lại
-Sơ đồ nguyên lý gồm 4 phần chính :
+Khối nguồn điều khiển
+Mạch điều khiển
+Mạch lực
+Chân nạp code cho PIC
1.Khối nguồn điều khiển
Trang 8Nhận nguồn cấp 220VAC qua biến áp hạ áp còn 12VAC tiếp tục được chỉnh lưu bằng chỉnh lưu cầu 4 điôt để biến đổi về nguồn 12VDC qau ổn áp 7805 tạo điện
áp ra ổn định 5VDC cung cấp cho mạch điều khiển
2.Mạch lực
Với yêu cầu của đề tài nên chúng em chọn sơ đồ dùng TRIAC để điều khiển vì sơ
đồ dùng Triac có những ưu điểm sau:
- Công suất tải là không lớn nên Triac đáp ứng đầy đủ về công suất đáp ứng
- Mạch điều khiển Triac đơn giản
- Giá thành rẻ, vận hành đơn giản a Sơ đồ mạch
Nguyên lý làm việc
Tín hiệu được đưa vào chân điều khiển G của Triac Triac có nhiệm vụ điều khiển
mở dẫn dòng từ đó ta nhận được giá trị điện áp trên tải tương ứng với góc mở của triac khi ta điều chỉnh biến trở RV1
3.Mạch điều khiển
Trang 9
Vi điều khiển trung tâm là PIC 16F877A.Với chức năng của các port như sau: Chân RB0/INT làm chân INPUT: nhận tín hiệu xung đồng bộ
Chân RB1: làm output: điều khiển góc kích cho TRIAC
4.Chân nap code cho PIC
Trang 10Gồm 5 chân, chân 1 được đấu với chân Vpp của PIC, chân 2 đấu vào nguồn 5v ( nguồn đã qua 7805 ) của mạch, chân 3 được nối với mats , chân 4 và chân 5 được đấu với chân PGD và PGC của PIC, với chức năng nạp chương trình cho PIC
III CODE nạp cho PIC
1.Lưu đồ thuật toán
Trang 112 Code nạp cho PIC
#include <16F877A.h>
#include <def_16F877A.h>
#device ADC=10
#use delay (clock =12M)
#FUSES HS,NOWDT
//dinh nghia phan cung
#define xung_kich RB1
Trang 12// dinh nghia bien toan cuc
int16 result_adc;
int16 old_result_adc;
int16 delay_valute;
int16 abc=0;
int8 en_triac;
void delay_int(int16 x)
{
int16 i;
for(i=0;i<x;i++);
}
// isr NGAT NGOAI
#INT_EXT
void ngat_ngoai(void)
{
//delay tao goc tre
switch(en_triac)
{
case 0:
{
delay_int(delay_valute);
xung_kich=1;
delay_int(50);
xung_kich=0;
}
Trang 13break;
//
case 1: xung_kich=0; break;
case 2: xung_kich=1; break;
}
}
void init()
{
//khoi tao i_o
// INIT PORT: INPUT: 1; OUTPUT: 0
TRISA=255;
TRISC=TRISD=0;
TRISB=0X01;
//khoi tao adc
setup_adc(ADC_CLOCK_DIV_2);
setup_adc_ports(AN0);
delay_us(11);
//khoi tao ngat ngoai
ENABLE_INTERRUPTS(GLOBAL);// kich hoat ngat toan cuc
EXT_INT_EDGE(H_TO_L);// chon ngat canh xuong
ENABLE_INTERRUPTS(INT_EXT);//kich hoat ngat ngoai
//
en_triac=0;
}
Trang 14int16 doc_adc()
{
return read_adc();
}
void main()
{
init();
while(1)
{
result_adc=doc_adc();
result_adc=1023-result_adc;
if(old_result_adc!=result_adc)
{
old_result_adc=result_adc;
delay_valute=result_adc*1.96; // 2010/1023=1.96
}
//
switch(result_adc)
{
case 1023: en_triac=1; break; // adc=5V
case 0: en_triac=2; break; // adc=0V
default: en_triac=0; break; // truong hop con lai
Trang 15
}
delay_ms(80);
}
}