You are on page 1of 22

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.

HCM

KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO ĐỒ ÁN MÔN HỌC


HỌC PHẦN: ĐO LƯỜNG ĐIỀU KHIỂN

BẰNG MÁY TÍNH

Nhóm : 01

ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT


NHIỆT ĐỘ

Giảng viên hướng dẫn: TS. Lưu Hoàng Minh

Họ và tên Mã số sinh viên


Phạm Thanh Bình 2131032822
Vũ Đức Gia Bảo 2131031835
Lê Thị Trúc Ly 2131033805

TP. HCM, ngày ... tháng ... năm 2022


Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

LỜI CẢM ƠN

Lời đầu tiên nhóm em xin chân thành cảm ơn chân thành nhất đến thầy
Minh. Trong quá trình học tập và tìm hiểu bộ môn đo lường điều khiển bằng máy
tính, nhóm em đã nhận được sự quan tâm và giúp đỡ, hướng dẫn tận tình và đầy
tâm huyết từ thầy. Thầy đã giúp chúng em tích lũy được nhiều kiến thức từ cơ sở
lý luận đến thực tiễn thông qua bộ môn này và có cái nhìn tổng quát hơn. Qua bộ
môn này nhóm em xin trình bày những gì nhóm em tìm hiểu về đồ án cảm biến siêu
âm đo và điều khiển mức nước.

Tuy nhiên kiến thức sâu rộng về bộ môn đo lường điều khiển bằng máy tính
của nhóm em vẫn còn những hạn chế nhất định. Do đó không tránh khỏi những
thiếu sót trong quá trình hoàn thành đồ án này. Mong thầy xem xét và góp ý để đồ
án hoàn thiện hơn.

Kính chúc thầy hạnh phúc và thành công hơn nữa trong sự nghiệp “trồng
người”, luôn dồi dào sức khỏe để tiếp tục dìu dắt nhiều thế hệ sinh viên.

Nhóm em xin chân thành cảm ơn!

TP.HCM, ngày 14 tháng 04 năm 2022

Nhóm sinh viên thực thiện

Nhóm 1

1
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

NHẬN XÉT CỦA GIẢNG VIÊN

….………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………

TP.HCM, ngày ... tháng ... năm ......

Giảng viên hướng dẫn

TS. Lưu Hoàng Minh

2
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

MỤC LỤC

DANH MỤC HÌNH ẢNH ............................................................................................. 4


CHƯƠNG 1. CẤU TRÚC PHẦN CỨNG CỦA HỆ THỐNG ........................................ 5
1.1. Các thành phần chính của mạch 5
1.1.1. Cảm biến nhiệt độ LM35 5
1.1.2. Aduino 6
1.1.3. Động cơ DC ( Quạt) 8
1.1.4. Relay trung gian (Bộ gia nhiệt- Heater) 9
CHƯƠNG 2. QUY TRÌNH CÔNG NGHỆ CỦA HỆ THỐNG ....................................... 10
2.1. Mô tả quy trình hệ thống 10
2.2. Lưu đồ thuật toán chương trình 11
2.3. Chương trình Aduirno và Visual Studio 12
2.3.1. Code trên aduirno 12
2.3.2. Code trên Visual Studio. 13
2.4. Giao diện người dùng 16
2.5. Mô phỏng 17
CHƯƠNG 3. KẾT LUẬN ......................................................................................... 21

3
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

DANH MỤC HÌNH ẢNH

Hình 1.1 Cảm biến nhiệt độ LM35 ............................................................................... 5


Hình 1.2 Aduino. ......................................................................................................... 6
Hình 1.3 Phần cứng nền tảng Aduino. .......................................................................... 7
Hình 1.4 Động cơ quạt. ................................................................................................ 8
Hình 1.5 Relay trung gian ............................................................................................ 9
Hình 2.1 Lưu đồ thuật toán ........................................................................................ 11
Hình 2.2 Giao diện Proteus ........................................................................................ 16
Hình 2.3 Giao diện Visual Studio .............................................................................. 16
Hình 2.4 Kết nối cổng Com ....................................................................................... 17
Hình 2.5 Nhiệt độ ở mức 20◦C ................................................................................... 17
Hình 2.6 Hiển thị trên máy tính 20 ◦C ....................................................................... 18
Hình 2.7 Quạt chưa hoạt động ở mức nhiệt bắng với nhiệt độ đặt .............................. 18
Hình 2.8 Quạt hoạt động ở điều kiện ND_DC > ND_đặt + 2 ..................................... 19
Hình 2.9 Quạt hoạt động ở điều kiện ND_DC < ND đặt – 2....................................... 19
Hình 2.10 Nhiệt độ đặt ở 25◦ C .................................................................................. 20
Hình 2.11 Reset cài đặt .............................................................................................. 20

