1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Đề tài giám sát nhiệt Độ

11 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 2,2 MB

Nội dung

Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thê giao tiếp với các bảng mạch mở rộng khác nhau.. ® Clock Speed: 16 MHz b Cảm biến nhiệt độ DS18B20 Cảm biến n

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC MO DIA CHAT

KHOA CO DIEN

BAO CAO DE TAI GIAM SAT NHIET DO

Sinh viên thực hiện: A

Trang 2

1 Giới thiệu linh kiện sử dụng

a) Arduino UNO chip cắm

Arduino Uno la mot bang mach vi diéu khién nguon mở dựa trên vi điều khiển

Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thê giao tiếp với các bảng mạch mở rộng khác

nhau

ñ DIGT PwM~) E š

Hình 1 KTT mạch Arduino Thông số kỹ thuật:

e _ Chip điều khiến chính: ATmega328P

¢ Chip nap va giao tiếp UART: CH340

® - Điện áp hoạt động: SVDC qua công USB hoac chan Vin

e Dién ap vao Vin khuyén ding: <12V

¢ S6 chan Digital I/O: 14 (trong do 6 chan cé kha nang xuat xung PWM)

¢ Số chân PWM Digital I/O: 6

Trang 3

¢ Số chân Analog Input: 6

® - Dòng trên mỗi chân I/O: 20 mA

e Dong ra chan 5V: 500 mA

® Dong ra chan 3.3V: 50 mA

® Flash Memory: 32 KB (ATmega328P), 0.5 KB dung cho bootloader

® Clock Speed: 16 MHz

b) Cảm biến nhiệt độ DS18B20

Cảm biến nhiệt độ DSI§B20 I-Wire Digital Temperature Probe la cam bién

DS18B20 duge thiét ké & dang day chéng nude véi vo thép bao vé chac chan dai Im, được sử dụng để đo nhiệt độ môi trường với chuân giao tiếp 1-Wire (1 chân Data duy nhất) với độ phân giải 12bit Cảm biến sử dụng giao tiếp l dây nên rất đễ kết nối và lập

trinh, cam biến có chât lượng tôt và có độ bên cao

Trang 4

Hình 2 Cảm biến nhiệt độ DS18B20

Thông số kỹ thuật:

®©- Dải đo nhiệt độ: -55 đến 125 độ C ( -67 đến 257 độ F)

© Sai sé: +- 0.5 độ C khi đo ở dải -10 - 85 độ C

® - Độ phân giải: người dùng có thê chọn từ 9 — 12 bits

¢ Chuan giao tiép: 1-Wire ( 1 day )

¢ Thoi gian chuyén d6i nhiệt độ tối đa : 750ms ( khi chọn độ phân giai 12bit )

© Méi IC cé mét mã riêng (lưu trên EEPROM của IC) nên có thể giao tiếp nhiều

DS18B20 trén cing | day

© Ong thép khéng gi (chống ẩm , nước) đường kính 6mm, dài 50mm

®_ Đường kính đầu đò: 6mm

© Chiều đài dây: Im

Trang 5

c) Relay SV 1 kénh

Module Relay 1 Kénh 5V 12V véi opto cach ly nho gon, c6 opto va transistor cach

ly giúp cho việc sử đụng trở nén an toan voi board mach chinh, mach duge str dyng dé đóng ngắt nguồn điện công suất cao AC hoặc DC, có thê chọn đóng khi kích mức cao hoặc mức thấp bằng Jumpcr

Tiếp điểm đóng ngắt gồm 3 tiếp điểm NC (thường đóng), NO (thường mở) và COM(chân chung) được cách ly hoàn toàn với board mạch chính, ở trạng thái bình thường chưa kích NC sẽ nối với COM, khi có trạng thái kích COM sẽ chuyên sang nối với NO và mât kết nồi với NC

Hinh 3 Relay 5V 1 kênh Thông số kỹ thuật:

® Điện áp hoạt động: SV

® Dòng điện hoạt động: 5mA

© Tiếp điểm relay: NO/NC

® Dòng tải chịu đựng: max 1OA

® - Chọn mức kích tín hiệu qua Jumper

® Kích thước: 50x26xI§.5mm

Trang 6

d) Nguồn Adapter 12V 1A

Nguồn adapter được sử dụng với chức năng chỉnh lưu điện áp xoay chiều (AC) thành điện áp một chiều (DC) Nguồn Adapter được dùng trong các mạch ôn áp, cung cấp dòng áp đủ, tránh trường hợp sụt áp, đòng ảnh hưởng đến mạch

Hinh 4 Adapter 12V 1A Thông số kỹ thuật:

® - Diện áp ngõ vào: 100 ~ 240VAC, 50/60Hz

® - Diện áp ngõ ra: 12 VDC

¢ Dong ngé ra: 1A (t6i da)

®_ Kiểu nguồn: nguồn xung

® Tich hop led hiển thị trạng thái nguồn

© - Kiểu giắc ngõ ra: Chuẩn Jack DC tròn 5.5*2.1~2.5mm

¢ Chiều dài dây dẫn: Im

Trang 7

GND ‘| ——+—— GND —— vn 1010 IOII

a)

1 So do dau noi mach

——] IOREF SDA

—— RESET AREF

—] 9v: GND

+§VƑ—— 5V 1013

