Tải bản đầy đủ (.doc) (21 trang)

đo lường điều khiển bằng máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.32 MB, 21 trang )

Tiểu luận môn học

GVHD:

BỘ GIÁO DỤC VÀ ĐÀO TẠO
----------

BÀI TIỂU LUẬN
Mơn:

Đo lường điều khiển bằng máy tính

Đề tài: “Đọc cảm

biến nhiệt độ DS1820 lên
máy tính, đồng thời điều khiển bơm tự động
theo nhiệt độ đặt trước”
Họ và tên GVHD: ………………………………….
SV thực hiện:
………………………………….
Lớp:

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

Vũng tàu, ngày 11 tháng 04 năm 2020

0


Tiểu luận mơn học


GVHD:

Mục Lục
Lời nói đầu....................................................................................................2
Chương 1: Khái qt về mơn đo lường điều khiển bằng máy tính...............3
1.1 Lịch sử hình thành...................................................................................3
1.2 Ứng dụng tiêu biểu..................................................................................4
1.3cấu trúc của máy tính................................................................................4
Chương 2: Khái quát Arduino.......................................................................5
2.1 giới thiệu phần mềm Arduino..................................................................5
2.2 một số dòng sản phẩm của arduino.........................................................5
2.3 Ứng dụng trong đời sống.........................................................................5
2.4 khả năng mở nguồn.................................................................................7
2.5 khả năng kết nối thiết bị khác..................................................................7
Chương 3: Khái quát visual basic..................................................................8
3.1 Tìm hiểu phần mềm ................................................................................8
3.2 Tính năng của visual basic .....................................................................8
3.2 cài đặt phần mềm ....................................................................................8
Chương 4: Nội dung thực hiện đề tài ...........................................................9
4.1 đặt vấn đề.................................................................................................9
4.2 phương thức thực hiện.............................................................................9
4.3 thiệt bị thực hiện......................................................................................9
4.4 mở phần mềm và kết nối thiết bị với máy tính .....................................11
4.5 code arduino..........................................................................................15
4.6 hiện tượng khi làm đề tài ......................................................................17
Chương 5 Kết luận......................................................................................18

1



Tiểu luận mơn học

GVHD:

LỜI NĨI ĐẦU
Ngày nay, khi cơng nghiệp tự động hố ngày càng phát triển thì việc sử dụng
máy tính để điều khiển các hệ thống tự động đang trở nên phổ biến. với một chiếc
máy tính và một số thao tác chùng ta có thể điều khiển được cả một hệ thống, một
dây truyền sản xuất tự động, các hệ thống đèn điện
Viêc ứng dụng máy tính vào kỹ thuật đo lường và điều khiển máy tính đã đem
lại những kết quả đầy tính tiện lợi. Các thiết bị, hệ thống đo lường và điều khiển
ghép nối với máy tính có độ chính xác cao, điều đáng quan tâm là là mực độ tự
động hố trong cơng viêc được xử lý nhanh
Để các hệ thống đo lường điều khiển ghép nối với máy tính hoạt động được
thì ngồi phần mạch điện cần phải có chương trình được nạp vào máy tính để điều
khiển một hệ thống. Vậy nên củng với phát triển củng nền cơng nghiệp thì đo
lường điều khiển máy tính càng được phổ biến và ngày càng dược cải cách. Cũng
nhờ nhu cầu cao một số phần mềm đề phục vụ cho các du cầu đó đã ra đời như
visual Basic, Arduino, Matlap, proteus,…
Cùng với sự học tập trên lớp cùng với tiếp thu từ nhiều tài nguyên kiến thức
khác nhau đã tạo bài tiểu luận nói khái quát về các phần mềm để dùng cho đo
lường điều khiển máy tính và tìm hiểu về đề tài đọc cảm biến nhiệt độ Ds1820 lên
máy tính đồng thời điều khiển bơm tự động theo nhiệt độ đặt trước.

2


Tiểu luận mơn học

GVHD:


CHƯƠNG 1:KHÁI QUAT VỀ MƠN ĐO LƯỜNG ĐIỀU
KHIỂN BẰNG MÁY TÍNH
1.1Lịch sử hình thành
Một thí dụ thực tiễn đầu tiên của ứng dụng máy tính điều khiển q
trình là vào năm 1959; nó liên quan đến một số chức năng ở nhà máy hoá
dầu tại Port Arthur Texas(USA).Cơng trình đầu tiên kết hợp giữa cơng ty
Thomson ramo Woolridge và Texaco. Máy tính dùng đèn điện tử RW300
kiểm sốt dịng chảy, nhiệt độ, áp suất và phân tử trong nhà máy lọc (hố
dầu). Máy tính tính tốn tín hiệu điều khiển mong muốn dựa trên dữ liệu
vào và thây đổi điểm đặt của bộ hiệ chỉnh analog và chỉ thị người vận
hành các điều khiển được thực hiện bằng tay
Vấn đề kinh tế không chỉ là vấn đề. Độ tin cậy phần cứng thấp vì dùng
đèn điện tử, phần mềm được viết bằng lập trình hợp ngữ
Vào năm 1962, ICI( Imperial Chemical Industries) giới thiệu khái niệm
điều khiển số trực tiếp DDC(Direct digital control),ý tưởng là tahy vòng
điều khiển analog thơng thường bằng máy tính trung tâm. Ý tưởng của
DDC vẫn còn được áp dụng trong nhiều hệ thống điều khiển máy tính hiện
nay
Tên gọi điều khiển số trực tiếp nhắm nhấn mạnh ràng máy tính điều
khiển quá trình một cách trực tiếp. Tính linh hoạt là thuận lợi của hệ thống
DDC
Sự phát triển bán dẫn trong thập niên 1960 dẫn đến sự phát triển mạnh
mẽ của máy tính. Gồm ba yếu tố:
+ phần cứng máy tính tơt hơn
+ q trình ít phức tạp hơn
+ lý thuyết điều khiển phát triển
Ba yếu tố trên được kết hợp lại gia tăng sự thành cơng của điều khiển
máy tính. Đây là thời khì máy tính mini. Các địi hỏi máy tính điều khiển
q trình gắn chặt với sự phát triển của cơng nghệ mạch tích hợp. Có thê

thiết kế hiệu quả hệ thống điều khiển q trình bằng máy tính mini. Máy
tính q trình tiêu biểu thời kì này có độ dài từ 16 bit. Ổ đĩa được sử dụng
thông thường là bộ nhớ phụ. CDC1700 là máy tính tiêu biểu thời kì này

3


Tiểu luận mơn học

GVHD:

hình 1.1 máy tính CDC1700

1.2 Ứng dụng tiêu biểu
Các ứng dụng máy tính thơng dụng trong điều khiển công nghiệp là bus
mở. Giao tiếp (bus) giữa các modun vận hành được nhấn mạnh
Ứng dụng điều khiển máy tính q trình rất nhiều:
+ cơng nghệ cơ khí chế tạo: NC, CNC, FMS, robot
+ cơng nghệ xử lí hố, dầu khí, nhựa, giấy,….
+ Hệ thống năng lượng điện:
+ Điều khiện hệ thống tự động
Các q trình có sử dụng máy tính điều khiển rất đa

1.3 Cấu trúc của máy tính
Cấu trúc của máy tính có thể chia thành ba khối chính
 Khối xử lý trung tâm(CPU): làm nhiệm vụ thu thập và xử lí mọi
dữ liệu
 Khối nhớ (Memory): lưu trữ cac loại dữ liệu khác nhau đưa vào,
lấy ra từ CPU
 Khối phối hợp vào ra(I/O): làm nhiệm vụ tương thích giữa các

thiết bị ngoại vi và đường dây(bus) trong may tính

4


Tiểu luận mơn học

GVHD:

hình 1.2: cấu trúc cơ bản của một máy tính