4
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

CHƯƠNG 1. CẤU TRÚC PHẦN CỨNG CỦA HỆ THỐNG

1.1. Các thành phần chính của mạch


1.1.1. Cảm biến nhiệt độ LM35
LM35 là một cảm biến nhiệt độ được sử dụng rộng rãi. Nó hiển thị các giá trị dưới
dạng điện áp đầu ra thay vì độ C.
LM35 hiển thị giá trị điện áp cao hơn cặp nhiệt điện và có thể không cần khuếch đại điện
áp đầu ra.
Điện áp đầu ra của LM35 tỷ lệ với nhiệt độ C. Hệ số thang đo là 0,01 V / ° C.
Một đặc điểm quan trọng nhất là nó chỉ lấy 60 micromps từ nguồn và có khả năng tự gia
nhiệt thấp.
Cảm biến nhiệt độ LM35 có nhiều gói khác nhau như gói giống transistor kim loại T0-46,
gói giống transistor nhựa TO-92, gói dán 8 chân SO-8.

Hình 1.1 Cảm biến nhiệt độ LM35

Thông số kỹ thuật:
 Điện áp đầu vào từ 4V đến 30V
 Độ phân giải điện áp đầu ra là 10mV/oC
 Độ chính xác cao ở 25 C là 0.5 C
 Trở kháng đầu ra thấp 0.1 cho 1mA tải
 Dải nhiệt độ đo được của LM35 là từ -55 C - 150 C với các mức điện áp ra
khác nhau. Xét một số mức điện áp sau :
 Nhiệt độ -55 C điện áp đầu ra -550mV
 Nhiệt độ 25 C điện áp đầu ra 250mV
 Nhiệt độ 150 C điện áp đầu ra 1500mV

5
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

1.1.2. Aduino
Arduino là nền tảng tạo mẫu điện tử mã nguồn mở, được sử dụng nhằm xây dựng
các ứng dụng điện tử tương tác với nhau hoặc với môi trường được thuận tiện, dễ dàng
hơn.
Nền tảng mẫu này giống như một máy tính thu nhỏ, giúp người dùng lập trình và
thực hiện các dự án điện tử mà không cần phải đến các công cụ chuyên dụng để phục vụ
việc nạp code. Phần mềm này tương tác với thế giới bên ngoài thông qua các cảm biến
điện tử, đèn và động cơ.

Hình 1.2 Aduino.


Chi tiết phần cứng Aduino
 Cổng nối tiếp (Serial port) là một cổng thông dụng trong các máy tính trong
các máy tính truyền thống dùng kết nối các thiết bị ngoại vi với máy tính
như: bàn phím, chuột điều khiển, modem, máy quét,… Cổng nối tiếp còn có
tên gọi khác là Cổng COM.
 Jack nguồn: để chạy Arduino, bạn hoàn toàn có thể nạp nguồn từ cổng USB
ở trên. Tuy nhiên không phải lúc nào cũng kết nối với máy tính được. Có
những dự án cần thực hiện ngoài trời sẽ cần một nguồn điện khác với mức
điện áp từ 9V -12V.
 Hàng Header: những chân đánh số từ 0 – 12 là hàng digital pin. Đây là nơ
truyền – nhận các tín hiệu số. Bên cạnh đó sẽ có một pin đất (GND) và pin
điện áp tham chiếu (AREF).

6
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

 Hàng header thứ 2: chủ yếu liên quan tới điện áp đất, nguồn.
 Hàng header thứ 3: đây là các chân để nhập – xuất các tín hiệu analog (đọc
thông tin của các thiết bị cảm biến).
 Chip điều khiển AVR: bộ phận xử lý trung tâm của toàn bo mạch. Với mỗi
mẫu Arduino khác nhau, con chip này sẽ khác nhau. Ví dụ trên Arduino Uno
thì sẽ sử dụng ATMega328.

Hình 1.3 Phần cứng nền tảng Aduino.

