Điều khiển thiết bị điện dân dụng một cách thông minh bằng tin học, quản lý theo từng modul riêng biệt dể xử lý, phần mềm viết bằng VB6 , thiết kế mạch theo module dể dàng cho việc thêm bớt tháo lắp và thay đổi
Trang 1CHƯƠNG I
GIỚI THIỆU
I ĐẶT VẤN ĐỀ
Ngày nay với sự phát triển của công nghệ vi điện tử, kỹ thuật số, xu hướng
tự động hóa sẽ ngày càng phát triển mạnh mẽ Với những kỹ thuật tiên tiến như vi
xử lý, vi mạch số …được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với tốc độ xử lí chậm chạp ít chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lập trước với độ chính xác cao hơn rất nhiều
Trong quá trình hoạt động ở các xưởng, văn phòng, công sở hiện nay, việc giám sát nhiệt độ và điều khiển các thiết bị sao cho hợp lý, nhanh chóng là yêu cầu thiết yếu Nó giúp ta can thiệp, xử lý kịp thời tránh được những hư hỏng và sự
cố có thể xảy ra
Để đáp ứng được yêu cầu giám sát thiết bị và đưa ra các lệnh điều khiển sao cho thích hợp thì có nhiều phương pháp để thực hiện, áp dụng những kiến thức đã học được em đã sử dụng vi điều khiển PIC16F877A và giao tiếp với máy tính qua cổng COM với giao diện Visual Basic 6.0 để thực hiện đề tài ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG MINH BẰNG TIN HỌC
II TẦM QUANG TRỌNG CỦA ĐỀ TÀI
- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng các kiến thức đã được học tại trường vào trong thực tế Về mặt khoa học, đề tài sẽ giúp cho chúng ta hiểu rõ thêm về Truyền dữ liệu điều khiển và Cách điều khiển mạch điện thông qua máy tính với giao diện Visual Basic 6.0
- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển, hẹn giờ tắt mở một số thiết bị trong nhà như đèn điện, quạt máy và giám sát nhiệt độ trong phòng
Trang 2Chương I – Giới thiệu Điều khiển thiết bị điện thông minh bằng tin học
III MỤC ĐÍCH NGHIÊN CỨU
Mục đích của đề tài này là có thể áp dụng vào thực tế đối với các công trình nhà xưởng Việc kiểm soát nhiệt độ, hẹn tắt mở thiết bị là nhu cầu hàng ngày đối với chúng ta Chính vì thế đề tài này có thể mở rộng hơn nữa để có thể áp dụng được trong thực tế
IV ĐỐI TƯỢNG NGHIÊN CỨU
Đối tượng nghiên cứu của đề tài này chính là:
► Giao tiếp giữa máy tính và phần cứng
► Giao tiếp giữa khối đo và vi điều khiển
► Lập trình cho vi điều khiển
Trang 3 CÁC LINH KIỆN CHÍNH DÙNG TRONG MẠCH:
- PIC 16f877a là vi điều khiển thuộc họ PIC 16fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit Mỗi lệnh được thực thi trong một chu kì xung clock Tốc độ hoạt động tối đa cho phép là 20MH vớ chu kì lệnh là 200ns
- Bộ nhớ chương trình 8Kx14bit, Bộ nhớ dử liệu là 368byte RAM
- Bộ nhớ dử liệu EEPROM với dung lượng 256x8 byte
- Số Port I/O là 5 với 33 pin I/O
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần
- Dữ liệu bộ nhớ EEPROM có thể lưu trử 40 năm
- Nạp chương trình ngay trên mạch nạp ICSP (In Circuit Serial Programming)
thông qua 2 chân
- Chức năng bảo mật chương trình, có thể hoạt động ở nhiều ossilokop
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
CHƯƠNG 2
KIẾN THỨC BỔ TRỢ
Trang 4Chương 2: Kiến thức bổ trợ Điều khiển thiết bị điện thông qua máy tính
- Timer 0:bộ đếm 8bit với bộ chia tần 8 bit
- Timer 1:bộ đếm 16bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ ngủ
- Bộ đếm 8bit với bộ chia tần số, bộ postcaler
- Hai bộ capter/so sánh/điều chế độ rộng xung
- Các chuẩn giao tiếp nối tiếp SSP, SPI và I2C
- Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
- Cổng giao tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên ngoài
II IC MAX232
Cấu tạo, công dụng:
Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao diện nối tiếp với máy tính Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành mức +10V hoặc –10V ở phía truyền và các mức +3 +15V hoặc -3 -15V thành mức TTL ở phía nhận
Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận
Trang 5Chân của MAX 232 nhận tín hiệu theo chuẩn RS232 ( mức 1: -3V đến -15V; mức 0 : 3V đến 15V) nên ta nối với chân 3 của cổng COM (là chân truyền dữ liệu
Điện áp lớn nhất có thể cho qua là 30V
Dòng cấp cho RS-232 trong khoảng 510mA
Hoạt động trong khoảng tầm nhiệt -650C +1650C
Các tụ bơm điện áp nên sử dụng 1uf, ở đây ta chọn là 10uF
III OPTO PC817
Trang 6Chương 2: Kiến thức bổ trợ Điều khiển thiết bị điện thông qua máy tính
Opto hay còn gọi là cách ly quang là linh kiện tích hợp có cấu tạo gồm 1 led và 1 photo diot hay 1 photo transitor Đượ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 để chố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…
Khi có dòng điện đi qua Led trong PC817 (Chân 1 và 2) thì tùy vào dòng qua LED lớn hay nhỏ mà quang transistor cho phép dòng khuyếch đại qua nó lớn hay nhỏ (Chân 3 và 4)
IV LM 7805
Là IC ổn áp 5V với:
- Output (3): Chân điện áp ra 5V
- Command (2): Chân nối mass
- Input (1) : Chân điện áp vào
- Chân nối mass cũng rất quan trọng, nếu chân này bị hở thì áp tại ngõ ra sẽ có thể bằng với điện áp ngõ vào gây hư hỏng các linh kiện điện tử trong mạch
- Khi ở 25 độ C, IC 7805 có đặc điểm như sau:
Điện áp đưa vào tối đa: 25V
Dòng tối đa cấp cho tải: 1.5A
Trang 7- Command (2): Chân nối mass
- Input (1) : Chân điện áp vào
- Chân nối mass cũng rất quan trọng, nếu chân này bị hở thì áp tại ngõ ra sẽ có thể bằng với điện áp ngõ vào gây hƣ hỏng các linh kiện điện tử trong mạch
- IC 7812 có đặc điểm nhƣ sau:
Điện áp đƣa vào tối đa: 25V
Dòng tối đa cấp cho tải: 1.5A
Trang 8Chương 2: Kiến thức bổ trợ Điều khiển thiết bị điện thông qua máy tính
Relay cấu tạo bao gồm 1 cuộn dây và 1 hay nhiều bộ tiếp điểm Khi có điện vào cuộn dây thì tiếp điểm chuyển trạng thái ( từ on sang off hay ngược lại) khi mất điện thì trở lại trạng thái ban đầu
Một số thông số kỹ thuật:
Điện áp kích: 12VDC, Điện áp chịu được: 250V, Dòng chịu được: 5A
Trang 9dữ liệu xuống vi xử lý để điều khiển các thiết bị ngoại vi đồng thời cũng sẽ báo cho
ta biết sự hoạt động của từng thiết bị ngoại vi
• Khối giao tiếp
KHỐI XỬ LÝ TRUNG TÂM (PIC16F877A)
KHỐI ĐO NHIỆT ĐỘ (LM35)
KHỐI NGUỒN (5V – 12V)
Trang 10Chương 3: Tính toán thiết kế Điều khiển thiết bị điện thông qua máy tính
Khối này đóng vai trò là trung gian để cho mạch hoạt động làm nhiệm vụ giải mã tín hiệu từ vi xử lý đưa tới máy tính và ngược lại, nghĩa là khi máy tính có một lệnh gởi xuống qua khối chuyển đổi sẽ đưa lệnh này tới vi xử lý để điều khiển thiết bị ngoại vi
• Khối điều khiển trung tâm
Khối này có nhiệm vụ là trung tâm điều khiển sự hoạt động của các khối khác nó
ra lệnh để thi hành việc đóng mở các thiết bị ngoại vi bởi phần mềm và phần cứng
• Khối điều khiển thiết bị
Gồm có các Relay để đóng – ngắt thiết bị điện thông qua sự điều khiển của khối
xử lý trung tâm
• Khối đo nhiệt độ
Đo nhiệt độ trong phòng và truyền dữ liệu nhiệt độ về khối xử lý trung tâm
• Khối nguồn
Cung cấp nguồn cho toàn bộ hệ thống, điện áp được ổn định bởi IC ổn áp 7805
để ổn định điện áp ra đúng 5v giúp các thiết bị hoạt động ổn định và chính xác Riêng khối điều khiển thiết bị sử dụng thêm mức điện áp 12V với dòng lớn để điều khiển đóng ngắt các Relay
II Tính toán thiết kế
1 Khối giao tiếp
• Nguyên lý hoạt động: Khi có một tín hiệu (đó là các mức điện áp) từ một trong
hai khối là máy chủ và từ vi xử lý thì RS-232 sẽ chuyển các tín hiệu đó thành các mức tín hiệu phù hợp để kết nối hai khối này lại với nhau để điều khiển thiết bị với
Trang 11các mức logic nhƣ sau: mức logic 1 sẽ là từ -3V đến -12V và logic 0 sẽ từ 3V đến 12V và nó có thể biến đổi các mức điện áp này là nhờ 4 tụ hóa C10, C11, C12,C13
2 Khối xử lý trung tâm
Nhiệm vụ của khối này là xử lý các hoạt động điều khiển, gồm các nhiệm vụ:
a Nhận biết tín hiệu từ máy tính truyền xuống và đóng mở các thiết bị ngoại
vi
b Xử lý tín hiệu từ phần cứng điều khiển rồi truyền lên lại cho máy tính
c Nhận tín hiệu từ khối nút nhấn để điều khiển đóng mở các thiết bị
d Mạch dao động dùng thạch anh 20MHz và 2 tụ C7, C8 có giá trị 33pF
Trang 12Chương 3: Tính toán thiết kế Điều khiển thiết bị điện thông qua máy tính
3 KHỐI ĐIỀU KHIỂN THIẾT BỊ
Bao gồm khối kích tải 1 cấp và khối kích tải 2 cấp
a Khối kích tải 1 cấp
Được đùng để điều khiển các thiết bị có 1 cấp độ như: đèn
Chọn Rơ-le có thông số kỹ thuật:
Điện áp kích là12VDC , điện áp chịu được là 250V, dòng chịu được là 5A
Diode (1N4007)(được mắc ngược cực) để bảo vệ cho transistor khi chuyển từ trạng thái dẫn sang tắt
: Điện trở hạn dòng chân B của Transistor
Trang 13- Tại chân 3 và 4 của Opto PC817 ( )
Khi Opto dẫn thì dòng qua Photo Transistor ( ) vào khoản 1.2(mA)
Tại ( ) ta có:
( )
( )
Ta coi nhƣ chân 1 (Anot) và 2 (Katot) của Opto PC817 ( ) là 1 đèn LED
Khi LED dẫn ta chọn dòng qua LED là 10(mA) và điện áp 2 đầu của LED là 2(V)
Ta có:
( )
( ) Chọn ( )
Trang 14Chương 3: Tính toán thiết kế Điều khiển thiết bị điện thông qua máy tính
4 Khối đo nhiệt độ
Cảm biến nhiệt LM35 có vai trò đo nhiệt độ môi trường , sau đó truyền tín hiệu
đo được cho Pic dưới dạng điện áp Chân của LM35 được nối vào chân RA0 của VĐK Tụ 10uF cực dương được nối vào chân 2 và cực âm nối vào chân 3 của cảm biến LM35 LM 35 cứ tăng 1oC thì điện áp tăng 10mV, có thể đo nhiệt độ trong khoản giá trị từ
Trang 155 Khối nút nhấn
Chức năng:
Dùng để điều khiển bật - tắt các thiết bị khi không sử dụng máy tính Trong đồ án này e đã tích hợp phím nhấn vào module khối kích tải để thuận tiện cho việc sử dụng
6 Khối nguồn
Để cung cấp đủ dòng cho toàn bộ thiết bị và hệ thống kích tải, ở đây em đã sử dụng biến áp 1A với ngõ vào là 220v, 2 ngõ ra thứ cấp là 9v và 12v
Mạch gồm 2 khối nguồn:
Nguồn 5V đƣợc sử dụng để cung cấp cho hầu hết các linh kiện điện tử của mạch,
là nguồn nuôi cho bộ vi xử lý, nguồn cung cấp cho khối giao tiếp RS-232
Nguồn 12V dùng để cấp nguồn cho các khối Relay, Dùng Opto để cách ly giữa mức điện áp 5v và 12v giúp mạch hoạt động tốt và không bị nhiễu
I Sơ đồ nguyên lý: (Xem trangphụ lục kèm theo)
Trang 16Chương 3: Tính toán thiết kế Điều khiển thiết bị điện thông qua máy tính
Phụ lục
Trang 17
CHƯƠNG 4
PHẦN MỀM
I Lưu đồ giải thuật
1 Lưu đồ giải thuật cho PIC
BẮT ĐẦU
NẠP CÁC GIÁ TRỊ KHỞI TẠO (PORT, INT RDA, SETUP ADC…)
QUÉT BÀN PHÍM (PORT B)
BẬT/ TẮT CÁC THIẾT BỊ
Đ
S
Trang 18Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
RETURN
NGẮT RDA
NHẬN DỮ LIỆU TỪ MÁY TÍNH
KIỂM TRA DỮ LIỆU NHẬN ĐƯỢC
i = n i = 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b
CHƯƠNG TRÌNH CON CẬP NHẬT
BẬT/ TẮT CÁC THIẾT BỊ (PORT D)
S
Đ
Trang 19CHƯƠNG TRÌNH CON
KIỂM TRA PORT ĐIỀU KHIỂN THIẾT BỊ (PORT D)
GỬI DỮ LIỆU LÊN MÁY TÍNH
1 DỮ LIỆU VỀ TRẠNG THÁI BẬT/ TẮT CÁC THIẾT
BỊ LÊN MÁY TÍNH (c, d, e, f, g, h, I, j, k, l, m)
2 GỬI DỮ LIỆU VỀ NHIỆT ĐỘ LÊN MÁY TÍNH
3 GỬI TÍN HIỆU KẾT NỐI „o‟
RETURN
Đ
S
Trang 20Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
2 Lưu đồ giải thật giao diện VB
HÌNH
KIỂM TRA CÁC NÚT LỆNH ĐIỀU KHIỂN, CÁC THIẾT LẬP (HẸN GIỜ, CẢNH BÁO NHIỆT
ĐỘ)
Đ
S
RETURN
Trang 21BIẾN kiemtra = 0
BIẾN kiemtra = 1
Đ
THÔNG BÁO MẤT KẾT NỐI
RESET TIMER 2
S
TRÀN TIMER2 (1000mS)
CẬP NHẬT THÔNG TIN HỆ THỐNG, THỜI GIAN
RESET TIMER1
TRÀN TIMER1 (500mS)
GỬI LỆNH XUỐNG PIC YÊU CẦU CẬP NHẬP (n)
RETURN
RETURN
Trang 22Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
RETURN
NHẬN DỮ LIỆU TỪ CỔNG COM
NHẬN DỮ LIỆU TỪ CỔNG COM, RESET TIMER2
KIỂM TRA DỮ LIỆU NHẬN ĐƯỢC
= giá trị số = (c, d, e, f, g, h, I, j, k, l, m)
CẬP NHẬT LẠI VIỆC HIỂN THỊ TRẠNG THÁI CÁC THIẾT
BỊ
CẬP NHẬT LẠI VIỆC HIỂN
= „o‟
Đ
S
Trang 23II Code chương trình
1 Code cho vi xử lý
/ -/
// DO AN TONG HOP //
// DE TAI: DIEU KHIEN THIET BI DIEN THONG QUA MAY TINH //
// GVHD: PHAM HUNG KIM KHANH //
// SVTH: NGUYEN DINH PHUC //
#bit b0 = portb.0 //NUT NHAN TB01
#bit b1 = portb.1 //NUT NHAN TB02
#bit b2 = portb.2 //NUT NHAN TB03
#bit b3 = portb.3 //NUT NHAN TB04
#bit b4 = portb.4 //NUT NHAN TB05
#bit b5 = portb.5 //NUT NHAN OFF ALL
#bit b6 = portb.6 //chua su dung
#bit b7 = portb.7 // chua su dung
#bit d0 = portd.0 //DIEU KHIEN TB01
#bit d1 = portd.1 //DIEU KHIEN TB02
#bit d2 = portd.2 //DIEU KHIEN TB03
#bit d3 = portd.3 //DIEU KHIEN TB04
#bit d4 = portd.4 //DIEU KHIEN TB05 CAP 1
#bit d5 = portd.5 //DIEU KHIEN TB05 CAP 2
#bit d6 = portd.6 // chua su dung
#bit d7 = portd.7 // chua su dung
#bit e0 = porte.0 //LED BAO NHAN DU LIEU TU MAY TINH
#bit e1 = porte.1 //LED BAO GUI DU LIEU LEN MAY TINH
#bit e2 = porte.2 //LED CANH BAO NHIET DO
Trang 24Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
Trang 26Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
Trang 28Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
Trang 29' - TRUONG DAI HOC CONG NGHE TP.HCM - '
' -DO AN TONG HOP DUNG VI DIEU KHIEN - '
' SUBJECT : ELECTRIC DEVICES CONTROLED BY COMPUTER ' ' INSTRUCTOR : THAY KHANH '
' STUDENT : NGUYEN DINH PHUC '
' STUDENT CODE : 1215011064 '
Dim hh As Byte, mm As Byte, ss As Byte, Data As String
Dim nhietdo As String, nhietdocao As Byte, nhietdothap As Byte, kiemtra As Byte, nhietdo_tudongmo As Byte
Dim hgm(1 To 5) As String
Dim hgt(1 To 5) As String
' Khoi tao ham Play Sound
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
Trang 30Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
(ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Private Sub Form_Load()
Private Sub cmd_mocongcom_Click()
If cmd_mocongcom.Caption = "Open COM 2" Then
On Error GoTo loicongcom
With MSComm2
.Settings = "9600,N,8,1" 'Toc do truyen 9600bps, khong kiem tra chan le, 8 bit
du lieu, 1 bit stop
.CommPort = 2 'Chon cong COM2
.RThreshold = 1 'Thiet lap so ki tu nhan duoc truoc khi gay ra su kien
Trang 32Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
' Thiet lap he thong
cmd_mocongcom.Caption = "Close COM2"
Timer2.Enabled = True
Timer2.Interval = 1000
Else
' Thong bao co thiet bi dang mo
If shp_trangthai_tb01.FillColor = &HFFFF& Or shp_trangthai_tb02.FillColor
= &HFFFF& Or shp_trangthai_tb03.FillColor = &HFFFF& Or
shp_trangthai_tb04.FillColor = &HFFFF& Or shp_trangthai_tb05.FillColor =
&HFFFF& Or shp_trangthai_tb05.FillColor = &HC0FFFF Then
Trang 34Chương 4 – Phần mềm Điều khiển thiết bị điện thông qua máy tính
' Thiet lap he thong
MSComm2.PortOpen = False 'dong cong com 2
cmd_mocongcom.Caption = "Open COM 2"
Form1.lbl_trangthaihethong = "COM2 not open"
Timer2.Enabled = False
End If
Exit Sub
loicongcom: 'Thong bao khong mo cong com 2
sndPlaySound "C:\Windows\Media\Windows Error.wav", sndAsync 'Play Sound MsgBox Err.Description & vbNewLine & "Can't connect to COM2" & vbNewLine
& "Please check again!", , "Conecting Error!"
End Sub
Private Sub cmd_tb01_hengio_Click()
If cmd_tb01_hengio.Caption = "Timer" Then