CHƯƠNG 2 KHÁI QUÁT ARDUINO
2.1 Giời thiệu phần mềm Arduino
Arduino thực sự đã gây sóng gió trên thị trường người dùng trên toàn
thế giới gần đây, số lượng người dùng cực kì lớn và đa dạng với trình độ
được trải rộng từ cấp phổ thông lên đến đại học đã làm cho ngay cả những
người tao ra chúng phải ngạc nhiên với mức độ phổ biến
Vậy Arduino là gì? Arduino thật ra là một bo mạch vi xử lý được dùng
để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ,
đèn hoặc các thiết bị khác. Đặc biệt mổi bật của arduino là mội trường
phát triển ứng dụng cực kỳ dễ sử dụng, với một ngơn ngữ lập trình có thể
học một cách nhanh chóng ngay cả với những người ít am hiểu về điện tử
và lập trình. Điều làm nên hiện tượng Arduino chính là mức giá rất thấp và
tính chất nguồn mở từ phần cứng tới phần mềm
Arduino ra đời tại thị trấn Ivrea thuộc Y và được đặt theo tên một vị vua
vào thế kỉ thừ 9 là King Arduin. Arduino chính thức được đưa ra giới thiệu
vào năm 2005 như một công cụ khiêm tốn dành cho các sinh viên của giáo
sư Massimo Banzi là một trong những người phát triển Arduino, tại
trường Interaction Design Instistute Ivrea (IDII). Mặc dù hầu hết khơng
được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền với tộc độ chóng mặt

nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên. Hiện
nay Arduino nổi tiếng trên toàn thế giới
Arduino được xem là nền tảng của” mã nguồn mở” được dùng để tạo
nên các loại ừng dụng trong lĩnh vực điện tử, khả năng tương tác với môi
trường thuận lợi hơn
Arduino được ví như chiếc máy mini để sử dụng để lập trình,xây dựng
và thực hiện dự án về điện tử một cách hữu ích nhất mà khơng cần đến các
loại cơng cụ chun biệt dùng riêng cho q trình phục vụ nạp code
Arduino gồm có 2 phần chính:
+ Phần cứng: vi điều khiển hay gọi là board mạch nguồn mở
5


Tiểu luận môn học

GVHD:

+ Phần mềm: các phần mềm dành riêng hỗ trợ cho sự tích hợp IDE
với tác dụng soạn thảo, nạp chương trình cho board và biên dịch
code

2.2 Một số dàng sản phầm arduino






Arduino Uno R3
Arduino RedBoard

Board Arduino Mega
Board Arduino Leonardo
Shield Arduino

2.3 Ứng dụng trong đời sống
Trong đời sống Arduino được sử dụng nhiều và khá quan trọng trong
viêc chế tạo ra các thiết bị điện tử chất lượng cao. Một số ugn71 dụng
chính :
 Lập trình robot
 Thực hiện lập trình các loại game tương tác
 Lập trình máy bay khơng người lái
 Điều khiển thiết bị ánh sáng cảm biến tốt
 ừng dụng trong mày in màu 3D, điều khiển cảm biến bào hiệu khi
bánh chín
 một số bộ phận quan trọng trong đèn giao thông

2.4 Khả năng mở nguồn
Arduino có hai nguồn chính là phần cứng và phần mềm nó đều là
những thiết bị mở nguồn. Mọi sơ đồ đều được pibliv trực tuyến, vì vậy khi
bạn thực hiện lắp ráp chỉ cần có đủ linh kiện và tuỳ theo sơ đồ lắp ráp

6


Tiểu luận môn học

GVHD:

2.5 Khả năng kết nối thiết bị khác






Hoạt động một cách độc lập và điều mà arduino có thể thực hiện được
Kết nối với các thiết bị máy tính, cho phép truy cập vào những tệp dữ
liệu thuộc tính cảm biến bên mơi trường ngồi và cung cấp phản hồi
các thông tin
Liên kết, kết nối được với các Arduino khác
Kết nối được nhiều các thiết bị khác nhau, các chíp điều khiển

7


Tiểu luận mơn học

GVHD:

CHƯƠNG 3 KHÁI QT VISUAL BASIC
3.1 Tìm hiểu phần mềm
Visual Basic 6.0 (VB6) là một phiên bản của bộ cơng cụ lập trình
Visual Basic (VB), cho phép người dùng tiếp cận nhanh cách thức lập
trình trên mơi trường Windows. Những ai đã từng quen thuộc với VB thì
tìm thấy ở VB6 những tính năng trợ giúp mới và các cơng cụ lập trình
hiệu quả. Người dùng mới làm quen với VB cũng có thể làm chủ VB6 một
cách dễ dàng.
- Với VB6, chúng ta có thể :
+ Khai thác thế mạnh của các điều khiển mở rộng.
8



Tiểu luận môn học

GVHD:

+ Làm việc với các điều khiển mới (ngày tháng với điều khiển
MonthView và DataTimePicker, các thanh cơng cụ có thể di chuyển
được CoolBar, sử dụng đồ họa với ImageCombo, thanh cuộn
FlatScrollBar,…).
+Làm việc với các tính năng ngôn ngữ mới.
+ Làm việc với DHTML.
+ Làm việc với cơ sở dữ liệu.
+ Các bổ sung về lập trình hướng đối tượng.

3.2 Tính năng của Visual Basic
Visual Basic tiết kiệm được thời gian và công sức so với một số ngơn
ngữ lập trình có cấu trúc khác vì có thể thiết lập được các hoạt động trên
từng đối tượng được Visual Basic cung cấp.
Khi thiết kế chương trình có thể thấy ngay kết quả qua từng thao tác và
giao diện khi thi hành chương trình.
Cho phép chỉnh sủa dễ dàng, đơn giản.
Khả năng kết hợp với các thư viện liên kết động DLL.

3.3 Cài đặt phần mềm
Sử dụng chương trình VB6, người dùng có thể cài đặt VB6 lên máy
tính của mình. Bộ cài này cịn cài đặt các tập tin cần thiết để xem tài liệu
trên đĩa CD MSDN (Microsoft Developer Network). Nếu cần, người dùng
có thể cài đặt riêng phần tài liệu và ví dụ mẫu của Visual Basic lên máy
tính.
- Để cài đặt VB6, người dùng nên kiểm tra máy tính của mình đảm bảo

được cấu hình tối thiểu. Các yêu cầu hệ thống tối thiểu :
- Microsoft Windows 95 trở lên hoặc là Microsoft Windows NT
Workstation 4.0 trở lên.
- Tốc độ CPU 66 MHz trở lên.
- Màn hình VGA hoặc màn hình có độ phân giải cao được hỗ trợ bởi
Microsoft Windows.
- 16 MB RAM cho Microsoft Windows 95 hoặc 32MB RAM cho
Microsoft Windows NT Workstation

CHƯƠNG 4: NỘI DUNG THỰC HIỆN ĐỀ TÀI
4.1 Đặt vấn đề
Như chúng ta đã biết, nước ta hiện nay trong qua trình cơng nghiệp hố
hiện đại hố đất nước. Vì thế tự động hố đóng vai trị quan trọng, tự động
hố giúp tăng năng suất, tăng độ chính xác cao do đó tăng hiệu quả sản
xuất. Nhất là các thiết bị sử dụng máy tính, cho nên mơn đo lường điều
khiển bằng máy tính là một trong tính thất yếu để giúp các doanh nghiệp
điều khiển máy móc để bắt kịp thời đại là rất cần thiết

9


Tiểu luận môn học

GVHD:

Sau khi học xong học phần cùng với sự giúp đõ của giảng viên và kiến
thức bên ngoài đề sáng tỏ hiệu quá và ứng dụng trong thực tế của bộ mơn
thì chúng em đã tìm hiểu đề tài :”Đọc cảm biến nhiệt độ DS1820 lên máy
tính, đồng thời điều khiển bơm tự động theo nhiệt độ đặt trước”. Cùng với
sự nỗ lực của cả nhóm do thời gian, kiến thức gịn hạn hẹp nên khơng thể

thiếu những thiếu sót. Chùng em rất mong thầy cơ góp ý

4.2 Phương thức thực hiện
Với đề tài trên chungq em đã thực hiện đề tài : kham khảo tài liệu, tìm
hiểu thực thế,….

