Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
625,84 KB
Nội dung
Bộ Công Thương Trường Cao Đẳng Kỹ Thuật Cao Thắng Khoa Điện Tử - Tin Học Bộ Môn Điện Tử Công Nghiệp Đồ Án Tốt Nghiệp Đề Tài: Điều Khiển & Giám Sát Thiết Bị Điện Gia Đình : Nguyễn Phú Quới : Phạm Thanh Hiếu Phan Thanh Liêm Lớp : CĐĐT06 Niên khóa : 2006- 2009 GVHD SVTH Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Đặt Vấn Đề Ngày khoa học cơng nghệ có bước phát triển vượt bật, với ứng dụng vào nhiều lĩnh vực đời sống xã hội Trước vận động phát triển không ngừng giới nói chung khoa học kỹ thuật nói riêng việc đáp ứng nhu cầu xã hội điều hồn tồn Một công nghệ làm thay đổi sống cơng nghệ điều khiển thiết bị máy tính, máy tính giám sát tự động điều chỉnh thong số cho phù hợp với nhu cầu cụ thể Thế giới ngày phát triển lĩnh vực điều khiển mở rộng Việc ứng dụng tạo nhiều thuận lợi cho người, đặc biệt với nhu cầu sống ngày cao việc áp dụng vào điều khiển thiết bị gia đình phổ biến Với yếu tố với mục đích nghiên cứu mới, tiếp cận nguồn kiến thức thời đại, tích lũy kinh nghiệm cho thân nhóm định chọn đề tài Điều khiển giám sát thiết bị điện gia đình 1.2 Tầm Quan Trọng Và Lý Do Chọn Đề Tài Giao tiếp máy tính với vi điều khiển để điều khiển giám sát thiết bị đề tài hấp dẫn nhiều sinh viên ham mê học hỏi Điều mà sinh viên điều nhắm đến việc học hỏi kiến thức quý giá kinh nghiệm việc thực đề tài mang lại Tuy có nhiều tài liệu đề cập đến đề tài việc tự tay vào thực chuyện hoàn toàn khác, nhiều vấn đề nảy sinh theo nhiều kinh nghiệm quý giá học tập q trình thực Đó mục đích mục tiêu nhóm thực đề tài 1.3 Giới Hạn Đề Tài Với điều kiện thời gian khơng cho phép nhóm thực trọng thực phần sau: Hệ thống gồm phòng với thiết bị minh họa Hệ thống điều khiển phần mềm dung ngôn ngữ Visual Basic6.0 Điều khiển tắt,mở thiết bị Điều chỉnh độ sáng hệ thống đèn, tốc độ hệ thống quạt… Cài đặt thời gian tắt, mở thiết bị Theo dõi nhiệt độ môi trường, tự động điều chỉnh theo thiết lập người điều khiển Lưu truy xuất liệu trình Việc điều khiển hệ thống xử lý trung tâm hệ thống đầu cuối thông qua đường truyền dây dẫn 1.4 Mục Đích Nghiên Cứu Đề tài nhằm giúp nhóm tìm hiểu ứng dụng họ vi điều khiển PIC 16F877A, ngơn ngữ lập trình CCS, visual basic 6.0 phương thức truyền thông qua cổng giao tiếp nối tiếp Là sở tài liệu tham khảo cho sinh viên khóa sau Nhằm tạo sản phẩm tương đối hồn thiện góp phần phục vụ cho nhu cầu thực tế người SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới CHƯƠNG LÝ THUYẾT CƠ SỞ SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 3.1 Vi Xử Lý PIC 16F877A 3.1.1 Cấu Trúc Của PIC 16F877A NTC1 10 15 16 17 18 23 24 25 26 14 13 MCLR/VPP RB7/PGD RB6/PGC RA0/AN0 RB5 RA1/AN1 RB4 RA2/AN2/VREF-/CVREF RB3/PGM RA3/AN3/VREF+ RB2 RA4/TOCKI/C1OUT RB1 RA5/AN4/SS/C2OUT RB0/INT RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SD0 RC6/TX/CK RC7/RX/DT RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0 VDD VDD 40 39 38 37 36 35 34 33 30 29 28 27 22 21 20 19 11 32 OSC2/CLKO VSS VSS 31 12 OSC1/CLKI PIC16F877A Hình 3.1.1: Sơ đồ chân PIC 16F877A Đây vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh thực thi chu kì xung clock Tốc độ hoạt động tối đa cho phép 20 MHz với chu kì lệnh 200ns Bộ nhớ chương trình 8Kx14 bit, nhớ liệu 368x8 byte RAM nhớ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O với 33 pin I/O Các đặc tính ngoại vi bao gồm khối chức sau: + Timer0: đếm bit với chia tần số bit + Timer1: đếm 16 bit với chia tần số, thực chức đếm dựa vào xung clock ngoại vi vi điều khiển hoạt động chế độ sleep + Timer2: đếm bit với chia tần số, postcaler + Hai Capture/so sánh/điều chế độ rông xung + Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI I2C + Chuẩn giao tiếp nối tiếp USART với bit địa + Cổng giao tiếp song song PSP (Parallel Slave Port) với chân điều khiển RD, WR, CS bên ngồi Các đặc tính Analog: + kênh chuyển đổi ADC 10 bit + Hai so sánh + Bên cạnh vài đặc tính khác vi điều khiển như: + Bộ nhớ flash với khả ghi xóa 100.000 lần + Bộ nhớ EEPROM với khả ghi xóa 1.000.000 lần + Dữ liệu nhớ EEPROM lưu trữ 40 năm + Khả tự nạp chương trình với điều khiển phần mềm + Nạp chương trình mạch điện ICSP (In Circuit Serial Programming) thông qua chân + Watchdog Timer với dao động + Chức bảo mật mã chương trình + Chế độ Sleep SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới + Có thể hoạt động với nhiều dạng Oscillator khác 3.1.2 CÁC CỔNG XUẤT NHẬP CỦA PIC16F877A Cổng xuất nhập (I/O port) phương tiện mà vi điều khiển dùng để tương tác với giới bên Sự tương tác đa dạng thơng qua q trình tương tác đó, chức vi điều khiển thể cách rõ ràng Một cổng xuất nhập vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo cách bố trí chức vi điều khiển mà số lượng cổng xuất nhập số lượng chân cổng khác Bên cạnh đó, vi điều khiển tích hợp sẵn bên đặc tính giao tiếp ngoại vi nên bên cạnh chức cổng xuất nhập thông thường, số chân xuất nhập cịn có thêm chức khác để thể tác động đặc tính ngoại vi nêu giới bên Chức chân xuất nhập cổng hoàn toàn xác lập điều khiển thơng qua ghi SFR liên quan đến chân xuất nhập Vi điều khiển PIC16F877A có cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD PORTE 3.1.2.1 PORTA PORTA (RPA) bao gồm I/O pin Đây chân “hai chiều” (bidirectional pin), nghĩa xuất nhập Chức I/O điều khiển ghi TRISA (địa 85h) Muốn xác lập chức chân PORTA input, ta “set” bit điều khiển tương ứng với chân ghi TRISA ngược lại, muốn xác lập chức chân PORTA output, ta “clear” bit điều khiển tương ứng với chân ghi TRISA Thao tác hoàn toàn tương tự PORT ghi điều khiển tương ứng TRIS (đối với PORTA TRISA, PORTB TRISB, PORTC TRISC, PORTD TRISD vàđối với PORTE TRISE) Bên cạnh PORTA cịn ngõ ADC, so sánh, ngõ vào analog ngõ vào xung clock Timer0 ngõ vào giao tiếp MSSP (Master Synchronous Serial Port) Các ghi SFR liên quan đến PORTA bao gồm: PORTA (địa 05h) : chứa giá trị pin PORTA TRISA (địa 85h) : điều khiển xuất nhập CMCON (địa 9Ch) : ghi điều khiển so sánh CVRCON (địa 9Dh) : ghi điều khiển so sánh điện áp ADCON1 (địa 9Fh): ghi điều khiển ADC 3.1.2.2 PORTB PORTB (RPB) gồm pin I/O Thanh ghi điều khiển xuất nhập tương ứng TRISB Bên cạnh số chân PORTB cịn sử dụng trình nạp chương trình cho vi điều khiển với chế độ nạp khác PORTB liên quan đến ngắt ngoại vi Timer0 PORTB tích hợp chức điện trở kéo lên điều khiển chương trình Các ghi SFR liên quan đến PORTB bao gồm: PORTB (địa 06h,106h) : chứa giá trị pin PORTB TRISB (địa 86h,186h) : điều khiển xuất nhập OPTION_REG (địa 81h,181h) : điều khiển ngắt ngoại vi Timer0 3.1.2.3 PORTC PORTC (RPC) gồm pin I/O Thanh ghi điều khiển xuất nhập tương ứng TRISC Bên cạnh PORTC chứa chân chức so sánh, Timer1, PWM chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART Các ghi điều khiển liên quan đến PORTC: PORTC (địa 07h) : chứa giá trị pin PORTC TRISC (địa 87h) : điều khiển xuất nhập 3.1.2.4 PORTD SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới PORTD (RPD) gồm chân I/O, ghi điều khiển xuất nhập tương ứng TRISD PORTD cổng xuất liệu chuẩn giao tiếp PSP (Parallel Slave Port) Các ghi liên quan đến PORTD bao gồm: Thanh ghi PORTD : chứa giá trị pin PORTD Thanh ghi TRISD : điều khiển xuất nhập Thanh ghi TRISE : điều khiển xuất nhập PORTE chuẩn giao tiếp PSP 3.1.2.5 PORTE PORTE (RPE) gồm chân I/O Thanh ghi điều khiển xuất nhập tương ứng TRISE Các chân PORTE có ngõ vào analog Bên cạnh PORTE cịn chân điều khiển chuẩn giao tiếp PSP Các ghi liên quan đến PORTE bao gồm: PORTE : chứa giá trị chân PORTE TRISE : điều khiển xuất nhập xác lập thông số cho chuẩn giao tiếp PSP ADCON1 : ghi điều khiển khối ADC 3.1.3 TIMER_0 Đây ba đếm định thời vi điều khiển PIC16F877A Timer0 đếm bit kết nối với chia tần số (prescaler) bit Cấu trúc Timer0 cho phép ta lựa chọn xung clock tác động cạnh tích cực xung clock Ngắt Timer0 xuất Timer0 bị tràn Bit TMR0IE (INTCON) bit điều khiển Timer0 TMR0IE=1 cho phép ngắt Timer0 tác động, TMR0IF= không cho phép ngắt Timer0 tác động Muốn Timer0 hoạt động chế độ Timer ta clear bit TOSC (OPTION_REG), giá trị ghi TMR0 tăng theo chu kì xung đồng hồ (tần số vào Timer0 ¼ tần số oscillator) Khi giá trị ghi TMR0 từ FFh trở 00h, ngắt Timer0 xuất Thanh ghi TMR0 cho phép ghi xóa giúp ta ấn định thời điểm ngắt Timer0 xuất cách linh động Muốn Timer0 hoạt động chế độ counter ta set bit TOSC (OPTION_REG) Khi xung tác động lên đếm lấy từ chân RA4/TOCK1 Bit TOSE (OPTION_REG) cho phép lựa chọn cạnh tác động vào bột đếm Cạnh tác động cạnh lên TOSE=0 cạnh tác động cạnh xuống TOSE=1 Khi ghi TMR0 bị tràn, bit TMR0IF (INTCON) set Đây cờ ngắt Timer0 Cờ ngắt phải xóa chương trình trước đếm bắt đầu thực lại trình đếm Ngắt Timer0 “đánh thức” vi điều khiển từ chế độ sleep Bộ chia tần số (prescaler) chia sẻ Timer0 WDT (Watchdog Timer) Điều có nghĩa prescaler sử dụng cho Timer0 WDT khơng có hỗ trợ prescaler ngược lại Prescaler điều khiển ghi OPTION_REG Bit PSA (OPTION_REG) xác định đối tượng tác động prescaler Các bit PS2:PS0 (OPTION_REG) xác định tỉ số chia tần số prescaler Xem lại ghi OPTION_REG để xác định lại cách chi tiết bit điều khiển Các lệnh tác động lên giá trị ghi TMR0 xóa chế độ hoạt động prescaler Khi đối tượng tác động Timer0, tác động lên giá trị ghi TMR0 xóa prescaler không làm thay đổi đối tượng tác động prescaler Khi đối tượng tác động WDT, lệnh CLRWDT xóa prescaler, đồng thời prescaler ngưng tác vụ hỗ trợ cho WDT Các ghi điều khiển liên quan đến Timer0 bao gồm: TMR0 (địa 01h, 101h) : chứa giá trị đếm Timer0 INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE PEIE) OPTION_REG (địa 81h, 181h): điều khiển prescaler 3.1.4 TIMER_1 SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Timer1 định thời 16 bit, giá trị Timer1 lưu hai ghi (TMR1H:TMR1L) Cờ ngắt Timer1 bit TMR1IF (PIR1) Bit điều khiển Timer1 TMR1IE (PIE) Tương tự Timer0, Timer1 có hai chế độ hoạt động: chế độ định thời (timer) với xung kích xung clock oscillator (tần số timer ¼ tần số oscillator) chế độ đếm (counter) với xung kích xung phản ánh kiện cần đếm lấy từ bên ngồi thơng qua chân RC0/T1OSO/T1CKI (cạnh tác động cạnh lên) Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động timer hay counter) điều khiển bit TMR1CS (T1CON) Ngồi Timer1 cịn có chức reset input bên điều khiển hai khối CCP (Capture/Compare/PWM) Khi bit T1OSCEN (T1CON) set, Timer1 lấy xung clock từ hai chân RC1/T1OSI/CCP2 RC0/T1OSO/T1CKI làm xung đếm Timer1 bắt đầu đếm sau cạnh xuống xung ngõ vào Khi PORTC bỏ qua tác động hai bit TRISC PORTC gán giá trị Khi clear bit T1OSCEN Timer1 lấy xung đếm từ oscillator từ chân RC0/T1OSO/T1CKI Timer1 có hai chế độ đếm đồng (Synchronous) bất đồng (Asynchronous) Chế độ đếm định bit điều khiển (T1CON) Khi =1 xung đếm lấy từ bên ngồi khơng đồng hóa với xung clock bên trong, Timer1 tiếp tục trình đếm vi điều khiển chế độ sleep ngắt Timer1 tạo bị tràn có khả “đánh thức” vi điều khiển Ở chế độ đếm bất đồng bộ, Timer1 sử dụng để làm nguồn xung clock cho khối CCP (Capture/Compare/Pulse width modulation) Khi =0 xung đếm vào Timer1 đồng hóa với xung clock bên Ở chế độ Timer1 không hoạt động vi điều khiển chế độ sleep Các ghi liên quan đến Timer1 bao gồm: INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE PEIE) PIR1 (địa 0Ch): chứa cờ ngắt Timer1 (TMR1IF) PIE1( địa 8Ch): cho phép ngắt Timer1 (TMR1IE) TMR1L (địa 0Eh): chứa giá trị bit thấp đếm Timer1 TMR1H (địa 0Eh): chứa giá trị bit cao đếm Timer1 T1CON (địa 10h): xác lập thông số cho Timer1 3.1.5 TIMER_2 Timer2 định thời bit hỗ trợ hai chia tần số prescaler va postscaler Thanh ghi chứa giá trị đếm Timer2 TMR2 Bit cho phép ngắt Timer2 tác động TMR2ON (T2CON) Cờ ngắt Timer2 bit TMR2IF (PIR1) Xung ngõ vào (tần số ¼ tần số oscillator) đưa qua chia tần số prescaler bit (với tỉ số chia tần số 1:1, 1:4 1:16 điều khiển bit T2CKPS1:T2CKPS0 (T2CON)) Timer2 hỗ trợ ghi PR2 Giá trị đếm ghi TMR2 tăng từ 00h đến giá trị chứa ghi PR2, sau reset 00h Kh I reset ghi PR2 nhận giá trị mặc định FFh Ngõ Timer2 đưa qua chia tần số postscaler với mức chia từ 1:1 đến 1:16 Postscaler điều khiển bit T2OUTPS3:T2OUTPS0 Ngõ postscaler đóng vai trị định việc điều khiển cờ ngắt Ngồi ngõ Timer2 cịn kết nối với khối SSP, Timer2 cịn đóng vai trò tạo xung clock đồng cho khối giao tiếp SSP Các ghi liên quan đến Timer2 bao gồm: INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép toàn ngắt (GIE PEIE) PIR1 (địa 0Ch): chứa cờ ngắt Timer2 (TMR2IF) PIE1 (địa chị 8Ch): chứa bit điều khiển Timer2 (TMR2IE) TMR2 (địa 11h): chứa giá trị đếm Timer2 T2CON (địa 12h): xác lập thông số cho Timer2 PR2 (địa 92h): ghi hỗ trợ cho Timer2 Ta có vài nhận xét Timer0, Timer1 Timer2 sau: SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Timer0 Timer2 đếm bit (giá trị đếm tối đa FFh), Timer1 đếm 16 bit (giá trị đếm tối đa FFFFh) Timer0, Timer1 Timer2 có hai chế độ hoạt động timer counter Xung clock có tần số ¼ tần số oscillator Xung tác động lên Timer0 hỗ trợ prescaler thiết lập nhiều chế độ khác (tần số tác động, cạnh tác động) thông số xung tác động lên Timer1 cố định Timer2 hỗ trợ hai chia tần số prescaler postcaler độc lập, nhiên cạnh tác động cố định cạnh lên Timer1 có quan hệ với khối CCP, Timer2 kết nối với khối SSP Một vài so sánh giúp ta dễ dàng lựa chọn Timer thích hợp cho ứng dụng 3.1.6 ADC ADC (Analog to Digital Converter) chuyển đổi tín hiệu hai dạng tương tự số PIC16F877A có ngõ vào analog (RA4:RA0 RE2:RE0) Hiệu điện chuẩn VREF lựa chọn VDD, VSS hay hiệu điện thể chuẩn xác lập hai chân RA2 RA3 Kết chuyển đổi từ tín tiệu tương tự sang tín hiệu số 10 bit số tương ứng lưu hai ghi ADRESH:ADRESL Khi không sử dụng chuyển đổi ADC, ghi sử dụng ghi thông thường khác Khi q trình chuyển đổi hồn tất, kết lưu vào hai ghi ADRESH:ADRESL, bit (ADCON0) xóa cờ ngắt ADIF set Qui trình chuyển đổi từ tương tự sang số bao gồm bước sau: Thiết lập thông số cho chuyển đổi ADC: Chọn ngõ vào analog, chọn điện áp mẫu (dựa thông số ghi ADCON1) Chọn kênh chuyển đổi AD (thanh ghi ADCON0) Chọn xung clock cho kênh chuyển đổi AD (thanh ghi ADCON0) Cho phép chuyển đổi AD hoạt động (thanh ghi ADCON0) Thiết lập cờ ngắt cho AD Clear bit ADIF Set bit ADIE Set bit PEIE Set bit GIE Đợi trình lấy mẫu hồn tất Bắt đầu q trình chuyển đổi (set bit ) Đợi trình chuyển đổi hoàn tất cách: Kiểm tra bit Nếu =0, q trình chuyển đổi hồn tất Kiểm tra cờ ngắt Đọc kết chuyển đổi xóa cờ ngắt, set bit (nếu cần tiếp tục chuyển đổi) Tiếp tục thực bước & cho trình chuyển đổi Cần ý có hai cách lưu kết chuyển đổi AD, việc lựa chọn cách lưu điều khiển bit ADFM Các ghi liên quan đến chuyển đổi ADC bao gồm: INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt (các bit GIE, PEIE) PIR1 (địa 0Ch): chứa cờ ngắt AD (bit ADIF) PIE1 (địa 8Ch): chứa bit điều khiển AD (ADIE) ADRESH (địa 1Eh) ADRESL (địa 9Eh): ghi chứa kết chuyển đổi AD ADCON0 (địa 1Fh) ADCON1 (địa 9Fh): xác lập thông số cho chuyển đổi AD PORTA (địa 05h) TRISA (địa 85h): liên quan đến ngõ vào analog PORTA PORTE (địa 09h) TRISE (địa 89h): liên quan đến ngõ vào analog PORTE 3.1.7 COMPARATOR Bộ so sánh bao gồm hai so so sánh tín hiệu analog đặt PORTA gõ vào so sánh chân RA3:RA0, ngõ hai chân RA4 RA5 Thanh ghi điều khiển so sánh CMCON Các bit CM2:CM0 ghi CMCON đóng vai trị chọn lựa chế độ hoạt động cho Comparator (hình 2.10) SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Cơ chế hoạt động Comparator sau: Tín hiệu analog chân VIN + só sánh với điện áp chuẩn chân VIN- tín hiệu ngõ so sánh thay đổi tương ứng hình vẽ Khi điện áp chân VIN+ lớn điện áp chân VIN+ ngõ mức ngược lại Dựa vào hình vẽ ta thấy đáp ứng ngõ khơng phải tức thời so với thay đổi ngõ vào mà cần có khoảng thời gian định để ngõ thay đổi trạng thái (tối đa 10us) Cần ý đến khoảng thời gian đáp ứng sử dụng so sánh Cực tính so sánh thay đổi dựa vào giá trị đặt vào bit C2INV C1INV (CMCON) Các chế độ hoạt động comparator Các bit C2OUT C1OUT (CMCON) đóng vai trị ghi nhận thay đổi tín hiệu analog so với điện áp đặt trước Các bit cần xử lí thích hợp chương trình để ghi nhận thay đổi tín hiệu ngõ vào Cờ ngắt so sánh bit CMIF (thanh ghi PIR1) Cờ ngắt phải reset Bit điều khiển so sánh bit CMIE (Tranh ghi PIE) Các ghi liên quan đến so sánh bao gồm: CMCON (địa 9Ch) CVRCON (địa 9Dh): xác lập thông số cho so sánh Thanh ghi INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): chứa bit cho phép ngắt (GIE PEIE) Thanh ghi PIR2 (địa 0Dh): chứa cờ ngắt so sánh (CMIF) Thanh ghi PIE2 (địa 8Dh): chứa bit cho phép so sánh (CNIE) Thanh ghi PORTA (địa 05h) TRISA (địa 85h): ghi điều khiển PORTA 3.1.8 BỘ TẠO ĐIỆN ÁP SO SÁNH Bộ so sánh hoạt động Comparator đựơc định dạng hoạt động chế độ ‘110’ Khi pin RA0/AN0 RA1/AN1 (khi CIS = 0) pin RA3/AN3 RA2/AN2 (khi CIS = 1) ngõ vào analog điện áp cần so sánh đưa vào ngõ VIN- so sánh C1 C2 Trong điện áp đưa vào ngõ VIN+ lấy từ tạo điện áp so sánh Bộ tạo điện áp so sánh bao gồm thang điện trở 16 mức đóng vai trị cầu phân áp chia nhỏ điện áp VDD thành nhiều mức khác (16 mức) Mỗi mức có giá trị điện áp khác tùy thuộc vào bit điều khiển CVRR (CVRCON) Nếu CVRR mức logic 1, điện trở 8R khơng có tác dụng thành phần cầu phân áp (BJT dẫn mạnh dịng điện khơng qua điện trở 8R), mức điện áp có giá trị VDD/24 Ngược lại CVRR mức logic 0, dòng điện qua điện trở 8R và1 mức điện áp có giá trị VDD/32 Các mức điện áp đưa qua MUX cho phép ta chọn điện áp đưa pin RA2/AN2/VREF-/CVREF để đưa vào ngõ VIN+ so sánh cách đưa giá trị thích hợp vào bit CVR3:CVR0 Bộ tạo điện áp so sánh xem chuyển đổi D/A đơn giản Giá trị điện áp cần so sánh ngõ vào Analog so sánh với mức điện áp tạo điện áp tạo hai điện áp đạt giá trị xấp xỉ Khi kết chuyển đổi xem chứa bit CVR3:CVR0 Các ghi liên quan đến tạo điện áp so sánh bao gồm: Thanh ghi CVRCON (địa 9Dh): ghi trực tiếp điều khiển so sánh điện áp Thanh ghi CMCON (địa 9Ch): ghi điều khiển Comparator 3.1.9 CCP CCP (Capture/Compare/PWM) bao gồm thao tác xung đếm cung cấp đếm Timer1 Timer2 PIC16F877A tích hợp sẵn hai khối CCP : CCP1 CCP2.Mỗi CCP có ghi 16 bit (CCPR1H:CCPR1L CCPR2H:CCPR2L), pin điều khiển dùng cho khối CCPx RC2/CCP1 RC1/T1OSI/CCP2 Các chức CCP bao gồm: Capture So sánh (Compare) Điều chế độ rộng xung PWM (Pulse Width Modulation) Cả CCP1 CCP2 nguyên tắc hoạt động giống chức khối độc lập Tuy nhiên số trường hợp ngoại lệ CCP1 CCP2 có khả phối hợp với SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 10 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới để để tạo tượng đặc biệt (Special event trigger) tác động lên Timer1 Timer2 Các trường hợp liệt kê bảng sau: Khi hoạt động chế độ Capture có “hiện tượng” xảy pin RC2/CCP1 (hoặc RC1/T1OSI/CCP2), giá trị ghi TMR1 đưa vào ghi CCPR1 (CCPR2) Các “hiện tượng” định nghĩa bit CCPxM3:CCPxM0 (CCPxCON) tượng sau: Mỗi có cạnh xuống pin CCP Mỗi có cạnh lên Mỗi cạnh lên thứ Mỗi cạnh lên thứ 16 Sơ đồ khối CCP (Capture mode) Sau giá trị ghi TMR1 đưa vào ghi CCPRx, cờ ngắt CCPIF set phải xóa chương trình Nếu tượng xảy mà giá trị ghi CCPRx chưa xử lí, giá trị nhận tự động ghi đè lên giá trị cũ Một số điểm cần ý sử dụng CCP sau: Các pin dùng cho khối CCP phải ấn định input (set bit tương ứng ghi TRISC) Khi ấn định pin dùng cho khối CCP output, việc đưa giá trị vào PORTC gây “hiện tượng” tác động lên khối CCP trạng thái pin thay đổi Timer1 phải hoạt động chế độ Timer chế độ đếm đồng Tránh sử dụng ngắt CCP cách clear bit CCPxIE (thanh ghi PIE1), cờ ngắt CCPIF nên xóa phần mềm set để tiếp tục nhận định trạng thái hoạt động CCP CCP tích hợp chia tần số prescaler điều khiển bit CCPxM3:CCPxM0 Việc thay đổi đối tượng tác động prescaler tạo hoạt động ngắt Prescaler xóa CCP khơng hoạt động reset Xem ghi điều khiển khối CCP Khi hoạt động chế độ Compare, giá trị ghi CCPRx thường xuyên so sánh với giá trị ghi TMR1 Khi hai ghi chứa giá trị nhau, pin CCP thay đổi trạng thái (được đưa lên mức cao, đưa xuống mức thấp giữ nguyên trạng thái), đồng thời cờ ngắt CCPIF set Sự thay đổi trạng thái pin điều khiển bit CCPxM3:CCPxM0 (CCPxCON ) Tương tự chế độ Capture, Timer1 phải ấn định chế độ hoạt động timer đếm đồng Ngoài ra, chế độ Compare, CCP có khả tạo tượng đặc biệt (Special Event trigger) làm reset giá trị ghi TMR1 khởi động chuyển đổi ADC Điều cho phép ta điều khiển giá trị ghi TMR1 cách linh động Khi hoạt động chế độ PWM (Pulse Width Modulation _ khối điều chế độ rộng xung), tín hiệu sau điều chế đưa pin khối CCP (cần ấn định pin output) Để sử dụng chức điều chế trước tiên ta cần tiến hành bước cài đặt sau: Thiết lập thời gian chu kì xung điều chế cho PWM (period) cách đưa giá trị thích hợp vào ghi PR2 Thiết lập độ rộng xung cần điều chế (duty cycle) cách đưa giá trị vào ghi CCPRxL bit CCP1CON SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 11 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới CHƯƠNG THIẾT KẾ & PHÂN TÍCH MẠCH SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 21 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới SƠ ĐỒ KHỐI Máy Tính Khối Giao Tiếp Max 232 Khối Xử Lý Trung Tâm PIC 16F877A Khối Đo Nhiệt Độ Khối Kích Tải Khối Điều Chỉnh Điện Áp Tải SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 22 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 4.1.Khối Xử Lý Trung Tâm HI D9 10 K NTC1 J1 J6 SW1 A5 A4 A3 A2 A1 A0 30 pF CON6 J5 E0 E1 E2 J3 CON3 C0 C1 C2 C3 C4 C5 C6 C7 30 pF A0 A1 A2 A3 A4 A5 E0 E1 E2 10 C0 C1 C2 C3 C4 C5 C6 C7 15 16 17 18 23 24 25 26 14 CON8 MCLR/VPP RB7/PGD RB6/PGC RA0/AN0 RB5 RA1/AN1 RB4 RA2/AN2/VREF-/CVREF RB3/PGM RA3/AN3/VREF+ RB2 RA4/TOCKI/C1OUT RB1 RA5/AN4/SS/C2OUT RB0/INT RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SD0 RC6/TX/CK RC7/RX/DT RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0 VSS VSS 30 pF 30 29 28 27 22 21 20 19 J2 CON8 11 32 CON8 OSC2/CLKO MHz 13 VDD VDD 40 39 38 37 36 35 34 33 I H DIODE 31 12 OSC1/CLKI PIC16F877A Hình 4.1: Mạch Xử Lý Trung Tâm Khối điều khiển phần quan trọng , có nhiệm vụ điều khiển hoạt động, tín hiệu điều khiển xuất port I/O Để thuận lợi việc thay hay mở rộng thêm port kéo port cần nâng cấp tiện lợi Trong khối điều khiển có mạch reset, nhiệm vụ khối reset quan trọng không Khi pin MCLR mức logic thấp vi điều khiển reset Với yêu cầu: Không nối chân MCLR trực tiếp lên nguồn, cần thông qua điện trở điện trở phải nhỏ 40K, mạch chọn 10K để đảm bảo đặc tính điện vi điều khiển Sử dụng thạch anh 4MHz, kết nối vào Pin OSC1/CLKI OSC2/CLKO Trong đề tài sử dụng khối xử lý trung tâm với nhiệm vụ sau: - Tiếp nhận lệnh điều khiển từ máy tính, xử lý thực điều khiển thiết bị - Tiếp nhận tín hiệu từ khối đo nhiệt độ, thực trình xử lý truyền liệu lên máy tính SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 23 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 4.2.Khối Max232 Khi thực giao tiếp máy tính với vi điều khiển, ta phải dùng thêm mạch chuyển mức logic từ TTL => 232 ngược lại Các vi mạch thường sử dụng MAX232 Maxim hay DS275 Dallas Mạch chuyển mức logic mô tả sau: VCC P1 16 U1 14 13 T1OUT R1OUT R1IN T1IN C1+ C1 C1- V+ C2 15 gnd R 2IN T 2OUT R 2OU T C2+ 10u T 2IN CONNECTOR DB9 V- C2- TxD_PC To_Pin_C7_PIC vc c RxD_PC 10 J1 12 11 To_Pin_C6 C4 10u CON2 C5 10u MAX232 10u VCC C3 10u Hình 4.2A: Mạch kết nối PIC với máy tính Khi giao tiếp, vi điều khiển DTE nên nối RxD máy tính với TxD vi điều khiển ngược lại Mạch layout sau: Hình 4.2B: Mạch layout kết nối PIC với máy tính SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 24 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 4.3.Khối Relay Kích Tải VCC2=5V VCC1 = 5V VCC1 = 5V 1N4007 R2 1K R1 560 R3 To Relay A1013 4N35 2K2 J1 Chan Kich Hình 4.3A: Mạch kích tải Tín hiệu điều khiển xuất ngồi để kích On/Off relay thông qua chân port D Với opto 4N35 có nhiệm vụ cách ly khối xử lý trung tâm với thiết bị - mục đích bảo vệ Để opto dẫn ta chọn điện áp đặt diode opto 2V, dòng 5mA Như vậy: R1=5-2/5= 600 ohm chọn R1=560 ohm Hiệu điện cách điện 3350V Transistor opto có VCE =0.3 bão hịa, dịng IC =5mA, tính giá trị R2 sau: R2 = (VCC - VCE) / IC = (5 – 0.3) / = 940 ohm Chọn R2 = 1K Khi tín hiệu từ chân kích mức diode opto dẫn làm cho transistor bão hịa lúc điện áp kích cho transistor A1013 mức Để kích relay đóng ngắt trans phải thái bão hịa Chọn R3 = 2.2K để hạn dòng cho transistor A1013 Dưới mạch layout kích relay: Hình 4.3B: Mạch Layout Kích Tải SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 25 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 4.4 Khối Đo Nhiệt Độ VCC = 5V R1 1K Pin A0 LM335 VR 10K Hình 4.4A: Mạch đo nhiệt độ R1 có nhiệm vụ hạn dịng cho LM335, chọn dịng làm việc LM335 2mA, R1 tính sau: R1 = (5 – 2.73) / = 1135 ohm Vậy ta chọn R1=1K Biến trở VR=10K có nhiệm vụ tinh chỉnh mức điện áp ngõ ứng với nhiệt độ mơi trường thích hợp Điện áp từ chân LM335 đưa vào chân A0 Pic, kết nối với ADC PIC Việc điều chỉnh biến trở VR quan trọng, sát phụ thuộc nhiều vào khâu Mạch layout sau: Hình 4.4B: Mạch layout đo nhiệt độ 4.5.Khối Điều Chỉnh Điện Áp: Trên giao diện máy tính có mức điều chỉnh độ sáng mức Normal ( sáng bình thường) mức Low ( sáng yếu) Sử dụng relay điều khiển thiết bị, relay chức On/Off , relay sáng bình thường / sáng yếu Chức linh kiện: - Triac BTA12: điều khiển điện áp thiết bị SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 26 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Điac X805: định ngưỡng điện áp để triac dẫn R=68K: điện trở hạn chế C=683: tụ tạo điện áp ngưỡng để mở thông triac mở thông điac VR=500K : Biến trở điều chỉnh khoảng thời gian dẫn triac - LS1 J4 AC 1 TRIAC kich1 R6 68K RELAY SPDT DIAC LS2 J5 2 683 RELAY SPDT kich2 LAMP Hình 4.5A: Mạch điều chỉnh điện áp Nguyên lý hoạt động: relay LS1 kích, đóng mạch, nguồn 220V hình sin cấp, thời điểm điện áp đổi dấu triac chưa dẫn, tụ C nạp Điện áp tụ tăng dần điện áp tụ đạt ngưỡng mở thông điac, có dịng điều khiển chạy vào cực điều khiển triac, triac mở thời điểm dịng điện Khi biến trở VR thay đổi, số nạp tụ thay đổi, thời điểm mở triac thay đổi, thời gian dẫn dòng điện triac thay đổi, điện áp dòng điện đưa vào thiết bị thay đổi theo Hình 4.5B: Mạch layout điều chỉnh điện áp SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 27 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới CHƯƠNG LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 28 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 5.1 Xây Dựng Giao Diện Người Dùng Trên Máy Tính Giao diện thiết kế ngơn ngữ lập trình Visual Basic 6.0 Thơng qua thiết bị chuột, bàn phím người dùng đưa lệnh điều khiển thiết bị Với sơ đồ giải thuật sau: Bắt Đầu Đăng Nhập Vào Giao Diện Điều Khiển Cài Đặt Các Thông Số Kết Nối Thiết Bị No Tác Động Hiển Thị Giá Trị Nhiệt Độ Yes Đánh Giá Và Xử Lý Sự Kiện Truyền lệnh điều khiển thiết bị No Đăng Xuất Yes Kết Thúc SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 29 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 5.2.Xây Dựng Chương Trình Điều Khiển Trên Board Xử Lý Trung Tâm Bắt đầu Khởi tạo chương trình Nhận xử lý liệu từ chân A0 No Truyền lên máy tính Ngắt RDA yes Nhận liệu từ máy tính Xử lý xuất tín hiệu điều khiển thiết bị Kết thúc SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 30 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 5.3 Xây Dựng Chương Trình Điều Khiển Trên Board Xử Lý Đầu Cuối 5.3.1 Lưu đồ chương trình board xử lý đầu cuối Bắt đầu Cho phép ngắt hoạt động No Nhận liệu Yes Xử lý liệu điều khiển thiết bị Kết Thúc SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 31 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới 5.3.2.Lưu đồ chương trình xử lý liệu điều khiển thiết bị: A Bắt Đầu No No Pin D0=0 & Pin D1=0 Pin D2=0 & Pin D3=0 Yes Yes Bật Thiết Bị sáng yếu Bật Thiết Bị sáng yếu No No Pin D2=0 &Pin D3=1 Pin D0=0 &Pin D1=1 Yes Yes Bật Thiết bị sáng bình thường Bật Thiết bị sáng bình thường No No Yes Pin D0=1 Yes Pin D2=1 Tắt thiết bị Tắt thiết bị A B C SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 32 B Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Pin D4=0 No Pin D6=0 No Yes Bị Bật Thiết Pin D4=1 Yes Bật Thiết Bị No Pin D6=1 Yes No Yes Tắt Thiết Bị Pin D5=0 No Tắt Thiết Bị Kết Thúc Yes Bật Thiết Bị Pin D5=1 No Yes Tắt Thiết Bị C SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 33 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới CHƯƠNG KẾT LUẬN SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 34 Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình GVHD:Nguyễn Phú Quới Tự Đánh Giá Kết Quả Sau tuần làm việc tương đối nghiêm túc với hướng dẫn tận tình giáo viên hướng dẫn, góp ý bạn bè nổ lực thân, đồ án Điều Khiển Và Giám Sát Thiết Bị Điện Gia Đình hồn thành thời gian quy định, với ưu khuyết điểm sau: Ưu điểm: - Điều khiển thiết bị từ máy tính, tiện dụng có nhu cầu bật / tắt nhiều thiết bị thời gian ngắn - Có thể cài đặt thời gian bật / tắt thiết bị - Theo dõi cảnh báo nhiệt độ nằm khoảng giới hạn tự động điều khiển thiết bị cài đặt trước - Lưu trữ liệu trình Khuyết điểm: - Số lượng thiết bị điều khiển giới hạn - Trạng thái thiết bị không tự động báo báo - Kiến thức tin học viễn thơng cịn hạn chế nên việc áp dụng chưa triệt để Hướng Phát Triển Đề Tài: - Mở rộng phần cứng, phần mềm để điều khiển nhiều thiết bị - Chuyển sang công nghệ không dây, việc điều khiển thuận lợi SVTH: Phạm Thanh Hiếu & Phan Thanh Liêm 35