2.1 Ý tưởng: Thiết kế mạch đo nhiệt độ, độ ẩm bằng IC SHT10 và điều khiển quạt thông gió, đếm số người trong phòng và bật tắt đèn tự đông.2.2 Phân tích yêu cầu 2.2.1 Yêu cầu chức năng : Bậttắt đèn tự động:•Nếu có người vào phòng thì đèn tự động bật. •Nếu không còn ai trong phòng thì đèn sẽ tắt.Hệ thống thông gió:Nếu nhiệt độ phòng > nhiệt độ mẫu nhập vào => Quạt sẽ bật.Nếu độ ẩm phòng > độ ẩm mẫu nhập vào => quạt thông gió sẽ bật.Mạch có chức năng cài đặt các giá trị mẫu thông qua các nút bấm trên mạch.Mạch có truyền nhận dữ liệu với máy tính. Máy tính nhận dữ liệu là nhiệt độ , độ ẩm và hiển thị lên giao diện của phần mềm.Máy tính truyền các giá trị mẫu cho vi xử lí để điều khiển cơ cấu chấp hành.2.2.2 Yêu cầu phi chức năng : Dễ sử dụng . Mạch được thiết kế đẹp, kích thước nhỏ gọnChi phí thấp.
Trang 1Trường Đại học Bách Khoa Hà Nội
Viện Điện Tử - Viễn Thông
Sinh viên thực hiện : xxxxxxxxx
Hà Nội 12-12-2011
Trang 2Nội dung
1 Lời nói đầu……… 2
2 Tổng quan về bài đồ án……… 3
2.1 Ý tưởng ……….3
2.2 Phân tích yêu cầu……… 3
2.2.1 Yêu cầu chức năng ……… 3
2.2.2 Yêu cầu phi chức năng……… 3
2.3 Thiết kế……… 4
2.3.1 Sơ đồ khối……… 4
2.3.2 Các modul cần thực hiện………4
A Vi xử lí……… 4
B Khối cảm biến………7
C Khối thu phát hông ngoại……….11
D Khối LCD ………13
E Khối RS232……… 16
F Quạt thông gió……… 18
G Khối nguồn……… 19
2.3.3 Lưu đồ thuật toán……… 20
3 Thực hiện……… 21
3.1 Các công cụ thực hiện……….21
3.2 Sơ đồ nguyên lý……… 21
3.3 Mô phỏng……….25
3.4 Coding……….26
3.5 Mạch in………31
3.6 Giao diện trên PC………
4 Phân chia công việc……….36
5 Kết luận………37
6 Tài liệu tham khảo……… 38
Trang 31 Lời nói đầu
Ngày nay cùng với sự tiến bộ của nghành kĩ thuật đo lường nói chung và nghành
đo lường tự động nói riêng đã và đang đóng góp vai trò to lớn trong đời sống sinh hoạt cũng như trong lĩnh vực sản xuất
Với vai trò to lớn đó Môn Đo lường tự động điều khiển đã được đưa vào giảng dạy chính thức trong nhiều năm qua cho các sinh viên nghành điện, điện tử,… của trường đại học Bách khoa Hà Nội
Môn đo lường tự động điều khiển giới thiệu cho sinh viên về hệ thống đo lường tự động điều khiển, các kiến thức tổng hợp của chuyên nghành điện, điện tử, cơ khí Sau đây em xin trình bày kiến thức cơ bản của môn Đo lường tự động điều khiển Nội dung của môn học gồm có 2 phần chính là: đo lường tự động và điều khiển
Đo lường tự động là một hệ thống đo lường thực hiện việc tự động đo và cập nhật khi đối tượng đo thay đổi Và sau đó , so sánh giá trị của đối tượng đo được so sánh với giá trị mẫu ( mặc đinh hoặc được đặt trước ) Sự chênh lệch giữa hai giá trị này sẽ được đưa lên mạch điều khiển Mạch điều khiển sẽ cấp tín hiệu và điều khiển cơ cấu chấp hành Cơ cấu chấp hành sẽ khống chế giá trị của đối tượng cần
đo phải bằng giá trị mẫu
Đo lường tự động có vai trò rất quan trọng đối với con người cũng như khoa học
kĩ thuật
Trong quá trình học để giúp sinh viên có cái nhìn thực tế hơn về môn học Nhóm chúng em đã được giao nhiệm vụ thiết kế một hệ thống đo lường tự động điều khiển Sau thời gian tìm hiểu nhóm chúng em đã quyết định chọn đề tài : “Hệ thống thông gió và bật tắt đèn tự động ” Sau đây em thay mặt nhóm sẽ trình bày chi tiết việc thực hiện đề tài trên
Trang 4
2 Tổng quan
2.1 Ý tưởng: Thiết kế mạch đo nhiệt độ, độ ẩm và điều khiển quạt thông gió, đếm
số người trong phòng và bật tắt đèn tự đông
2.2 Phân tích yêu cầu
2.2.1 Yêu cầu chức năng :
Bật/tắt đèn tự động:
• Nếu có người vào phòng thì đèn tự động bật
• Nếu không còn ai trong phòng thì đèn sẽ tắt
Hệ thống thông gió:
Nếu nhiệt độ phòng > nhiệt độ mẫu nhập vào => Quạt sẽ bật
Nếu độ ẩm phòng > độ ẩm mẫu nhập vào => quạt thông gió sẽ bật
Mạch có chức năng cài đặt các giá trị mẫu thông qua các nút bấm trên mạch
Mạch có truyền nhận dữ liệu với máy tính
Máy tính nhận dữ liệu là nhiệt độ , độ ẩm và hiển thị lên giao diện của phần mềm
Máy tính truyền các giá trị mẫu cho vi xử lí để điều khiển cơ cấu chấp hành
2.2.2 Yêu cầu phi chức năng :
Dễ sử dụng
Mạch được thiết kế đẹp, kích thước nhỏ gọn
Chi phí thấp
Trang 6 IC dạng 40 pin- PDIP
Memory :
Flash Program Memory : 8K x 14bits
Data Memory : 368 bytes
EEPROM Data Memory : 256 bytes
Interrupts :
Số lượng ngắt : 15
External Interrupt : chân RB0 sẽ “cảm nhận ” thay đổi khi ấn nút bấm
RB4-RB7 Interrupt : Chân RB4 đến RB7 “cảm nhận ” thay đổi khi ấn nút bấm
USART Transmit Interrupt : ngắt truyền nhận dữ liệu với PC
Trang 7 Truyền giá trị của thông số nhiệt đô, độ ẩm lên PC
Nhận giá trị mẫu từ PC để điều khiển cơ cấu chấp hành
Xử lí ngắt để đếm số người trong phòng
Trang 8 Xử lí ngắt ngoài để thiết lập các mẫu nhiệt độ ,độ ẩm từ nút bấm trên mạch
Điều khiển cơ cấu chấp hành
Trang 9 Power
Nguồn cung cấp cho SHT10 từ 2,4-5.5V Nên dùng điện áp 3,3V
Figure 1: Connection between SHT10 & MCU
Sensor SHT10 nhận lệnh và gửi số liệu về cho PIC theo chuẩn ghép nối tương tự I2C : tín hiệu đồng bộ SCK do PIC tạo ra Chân số 2 là chân data 2 truyền song
công Dữ liệu được Sensor gửi về cho PIC PIC xử lí dữ liệu và hiển thị lên LCD
Giao tiếp SHT10 với PIC gồm các quá trình sau
Khởi tạo phiên truyền : DATA ở mức thấp trong khi SCK ở mức cao, và sau một chu kỳ xung nhịp SCK thì DATA ở đang tăng
Trang 10Figure 2: “Transmission Start” sequence
Mã lệnh : Chuỗi mã lệnh gồm có 3 bit địa chỉ và mặc định là ‘000’ và 5 bit lệnh Sau khi sensor nhận được mã lệnh đúng từ PIC thì SHT10 sẽ kéo tín hiệu ở chân DATA xuống mức ‘0’ sau xung clock SCK thứ 8 DATA lên mức ‘1’ sau khi sườn xuống của SCK thứ 9 Dưới đây là bảng mã lệnh
Figure 3 : SHT1X Command List
Trang 11sang trước khi restarting SCK để đọc dữ liệu ra Chú ý rằng : dữ liệu mà SHT10 đo
được lưu trữ cho đến khi đọc ra
Hai byte dữ liệu đo được và 1 byte CRC checksum sẽ được truyền tới PIC PIC phải
xác nhận với SHT10 rằng đã nhận được dữ liệu bằng cách là sau mỗi byte nhận được
PIC kéo chân DATA xuống mức ‘0’
Việc truyền thông sẽ ‘kết thúc’ sau khi bit ACK của CRC data Nếu CRC-8 checksum
không được sử dụng thì PIC có thể ‘kết thúc’ việc truyền thông bằng việc giữ ACK
mức cao SHT10 sẽ tự động trở về trạng thái Sleep Mode sau khi việc truyền thông
kết thúc
Reset phiên truyền
Nếu truyền thông với SHT10 bị mất dữ liệu thì sẽ reset lại phiên truyền
Figure 4 : Connection Reset Sequence
Ví dụ về đo độ ẩm
Figure 5: Example RH measurement sequence for value “0000 0100 0001” = 1073 =
35 5%RH
Công thức tính RH và T
Trang 12Figure 6: Formulation for Humidity calculation
Figure 7: Formulation for temperature Calculation
Độ chính xác
Trang 13Figure 8: Accuracy of Relative Humidity and Temperature
Relative Humidity : sai số nhỏ nhất là : 4,5% khi đo độ ẩm trong khoảng 20-80%
Temperature : sai số nhỏ nhất là : 0,5% khi đo tại nhiệt độ 20-250C
C Khối thu phát hồng ngoại
Sử dụng led thu phát hồng ngoại Ưu điểm dễ sử dụng ,giá rẻ
Trang 14
Figure 9: Counting People by using Led & Phototransistor
Trên hình chân 1 và 2 sẽ lần lượt được nối vào 2 chân của PIC 2 chân của PIC có nhiệm vụ ‘cảm nhận’ thay đổi mức điện áp đầu vào
Ta xét cặp Led thứ nhất LEDT1 : led phát , LEDR1 : led thu Ban đầu khi chưa có vật chắn giữa 2 led thì LEDR1 được ‘chiếu sáng’ và LEDR1 thông hay chân 1 của PIC nối đất Nếu có vật chắn giữa 2 đèn led thì LEDR1 không thông, khi đó chân 1 của PIC sẽ nhảy lên mức ‘1’ Sử dụng ngắt trên các trên 1 và 2 để “cảm nhận” được
sự thay đổi này Tương tự với cặp led còn lại Và từ đó ta sẽ xác định được người
đi vào hay ra khỏi phòng
D Khối hiện thị LCD
Trang 15VEE: Thay đổi điện áp để thay đổi độ tương phản
A,K: Điều khiển led nền LCD
Nhóm 2: (8 chân) Vào ra thông tin với VĐK : Từ chân D0-D7
Nhóm 3 : (3 chân) Điều khiển việc vào ra thông tin : E,RS,R/W
E : (Bật /tắt ) (cho phép/ không cho phép trao đổi thông tin với VĐK )
RS : (Loại thông tin trao đổi) Là lệnh điều khiển hay dữ liệu để hiển thị
R/W : (Hướng truyền của thông tin) đọc trạng thái từ LCD hay thông
tin do VĐK gửi vào LCD để hiển thị
Trang 16Cụ thể tên gọi và mô tả chức năng các chân được tổng kết trong bảng sau:
Chọn chức năng ghi/ đọc RW=1 : chọn chức năng đọc dữ liệu từ LCD vào VĐK
RW=0 : chọn chức năng ghi dữ liệu từ VĐK vào LCD
để hiển thị
6 E Read Write enable
Khi E chuyển từ 10 thì tín hiệu ở các chân D0-D7
mới được đưa vào LCD
Trang 17Như trên hình minh hoạ ta có thể thấy các chân D0-D3 là
đường tín hiệu 2 chiều (để trao đổi thông tin Vi điều khiển và
LCD) 3 chân điều khiển RS, R/W, E là chân đưa tín hiệu điều
khiển từ Vi điều khiển tới LCD nên nó chỉ là đường tín hiệu 1
chiều thôi
Vì chân Contrast (VEE) điều chỉnh độ tương phản của LCD nên
ta cấp nguồn cho nó thông qua biến trở (như hình vẽ)
E Khối RS232
Trang 18Để nói về RS232 ta nói về cổng COM hay cổng nối tiếp
Trên đây là 2 dạng cổng COM 9 chân và 25 chân Trong bài tập lớn này em chọn cổng COM 9 chân Dưới đây em xin tóm tắt chức năng các chân của COM 9 chân
Trang 19Loại 9 chân(PIN) Viết tắt Tên gọi Chức năng
Pin3 TxD Transmit Data Truyền dữ liệu
Pin2 RxD Receive Data Nhận dữ liệu
Pin7 RTS Request To Send Yêu cầu gửi , bộ truyền đặt
đường này lên mức hoạt động khi sẵn sàng truyền tín hiệu
Pin8 CTS Clear To Send Xóa để gửi , bộ nhận đặt
đường này lên mức hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận
dữ liệu Pin6 DSR Data Set Ready Dữ liệu sẵn sàng , như CTS
nhưng nó được điều khiển bởi bộ truyền
Pin5 SG Signal Ground Mass của tín hiệu
Pin1 CD Carrier Detect Phát tín hiệu mang dữ liệu Pin4 DTR Data Terminal
Ready
Đầu cuối dữ liệu sẵn sàng
Pin9 RI Ring Indicator Báo chuông, cho biết là bộ
nhận đang nhận tín hiệu rung chuông
Đáng chú ý nhất trong các chân COM là 3 chân 0V (GND) , chân phát dữ liệu TxD và chân nhận dữ liệu RxD Đây là 3 chân cơ bản phục vụ truyền thông theo chuẩn RS232 và tương thích với UART trên PIC
Một số tiêu chuẩn quan trọng trong truyền nối tiếp :
Baud rate (tốc độ Baud ) : theo định nghĩa, tốc độ baud là số bit truyền trên 1s
Frame (khung truyền) : khung truyền quy định về số bit trong mỗi lần truyền , bit ‘báo’ như bit start và bit Stop , các bit kiểm tra như Parity, ngoài ra số lượng các bit trong một data cũng được quy định bởi khung truyền
Như hình vẽ : khung truyền gồm có một start bit , tiếp theo là 8 bit data , sau đó là 1 bit parity dùng để kiểm tra dữ liệu và cuối cùng là 2 bit stop
Start bit : start là bit đầu tiên được truyền trong một frame truyền ,bit này
có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới
Data : data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi
và nhận Data thường để 8bit
Parity bit : parity là bit dùng để kiểm tra dữ liệu truyền có đúng không Có
2 loại parity : parity chẵn và parity lẻ
Stop bits : stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói
dữ liệu đã gửi xong Sau khi nhận được stop bits thiết bị sẽ tiến hành kiểm
Trang 20tra khung truyền để đảm bảo tính chính xác của dữ liệu Stop bits là các bit bắt buộc trong một khung truyền
Khung truyền phổ biến nhất : start bit + 8 bit data +1stop bit
Trong chuẩn UART ( trên PIC) tương ứng với điện áp cao (5V,TTL) trong khi đối với RS232 thì mức tương ứng với điện áp thấp ( -12V ) Như vậy cần có một ‘convetor’ kết nối giữa 2 chuẩn này Để thực hiện việc đó ta dùng
MAX232 là một trong các IC chuyển UART-RS232
F Quạt thông gió
Chức năng : Khi nhiệt độ hoặc độ ẩm trong phòng lớn hơn nhiệt độ mẫu thì quạt sẽ tự động được bật
G.Khối nguồn
Trang 21Figure 11: Supply Power
Trang 22Figure 12: Lưu đồ thuật toán điều khiển nhiệt độ ,độ ẩm
Figure 13: Lưu đồ thuật toán điều khiển hệ thống đèn
2 Thực hiện
Trang 233.1 Các công cụ thực hiện
Phần mềm : Proteus 7.6 dùng để mô phỏng mạch
PIC-C dùng để coding mã nguồn cho MCU PIC
Orcad 9.0 vẽ sơ đồ nguyên lý và mạch in
Các linh kiện và các dụng cụ để hoàn thành phần cứng
Linh kiện : PIC16F877A
Trang 243.2.2 Vi xử lí
3.2.3 Sensor SHT10
3.2.4 RS232
Trang 25
3.2.5 Khối điều khiển đèn và quạt
3.2.6 Khối nút bấm
Trang 263.2.7 Khối hiển thị
Trang 273.3 Mô phỏng
Trang 28 Công cụ mô phỏng Proteus 7.6
Công cụ này cho phép mô phỏng hầu hết các linh kiện Đặc biệt có thư viện IC lập trình được
Mô phỏng giúp ta biết được coding có đúng hay không ?
Kết quả mô phỏng như trên hình vẽ
Khối Vi xử lí PIC16F877A
Khối Cảm biến SHT10
Khối hiển thị LCD1602
Khối đếm số người vào ra
Khối điều khiển quạt và đèn
Project name : Ventilation Fan and Light Control
Automatic in the room
Author : Vu Hong Viet
Trang 29//define SCL PIN_B1
//define SDA PIN_B2
// define several functions using in programmer
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
Trang 31select mode
mode = 0 : measuring temperature and humidity
mode = 1 : setup temperature sample
mode = 2 : setup humidity sample
Trang 34 Lớp SST
3.6 Giao diện trên PC
Yêu cầu :
Trang 35 Thiết lập thông số nhiệt độ từ PC cho PIC
Các bước thực hiện :
Công cụ thực hiện : Visual Studio 2008(VB.NET)
Code cho giao diện
Trang 36Imports System.IO.Ports
Dim temperature As Integer
Dim setting As Decimal
e As System.EventArgs) Handles MyBase Load
End Sub
System.Object, ByVal e As System.EventArgs) Handles
TextBox2.TextChanged
setting = TextBox2.Text
End Sub
System.Object, ByVal e As System.EventArgs) Handles
TextBox3.TextChanged
End Sub
System.Object, ByVal e As System.EventArgs) Handles
TextBox1.TextChanged
End Sub
End Sub
Trang 37Private Sub serialport_DataReceived( ByVal sender As Object ,
SerialPort1.DataReceived
Invoke( New mydelegate( AddressOf updatetextbox), New
End Sub
Dim mytemp As String
ElseIf TextBox1.Text < setting Then
TextBox3.Text = "FAN OFF"
TextBox3.BackColor = Color.Red
SerialPort1.Write(200)
End If
End Sub
e As System.EventArgs) Handles Timer1.Tick
Dim thedate As String = Now.ToString( "dd.mm.yyyy" )
Trang 383 Phân chia công việc
độ ẩm lên LCD
Thực hiện việc đếm
số người trong phòng
Layout mạch
Chưa tối ưu về kích thước
Bố trí linh kiện chưa hợp lý
Trang 39Môn học Đo lường tự động điều khiển đã giúp các thành viên trong nhóm hiểu về lý thuyết môn học và các lĩnh vực ứng dụng Làm bài tập lớn là một cách hữu hiệu để giúp các bạn sinh viên làm quen với thực tế , củng cố và tích lũy thêm kinh nghiệm về các môn học khác ,cũng như biết cách thiết kế một hệ thống đo lường tự động điều khiển
Sau một thời gian thực hiện cả nhóm đã hoàn thành bài tập lớn Do trình độ
và thời gian có hạn nên còn những thiếu xót cần bổ sung Mong nhận được
sự đóng góp của thầy để các thành viên hoàn thiện và tiếp tục phát triển thành một sản phẩm hoàn chỉnh
Lời cuối, thay mặt cho nhóm em xin gửi lời cảm ơn tới thầy Hán Trọng Thanh đã hướng dẫn nhóm hoàn thành bài tập lớn
Trang 40Tài liệu tham khảo
1 Sách ‘Kỹ thuật đo lường và tự động điều khiển ’ - Phạm Văn Tuân ( chủ
biên), Hán Trọng Thanh,Đỗ Quang Ngọc,Phạm Văn Biên