4.3 Thiệt bị thực hiện
 Board Arduino mega 2560

Cấu tạo chính của Arduino Mega 2560 bao gồm:
 Cổng USB: đây là loại cổng giao tiếp đề ta upload code từ PC lên vi
điều khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu
giữa ci điều khiển và máy tính
 Jack nguồn: để chạy Arduino chỉ có thể lấy nguồn từ cổng USB ở
trên, nhưng khơng phải lúc nào cũng thế cắm với máy tính được. Lúc
đó ta cần một nguồn từ 9V đến 12V
 Có 54 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngồi ra có một
chân nối đất và một chân điện áp tham chiếu
 Vi điều khiển AVR: đây là bộ xử lí trung tâm của tồn bo mạch. Với
mỗi Arduino khác nhau thì con chip là khác nhau
 Các thông số chi tiết của Arduino Mega 2560:
Vi xử lý
5V
Điện áp hoạt động
7-12V
Điện áp đầu vào
6-20V
Chân vào / ra (I/O)số
54( 15 chân là đầu ra
PWM)

Chân vào tương tự
16
Dòng điện trong mỗi chân I/O
40mA
Dòng điện chân nguồn 3.3V
50mA
10


Tiểu luận môn học

GVHD:

Bộ nhớ trong
256KB
SRAM
8KB
EEPROM
4KB
Xung nhịp
16MHz
 Cảm biến nhiệt độ DS18B20
DS18B20 là IC cảm biến nhiệt độ chỉ bao gồm 3 chân

Đặc điểm :
 IC đo nhiệt độ, giao tiếp với VDK qua giao thức 1 dây
 Mỗi thiệt bị có 1 mã code 64 bit riêng biệt
 Nguồn cung cấp 3V-5.5V, có thể cấp nguồn thơng qua chân dữ
liệu
 Có thể đo được khoảng cách nhiệt độ từ -550C đến +1250C

 Độ chính xác 0.50C trong khoảng nhiệt dộ từ -100C đến 850C
 Độ phân giải cảm biến 9-12 bit
 Thời gian chuyển đổi lớn nhất 750ms tương ứng với bộ phân giải
12 bit

Sơ đồ khối DS18B20:

11


Tiểu luận môn học

GVHD:

4.4 Mở phần mềm và kết nối thiết bị với máy tính
 Phần mềm Arduino
 Cách nối phần cứng với máy tính

 Kiểm tra cổng COM kết nối

12


Tiểu luận môn học

GVHD:

 Mở phần mềm Arduino

 Vào tool chọn Arduino và port


13


Tiểu luận mơn học

GVHD:

 Viết code lập trình

 Kiểm tra lỗi code

 Nạp chương trình vào board Arduino

14


Tiểu luận môn học

GVHD:

 Hiện thị bảng

 Phần mềm visual Basic
Giao diện phần mềm

Kích vào phần mềm visual basic rồi chọn Standard EXE rồi chon Open.

15



Tiểu luận mơn học

GVHD:

Khi mở Open thì giao điện mới sẽ mở ra để người dùng có thể chế tạo
giao điện đồ hoạ của một hệ thống

4.5 Code Arduino
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
#define TEMPERATURE_PRECISION 9 // Lower resolution
const int Motor = 8;
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature Ics)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
int numberOfDevices; // Number of temperature devices found
DeviceAddress tempDeviceAddress; // We’ll use this variable to store a found device address
void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println(“Dallas Temperature IC Control Library Demo”);
// Start up the library
sensors.begin();
pinMode(Motor,OUTPUT);
digitalWrite(Motor,HIGH);