Ứng dụng Aduino


 Điều khiển các thiết bị cảm biến âm thanh, ánh sáng.
 Làm máy in 3D.
 Làm đàn bằng ánh sáng.
 Làm lò nướng bánh biết tweet thông báo khi bánh đã chín.
 Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… Chính
vì thế mà mã nguồn mở này được c dùng để làm bộ xử lý trung tâm của rất
nhiều loại robot.
 Arduino còn có thể được sử dụng để tương tác với Joystick, màn hình,… khi
chơi các game như Tetrix, phá gạch, Mario…
 Dùng để chế tạo ra máy bay không người lái.

7
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

 Điều khiển đèn giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển
quảng cáo…
 Ngoài ra, Arduino còn rất nhiều ứng dụng hữu ích khác tùy thuộc vào sự
sáng tạo của người sử dụng.
 Ví dụ: Muốn kết nối Internet thì có Ethernet shield, điều khiển động cơ thì
có Motor shield, kết nối nhận tin nhắn thì có GSM shield,… Khá đơn giản,
chỉ cần tập trung vào việc “lắp ghép” các thành phần này và sáng tạo ra các
ứng dụng cần thiết là được.
1.1.3. Động cơ DC ( Quạt)
Động cơ một chiều DC (DC là từ viết tắt của Direct Current Motors) là động cơ được
điều khiển bằng dòng có hướng xác định hay nói cách khác thì đây là loại động cơ chạy
bằng nguồn điện áp DC - điện áp 1 chiều..
Cấu tạo của động cơ điện 1 chiều thường gồm những bộ phận chính như sau:
 Stator: là 1 hay nhiều cặp nam châm vĩnh cửu hoặc nam châm điện
 Rotor: phần lõi được quấn các cuộn dây để tạo thành nam châm điện
 Chổi than (brushes): giữ nhiệm vụ tiếp xúc và tiếp điện cho cổ góp
 Cổ góp (commutator): làm nhiệm vụ tiếp xúc và chia nhỏ nguồn điện cho
các cuộn dây trên rotor. Số lượng các điểm tiếp xúc sẽ tương ứng với số
cuộn dây trên rotor.

.
Hình 1.4 Động cơ quạt.

8
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

1.1.4. Relay trung gian (Bộ gia nhiệt- Heater)


Rơle trung gian (Relay trung gian) là loại thiết bị có chức năng chuyển mạch tín hiệu
điều khiển và khuếch đại chúng với kích thước nhỏ. Thiết bị này được dùng để điều kiển
bộ gia nhiệt

Hình 1.5 Relay trung gian


 Cấu tạo của rơ le trung gian bao gồm 2 phần chính là: cuộn hút (nam châm điện)
và mạch tiếp điểm (mạch lực).
 Nam châm điện : Bao gồm lõi thép động, lõi thép tĩnh và cuộn dây. Cuộn dây
được dùng để cuộn cường độ, điện áp hoặc cuộn cả điện áp lẫn cường độ. Trong
đó, lõi thép động được định vị bằng vít điều chỉnh găng bởi lò xo.
 Tiếp điểm: Bao gồm tiếp điểm nghịch có vai trò đóng cắt tín hiệu thiết bị tải với
dòng nhỏ được cách ly với cuộn hút.

9
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

CHƯƠNG 2. QUY TRÌNH CÔNG NGHỆ CỦA HỆ THỐNG

2.1. Mô tả quy trình hệ thống


Cho phép người dùng điều khiển nhiệt độ theo ý mình bằng cách nhập vào máy tính
mức nhiệt độ mình mong muốn (-55 -> 150°C) Quy trình công nghệ Hệ thống ghi nhận giá
trị nhiệt độ do người dùng cài đặt(-55 -> 150°C) Hệ thống liên tục cập nhật giá trị thực tế
từ cảm biến nhiệt độ
So sánh GIÁ TRỊ CÀI ĐẶT và GIÁ TRỊ THỰC TẾ
Trường hợp 1: Nếu lớn hơn giá trị thực tế -> Bộ gia nhiệt tắt, Quạt mở đến khi GIÁ
TRỊ THỰC TẾ = GIÁ TRỊ CÀI ĐẶT
Trường hợp 2: Nếu nhỏ hơn giá trị thực tế -> Bộ gia nhiệt mở, Quạt tắ đến khi GIÁ
TRỊ THỰC TẾ = GIÁ TRỊ CÀI ĐẶT

10
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

2.2. Lưu đồ thuật toán chương trình

Hình 2.1 Lưu đồ thuật toán

