I. Tên đề tài: “ Thiết kế hệ thống bậttắt đèn trong nhà theo ánh sáng dùng vi điều khiển” II. Số liệu ban đầu: + Nguồn 220V AC + Vi điều khiển PIC + Vi điều khiển PIC18F4520 III. Nội dung thiết kế Yêu cầu: Cường độ ánh sáng được hiển thị trên LCD 16x2 hay LED 7 đoạn; Thao tác điều khiển bật tắt đèn khi cường độ ánh sáng vượt ngưỡng đặt trên và dưới ; Dùng hợp ngữ để lập trình CHƯƠNG 1: NGUYÊN LÍ HOẠT ĐỘNG CỦA HỆ THỐNG Yêu cầu: Sinh viên trình bày từ 12 trang 1.1 Xây dựng mục tiêu và sơ đồ khối của hệ thống dùng vi điều khiển 1.2 Nguyên lí hoạt động CHƯƠNG 2: TÍNH CHỌN LINH KIỆN SỬ DỤNG TRONG HỆ THỐNG Yêu cầu: Sinh viên Giới thiệu chung về các linh kiện sẽ sử dụng trong hệ thống. Phần tính toán phải tính được công thức chuyển đổi từ giá trị số đọc từ ADC thành đại lượng vật lý cần đo; phải tính được công suất mạch nguồn 2.1 Giới thiệu các linh kiện trong hệ thống 2.2 Tính toán linh kiện trong hệ thống CHƯƠNG 3: MÔ PHỎNG HỆ THỐNG Yêu cầu: Sinh viên Dùng Proteus vẽ sơ đồ nguyên lý của hệ thống Xây dựng lưu đồ thuật toán và lập trình Assembly vận hành hệ thống, dịch sang mã hex để chạy thử mô phỏng trên Proteus 3.1 Thiết kế mạch nguyên lý 3.2 Lưu đồ thuật toán của chương trình chính 3.3 Chạy mô phỏng chương trình bằng ứng dụng Proteus CHƯƠNG 4: CHẾ TẠO MẠCH THỰC TẾ Yêu cầu: Sinh viên Đưa ra mạch in; Ảnh của hệ thống đã lắp ráp; nhận xét ưu nhược điểm của hệ thống khi chạy 4.1 Thiết kế mạch in 4.2 Lắp đặt thiết bị và hoàn thiện mạch 4.3 Chạy mạch và đánh giá kết quả
Trang 1KHOA ĐIỆN
BỘ MÔN TỰ ĐỘNG HOÁ
ĐỒ ÁN MÔN HỌCĐIỀU KHIỂN VI XỬ LÍ &
Trang 2Bộ môn Tự động hóa
-o0o -NHIỆM VỤ ĐỒ ÁN MÔN HỌC VI XỬ LÍ VÀ VI ĐIỀU KHIỂN
Họ và tên sinh viên: Nguyễn Thành Nhơn Lớp: 17TDH2
I. Tên đề tài: “ Thiết kế hệ thống bật/tắt đèn trong nhà theo ánh sáng dùng vi điều khiển”
II Số liệu ban đầu:
+ Nguồn 220V AC
+ Vi điều khiển PIC
+ Vi điều khiển PIC18F4520
III Nội dung thiết kế
Yêu cầu: Cường độ ánh sáng được hiển thị trên LCD 16x2 hay LED 7 đoạn; Thao tác điều khiển bật /tắt đèn khi cường độ ánh sáng vượt ngưỡng đặt trên và dưới ; Dùng hợp ngữ để lập trình
CHƯƠNG 1: NGUYÊN LÍ HOẠT ĐỘNG CỦA HỆ THỐNG
Yêu cầu: Sinh viên trình bày từ 1-2 trang
1.1 Xây dựng mục tiêu và sơ đồ khối của hệ thống dùng vi điều khiển
1.2 Nguyên lí hoạt động
CHƯƠNG 2: TÍNH CHỌN LINH KIỆN SỬ DỤNG TRONG HỆ THỐNG
Yêu cầu: Sinh viên Giới thiệu chung về các linh kiện sẽ sử dụng trong hệ thống.
Phần tính toán phải tính được công thức chuyển đổi từ giá trị số đọc từ ADC thành đại lượng vật
lý cần đo; phải tính được công suất mạch nguồn
2.1 Giới thiệu các linh kiện trong hệ thống
2.2 Tính toán linh kiện trong hệ thống
CHƯƠNG 3: MÔ PHỎNG HỆ THỐNG
Yêu cầu: Sinh viên Dùng Proteus vẽ sơ đồ nguyên lý của hệ thống
Xây dựng lưu đồ thuật toán và lập trình Assembly vận hành hệ thống, dịch sang mã hex để chạy thử mô phỏng trên Proteus
3.1 Thiết kế mạch nguyên lý
3.2 Lưu đồ thuật toán của chương trình chính
3.3 Chạy mô phỏng chương trình bằng ứng dụng Proteus
CHƯƠNG 4: CHẾ TẠO MẠCH THỰC TẾ
Yêu cầu: Sinh viên Đưa ra mạch in; Ảnh của hệ thống đã lắp ráp; nhận xét ưu nhược điểm của
hệ thống khi chạy
4.1 Thiết kế mạch in
4.2 Lắp đặt thiết bị và hoàn thiện mạch
4.3 Chạy mạch và đánh giá kết quả
IV Bản vẽ: Vẽ sơ đồ khối của hệ thống , mạch nguyên lý, chương trình điều khiển trên giấy A2
V Tài liệu tham khảo:
Trần Thái Anh Âu- Giáo trình Vi xử lý và vi điều khiển- Trung tâm học liệu Đại học Đà Nẵng – 2014
VI Thời gian bắt đầu:
Kiểm tra tiến độ đồ án Đà Nẵng, ngày tháng năm
Giáo viên hướng dẫn
Trang 5CHƯƠNG I: NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG VI ĐIỀU KHIỂN
I.1 Xây dựng mục tiêu và sơ đồ khối của hệ thống dùng vi điều khiển PIC
I.1.1 Xây dựng mục tiêu
Ngày nay, vi điều khiển được sử dụng rộng rãi với nhiều ứng dụng khác nhau trong đời sống sinh hoạt cũng như trong sản xuất công nghiệp Vi điều khiển giúp thaythế các mạch điện phức tạp, thực hiện các công việc tính toán, điều khiển thiết bị hay tiến hành các công việc lặp đi lặp lại một cách dễ dàng Vì vậy, đồ án lần này với đề tài “ Thiết kế hệ thống bật/tắt đèn trong nhà theo ánh sáng dùng vi điều khiển” là cơ hội để em có thể áp dụng những kiến thức đã học của mình ở môn Vi xử lí và Vi điều khiển trong thực tế và tạo ra một sản phẩm hoàn thiện có khả năng đáp ứng nhu cầu của con người
I.1.2 Sơ đồ khối của hệ thống dùng vi điều khiển PIC
Ánh sáng
Cảm biến ánhsáng
Chuyển đổi ADC
Relay đènNút nhấn
Start/Stop
Vi điều khiển
LCD hiển thị
Trang 6I.2 Nguyên lý hoạt động
- Cảm biến được sử dụng trong đề tài này là quang trở, khi có sự thay đổi của ánh sáng chiếu vào quang trở thì điện trở của nó sẽ thay đổi, ta cần mắc quang trở nối tiếp cùng với một điện trở khác tạo thành một cầu phân áp , khi đó sự thay đổi điện trởtrên quang trở sẽ trở thành sự thay đổi điện áp
- Sau đó giá trị điện áp được đưa vào vi xử lý PIC18F4520 đã tích hợp sẵn bộ chuyển đổi ADC để chuyển đổi sang tín hiệu nhị phân
- Tín hiệu nhị phân của điện áp sẽ được vi xử lý tính toán chuyển đổi sang đơn vịcường độ ánh sáng LUX
- Cường độ ánh sáng sẽ được hiển thị ra màn hình LCD 2004, đồng thời đem so sánh với giới hạn trên và giới hạn dưới của cường độ ánh sáng đã cài đặt trước và sẽ quyết định bật hay tắt đèn ( nếu cường độ ánh sáng bé hơn giới hạn dưới thì sẽ bật đèn
và ngược lại)
CHƯƠNG II: TÍNH CHỌN CÁC LINH KIỆN SỬ DỤNG TRONG HỆ THỐNG
II.1 Giới thiệu các linh kiện trong hệ thống
II.1.1 Tổng quan về họ vi điều khiển PIC
PIC (Programmable Intelligent Computer) là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology
PIC được sản xuất lần đầu năm 1975 để hổ trợ hoạt động xuất nhập cho máy chủ16bit CP1600 PIC có cấu trúc tương tự như cấu trúc RISC bao gồm microcode đơn giản đặt trong ROM và chạy một lệnh với một chu kì máy Ngày nay, bằng việc tích hợp thêm bộ nhớ EEPROM và các module ngoại vi như USART, PWM, ADC, PIC đãtrở thành một bộ điều khiển vào ra khả trình thực thụ
a) Một vài đặc tính chung của vi điều khiển PIC
− Là CPU 8/16 bit có cấu trúc Harvard
− Có bộ nhớ Flash và Rom có thể tùy chọn từ 256 byte đến 256 Kbyte
Trang 7− Có hỗ trợ giao tiếp LCD
− Có hỗ trợ giao tiếp USB
− Hỗ trợ giao tiếp CAN
− Hỗ trợ điều khiển Etthernet
b) Các đặc tính ngoại vi
− Bộ định thời Timer
− Các khối Capture, Compare, PWM
− Bộ chuyển đổi A/D
c) Các đặc tính tương tự
− Có các kênh chuyển đổi tín hiệu tương tự thành số
− Khối so sánh điện áp tương tự:
• Bộ so sánh tương tự
• Khối tạo điện áp chuẩn VREF có thể lập trình
• Đa hợp ngõ vào lập trình từ ngõ vào của CPU với điện áp chuẩn bên trong
d) Các đặc tính đặc biệt
− Bộ nhớ chương trình Enhanced Flash cho phép xóa và ghi 100000 lần
− Bộ nhớ EEPROM cho phép xóa và ghi 1000000 lần và có thể lưu dữ liệu
40 năm
− Có Watchdog Timer (WDT) với bộ dao động RC tích hợp trên chip
− Có thể lựa chọn bộ dao động
− Có thể hoạt động ở chế độ ngủ để tiết kiệm năng lượng
II.1.2 Vi điều khiển PIC18F4520A
a) Giới thiệu chung
− Là loại vi điều khiển 8 bit có bộ nhớ Enhanced Flash sử dụng công nghệ nanoWatt dựa trên cấu trúc RISK
− PIC18F4520A bao gồm bộ nhớ dữ liệu EEPROM 256 byte, 1536 byte bộ nhớ RAM và bộ nhớ chương trình 32K
− Ngoài ra, PIC18F4520A còn có bộ chuyển đổi ADC 10 bit với 13 kênh cùng nhiều tính năng khác nên được ứng dụng nhiều trong hệ thống
nhúng và điều khiển tự động hóa
− PIC18F4520A có nhiều loại, ở đây ta sử dụng loại 40 chân
Trang 8Hình 2.1: Sơ đồ chân PIC18F4520A
b) Cổng vào ra và tổ chức bộ nhớ của vi điều khiển
PIC18F4520 có 5 cổng, các cổng A, B, C, D mỗi cổng có 8 chân, riêng cổng E
Trang 9Hình 2.2: Sơ đồ tổ chức bộ nhớ RAM
Trong bộ nhớ RAM, có các bank nhớ chứa các thanh ghi chức năng đặc biệt
(SFR) và thanh ghi mục đích chung (GPR) Trong đó, SFR là các thanh ghi có chức năng thể hiện trạng thái hoặc điều khiển các khối bên trong vi điều khiển PIC (Ví dụ như thanh ghi STATUS thể hiện trạng thái các cờ, thanh ghi ADCON0 dùng để thiết lập bộ ADC,…) còn thanh ghi GPR nơi lưu các giá trị tạm thời và gán giá trị cho các biến
Trang 10Hình 2.3: Các thanh ghi chức năng đặc biệt
Trang 11c) Sơ đồ khối và chức năng dồn kênh
Hình 2.4: Sơ đồ khối PIC18F4520A
Một chân có chức năng dồn kênh tức là nó có thể thực hiện nhiều chức năng, việc lựa chọn sử dụng chức năng nào sẽ do người lập trình quyết định Ta có thể lấy một vài ví dụ về chức năng dồn kênh này như:
− Chân RA0/AN0 có 2 chức năng:
• RA0: xuất/nhập số
• AN0: ngõ vào tương tự của kênh thứ 0
− Chân RA4/TOCKI/C1OUT có 3 chức năng:
• RA4: Xuất/nhập số
• TOCKI: Ngõ vào xung clock từ bên ngoài
• C1OUT: Ngõ ra bộ so sánh 1
Trang 12d) Cài đặt vào/ra cho các chân vào ra số trên các cổng
Để thiết lập nhập, xuất cho các chân trong các cổng của vi điều khiển, ta cần nhập giá trị cho thanh ghi TRIS của cổng đó Ví dụ để cài đặt các chân của cổng A là chân nhập, ta thực hiện clear các bit trong TRISA về 0, ngược lại để các chân là chân xuất, ta set các bit trong thanh ghi TRISA lên 1
e) Các đặc tính ngoại vi
− Có 4 timer gồm 3 Timer 16 bit và 1 Timer 8 bit
− Bộ chuyển đổi ADC 10 bit
để ứng dụng trong các mạch cảm biến ánh sáng như: Điều chỉnh độ sáng đèn Bật tắt đèn khi trời sáng/tối, mạch báo thức đơn giản tận dụng ánh sáng mặt trời,
Hình 2.5: Quang trở
b) Thông số kĩ thuật:
− Ta chọn quang trở loại GL5528 với thông số kĩ thuật như sau:
− Điện áp đặt vào cực đại : 150V
− Hoạt động trong khoảng nhiệt độ : -30 ~ 70 °C
Trang 13− Công suất tối đa : 100mW
Trang 14II.2 Tính chọn linh kiện trong mạch
II.2.1 Chuyển đổi giá trị đọc từ ADC thành cường độ ánh sáng cần đo
Trang 15Hình 2.7 : Đồ thị thể hiện quan hệ cường độ sáng và điện trở của quang trở
Cường độ ánh sáng thường được đánh giá thông qua độ rọi có đơn vị là lux, thể hiện quang thông trên một đơn vị diện tích
Đơn vị của quang thông là lumen, kí hiệu là lm
Đơn vị của độ rọi là lux, kí hiệu là lx ( 1 lx=1lm/m2)
Có thể mô tả đồ thị trên bằng công thức:
• L là độ rọi thể hiện cường độ ánh sáng
• RL là điện trở của quang trở
• K là hằng số
Dựa vào đồ thị, ta có L=100 thì RL=5 kΩ nên K= L.RL=5.100=500
Vậy quan hệ giữa cường độ ánh sáng và điện trở của quang trở được thể hiện bằng công thức:
L
500LR
=
(Lux)
Ta thiết kế mạch phân áp như hình vẽ:
Trang 16Hình 2.8 : Mạch phân áp đưa tín hiệu vào PIC
Từ mạch phân áp, ta có công thức:
REF in
in
5.(V V )R
5115
5V
Trang 17− IC ổn áp 7805:
+ Điện áp vào :0-35V+ Điện áp ra : 5V+ Sụt áp : 2V – 1A+ Dòng điện ra : 1,5 A
II.2.3 Công suất tiêu thụ của nguồn :
− Màn hình : P1 = 0,15.10-3 5= 0,75 (mW)
− Pic 18F452 : P2 = 0,025 x 27 x 5 = 3.375 W
− Mạch phân áp đưa tín hiệu analog vào: P3 = 5 x 0,001=0,005 W
− Tổn hao khác trên mạch như : dây dẫn,nút nhấn, rò rỉ điện… chọn P4= 1 (W)
Tổng công suất mạch:
P= P1+P2+P3+P4= 0,36+2,5+3+0,5+0,5 = 6,86 W
Trang 18CHƯƠNG III: MÔ PHỎNG HỆ THỐNG
III.1 Thiết kế mạch nguyên lí
Hình 3.1: Sơ đồ mạch nguyên lí của hệ thống
Trang 19III.2 Lưu đồ thuật toán của chương trình chính
III.2.1 Chương trình chính
Trang 20III.2.2 Chương trình đọc ADC
Trang 21III.2.3 Chương trình chia 2 số 16 bit
Trang 22III.2.4 Chương trình nhân số 16 bit với số 8 bit
Trang 23III.2.5 Chương trình tính toán cường độ ánh sáng
Trang 24III.2.6 Chương trình tách kết quả để hiển thị
III.3 Chạy mô phỏng chương trình bằng phần mềm Proteus
III.3.1 Chương trình hợp ngữ
PROCESSOR PIC18F4520
#include <p18f4520.inc>
CONFIG WDT=OFF; watch dog timer off
CONFIG BOREN=OFF; reset when power supply lower than level requiredCONFIG OSC=HS
Trang 25COUNT, COUNT1, CHAR_COUNT ; DELAY , start at 0x35
HUND, TEN, UNIT ; LCD display, start at 0x38
LIML, LIMH ; Limitation, start at 0x3B
Trang 26CALL INIT_ADC
CALL START_ADC
CALL PRE_LINE
CALL XU_LI_PT ; TINH TOAN
CALL XU_LI_KQ ; TACH SO
CALL HIEN_THI_LCD ; XUAT KQ SANG LCD
CALL KT_NGUONG ; KIEM TRA NGUONG BAT TAT DEN
CALL LED_STATUS; HIEN THI TRANG THAI DEN
Trang 30MOVFF PRODH, RES1
MOVFF PRODL, RES0
Trang 33MOVFF TDENH, DVSH
CALL DIV
MOVFF QUL, RESULTL
MOVFF QUH, RESULTH
CALL CLEAR_MUL ; LAY PHAN THAP PHAN
MOVFF REH, ARG1H
MOVFF REL, ARG1L
MOVLW 0X0A
MOVWF ARG2
CALL MUL_10 ; SO DU NHAN 10
CALL CLEAR_DIV ; CHIA CHO MAU SO
Trang 34MOVLW 0X64
MOVWF DVSL
CALL DIV
MOVFF QUL, HUND
MOVFF REH, DVDH ; TACH SO HANG CHUC
MOVFF QUL, TEN
MOVFF REL, UNIT ; TACH HANG DON VI
Trang 36; HIEN THI TRANG THAI DEN TREN LCD
Trang 38END
III.3.2 Kết quả mô phỏng trên Proteus
Hình 3.2: Kết quả mô phỏng trên Proteus