Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổbiến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông, đếmsản phẩm truyền trên băng chuyền, điều khi
Trang 1TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: HỆ THỐNG NHÚNG
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN ĐÈN
THÔNG MINH
Giảng viên hướng dẫn: TS Nguyễn Trọng Đức
Sinh viên thực hiện: Phạm Tuấn Anh - 45353
Trần Văn Hưng - 45373
Đinh Xuân Hoàng - 45370 Đặng Hoài Ninh - 45393 Nguyễn Ngọc Sơn - 45462
Hải phòng, 2016
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 3
CHƯƠNG 1: PHÂN TÍCH BÀI TOÁN 4
1.1 Khảo sát và phân tích bài toán 4
1.2 Lựa chọn giải pháp 6
1.2.1 Giải pháp công nghệ 6
1.2.2 Giải pháp thiết kế 6
1.2.3 Các yêu cầu 6
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 7
2.1 Sơ đồ tổng quát 7
2.2 Các module trong hệ thống 8
2.2.1 Module khối nguồn 8
2.2.2 Module cảm biến 8
2.2.3 Module điều khiển trung tâm 9
2.2.4 Module tương tác điều khiển (hiển thị) 10
2.2.5 Module chấp hành 10
2.3 Lựa chọn linh kiện 11
2.3.1 Sơ đồ chân vi điều khiển PIC 16F877A 11
2.3.2 Một vài thông tin về PIC 16F877a 11
2.3.3 Led hồng ngoại 13
2.3.4 Led 7 đoạn 14
2.3.5 Tụ điện 15
2.3.6 Rơle 15
2.4 Sơ đồ nguyên lí của mạch 16
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 17
3.1 Thiết kế phần cứng 17
3.2 Thiết kế phần mềm 17
3.3 Kết quả mô phỏng 21
ĐÁNH GIÁ VÀ KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 26
Trang 3Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổbiến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông, đếmsản phẩm truyền trên băng chuyền, điều khiển tốc độ động cơ, thiết kế bảngquảng cáo điện tử… đến các ứng dụng phức tạp như: điều khiển robot, hệ thốngkiểm soát, điều khiển máy móc… Các hệ thống tự động trước đây sử dụng nhiềucông nghệ khác nhau như các hệ thống tự động hoạt động bằng nguyên lý khínén, thủy lực, rơle cơ điện, mạch điện tử số, các thiết bị máy móc tự động bằngcác cam chốt cơ khí… các thiết bị, hệ thống này có chức năng xử lý và mức độ
tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảngcác hệ thống nhúng
Với mong muốn giới thiệu ứng dụng cơ bản của hệ thống nhúng trongthực tế, nhóm em đưa ra mô hình thiết kế hệ thống điều khiển đèn thông minhdùng cho các phòng hội thảo chuyên ngành
Trong quá trình thực hiện đồ án môn học, nhóm em cố gắng thiết kế saocho mô hình đơn giản nhất, ổn định nhất, tuy nhiên do vấn đề thời gian và kinhnghiệm nên mô hình vẫn còn gặp phải những vấn đề chưa thể khắc phục được
Trang 4CHƯƠNG 1: PHÂN TÍCH BÀI TOÁN
1.1 Khảo sát và phân tích bài toán
Hiện nay hầu hết việc giám sát và điều khiển đèn chiếu sáng trong phònghội thảo được điều khiển bằng tay thông qua việc đóng mở công tắc, các atomat,cầu dao… Điều này khá thuận lợi và đơn giản vì ta có thể bật tắt đèn theo nhucầu sử dụng Tuy nhiên, không phải ai cũng có ý thức tiết kiệm điện, giữ gìnthiết bị điện Vì thế, mọi người không biết khi nào nên đóng mở hệ thống đèngây lãng phí về điện năng, hao tổn thiết bị điện, gây ra những hậu quả tiêu cựccho toàn xã hội
Trên thị trường hiện nay đã xuất hiện một số loại đèn thông minh, nhưSmartLigh do Hàn Quốc sản xuất: được tích hợp sensor cảm ứng hồng ngoạithân nhiệt, đèn sẽ tự động được bật khi có người đi vào vùng cảm ứng và tắt đènkhi không có người
SmartLight phù hợp với mọi nhu cầu chiếu sáng thông minh của bạn tạisân cổng, phòng khách, phòng ngủ, nhà vệ sinh, cầu thang, văn phòng… giúpbạn bật tắt đèn hoàn toàn tự động, mang lại sự an toàn, tiện nghi và tiết kiệmđiện
Tuy nhiên thiết bị này tích hợp luôn bộ điều khiển với đèn trong 1 sảnphẩm Do đó giá thành cao và không thích hợp cho các phòng cần lượng chiếusáng lớn, không thay đổi được các loại bóng đèn theo yêu cầu
Hệ thống giám sát điều khiển chiếu sáng sử dụng camera kết nối với máytính để kiếm soát số người trong phòng, qua đó phát lệnh đóng mở công tắc tự
Trang 5Hệ thống bật tắt đèn tự động sử dụng IC số và mạch Logic cho phép tadựa vào lượng người vào ra để đóng ngắt các công tắc một cách tự động Hệthống này cấu tạo đơn giản, rẻ, không phải lập trình mà chỉ dựa vào mạch Logic
… nhưng tính linh động không cao, khó chỉnh khi điều kiện làm thay đổi, ít cókhả năng nâng cấp mở rộng hệ thống
Với những phòng hội thảo này, khi mà lưu lượng người không quá lớn và
có thể kiểm soát được việc người qua cửa thì ta hoàn toàn có thể áp dụng hệthống đèn thông minh sử dụng Vi điều khiển được lập trình đề bật tắt đèn Điềunày vừa tiện lợi cho mọi người: ứng dụng công nghệ tự động hóa vào cuộc sốngcon người, đảm bảo đủ ánh sáng trong quá trình làm việc, góp phần tiết kiệmđiện năng trong thời kì thiếu hụt điện năng hiện nay
Trang 61.2 Lựa chọn giải pháp
1.2.1 Giải pháp công nghệ
Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng hệ thốngđiều khiển đèn thông minh cho các phòng hội thảo chuyên ngành: điều khiển bậttắt đèn qua việc kiểm soát lưu lượng người ra vào phòng Thu nhận tín hiệu rồi
xử lí tín hiệu, khi có người vào phòng, nếu đèn đang bật thì vẫn bật, đèn chưabật thì bật lên, khi mọi người ra hết khỏi phòng thì tắt đèn đi Trong quá trìnhlàm việc hệ thống luôn hiển thị số người còn đang ở trong phòng để tiện choviệc kiểm tra, theo dõi
1.2.2 Giải pháp thiết kế
Để phát hiện người ra ta dùng 2 bộ thu phát hồng ngoại mắc gần nhau đặt
ở cửa ra vào
Xử lý, điều khiển dùng vi điều khiển Pic: lập trình Pic nhận tín hiệu vào
từ 2 bộ Led hồng ngoại, tính toán xử lí để đưa ra lện bật tắt đèn
Để hiện thị ta dùng Led 7 thanh: lấy tín hiệu ra từ Pic để thông báo xemtròng phòng có bao nhiêu người
Điều khiển tắt/mở bóng đèn nhờ transistor cấp dòng cho rơle
o Ở một thời điểm chỉ có 1 người qua cửa
Có người đi vào thì bật đèn và đi ra thì tắt đèn
Hệ thống có 2 chế độ làm việc tự động và bằng tay
Làm việc với điện áp 220V/50Hz
Sensor và công nghệ tùy chọn
Có khả năng nâng cấp, cải tiến
Trang 7CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
2.1 Sơ đồ tổng quát
Hệ thống điều khiển đèn thông minh gốm có 5 khối chính:
Khối nguồn: cung cấp nguồn cho hệ thống
Khối cảm biến: sử dụng sensor hồng ngoại dùng để thu nhận tín hiệungười vào ra phòng, đưa tín hiệu thu được vào chân Pic để xử lý Đểnhận biết người đi vào hay đi ra ta dùng 2 bộ thu phát hồng ngoại mắcgần nhau
Khối xử lý: dùng VDK Pic 16F877A để lấy tín hiệu từ cảm biến, tínhtoán, lưu trữ và đưa ra khối hiển thị và khối chấp hành
Khối hiển thị: lấy tín hiệu ra từ chân Pic để hiển thị số lượng ngườihiện đang ở trong phòng trên Led 7 thanh
Khối chấp hành: nhận tín hiệu từ khối xử lý để thực hiện đóng cắt tiếpđiểm mạch động lực
Trang 82.2 Các module trong hệ thống
2.2.1 Module khối nguồn
Module này tạo ra điện áp một chiều từ nguồn xoay chiều 220V để cungcấp cho các linh kiện trong hệ thống Sử dụng biến áp để biến điện áp xoaychiều 220V thành xoay chiều 12V, dùng chỉnh lưu từ 12V xoay chiều sang 12Vmột chiều, dùng IC 7805 ổn áp để lấy điện áp ổn định 5V ở ngõ ra
2.2.2 Module cảm biến
Bộ phận cảm biến của hệ thống sử dụng mạch thu phát hồng ngoại Ledphát hồng ngoại nối với nguồn 1 chiều qua điện trở R1, R2: phát ra ánh sánghồng ngoại truyền tới Led thu Led thu hồng ngoại có 3 chân: chân 3 và 1 nốivới nguồn qua R3, R4 và đất, chân 2 lấy tín hiệu ra đưa vào chân Vi xử lý Ởtrạng thái bình thường, tín hiệu hồng ngoại truyền từ khối phát được Led thu thunhận, trên đầu ra 2 tín hiệu ở mức cao( mức 1), khi có người đi cắt qua khiếnLed thu mất tín hiệu, đầu ra 2 cho tín hiệu ở mức thấp(mức 0) Để có thể phânbiệt được là người đi ra hay đi vào ta mắc 2 bộ Thu-Phát song song và đặt cạnhnhau Tín hiệu thu được từ đầu ra của 2 Led thu được đưa vào 2 chân Vi xử lý
để thực hiện quá trình tính toán, kiểm tra, lưu trữ…
Trang 92.2.3 Module điều khiển trung tâm
Khối điều khiển trung tâm dùng vi điều khiển Pic 16F877A Khi có tínhiệu ngắt từ bộ thu hồng ngoại qua các chân RB4 và RB5 của cổng B thì vi điềukhiển sẽ kích hoạt ngắt cổng B từ RB4 đến RB7, qua thuật toán đã nạp Pic thựchiện chương trình điều khiển đưa tới các cổng A, C, D tín hiệu để điều khiểnkhối hiển thị( Led 7 thanh) và khối chấp hành(module động lực)
Bộ tạo dao động dùng thạch anh 20M cung cấp nguồn dao động cho Pic
Bộ Reset cấp nguồn 5V và xác lập trạng thái ban đầu cho Pic
Trang 102.2.4 Module tương tác điều khiển (hiển thị)
Để tiện cho việc kiểm tra theo dõi số người hiện đang ở trong phòng, ta sử dụng
2 Led 7 thanh mắc chung Anot với số người hiển thị tối đa 99 người Tín hiệuđiều khiển từ vi xử lý đưa ra cổng C để bật tắt các thanh Led từ 1 đến 7( tích cực
ở mức dương) tương ứng với các con số từ 0 đến 9 cần hiển thị Để hiện thị các
2 Led ta dùng thuật toán quét Led với tín hiệu đưa ra từ cổng D quyết định Led
1 hay Led 2 được bật
2.2.5 Module chấp hành
Bộ phận chấp hành có Role nối với thiết bị điện Vi xử lý sau khi xử lý tín hiệu
sẽ gửi lệnh điều khiển để đóng mở Transistor cấp nguồn cho cuộn dây củaRole(dòng hoặc áp) Đèn điện được nối với nguồn 220V xoay chiều qua tiếpđiểm của Role, khi Role tác động thì đèn bật lên và ngược lại đèn tắt khi Rolethôi tác động Để đảm bảo cho hệ thống có thể làm việc ở cả 2 chế độ bằng tay
và tự động ta dùng công tắc 3 vị trí: ở vị trí 1 để làm việc tự động, còn vị trí 2/3tương ứng với tắt/bật đèn
Trang 112.3 Lựa chọn linh kiện
2.3.1 Sơ đồ chân vi điều khiển PIC 16F877A
2.3.2 Một vài thông tin về PIC 16F877a
PIC bắt nguồn từ chữ viết tắt của “Programmable Intelligent Computer”( Máy tính khả trình thông minh) là sản phẩm của hãng General Instrument đặtcho dòng sản phẩm đầu tiên của họ là PIC 1650 Lúc này Pic dùng để giao tiếpvới các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy người ta gọi PIC vớitên là “ Peripheral Interface Controller” ( bộ điều khiển giao tiếp ngoại vi) Năm
1985 General Instrument bán bộ phận vi điện tử của họ, và chủ sở hữu mới(Microchip Technology) huỷ bỏ hầu hết các dự án – lúc đó đã quá lỗi thời Tuynhiên PIC được bổ sung EEPROM để tạo thành một bộ điều khiển vào ra khảtrình Ngày nay có rất nhiều dòng PIC được sản xuất với hàng loạt các modulngoại vi được tích hợp sẵn ( như :USART, PWM, ADC…) với bộ nhớ chươngtrình từ 512 word đến 32k word
PIC sử dụng tập lệnh RISC, với dòng PIC low-end (độ dài mã lệnh 12 Bit
ví dụ PIC12Cxxx) và mid-range (độ dài mã lệnh 14 bit , ví dụ PIC16Fxxx), tậplệnh bao gồm khoảng 35 lệnh, và 70 lệnh đối với dòng PIC high-end( có độ dài
Trang 12mã lệnh 16bit PIC18Fxxxx) Tập lệnh bao gồm các lệnh tính toán trên các thanhghi, và các hằng số, hoặc các vị trí ô nhớ, cũng như có các lệnh điều kiện, nhảy/gọi hàm, và các lệnh quay trở về, nó cũng có các chức năng phần cứng khác nhưngắt hoặc sleep( chế độ hoạt động tiết kiệm điện ) Microchip cung cấp môitrường lập trình MPLAB0, nó bao gồm phần mềm mô phỏng và trình dịch ASM
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng,nhưng chúng ta có thể điểm qua một vài nét như sau :
8/16/24/32 bit CPU, xây dựng theo kiến trúc Harvard
Flash và Rom có thể tuỳ chọn 256 byte đến 256 kbybe
Bộ nhớ nội EEPROM - có thể ghi/ xoá lên tới hàng triệu lần
Các cổng xuất/nhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 0
và 1, dòng khoảng vài chục mA)
8/16 bit timer
Modun giao tiếp ngoại vi nối tiếp không đồng bộ: USART
Modun giao tiếp ngoại vi song song (kiểu máy in)
Bộ chuyển đổi ADC 10 bit nội gồm 8 kênh đầu vào
Module ngoại vi MSSP dùng cho các giao tiếp I2C, SPI
Modul CCP có chức năng o Comparator (so sánh) o Capture o PWM:dùng trong điều khiển động cơ
Trang 13Led hồng ngoại có thể làm việc ở 2 chế độ: chế độ biến đổi quang điện và chế
độ nguồn quang điện
Nguyên lý trong chế độ biến đổi quang điện: lớp p được mắc vào cực âm củanguồn điện, lớp n được mắc vào cực dương của nguồn điện Phân cực ngượcnên khi chưa chiếu sáng chỉ có dòng điện nhỏ bé chạy qua ứng với dòng điệnngược (còn gọi là dòng điện tối) Khi có quang thông dòng điện qua mối nối p-ntăng lên gọi là dòng điện sáng
Nguyên lý trong chế độ phát quang điện (pin mặt trời): khi quang thông, cácđiện tích trên mối nối p-n được giải phóng tạo ra sức điện động trên cả 2 cực củadiode, do đó làm xuất hiện dòng điện chảy trong mạch Trị số sức điện độngxuất hiện trong nguồn phát quang điện phụ thuộc vào loại nguồn phát và trị sốcủa quang thông
Trang 14b Led thu
Cấu tạo
Nguyên lý
Giả sử điều kiện phân cực cho IC đã hoàn chỉnh, khi IC nhận tín hiệu điều khiển
từ diode phát quang, mạch khuếch đại OP-amp của IC sẽ biến đổi dòng điện thuđược từ diode ra điện áp (điện áp này được khuếch đại) Tín hiệu điện áp đượcđưa đến Smith triger để tạo xung vuông, xung này có nhiệm vụ kích transistorngõ ra hoạt động, lúc đó ngõ ra ở chân số 2 của IC ở mức thấp, tín hiệu ngõ ratác động ở mức 0, có thể dùng để điều khiển gián tiếp một tải nào đó Khi ngănánh sáng chiếu vào thì ngược lại không hoạt động dẫn dòng
2.3.4 Led 7 đoạn
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó người cho sử dụngvới thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng “Led 7 đoạn”.Led 7 đoạn được sử dụng khi các thông số không đòi hỏi quá phức tạp, chỉ cầnhiển thị số là đủ, chẳng hạn Led 7 đoạn được sử dụng để hiện thị nhiệt độ phòng,trong các đồng hồ treo tường bằng điện, hiển thị số lượng sản phẩm…
Các điện trở ngoài được kết nối để giới hạn dòng điện qua Led nếu Led 7 đoạnđược nối với nguồn 5V
Ngõ nhận tín hiệu điều khiển của Led 7 đoạn có 8 đường, vì vậy có thể dùng 1
Trang 15Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các mạchđiện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu, mạch truyềntín hiệu xoay chiều, mạch tạo dao động.
Trang 17CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 3.1 Thiết kế phần cứng
Với đồ án môn học hệ thống nhúng với đề tài “Hệ thống bật tắt đèn thông
minh”, việc thiết kế phần cứng của mạch hệ thống cụ thể được chia làm 5 khối
long i,L1,L2,ng,x,y,vao,ra; // khai bao cac bien
Trang 18x=1;// ghi nhan da qua senso1
if(ng!=99)// neu so ng <99 thi dem tang
ng++;
}
else if((x==0)&&(y==1))// neu la cuoi qua trinh di ra
{
Trang 19if ((x==0)&&(y==0))// neu co nguoi di ra thuc hien
{
y=1;// ghi nhan da qua senso2
if(ng!=0)// so nguoi khac 0, dem tru
vao=input(pin_b4);// gan bien vao doc du lieu vao chan b4 tu senso1
ra=input(pin_b5);// gan bien ra doc du lieu vao chan b5 tu senso2
if(vao==0) dauvao();// neu co tin hieu vao thi cho chay ctr con dau vao
else if(ra==0) daura();// neu co tin hieu ra thi cho chay ctr con dau ra
Trang 20x=y=0;// gan cac gia tri ban dau
ng=0;
set_tris_a(0);// cong a la cong ra
set_tris_b(0xff);// cong b la cong vao
set_tris_c(0);// cong c la cong ra
set_tris_d(0);// cong d la cong ra
enable_interrupts(INT_rb);// cho phep ngat ngoai
enable_interrupts(GLOBAL);// cho phep ngat toan cuc
while(1)// lieu tuc kiem tra senso va dieu khien den
{
led(ng);// goi ham hien thi den led
den(ng);// goi ham bat tat den
}
}
Trang 21 Khi chưa có người nào trong phòng, Led 7 đoạn hiển thị số người 00, rơlechưa tác động, đèn tắt.
Trang 22 Khi có người vào phòng, senso 1 có tín hiệu trước, Led 7 đoạn hiển thị số người trong phòng là 01, rơle tác động, đèn bật sáng.
Trang 23 Khi có thêm 1 người vào phòng, Led 7 đoạn hiển thị 02, rơle tác động, đèn vẫn sáng.
Trang 24 Khi có người ra khỏi phòng, senso 2 nhận tín hiệu trước, led 7 đoạn hiển thị số người trong phòng là 01, đèn vẫn sáng.