11
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

2.3. Chương trình Aduirno và Visual Studio


2.3.1. Code trên aduirno
int sensorPin = A0;
int sensorPin2 = A1;
int state, i;
float nhietdo_dat = 30;
float reading;
float a, b;
int quat = 13;
void setup() {
Serial.begin(9600);
pinMode(quat, OUTPUT);
}

void loop() {
if (Serial.available() > 0) {
state = Serial.read();
}
for (i = 0; i < 100; i++) {
a = analogRead(A0);
b = analogRead(A1);
reading = a - b;
delay(1);
}
float temp = reading;
Serial.println(temp);
delay(50);
switch (state) {
case '2': nhietdo_dat++; break;
case '3': nhietdo_dat--; break;
case '5': nhietdo_dat = 30; break;
case '7': digitalWrite(quat, 1); break;
case '8': digitalWrite(quat, 0); break;
}
}

12
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

2.3.2. Code trên Visual Studio.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;

namespace do_an_nhommm
{
public partial class Form1 : Form
{
delegate void SetTextCallback(string text);
int ND_DAT = 30;
string inputdata = String.Empty;

public Form1()
{
InitializeComponent();
String[] BaudRate = { "1200", "2400", "4000", "9600", "19200", "38400",
"57600", "115200" };
Raud_rate_list.Items.AddRange(BaudRate);
}

private void Form1_Load(object sender, EventArgs e)


{
int Index = Raud_rate_list.SelectedIndex;
String[] comlist = SerialPort.GetPortNames();
int[] Comnumberlist = new int[comlist.Length];
for (int i = 0; i < comlist.Length; i++)
{
Comnumberlist[i] = int.Parse(comlist[i].Substring(3));
}
Array.Sort(Comnumberlist);
foreach (int ComNumber in Comnumberlist)
{
COM_list.Items.Add("COM" + ComNumber.ToString());
}
}

private void button4_Click(object sender, EventArgs e)


{
if (COM_list.Text == "")
{
MessageBox.Show("Vui lòng chọn cổng COM ", "Thông báo ",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (serialPort1.IsOpen)
{
serialPort1.Close();
Ket_noi.Text = "Kết nối";
COM_list.Enabled = true;
Raud_rate_list.Enabled = true;
Group_cai_dat_nhiet_do.Enabled = false;
Group_nhiet_do.Enabled = false;
}
else

13
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

{
try
{
serialPort1.PortName = COM_list.Text;
serialPort1.BaudRate = Convert.ToInt32(Raud_rate_list.Text);
serialPort1.Open();
Ket_noi.Text = "Ngắt kết nối";
COM_list.Enabled = false;
Raud_rate_list.Enabled = false;
Group_cai_dat_nhiet_do.Enabled = true;
Group_nhiet_do.Enabled = true;
serialPort1.Write("5");//send 5 to arduino
ND_DAT = 30;
}
catch
{
MessageBox.Show("không thể mở cổng" + serialPort1.PortName, "Lỗi",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}

double nhiet = 0;
private void timer1_Tick(object sender, EventArgs e)
{
if (!serialPort1.IsOpen)
{
Thongbao.Text = " Bạn chưa kết nối, hãy chọn cổng COM để kết nối.";
Thongbao.ForeColor = Color.Red;
}
else if (serialPort1.IsOpen)
{
Thongbao.Text = "Đã kết nối.";
Thongbao.ForeColor = Color.Green;
inputdata = serialPort1.ReadLine().ToString();
var gt_adc = Convert.ToDouble(inputdata);
if (inputdata != String.Empty)
{
nhiet = Math.Round(gt_adc * 5 / 1024 * 100, 2);
if (nhiet > ND_DAT + 2)
{
serialPort1.Write("7");
run.BackColor = Color.Green;
off.BackColor = Color.White;
}
if (nhiet < ND_DAT - 2)
{
serialPort1.Write("8");
off.BackColor = Color.Red;
run.BackColor = Color.White;
}
SetText(inputdata);
}
}
Nhiet_do_cai_dat.Text = ND_DAT + "°C";
}

private void SetText(string text)


{
if (this.Nhiet_do.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}

14
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

else this.Nhiet_do.Text = Convert.ToString(nhiet) + "°C";


}

private void timer2_Tick(object sender, EventArgs e)


{
Thoi_gian_thuc.Text = DateTime.Now.ToLongTimeString();
Thoi_gian_thuc.ForeColor = Color.Blue;
}

private void Tang_nhiet_do_Click(object sender, EventArgs e)


{
serialPort1.Write("2"); //send 2 to arduino
if (serialPort1.IsOpen)
{
ND_DAT = ND_DAT + 1;
}
}

private void Giam_nhiet_do_Click(object sender, EventArgs e)


{
serialPort1.Write("3"); //send 3 to arduino
if (serialPort1.IsOpen)
{
ND_DAT = ND_DAT - 1;
}
}

private void Reset_Click(object sender, EventArgs e)


{
serialPort1.Write("5");//send 5 to arduino
ND_DAT = 30;
}
}
}

15
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

2.4. Giao diện người dùng

Giao diện trên Proteus

Hình 2.2 Giao diện Proteus

Giao diện chương trình trên Visual Studio

Hình 2.3 Giao diện Visual Studio

16
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

2.5. Mô phỏng

Kết nối cổng COM.

Hình 2.4 Kết nối cổng Com

Nhiệt độ ở mức 200C thực tế

Hình 2.5 Nhiệt độ ở mức 20◦C

17
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

Nhiệt độ ở mức 200C trên máy tính

Hình 2.6 Hiển thị trên máy tính 20 0C

Cơ chế bật tắt quạt

+ Vì nhiệt độ thực tế có sự thay đổi rất nhanh nên nhóm đã cài đặt (nhiệt độ đo

được) ND_DC > ND_đặt + 2 => Quạt quay , đèn báo tín hiệu sáng.

+ ND_DC < ND đặt -2 => quạt tắt, đền báo tín hiệu tắt.

Nên ở nhiệt độ 300C = ND_đặt quạt vẫn chưa hoạt động.

Hình 2.7 Quạt chưa hoạt động ở mức nhiệt bắng với nhiệt độ đặt

18
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

Quạt hoạt động khi đúng với điều kiện: ND_DC > ND_đặt + 2

Hình 2.8 Quạt hoạt động ở điều kiện ND_DC > ND_đặt + 2

Quạt tắt khi ở nhiệt độ đúng với điều kiện: ND_DC < ND đặt – 2

Hình 2.9 Quạt hoạt động ở điều kiện ND_DC < ND đặt – 2

19
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

Thay đổi nhiệt độ đặt ở mức 250C

Hình 2.10 Nhiệt độ đặt ở 25◦ C


Vì lúc này ND_DC > ND_đặt + 2 nên quạt quay, đền báo tín hiệu sáng.

Nhấn nút Reset trở về nhiệt độ đặt ban đầu.

Hình 2.11 Reset cài đặt

20
Khoa Điện – Điện Tử UTH Tự Động Hoá Công Nghiệp

CHƯƠNG 3. KẾT LUẬN

Các kết quả đạt được


- Với nhiệt độ ở mức là 20 kết quả hiển thị trên máy tính là 20.02 o C o C
- Với nhiệt độ ở mức -15 độ C kết quả hiển thị -15.14
- Quạt bật, tắt đúng với điều kiện đã lập trình.

Sai số và nguyên nhân sai số của mạch đo


− Sai số khi mô phỏng trong khoảng > 0.7 % giá trị nhiệt độ đo.
− Giá trị nhiệt độ đặt càng lớn thì độ chính xác càng cao đối với nhiệt độ dương va
càng nhỏ với nhiệt độ âm.

Kết luận chung.


Sau một thời gian tìm hiểu với kiến thức có được của môn đo lường và
được sự hướng dẫn của Thầy Lưu Hoàng Minh nhóm chúng em đã hoàn thành
bài tập lớn về đề tài: “Thiết kế hệ thống điều khiển giám sát nhiệt độ”
Mặc dù đã rất cố gắng trong việc nghiên cứu và thực hiện đồ án, nhưng
do thời gian và hiếu biết chung em còn hạn chế nên đồ án chỉ dừng lại ở mức
độ mô phỏng và sự hiểu biết, mà chưa kịp triển khai ứng dụng vào thực tế bởi
việc này cần thêm rất nhiều thời gian và kiến thức cũng như hiểu biết ở các
lĩnh vực công nghệ khác nhau. Đồng thời, đồ án chắc chắn cũng không tránh
khỏi những thiếu sót, nên chúng em rất mong nhận được ý kiến đóng góp từ
thầy.

Chúng em xin chân thành cảm ơn!

21

You might also like