IIIIIIII

Arduino Uno

Arduino Uno SMD

Tín hiệu kích cho relay đóng/ngắt 5V sẽ được lấy từ chân số 4 của Arduino Tiếp điểm ngõ ra của relay ta sẽ sử dụng nguồn Adapter 12VDC dé cap dién cho quat

và được đầu nôi nôi tiếp như trên hình

Tín hiệu ngõ ra của cảm biến nhiệt độ DS18B20 sẽ được kéo trở 4k7 lên VCC như

trong datasheet va sé dua vao chan số 2 của Arduino đề xử lý tín hiệu

Ta sẽ sử dụng dây usb căm từ Arduino đến máy tính đề truyền nhận đữ liệu từ Arduino lên máy tính

2 Thiết kế giao diện điều khiến

Em lựa chọn sẽ thiết kế giao diện Windows form dùng ngôn ngữ C# đề lập trình Phần mềm dùng để thiết kế là Microsoft Visual Studio

Bắt đầu tạo các thành phần giao diện

Đầu tiên ta sẽ sử dụng hộp công cụ Toolbox đề lấy các thành phần như: label, groupBox, comboBox, textBox, button

Trang 8

- - Tiếp theo, ta sẽ bố trí, thay đôi nội dung và điều chỉnh tính năng cho từng thành phân như ảnh:

Measuring and Display Temperatures?"

Communication Setup “hàData Receive

Fan /| |

textBox Connect Disconnect

7

b) Lập trình chức năng cho từng thành phần

- _ Ta kích đúp vào Form giao diện thì sẽ hiển thị giao diện lập trình:

Form1.cs [Design]

Susing System;

using System.Collections.Generic;

using System ComponentMadel ;

using System.Data;

using System.Drawing;

using System Ling;

using System Threading Tasks;

using System 10.Ports;

namespace WinForms

{

InitializeComponent() ;

string[] Baudrate = {"4800", "960@","115200"};

Control.CheckForIllegalCrossThreadCalls = false;

3 private void Fonmi Load(object senden, EventArgs e)

comboBox.DataSource = SerialPort.GetPortNames();

comboBox1.Text = "9600";

Trang 9

Đầu tiên, ta khai báo thư viện IO Port để sử dụng

using System.1I0.Ports;

Trong hàm Ƒørzm1() ta khai báo biến giá trị Baudrate cho tốc độ Baud và thêm giá

trị Baudrate vào ô comboBoxI

public Form1()

{

InitializeComponent() ;

string[] Baudrate = {"4800", "9600","115200"};

comboBox1 Items AddRange(Baudrate) ;

Control.CheckForIllegalCrossThreadCalls = false;

}

Trong hàm Forzm1() load, sau khi mở giao diện thì hàm này sẽ chạy song song với nó Ta thêm đòng code đọc tất cả các công Port hiện có trong máy tính và sẽ

gan vào comboBox Mặc định tốc độ Baud ban dau ta sẽ cho hién thi téc d6 9600

private void Form1_Load(object sender, EventArgs e)

{

comboBox.DataSource = SerialPort.GetPortNames() ;

comboBox1.Text = "9600";

Ta tao lénh xt ly cho nut nhan “Connect” trong ham button 1_Click

+ Đầu tiên, ta kiểm tra công Senal đã được mở hay chưa, nêu chưa được mở thì

nút này khi được click mới có tác dụng

+ Khi nút này được nhấn, tên port được lấy từ comboBox sẽ được gán cho công

Serial để sử dụng Khi đó textBoxI hiển thị trạng thái sẽ hiển thị chữ “Connect”

màu xanh lime Ta sẽ chuyên đổi giá trị tốc độ Baud từ string sang integer va đặt tốc độ Baud cho công Serial Cuối cùng ta khóa thao tác 2 ô comboBox, comboBoxI và cho công Serial mở đề sử dụng

Trang 10

{

if (!serialPort1.IsOpen)

{

serialPort1.PortName = comboBox.Text;

textBox1.BackColor = Color.Lime;

textBox1.Text = "Connected";

serialPort1.BaudRate = Convert.ToInt32(comboBox1 Text); comboBox.Enabled = false;

comboBox1.Enabled = false;

serialPort1.Open();

}

Đối với nút nhan “Disconnect” ta sé code xử lý trong hàm button2_Click va sé

ngugc lai voi nut “Connect”

+ Đầu tiên, ta kiểm tra cổng Serial đã đóng hay chưa, nếu chưa đóng thì nút này khi được click mới có tác dụng

+ Khi nút này được nhắn, công Serial sé được đóng lại Khi đó textBoxI sẽ hiển

thi trang thai “Disconnect” mau do Cudi cùng ta sẽ cho mở lại thao tác 2 ô comboBox và comboBox]

private void button2_Click(object sender, EventArgs e)

{

if (serialPort1 IsOpen)

{

serialPort1.Close();

textBox1.BackColor = Color.Red;

textBox1.Text = "Disconnected";

comboBox.Enabled = true;

comboBox1.Enabled = true;

}

Trang 11

Giao diện thiết kế hoàn thành:

al? Temperature Monitoring Interface — Oo x

Measuring and Display Temperature

Fan |

— Connected

[==] m—=I

Ngày đăng: 11/12/2024, 13:01