Đo nhiệt độ và điều khiển công suất động ac
Lời mở đầu Trong trình hoạt động máy móc nhà máy xí nghiệp sinh nhiệt.Nhất thiết bị điện tử, nhiệt độ ảnh hưởng lớn đến khả hoạt động thiết bị Không có thiết bị mà ảnh hưởng đến người làm giảm suất làm việc Vì cần có chế làm giảm nhiệt độ Chính lý chúng em chọn đề tài cho đồ án “Đo nhiệt độ điều khiển công suất động AC” để khống chế nhiệt độ Sinh viên thực Nhóm Nhóm Page Mục lục Các hình ảnh Nhóm Page Phần một: Cơ sở lý thuyết I Giới thiệu tổng quan họ Vi điều khiển 8051 (89S52) Giới thiệu chung 8051 họ vi điều khiển bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với KB PEROM (Flash Programeable and erasable read only memory) Các đặc điểm 8051 đời đầu tóm tắt sau: Tần số hoat động từ Hz đến 24 MHz Timer/Counter 16 bit 128 Byte RAM nội Port xuất/nhập (I/O) bit Giao tiếp nối tiếp 64 KB vùng nhớ mã 64 KB vùng nhớ liệu Xử lý Boolean (hoạt động bit đơn) 210 vị trí nhớ định vị bit 4μs cho hoạt động nhân chia Nhóm Page Sơ đồ khối sơ đồ chân AT89S52 Hình 1: Sơ đồ khối AT89S52 Nhóm Page Hình 2: Sơ đồ chân hình dạng thực tế 8051 (89S52) Port (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức xuất nhập ra, port bus đa hợp liệu địa (AD0 – AD7), chức sử dụng AT89C51 giao tiếp với thiết bị có kiến trúc bus Port (P1.0 – P1.7 hay chân – 8): có chức xuất nhập theo bit byte Ngoài ra, chân P1.5, P1.6, P1.7 dùng để nạp ROM theo chuẩn ISP, chân P1.0 P1.1 dùng cho Timer Port (P2.0 – P2.7 hay chân 21 – 28): port có công dụng kép Là đường xuất nhập byte cao bus địa thiết kế dùng nhớ mở rộng Port (P3.0 – P3.7 hay chân 10 – 17): chân port chức xuất nhập có số chức đặc biệt sau: Nhóm Bit Tên Chức chuyển đổi P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu truyền cho port nối tiếp Page P3.2 INT0 Ngắt bên P3.3 INT1 Ngắt bên P3.4 T0 Ngõ vào Timer/Counter P3.5 T1 Ngõ vào Timer/Counter P3.6 WR Xung ghi nhớ liệu P3.7 RD Xung đọc nhớ liệu RST (Reset – chân 9): mức tích cực chân mức 1, để reset ta phải đưa mức (5V) đến chân với thời gian tối thiểu chu kỳ máy (tương đương 2µs thạch anh 12MHz) XTAL 1, XTAL (Chân 18,19): AT89S52 có dao động chip, thường nối với dao động thạch anh có tần số lớn 33MHz, thông thường 12MHz EA (External Access - chân 31): EA thường mắc lên mức cao (+5V) mức thấp (GND) Nếu mức cao, vi điều khiển thi hành chương trình từ ROM nội Nếu mức thấp, chương trình thi hành từ nhớ mở rộng ALE (Address Latch Enable - chân 30): ALE tín hiệu để chốt địa vào ghi bên nửa đầu chu kỳ nhớ Sau đường port dùng để xuất nhập liệu nửa chu kỳ sau nhớ PSEN (Program Store Enable - chân 29): PSEN chân điều khiển phép nhớ chương trình mở rộng thường nối với đến chân /OE (Output Enable) EPROM phép đọc bytes mã lệnh PSEN mức thấp thời gian đọc lệnh Các mã nhị phân chương trình đọc từ EPROM qua Bus chốt vào ghi lệnh vi điều khiển để giải mã lệnh Khi thi hành chương trình ROM nội, PSEN mức thụ động (mức cao) Vcc, GND: AT89S52 dùng nguồn chiều có dải điện áp từ 4V – 5.5V cấp qua chân 40 (Vcc) chân 20 (GND) II Nhóm Giới thiệu IC ADC0804 Page Các chuyển đổi ADC thuộc thiết bị sử dụng rộng rãi để thu liệu Các máy tính số sử dụng giá trị nhị phân, giới vật lý đại lượng dạng tương tự (liên tục) Nhiệt độ, áp suất (khí chất lỏng), độ ẩm vận tốc số đại lượng vật lý giới thực mà ta gặp ngày Một đại lượng vật lý chuyển dòng điện điện áp qua thiết bị gọi biến đổi Do vậy, ta cần chuyển đổi tương tự số cho vi điều khiển đọc chúng Một chip ADC sử dụng rộng rãi ADC0804 Hình 3: Sơ đồ chân hình dạng thực tế ADC0804 Chip có điện áp nuôi +5V độ phân giải bit Ngoài độ phân giải thời gian chuyển đổi tham số quan trọng đánh giá ADC Thời gian chuyển đổi định nghĩa thời gian mà ADC cần để chuyển đầu vào tương tự thành số nhị phân Đối với ADC0804 thời gian chuyển đổi phụ thuộc vào tần số đồng hồ cấp tới chân CLK CLK IN không bé 110µs Các chân khác ADC0804 có chức sau: CS (Chip select): Chân số 1, chân chọn chip, đầu vào tích cực mức thấp sử dụng để kích hoạt Chip ADC0804 Để truy cập tới ADC0804 chân phải đặt mức thấp RD (Read): Chân số 2, chân nhận tín hiệu vào tích cực mức thấp Các chuyển đổi 0804 chuyển đổi đầu vào tương tự thành số nhị phân giữ ghi Chân RD sử dụng phép đưa liệu Nhóm Page chyển đổi tới đầu ADC0804 Khi CS = có xung cao xuống thấp áp đến chân RD liệu dạng số bit đưa tới chân liệu (DB0 – DB7) WR (Write): Chân số 3, chân vào tích cực mức thấp dùng báo cho ADC biết để bắt đầu trình chuyển đổi Nếu CS = WR tạo xung cao xuống thấp ADC0804 bắt đầu trình chuyển đổi giá trị đầu vào tương tự Vin thành số nhị phân bit Khi việc chuyển đổi hoàn tất chân INTR ADC hạ xuống thấp CLK IN CLK R: CLK IN (chân số 4), chân vào nối tới đồng hồ sử dụng để tạo thời gian Tuy nhiên ADC0804 c ũng có tạo xung đồng hồ riêng Để dùng đồng hồ riêng chân CLK IN CLK R (chân số 19) nối với tụ điện điện trở Khi tần số xác định biểu thức: F= 1.1RC Với R = 10 kΩ, C = 150 pF tần số f = 606 kHz thời gian chuyển đổi 110 µs Ngắt INTR (Interupt): Chân số 5, chân tích cực mức thấp Bình thường chân trạng thái cao việc chuyển đổi tương tự số hoàn tất chuyển xuống mức thấp để báo cho CPU biết liệu chuyển đổi sẵn sàng để lấy Sau INTR xuống thấp, cần đặt CS = gửi xung cao xuống thấp tới chân RD để đưa liệu Vin (+) Vin (-): Chân số chân số 7, đầu vào tương tự vi sai, Vin = Vin(+) – Vin(-) Thông thường Vin(-) nối tới đất Vin(+) dùng làm đầu vào tương tự chuyển đổi dạng số Vcc: Chân số 20, chân nguồn nuôi +5V Chân dùng làm điện áp tham chiếu đầu vào Vref/2 để hở Vref/2: Chân số 9, chân điện áp đầu vào dùng làm điện áp tham chiếu Nếu chân hở điện áp đầu vào tương tự cho ADC0804 nằm dải đến +5V Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác với dải đến +5V Chân Vref/2 dùng để thực điện áp đầu khác đến +5V D0 - D7: D0 - D7, chân số 18 – 11, chân liệu số (D7 bit cao MSB D0 bit thấp LSB) Các chân đệm ba trạng thái Nhóm Page liệu chuyển đổi truy cập chân CS = chân RD đưa xuống mức thấp Để tính điện áp đầu ta tính theo công thức sau: Nhóm Page III Giới thiệu IC cảm biến LM35 Đây cảm biến nhiệt tích hợp với độ xác cao hãng National Semiconductor Điện áp đầu tỉ lệ tuyến tính với nhiệt độ theo thang độ Celsius Điện áp ngõ thay đổi 10mV (điện áp bước) cho thay đổi 1oC Chúng không yêu cầu cân chỉnh LM35 có dạng: TO-46, SO-8, TO-92, TO-220 Nhưng thường dùng dạng TO-92 hình Hình 4: Sơ đồ chân LM35 dạng TO-92 Đặc điểm LM35: Điện áp nguồn từ -0.2V đến +35V Điện áp từ -1V đến +6V Dải nhiệt độ đo từ -55°C đến +150°C Điện áp đầu thay đổi 10mV có thay đổi 1°C IV Giới thiệu BTA16 TRIAC (viết tắt TRIode for Alternating Current) phần tử bán dẫn gồm năm lớp bán dẫn, tạo nên cấu trúc p-n-p-n thyristor theo hai chiều cực A1 A2, dẫn dòng theo hai chiều A1 A2 TRIAC coi tương đương với hai thyristor đấu song song song ngược.để điều khiển Triac ta cần cấp xung cho chân G Triac TRIAC đặc biệt hữu ích ứng dụng điều chỉnh điện áp xoay chiều công-tắc-tơ tĩnh Nhóm Page 10 Delay.h #ifndef _DELAY_H_ #define _DELAY_H_ void Delay_ms(unsigned int t); #endif b Uart UartMode1.c #include"main.h" #include"UartMode1.h" #if(FREQ_OSC != 11059200) #error "Thu vien UartMode1 chi ho tro tan so hoat dong la 11059200" #endif void Uart_Init() { SM0 = 0; SM1 = 1; TMOD &= 0x0F; 8bit tu dong nap lai // Chon UART mode // 0010 xxxx - Timer1 hoat dong o che TMOD |= 0x20; #if(BAUD_RATE==9600) Nhóm Page 20 TH1 = 0xFD; // Toc baud 9600 #elif(BAUD_RATE==2400) TH1 = 0xF4; #elif(BAUD_RATE==1200) TH1 = 0xE8; #elif(BAUD_RATE==19200) TH1 = 0xFD; PCON|=0x80; #else #error "Toc Baud chi co the la 19200, 9600, 2400, 1200" #endif TR1 = 1; // Timer1 bat dau chay TI = 1; REN = 1; // San sang gui du lieu // Cho phep nhan du lieu } void Uart_Write(char c) { while(TI == 0); TI = 0; SBUF = c; } Nhóm Page 21 void Uart_Write_Text(char * str) { unsigned char i = 0; while(str[i]!=0) { Uart_Write(str[i]); i++; } } char Uart_Data_Ready() { return RI; } char Uart_Read() { RI = 0; return SBUF; } UartMode1.h #ifndef _UARTMODE1_H_ #define _UARTMODE1_H_ Nhóm Page 22 // Khoi tao UART o mode void Uart_Init(); // Gui ky tu UART void Uart_Write(char c); // Gui chuoi UART void Uart_Write_Text(char * str); // Kiem tra xem co nhan duoc byte du lieu chua // Tra ve 1: Da nhan duoc // 0: Chua nhan duoc char Uart_Data_Ready(); // Doc byte nhan duoc tu UART char Uart_Read(); #endif c ADC0804 -ADC0804.c -#include "main.h" #include "ADC0804.h" #include "Port.h" Nhóm Page 23 unsigned char ADC0804_Read() { unsigned char kq; // Tao xung bat dau chuyen doi ADC0804_WR = 0; ADC0804_WR = 1; // Doi cho den chuyen doi xong while(ADC0804_INTR); // Doc gia tri sau chuyen doi ADC0804_RD = 0; kq = ADC0804_DATA; ADC0804_RD = 1; return kq; } -ADC0804.h -#ifndef _ADC0804_H_ #define _ADC0804_H_ unsigned char ADC0804_Read(); #endif Nhóm Page 24 Code cho IC1 -main.c -#include #include #include "port.h" #include" \lib\UartMode1.h" #include" \lib\Delay.h" #include " \lib\ADC0804.h" unsigned char code7seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char i,chuc,dv,nhietdo,set=25; void htnd(unsigned char nhietdo) // nhiet hien tai { chuc=nhietdo/10; dv=nhietdo%10; P2_4=0; P0=code7seg[chuc]; Delay_ms(5); P2_4=1; P2_5=0; P0=code7seg[dv]; Delay_ms(5); P2_5=1; } void htcd(unsigned char set) //nhiet cai dat { chuc=set/10; dv=set%10; P2_6=0; P0=code7seg[chuc]; Delay_ms(5); P2_6=1; Nhóm Page 25 P2_7=0; P0=code7seg[dv]; Delay_ms(5); P2_7=1; } void ngat_int0() interrupt // ham ngat ngoai Nut UP { Delay_ms(100); // chong rung phim while(P3_2==0); set++; } void ngat_int1() interrupt // ham ngat ngoai Nut DOWN { Delay_ms(100); // chong rung phim while(P3_3==0); set ; } void main() { EA=1; //CHO PHEP NGAT EX0=EX1=1; // CHO PHEP NGAT NGOAI VA IT0=IT1=0; // NGAT THEO SUON AM Uart_Init(); // KHOI TAO UART P2_0 = 100; while(1) Nhóm Page 26 { nhietdo = ADC0804_Read(); for(i=0;i[...]... những công việc sau: Phần lý thuyết: Nguyên cứu phương pháp điều khiển động cơ AC Khảo sát vi xử lý và các IC sử dụng trong mạch Thi công phần cứng: Mạch điều khiển động cơ AC Mạch cảm biến nhiệt độ dùng LM35 Mạch vi xử lý Mạch hiển thị Phần mềm: Viết chương trình cho vi điều khiển họ 8051 dùng ngôn ngữ C sử dụng phần mềm Keilc 4 Kết quả thực tế đạt được Mạch chạy ổn đinh và điều khiển. .. biến nhiệt và chuyển đổi ADC Chân số 2 của cảm biến nhiệt độ LM35 sẽ được nối với chân số 6 của ADC0804 LM35 sẽ đo nhiệt độ và gửi mức điện áp cho ADC0804 ADC0804 sẽ chuyển đổi mức điện áp đó sang dạng số 8 bit rồi chuyền cho vi điều khiển bằng 8 chân DB0 đến DB7 3 Khối hiển thị Nhóm 7 Page 12 Khối hiển thị sử dụng 4 Led 7 thanh chung Anot tích hợp vào một dùng để hiển thị nhiệt độ đo được và nhiệt độ. .. IC vi điều khiển 89s52 IC thứ 1 dùng để điều khiển ADC0804, nhận giá trị chuyển đổi của ADC0804 rồi xử lý tín hiệu nhận được rồi hiển thị lên Led 7 thanh và truyền thông tin cho IC2 Sau khi nhận được giá trị chuyển đổi từ ADC0804 IC1 sẽ truyền tín hiệu sang cho IC2 để IC2 xuất xung điều khiển được Triac BTA16 nhằm thay đổi công suất của thiết bị cần điều khiển sao cho tương ứng với nhiệt độ đo được... với nhiệt độ cài đặt 5 Khối nút nhấn Nhóm 7 Page 13 Gồm 2 nút có chức năng là: UP, DOWN UP: tăng nhiệt độ cài đặt DOWN: giảm nhiệt độ cài dặt 6 Khối công suất và đồng bộ: Khối đồng bộ dùng để bắt điểm 0 của điện AC giúp cho IC2 có thể xuất xung tạo góc mở α của Triac một cách chính xác Sau khi IC2 xuất xung tạo góc mở α cho Triac thông qua linh kiện cách ly quang đó là MOC3020 Xung này sẽ vào cực... ngôn ngữ C sử dụng phần mềm Keilc 4 Kết quả thực tế đạt được Mạch chạy ổn đinh và điều khiển theo đúng yêu cầu Hướng phát triển đề tài: Có thể thay đổi cài đặt công suất bằng tay hoặc tự động theo nhiệt độ Và truyền thông tin nhiệt độ và công suất lên máy tính Nhóm 7 Page 34 ... quang đó là MOC3020 Xung này sẽ vào cực G của Triac Triac sẽ cho dòng diện đi qua đến khi điện áp giữa 2 đầu A1 và A2 bằng 0 thì Triac không cho dòng điện đi qua Bằng việc mở góc mở α ta có thể thay đổi công suất của thiết bị sao cho phù hợp Nhóm 7 Page 14 II Nhóm 7 Sơ đồ nguyên lý đề tài Page 15 III Mạch in PCB 1 Vi xử lý Nhóm 7 Page 16 2 Khối công suất và đồng bộ 3 Khối hiển thị Nhóm 7 Page 17 V Code...BTA16 là một trong những Triac với những thông số đặc trưng như dòng tải định mức lên đến 16A, điện áp ngưỡng 600V với dòng kích cho phép từ 10 đến 15mA (IGT) Hình 5: Sơ đồ chân BTA16 thực tế và cấu tạo Triac Khi điện áp thay đổi với tốc độ nhanh thì Triac dễ bị hỏng nên thường cần phải có mạch R-C bảo bệ Triac Nhóm 7 Page 11 Phần hai: Thi công đề tài I Nguyên lý và chức năng từng khối 1 Khối nguồn ... nhóm thực công việc sau: Phần lý thuyết: Nguyên cứu phương pháp điều khiển động AC Khảo sát vi xử lý IC sử dụng mạch Thi công phần cứng: Mạch điều khiển động AC Mạch cảm biến nhiệt độ dùng... tín hiệu sang cho IC2 để IC2 xuất xung điều khiển Triac BTA16 nhằm thay đổi công suất thiết bị cần điều khiển cho tương ứng với nhiệt độ đo so với nhiệt độ cài đặt Khối nút nhấn Nhóm Page 13 Gồm... hiển thị sử dụng Led chung Anot tích hợp vào dùng để hiển thị nhiệt độ đo nhiệt độ cài đặt Khối vi xử lý Khối gồm IC vi điều khiển 89s52 IC thứ dùng để điều khiển ADC0804, nhận giá trị chuyển đổi