// Grab a count of devices on the wire
numberOfDevices = sensors.getDeviceCount();
// locate devices on the bus
Serial.print(“Locating devices...”);
Serial.print(“Found “);
Serial.print(numberOfDevices, DEC);
Serial.println(“ devices.”);
// report parasite power requirements
Serial.print(“Parasite power is: “);
if (sensors.isParasitePowerMode()) Serial.println(“ON”);
else Serial.println(“OFF”);
// Loop through each device, print out address
for(int i=0;i{
// Search the wire for address
if(sensors.getAddress(tempDeviceAddress, i))
{
Serial.print(“Found device “);
Serial.print(I, DEC);
Serial.print(“ with address: “);
printAddress(tempDeviceAddress);
Serial.println();
Serial.print(“Setting resolution to “);
Serial.println(TEMPERATURE_PRECISION, DEC);

16


Tiểu luận môn học


GVHD:

// set the resolution to TEMPERATURE_PRECISION bit (Each Dallas/Maxim device is capable of
several different resolutions)
sensors.setResolution(tempDeviceAddress, TEMPERATURE_PRECISION);
Serial.print(“Resolution actually set to: “);
Serial.print(sensors.getResolution(tempDeviceAddress), DEC);
Serial.println();
}else{
Serial.print(“Found ghost device at “);
Serial.print(I, DEC);
Serial.print(“ but could not detect address. Check power and cabling”);
}
}
}
// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
// method 1 – slower
//Serial.print(“Temp C: “);
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print(“ Temp F: “);
//Serial.print(sensors.getTempF(deviceAddress)); // Makes a second call to getTempC and then converts to
Fahrenheit
// method 2 – faster
float tempC = sensors.getTempC(deviceAddress);
Serial.print(“Temp C: “);
Serial.println(tempC);
// control Motor when tempC >32
if (tempC >40){

digitalWrite(Motor,LOW);
int RP = 0; //0%
}
else{
//C = 28:60
//PulseWidth = 0:255 -> TempC ::
byte PW = (255*(tempC-28))/60;
float RP = 100*PW/255;
analogWrite(Motor,PW); }
//Serial.print(“ Temp F: “);
//Serial.println(DallasTemperature::toFahrenheit(tempC)); // Converts tempC to Fahrenheit
String str = “Nhiet Do:=” + String(tempC) + “...” + “%Cong suat Dong co:=”;
delay(500);
}
void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print(“Requesting temperatures...”);
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println(“DONE”);
delay(200); //my add
// Loop through each device, print out temperature data
for(int i=0;i{
// Search the wire for address
if(sensors.getAddress(tempDeviceAddress, i))
{
// Output the device ID
Serial.print(“Temperature for device: “);

Serial.println(I,DEC);
delay(500);//my add
// It responds almost immediately. Let’s print out the data
printTemperature(tempDeviceAddress); // Use a simple function to print out the data
}

17


Tiểu luận môn học

GVHD:

//else ghost device! Check your power requirements and cabling
}
}
// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t I = 0; I < 8; i++)
{
if (deviceAddress[i] < 16) Serial.print(“0”);
Serial.print(deviceAddress[i], HEX);
}
}

4.6 Hiện tượng khi làm đề tài

Nhiệt độ môi trường trong nhà của em lúc chiều 4h là 31,50C thì cơng
tắc tự động mở máy bơm sẽ hoạt động


18


Tiểu luận môn học

GVHD:

Khi nhiệt độ tăng lên cao 450C thì máy bơm sẽ tự động ngừng hoạt
động
cũng trong lúc đó em dùng lửa để tăng nhiệt độ của mơi trường xung
quanh cảm biến nhiệt độ đo được: 540C đến 57.50C làm cho cơng tắc đã
chuyển sang trạng thái đóng máy bơm sẽ ngừng hoạt động

19


Tiểu luận môn học

GVHD:

CHƯƠNG 5: KẾT LUẬN
Nhờ giảng viên chuyển đạt kiến thức dễ hiểu thực tế giúp tui em hiểu thêm về môn
học,để trang bị cho đường đời tương lai về sau. Tuy nhiên do kiến thức còn hạn
hẹp nhưng tụi em có cố gằng hồn thiệt đề tài đúng mục tiêu đề ra. Ngoài ra khi
thực hiện đề tài cịn rất nhiều hạn chế nhất là độ chính xác so với thực tế bên ngồi
mơi trường thiết bị và kinh nghiệm chưa

20




×