Professional Documents
Culture Documents
Báo Cáo Tốt Nghiệp
Báo Cáo Tốt Nghiệp
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Nhận Xét Của Giảng Viên Phản Biện
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Điều Khiển Nhiệt Độ Lò Nhiệt Theo Góc Kích
Sử Dụng Giải Thuật PID
Sinh viên thực hiện:
Nguyễn Trần Gia Huy
Đỗ Công Minh
(Trưởng Ban )
Lời cảm ơn
Mục Lục...........................................................................................................
Tóm Tắt.........................................................................................................
Chương 2: Cơ Sở Lý Thuyết........................................................................
2.1.3 Các lệnh chính sử dụng trong chương trình điều khiển.........
1
2.2.4 Chức năng ngắt Timer 1 sử dụng trong PIC16F877A...........
2.6 Tổng quan về màn hình giao diện HMI Weintek MT6070iH................................
2.11.3 Thiết kế giao diện đồ thị trên phần mềm Easy Builder
8000 ...........................................................................................
2.13.1 Tính toán giá trị PID dựa vào đồ thị trên Matlab bằng
phương pháp Ziegler – Nichols...............................................................
3.1 Sơ đồ khối...............................................................................................................
3
4.1.2 Lưu đồ giải thuật chương trình trên PLC..............................
Phụ Lục..........................................................................................................
4
Danh Sách Các Hình
Hình 2.1 PLC Mitsubishi FX3U – 24MT....................................................17
Hình 2.2 Lệnh đọc giá trị Analog................................................................18
Hình 2.3 Lệnh xuất giá trị Analog...............................................................18
Hình 2.4 Lệnh nhân số thực.........................................................................18
Hình 2.5 Lệnh chia số thực..........................................................................19
Hình 2.6 Lệnh cộng số thực.........................................................................19
Hình 2.7 Lệnh trừ số thực............................................................................19
Hình 2.8 Lệnh so sánh.................................................................................19
Hình 2.9 Lệnh di chuyển.............................................................................19
Hình 2.10 Vi điều khiển PIC16F877A........................................................20
Hình 2.11 Sơ đồ khối chức năng của PIC16F877A....................................21
Hình 2.12 Cấu tạo Triac..............................................................................23
Hình 2.13 Kí hiệu và sơ đồ kết nối bên trong của Triac..............................24
Hình 2.14 Đặc tuyến Volt-Ampere Triac....................................................24
Hình 2.15 Hình ảnh thực tế Triac BTA16...................................................25
Hình 2.16 Cảm biến nhiệt độ PT100...........................................................26
Hình 2.17 Bộ chuyển đổi tín hiệu PT100....................................................27
Hình 2.18 Sơ đồ chân MOC3052................................................................27
Hình 2.19 Hình ảnh thực tế MOC3052.......................................................28
Hình 2.20 HMI Weintek MT6070iH...........................................................30
Hình 2.21 Đơn vị dữ liệu giao thức Modbus...............................................31
Hình 2.22 Khung truyền Modbus nối tiếp...................................................31
Hình 2.23 Bit trình tự trong chế độ RTU.....................................................32
Hình 2.24 Khung dữ liệu RTU....................................................................33
Hình 2.25 Cấu trúc một bản tin Modbus RTU............................................33
Hình 2.26 Thời gian truyền nhận giữa các bản tin Modbus........................34
Hình 2.27 Khung truyền dữ liệu RTU.........................................................35
5
Hình 2.28 Sơ đồ trạng thái chế độ truyền dẫn RTU....................................36
Hình 2.29 Mô tả về Input-Output của bộ biến đổi điện áp xoay chiều.......40
Hình 2.30 Mạch điều khiển Triac tải R.......................................................41
Hình 2.31 Dạng sóng mạch điều khiển Triac tải R.....................................42
Hình 2.32 Giao diện làm việc chính của phần mềm CCS...........................43
Hình 2.33 Màn hình soạn thảo chương trình Gx Developer.......................44
Hình 2.34 Thiết lập kết nối PLC..................................................................46
Hình 2.35 Chọn serial USB, thiết lập cổng COM và tốc độ truyền............47
Hình 2.36 Nạp chương trình xuống PLC.....................................................47
Hình 2.37 Lựa chọn các mục tải xuống PLC...............................................48
Hình 2.38 Hoàn tất tải chương trình xuống PLC.........................................48
Hình 2.39 Giao diện làm việc chính của phần mềm....................................49
Hình 2.40 Hộp thoại Device Properties.......................................................50
Hình 2.41 Hộp thoại Data Sampling Object................................................51
Hình 2.42 Hộp thoại Data Format...............................................................51
Hình 2.43 Hộp thoại Trend Display Object’s Properties.............................52
Hình 2.44 Cài đặt tại mục Trend cho đồ thị................................................52
Hình 2.45 Cài đặt tại mục Channel cho đồ thị.............................................53
Hình 2.46 Giao diện đồ thị sau khi cài đặt..................................................53
Hình 2.47 Giao diện điều khiển...................................................................54
Hình 2.48 Lựa chọn mục Modbus Explorer................................................56
Hình 2.49 Cửa sổ Modbus Explorer............................................................56
Hình 2.50 Cài đặt truyền thông Modbus giữa PLC và Matlab....................56
Hình 2.51 Giao diện đồ thị trên Matlab.......................................................57
Hình 2.52 Đồ thị thu được bằng công cụ Matlab........................................57
Hình 2.53 Đồ thị đáp ứng của các thông số PID tìm bằng phương pháp
Ziegler – Nichols hiển thị qua HMI.............................................................58
6
Hình 3.1 Hình chiếu đứng (mặt trước) của mô hình...................................61
Hình 3.2 Hình chiếu đứng (mặt sau) của mô hình.......................................62
Hình 3.3 Hình chiếu bằng của mô hình.......................................................62
Hình 3.4 Hình chiếu cạnh của mô hình.......................................................63
Hình 3.5 Lò gia nhiệt...................................................................................63
Hình 3.6 Bản vẽ 3D của mô hình – mặt trước.............................................64
Hình 3.7 Bản vẽ 3D của mô hình – mặt sau................................................64
Hình 3.8 Mô hình tổng thể sau khi hoàn thiện............................................65
Hình 3.9 Khối nguồn trong board driver góc kích......................................66
Hình 3.10 Khối xử lý trung tâm...................................................................67
Hình 3.11 Khối lấy điểm Zero crossing......................................................67
Hình 3.12 Dạng sóng thu được của khối Zero crossing..............................68
Hình 3.13 Nguyên lí khối công suất tải AC................................................69
Hình 3.14 Khối băm xung...........................................................................69
Hình 3.15 Board driver góc kích hoàn thiện...............................................70
Hình 3.16 Dạng sóng điện áp lưới khi góc kích α bằng 0...........................70
Hình 3.17 Dạng sóng điện áp lưới khi góc kích α bằng 13,70....................71
Hình 3.18 Dạng sóng điện áp lưới khi góc kích α bằng 106o......................71
Hình 4.1 Tính giá trị Pout............................................................................76
Hình 4.2 Tính giá trị Iout.............................................................................77
Hình 4.3 Tính giá trị Dout...........................................................................77
Hình 4.4 Tính tổng out PID.........................................................................78
7
Hình 5.6 Thiết lập nhiệt độ đặt Setpoint......................................................81
Hình 5.7 Nhấn START để vận hành hệ thống.............................................82
Hình 5.8 Nhấn Stop để ngừng gia nhiệt......................................................82
Hình 5.9 Nhấn RUN/STOP để bật/tắt quạt tản nhiệt...................................83
Hình 5.10 Chuyển tiếp các trang giao diện.................................................83
8
Danh Sách Các Bảng Và Sơ Đồ
Bảng 1.1 Bảng phân công thực hiện nhiệm vụ đồ án.................................14
Bảng 2.1 Thông số kỹ thuật của board PLC FX3U – 24MT.......................17
Bảng 2.2 Các chân PLC sử dụng trong đề tài..............................................17
Bảng 2.3 Bảng phân loại và địa chỉ bộ nhớ Modbus RTU..........................32
Bảng 2.4 Nhiệm vụ của mã chức năng trong giao tiếp Modbus..................34
Bảng 2.5 Thư viện logic dưới dạng Ladder.................................................46
Bảng 2.6 Thông số P,I,D tương ứng với dải nhiệt độ..................................59
Sơ đồ 2.1 Quy trình vận hành của hệ thống................................................55
Sơ đồ 3.1 Sơ đồ khối của hệ thống..............................................................60
Sơ đồ 3.2 Sơ đồ khối chức năng của board driver góc kích........................66
Sơ đồ 4.1 Lưu đồ giải thuật chương trình chính VĐK................................72
Sơ đồ 4.2 Lưu đồ giải thuật chương trình ngắt ngoài RB0..........................73
Sơ đồ 4.3 Lưu đồ giải thuật chương trình ngắt Timer 1..............................74
Sơ đồ 4.4 Lưu đồ giải thuật chương trình chính trên PLC..........................75
Sơ đồ 4.5 Lưu đồ giải thuật chương trình chính trên PLC..........................76
Bảng tính vật tư 1......................................................................................102
9
Các Ký Hiệu, Chữ Viết Tắt
Ký hiệu Ý nghĩa
VĐK Vi điều khiển
PLC Bộ điều khiển khả lập trình
HMI Giao diện người – máy
P Thừa số tỷ lệ ngõ ra
I Thừa số tích phân ngõ ra
D Thừa số vi phân ngõ ra
Kp Độ lợi tỷ lệ
Ki Độ lợi tích phân
Kd Độ lợi vi phân
CRC Kiểm dư chu trình
RTU Thiết bị đầu - cuối điều khiển
từ xa
10
Tóm Tắt
Đề tài điều khiển nhiệt độ lò nhiệt theo góc kích bao gồm những nội
dung sau:
- Ứng dụng thuật toán của bộ điều khiển PID vào đề tài.
- Xây dựng giao diện điều khiển, giám sát từ HMI.
- Hiệu chỉnh góc mở alpha của triac để điều khiển điện áp xoay chiều.
Mục đích chính của đề tài là điều khiển, giám sát sự tác động của bộ
điều khiển PID lên mô hình bằng giao diện HMI. Ổn định nhiệt dộ của lò
nhiệt với một giới hạn nhất định được thiết lập theo yêu cầu của người điều
khiển. Mở ra hướng phát triển cho các hệ thống sử dụng bộ điều khiển PID
một cách trực quan nhất. Nhận xét và đánh giá được chất lượng của hệ
thống thông qua đồ thị đáp ứng trên giao diện, qua đó có thể lựa chọn các
thông số Kp, Ki, Kd phù hợp nhất cho hệ thống.
Đề tài đã đạt được những kết quả sau:
- Hoàn thiện được giao diện và giao thức truyền thông giữa PLC và
HMI.
- Hoàn thành mô hình ứng dụng bộ điều khiển PID như mục tiêu ban
đầu.
- Hiệu chỉnh được các thông số Kp, Ki và Kd để ổn định hệ thống bằng
phương pháp dò PID.
11
Chương 1: Giới Thiệu Đề Tài
12
1.3 Cấu trúc quyển báo cáo
- Nội dung quyển báo cáo gồm 5 phần:
+ Chương 1: Giới thiệu đề tài
+ Chương 2: Cơ sở lý thuyết
+ Chương 3: Thiết kế và thi công mô hình
+ Chương 4: Chương trình điều khiển
+ Chương 5: Kết luận và hướng phát triển
13
góc kích
Thiết kế giao diện
16/07/2020 - 20/07/2020 Nguyễn Trần Gia Huy
HMI
Vận hành thử mô
21/07/2020 Cả nhóm
hình
Viết báo cáo và
22/7/2020 - 08/08/2020 chuẩn bị file trình Cả nhóm
chiếu
14
Chương 2: Cơ Sở Lý Thuyết
15
S0 – S1023, bit trạng thái mặc định được lưu khi
Relay trạng thái mất điện từ S500 – S999, tuy nhiên có thể cài đặt
từ M0 – M1023.
T0 – T199, Timer được lưu giá trị khi mất điện từ
Định thời 100ms
T184 – T199.
T200 – T249, Timer được lưu giá trị khi mất điện
Định thời 10ms
từ T246 – T249.
T250 – T383, khoảng tích lưu giá trị từ T250 –
Định thời 1ms
T255.
C0 – C199, lưu giá trị khi mất điện từ C100 –
Bộ đếm 16 bit
C199.
C200 – C219, lưu giá trị khi mất điện từ C220 –
Bộ đếm 32 bit
C234.
C235 – C255, trong đó:
C235 – C245 với bộ đếm một pha, một ngõ vào
đếm (lên hoặc xuống).
Bộ đếm 32 bit tốc độ
C246 – C250 với bộ đếm một pha, hai ngõ vào
cao
đếm.
C251 – C255 với bộ đếm hai pha, hai ngõ vào
đếm.
D0 – D7999, lưu giá trị khi mất điện từ D0 –
Thanh ghi D
D7999.
Con trỏ địa chỉ gián
V0 – 7, Z0 – 7.
tiếp
Số bước nhảy
P0 – 63.
chương trình con
Ngắt ngoài X0 – 5, ngắt timer (đơn vị 1ms), ngắt
Ngắt I
counter.
16
M8000: ON khi PLC RUN
M8002: xung nguồn
M8011: xung clock 10ms
Các bit M đặc biệt
M8012: xung clock 100ms
M8013: cung clock 1s
M8014: xung clock 1m
17
2.1.3 Các lệnh chính sử dụng trong chương trình điều khiển
- Lệnh RD3A: Lệnh đọc tín hiệu analog từ cảm biến nhiệt độ PT100.
Trong đó:
+ K0: Module số, dùng trực tiếp trên board nên là 0.
+ K4: Kênh đọc analog là 4.
+ D5: Giá trị đọc tức thời được lưu ở thanh ghi D5.
- Lệnh WR3A: Lệnh xuất giá trị analog điện áp.
Trong đó:
+ K0: Module số, dùng trực tiếp trên board nên là 0.
+ K1: Kênh xuất analog là 1.
+ D160: giá trị xuất được lấy từ thanh ghi D160.
- Lệnh DEMUL, DEDIV, DEADD, DESUB: Lệnh nhân, chia, cộng trừ
số thực.
Trong đó:
+ D10: Thanh ghi chứa số nhân.
+ K20: Giá trị nhân 20.
+ D15: Thanh ghi lưu kết quả sau khi nhân.
18
- Tương tự như thế với các lệnh chia, cộng, trừ.
Trong đó:
+ D125: Thanh ghi giá trị cần so sánh.
+ E2000: Giá trị so sánh.
+ M6: Khi giá trị cần so sánh lớn hơn giá trị so sánh sẽ SET giá trị M6.
- Lệnh MOV: Lệnh di chuyển.
Trong đó:
+ E2000: Giá trị cần gửi.
+ D125: Thanh ghi nhận giá trị gửi
.
19
2.2 Tổng quan về vi điều khiển PIC16F877A sử dụng trong
board driver góc kích.
- PIC16F877A là một vi điều khiển loại chip cắm 40 chân 8 bit của
hãng Microchip với các đặc điểm:
+ Gồm 35 tập lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong
một chu kỳ lệnh.
+ Tốc độ hoạt động tối đa cho phép là 20MHz với một chu kỳ lệnh là
200ms.
+ Bộ nhớ chương trình 8KB x 14bit.
+ Bộ nhớ dữ liệu 368 x 8 byte RAM.
+ 5 PORT I/O với 33 chân I/O.
+ 3 bộ Timer: Timer 0 (bộ đếm 8 bit), Timer 1 (bộ đếm 16 bit) và Timer
2 (bộ đếm 8 bit).
+ 8 kênh chuyển đổi ADC 10 bit.
20
Hình 2.11 Sơ đồ khối chức năng của PIC16F877A
21
+ Chân RA1: Nhận và xử lý tín hiệu để điều chỉnh độ rộng xung PWM
của quạt tản nhiệt.
22
- Chức năng ngắt Timer 1 trong hệ thống được sử dụng để điều chỉnh
độ rộng của góc kích.
23
2.3 Giới thiệu về linh kiện bán dẫn Triac
Triac (viết tắt của TRIode for Alternating Current) là một linh kiện bán
dẫn có 3 cực và 5 lớp, làm việc như 2 Thyristor mắc song song ngược chiều
nhau do đó có thể dẫn điện theo hai chiều.
25
- Ưu điểm cơ bản của Triac là mạch điều khiển đơn giản nhưng công
suất giới hạn và nhỏ hơn Thysistor.
- Triac tự bảo vệ chống lại quá điện áp theo cả hai chiều.
Thông số kỹ thuật:
- Điện áp cực đại: VV(DRM)/ V(RRM) 600V/800V.
- Dòng điện thuận cực đại: I T(RMS) 16A.
- Điện áp điều khiển mở van: VG = 1.5V.
- Dòng điều khiển mở van: IG = 100mA.
- Nhiệt độ làm việc: TSTG = -40oC ~ 125oC.
26
2.4 Cảm biến nhiệt độ PT100 và bộ chuyển đổi tín hiệu
- Thông số kỹ thuật:
+ Loại cảm biến: loại A - 3 dây.
+ Dải nhiệt độ hoạt động: -500 - 2000C.
+ Chiều dài: 1.5m
27
Hình 2.17 Bộ chuyển đổi tín hiệu PT100
- Thông số kỹ thuật:
+ Đầu vào: đầu vào cảm biến phổ quát PT100.
+ Tín hiệu ngõ ra: tín hiệu dòng điện từ 4 - 20mA.
+ Độ chính xác: ± 0.500C.
28
Các thông số quan trọng:
- Điện áp kích: 3V
- Dòng kích:50mA
- Điện áp qua cực đại VDRM = 600V.
- Dòng qua cực đại ITSM =1A
- Nhiệt độ hoạt động TOPR = -40 oC +85oC.
29
2.6.2 Các thông số kỹ thuật
- Màn hình hiển thị:
+ Kích thước màn hình LCD: 7 inch.
+ Độ phân giải: 800 x 480 điểm ảnh (pixel).
+ Độ sáng 375 cd/m2.
+ Độ tương phản: 500:1.
+ Đèn nền: Sử dụng đèn LED với tuổi thọ chiếu sáng trên 30.000 giờ.
+ Tấm kính cảm ứng màn hình:
+ Loại điện trở 4 dây.
+ Độ chính xác: Vùng tác động X ±2%, Y ±2%.
- Bộ nhớ:
+ Flash memory: 128 MB.
+ RAM: 64 MB DDR2.
- Bộ xử lý:
+ 32 bit RISC CPU 400Hz Processor.
- Cổng kết nối:
+ USB Host port x 1, USB Client port x 1.
+ COM port: COM1 (RS232/RS485 2w/4w), COM2 (RS232), COM3
(RS232/RS485 2w).
- Nguồn cấp: 24VDC – 250mA.
- Kích thước: 200 x 146 x 42.5 (mm).
30
Hình 2.20 HMI Weintek MT6070iH
- Màn hình giao diện HMI trong hệ thống được kết nối với PLC qua
giao thức truyền thông Modbus.
31
- Trong một đường truyền dẫn Modbus, tất cả các giao thức phải là
giống nhau, có nghĩa là Modbus ASCII không thể giao tiếp với modbus
RTU và ngược lại.
32
Phân loại và địa chỉ bộ nhớ Modbus RTU được trình bày dưới bảng sau:
Loại dữ liệu Modbus RTU Tên gọi chung Dải địa chỉ
Cuộn Modbus Bits, giá trị nhị phân, cờ 00001 - 09999
Ngõ vào digital Ngõ vào nhị phân 10001 - 19999
Ngõ vào analog Ngõ vào nhị phân 30001 - 39999
Thanh ghi Modbus Giá trị analog, biến 40001 - 49999
Bảng 2.3 Bảng phân loại và địa chỉ bộ nhớ Modbus RTU
33
2.7.2.2 Mô tả khung truyền Modbus RTU
- Kích thước tối đa của một khung truyền Modbus RTU là 256 byte.
- Một bản tin bao gồm: 1 byte địa chỉ - 1 byte mã hàm - n byte dữ
liệu - 2 byte CRC
- Chức năng và vai trò cụ thể:
+ Byte địa chỉ: Xác định thiết bị mang địa chỉ được nhận dữ liệu (đối
với Slave) hoặc dữ liệu nhận được từ địa chỉ nào (đối với Master). Địa chỉ
này được quy định từ 0 – 254.
+ Byte mã hàm: được quy định từ Master, xác định yêu cầu dữ liệu từ
thiết bị Slave.
Mã chức năng Hoạt động Tên bảng
01 Đọc Cuộn đầu ra rời rạc
02 Đọc Cuộn đầu vào rời rạc
03 Đọc Thanh ghi dữ liệu
04 Đọc Thanh ghi đầu vào
34
05 Viết Cuộn dây đơn
06 Viết đơn Thanh ghi dữ liệu
15 Viết nhiều Cuộn dây
16 Viết nhiều Thanh ghi dữ liệu
Bảng 2.4 Nhiệm vụ của mã chức năng trong giao tiếp Modbus
2.7.2.4 Thời gian truyền nhận giữa các khung bản tin
Modbus
Hình 2.26 Thời gian truyền nhận giữa các bản tin Modbus
35
+ Một thông điệp MODBUS được thiết bị truyền phát đặt vào một
khung bản tin có điểm bắt đầu và điểm kết thúc đã biết. Điều này cho phép
các thiết bị nhận được một khung mới biết khi nào bắt đầu và khi nào được
hoàn thành. Dễ dàng biết khung truyền không nhận được đầy đủ, phát hiện
và kết quả là phải báo lỗi. Trong chế độ RTU, các khung tin nhắn được
phân tách bằng khoảng im lặng ít nhất 3,5 lần thời gian truyền 1 ký tự bình
thường.
+ Một khung truyền có thời gian trễ là 3.5T = 3.5 * 1.04167 = 3.64584
ms.
- Trạng thái Modbus có tốc độ truyền (baudrate) lớn hơn 19200 được sử
dụng cố định ở 750 μs cho thời gian hoàn thành một đơn vị dữ liệu và 1.5
ms cho một khung truyền. Đối với tốc độ truyền dưới 19200 thì thời gian
này phải được tính toán cụ thể.
- Ví dụ:
36
+ Đối với tốc độ truyền 9600 baud trong gói dữ liệu 10 bit thì sẽ truyền
9600
được = 960 đơn vị dữ liệu trong 1 giây hoặc 960 đơn vị dữ liệu trong
10
1000 mili giây.
1000(ms)
+ Vì vậy, một đơn vị dữ liệu sẽ mất T = = 1.04167 ms để
960
truyền. Thời gian một đơn vị dữ liệu hoàn thành cuối khung truyền Modbus
phải lớn hơn hoặc bằng 1.5 lần thời gian truyền 1 đơn vị dữ liệu thông
thường: 1.5T = 1.5 * 1.04167 = 1.5625 ms
38
các thiết bị trong truyền thông Modbus nối tiếp phải được cấu hình giống
với phương pháp kiểm tra chẵn lẻ).
- Kiểm tra chẵn lẻ chỉ phát hiện lỗi nếu một số lẻ của các bit được lựa
chọn hoặc loại bỏ trong một đơn vị dữ liệu khung truyền trong suốt quá
trình truyền tải.
- Ví dụ:
+ Nếu chế độ kiểm tra Odd Parity được sử dụng và hai bit 1 bị loại bỏ
từ một đơn vị dữ liệu chứa 3 bit 1, dẫn đến kết quả là vẫn có một bit lẻ là
bit 1. + Nếu chế độ kiểm tra No Parity được xác định, không có bit chẵn lẻ
nào được truyền tải và không có kiểm tra chẵn lẻ nào có thể sử dụng được.
Một stop bit thêm vào sẽ được truyền đi để lấp đầy đơn vị dữ liệu khung
truyền.
2.7.2.7 Dải kiểm tra khung truyền: Kiểm dư chu trình 16 bit
( Cyclical Redundancy Checking CRC - 16)
- Chế độ RTU bao gồm một dải kiểm tra lỗi được dựa trên một phương
pháp: kiểm dư chu trình CRC – 16 được thực hiện trên nội dung thông tin.
Dải CRC kiểm tra nội dung của toàn bộ bảng tin. Nó được áp dụng với tất
cả các phương pháp kiểm tra chẵn lẻ được sử dụng cho các đơn vị dữ liệu
của bảng tin.
- Dải CRC chứa giá trị 16 bit được thực hiện từ 2 byte (8 bit), được
thêm vào dải cuối của bảng tin. Khi điều này được thực hiện, byte thấp của
dải được thêm vào đầu tiên, tiếp theo đó là byte cao. Byte CRC cao là byte
cuối cùng được gửi trong bảng tin. Giá trị CRC được tính toán bởi thiết bị
gửi CRC vào bảng tin, thiết bị nhận sẽ tính toán lại giá trị CRC trong suốt
quá trình nhận thông tin và so sánh giá trị đã tính toán với giá trị thực tế mà
nó nhận trong dải CRC. Nếu hai giá trị này không tương đương nhau, kết
quả là lỗi.
39
- Việc tính toán CRC được bắt đầu bằng trước tải đầu tiên tại một thanh
ghi 16 bit cho tất cả. Sau đó, một quá trình bắt đầu áp dụng 8 bit liên tiếp
của bảng tin đến nội dung hiện tại của thanh ghi. Chỉ có 8 bit dữ liệu trong
mỗi đơn vị dữ liệu được sử dụng để hoạt động CRC. Các bit start, stop và
parity không được sử dụng cho CRC.
- Trong suốt hoạt động của CRC, mỗi byte đơn vị dữ liệu loại trừ ORed
với nội dung thanh ghi. Sau đó kết quả sẽ được di chuyển đến hướng của
bit ít quan trọng nhất (LSB), với một số 0 điền vào vị trí của bit quan trọng
nhất (MSB). Bit LSB được bóc tách và xem xét. Nếu bit LSB là 1, thanh
ghi sau đó sẽ loại trừ ORed với một cài đặt sẵn, giá trị cố định. Nếu bit LSB
là 0, không xảy ra loại trừ OR.
- Quá trình được lặp lại cho đến khi tất cả 8 bit được di chuyển. Sau khi
bit cuối cùng (8) được di chuyển, byte tiếp theo được loại trừ ORed với giá
trị thanh ghi hiện tại, và quá trình lặp lại cho đến 8 bit nữa như mô tả bên
trên. Nội dung cuối cùng của thanh ghi, với tất cả các byte của bản tin đã
được áp dụng, chính là giá trị CRC. Khi giá trị CRC được gán vào bản tin,
byte nhỏ hơn sẽ được gán vào trước, tiếp theo đó là byte lớn hơn.
40
- Thiết bị chủ (master) được cấu hình bởi người dùng để đợi một
khoảng thời gian chờ trước (hết thời gian phản hồi) trước khi hủy bỏ trao
đổi. Khoảng thời gian này được cài đặt đủ dài cho bất kỳ thiết bị tớ (slave)
nào có thể phản hồi một cách bình thường. Nếu thiết bị tớ phát hiện một lỗi
truyền tải, bản tin sẽ không được tác động theo. Thiết bị tớ sẽ không thiết
lập phản hồi đến thiết bị chủ. Vì vậy việc hết thời gian sẽ kết thúc và cho
phép chương trình của chủ xử lý lỗi. Bản tin được gửi đến một thiết bị tớ
không tồn tại, đồng thời cũng là nguyên nhân dẫn đến hết thời gian.
41
Hình 2.29 Mô tả về Input-Output của bộ biến đổi điện áp xoay chiều
Nguồn ngõ vào là điện áp hình sin có trị hiệu dụng và tần số không đổi
U1=const, f1= const; tạo ra điện áp ngõ ra cùng tần số và có trị hiệu dụng
thay đổi được U2=var, f1=f2=const.
Một số ứng dụng thường sử dụng:
+ Điều khiển công suất các tải điện trở.
+ Điều khiển chiếu sáng.
+ Điều khiển tốc độ động cơ không đồng bộ 1 pha & 3 pha, động cơ
vạn năng.
+ Hệ thống bù nhuyễn công suất phản kháng.
- Phân loại bộ biến đổi điện áp xoay chiều:
+ Phân loại theo số pha: bộ biến đổi một pha và ba pha.
+ Phân loại theo dụng cụ bán dẫn công suất được sử dụng: bộ biến đổi
sử dụng thyristor, bộ biến đổi sử dụng triac,…
42
2.8.1.1 Điều khiển điện áp xoay bằng phương pháp điều
chỉnh góc mở α sử dụng triac
- Triac có thể được bật trong toàn bộ chu kì của điện áp U. Xung điều
khiển cực G trễ một góc α quyết định thời điểm bật Triac.
- Góc điều khiển 󠄡α được tính từ thời điểm giá trị 0 của điện áp nguồn u
đến khi Triac được kích hoạt trong cùng nửa chu kì.
Từ có thể rút ra: Với việc điều khiển cho Triac đóng chậm hơn thời
điểm mở tự nhiên một góc điều khiển αlàm cho điện áp trên tải bị mất đi
một phần trong mỗi nửa chu kỳ so với điện áp nguồn, kết quả là điện áp
43
trên tải vẫn là điện áp xoay chiều cùng tần số với điện áp nguồn nhưng
dạng khác hình sin và có giá trị hiệu dụng khác (nhỏ hơn) điện áp nguồn.
Góc điều khiển αtăng thì giá trị hiệu dụng điện áp trên tải giảm, giới hạn
thay đổi của αlà từ 00 đến 1800 tương ứng điện áp trên tải thay đổi từ U ng
đến 0.
Một số công thức tính các giá trị cơ bản:
- Giá trị hiệu dụng của điện áp trên tải:
Ut=U
√ 2 π−2α +sin 2 α
2π
- Giá trị hiệu dụng của dòng điện qua tải:
Ut
¿=
R
44
Hình 2.32 Giao diện làm việc chính của phần mềm CCS
45
Hình 2.33 Màn hình soạn thảo chương trình Gx Developer
Ký hiệu Ý nghĩa
Tiếp điểm thường hở, sẽ đóng khi tín hiệu vào ở mức ON
46
Tiếp điểm thường đóng, sẽ mở khi tín hiệu vào ở mức OFF (0)
Tiếp điểm cạnh lên, tạo ra một xung khi tín hiệu vào thay đổi từ
mức 0 lên mức 1
Tiếp điểm cạnh xuống, tạo ra một xung khi tín hiệu vào thay
đổi từ mức 1 xuống mức 0
- Chọn cổng COM và tốc độ truyền, tuy nhiên PLC FX3U – 24MT chỉ
thích hợp với tốc độ truyền 38.4Kbps.
48
Hình 2.35 Chọn serial USB, thiết lập cổng COM và tốc độ truyền
- Để nạp chương trình xuống PLC, ta vào Online và chọn Write to PLC:
- Cửa sổ Write to PLC hiện lên, ta chọn các mục muốn tải xuống PLC,
bao gồm: chương trình chính, ghi chú và các tham số của PLC.
49
Hình 2.37 Lựa chọn các mục tải xuống PLC
50
2.11 Phần mềm Easy Builder 8000
Hình 2.39 Giao diện làm việc chính của phần mềm
Phần mềm Easy Builder 8000 là phần mềm dùng để thiết kế giao diện
chuyên nghiệp cho các dòng HMI nh MT6070iH, MT8070iH, MT6100i,
MT8100i, MT6070iP,…
51
Hình 2.40 Hộp thoại Device Properties
52
Hình 2.41 Hộp thoại Data Sampling Object
- Chọn chế độ lấy mẫu Sampling mode: Time – based, với thời gian lấy
mẫu Sampling time interval: 1s
- Chọn địa chỉ đọc: Read Address
+ Giao thức: Modbus RTU.
- Thiết lập kiểu dữ liệu của các kênh lấy mẫu:
+ Chọn New để thiết lập kênh mới trong hộp thoại Data Format.
53
Hình 2.43 Hộp thoại Trend Display Object’s Properties
+ Tại ô General, chọn đối tượng lấy mẫu Data Sampling Object Index
+ Tại mục Trend type, chọn biểu đồ được lấy theo thời gian thực Real –
time.
+ Chọn khoảng cách giữa thời gian lấy mẫu: Pixel (điểm ảnh) = 1 (giây)
để biểu đồ hiển thị một cách tổng thể nhất.
+ Tại mục Trend, chọn ô Enable để cho phép hiển thị lưới trên đồ thị:
Horiz là số hàng được chia trong đồ thị.
Verti. Interval là khoảng thời gian giữa hai trục dọc.
54
Hình 2.45 Cài đặt tại mục Channel cho đồ thị
55
2.11.4 Giao diện điều khiển
56
Sơ đồ 2.1 Quy trình vận hành của hệ thống
2.12.1Giới thiệu
Matlab là viết tắt của từ Matrix Laboratory, là một bộ phần mềm toán
học của hãng Mathworks để lập trình, tính toán số có tính trực quan cao.
Matlab dùng để giải quyết các bài toán về giải tích số, xử lý tín hiệu số, xử
lý đồ họa,… mà không phải dùng đến lập trình cổ điển.
Phiên bản mới nhất của hãng – Matlab 2020A được hỗ trợ giao thức
Modbus RTU thông qua mục Modbus Explorer trên thanh trình đơn, qua đó
có thể kết nối với các thiết bị điều khiển như PLC.
57
Giao tiếp PLC với Matlab để có được đồ thị nhiệt độ của hệ thống khi
cho chạy giới hạn ở 1 góc kích cố định (vì giới hạn đo của cảm biến).
Để giao tiếp với PLC qua giao thức Modbus, từ giao diện chính ta chọn
mục Apps Modbus Explorer:
Sau khi lựa chọn mục Modbus Explorer, chọn Device Modbus Serial
để tiến hành cài đặt thông số.
Giao diện cửa sổ cài đặt các thông số giao tiếp Modbus RTU.
Hình 2.50 Cài đặt truyền thông Modbus giữa PLC và Matlab
- Các thông số cần cài đặt cho phù hợp với PLC:
+ Cổng COM: cổng giao tiếp truyền thông.
+ Baudrate: tốc độ truyền dữ liệu.
+ Parity: kiểm tra bit chẵn lẻ.
+ Timeout (sec): thời gian tối đa để kết nối PLC và Matlab.
+ Server ID: địa chỉ slave trong mạng truyền thông.
58
+ Register Address: địa chỉ cần đọc giá trị.
+ Register Type: loại địa chỉ (coil, input, holding register, input
register).
+ Precision: kiểu dữ liệu.
- Sau khi cài đặt, chọn Read để kiểm tra sai sót trong quá trình cài đặt.
Nếu giá trị được trả về trong ô Read Value, nghĩa là đã giao tiếp thành
công, chọn Confirm Parameters để hoàn tất quá trình cài đặt và hiển thị giá
trị lên đồ thị.
2.13.1Tính toán giá trị PID dựa vào đồ thị trên Matlab bằng
phương pháp Ziegler – Nichols
- Vận hành lò ở nhiệt độ tối đa là 150 0C, ta sẽ thu được đồ thị như hình
dưới đây:
59
Hình 2.52 Đồ thị thu được bằng công cụ Matlab
- Tính toán giá trị PID dựa vào đồ thị trên Matlab, ta được:
T1 = 52,174 (s)
T2 = 439,13 (s)
K = 150 – 35 = 115 (0C)
- Từ đó, ta tính được:
T2 1,2. 439,13
Kp = 1,2 . = = 0,0878
T 1.K 52,174 .115
Kp Kp 0,0878
Ki = = = = 0,0008414
Ti 2T 1 2. 52,174
Kd = Kp . Td = Kp . 0,5 . T1 = 0,0878 . 0,5 . 52,174 = 2.29
- Vậy hàm truyền của hệ thống là:
1 1
GC(s) = Kp (1+ +Td . s) = 0,0878 (1+ +26,087 s ¿
Ti. s 104,348 s
60
Hình 2.53 Đồ thị đáp ứng của các thông số PID tìm bằng phương pháp
Ziegler – Nichols hiển thị qua HMI
- Hệ thống chưa ổn định do các thông số còn quá nhỏ nên đáp ứng rất
chậm và không thể đạt đến giá trị nhiệt độ cài đặt.
61
- Bảng thông số P,I,D sử dụng trong đề tài
Dải nhiệt độ (oC) Kp Ki Kd
<105 80 50 0.075
106 - 115 90 0.075 70
116 - 125 100 0.07 70
126 - 135 110 0.07 80
136 - 145 150 0.065 80
>145 160 0.065 100
- Các thông số trên có thể được thay đổi để đáp ứng được tốt hơn.
62
Chương 3: Thiết Kế Và Thi Công Mô Hình
3.1 Sơ đồ khối
Khối nguồn: Cung cấp nguồn cho toàn bộ các khối thiết bị:
Lò nhiệt: Môi trường gia nhiệt và giữ nhiệt độ.
Cảm biến nhiệt độ: đo nhiệt độ trong lò và trả giá trị cho bộ chuyển
đổi.
Bộ chuyển đổi tín hiệu PT100: nhận tín hiệu điện trở từ PT100 và
xuất ra giá trị tuyến tính 0 – 20mA.
PLC FX3U-24MT:
63
- Xử lí tín hiệu dòng từ bộ chuyển tín hiệu PT100 để đưa ra giá trị ngõ
ra DAC.
- Nhận tín hiệu X0 từ công tắc hành trình để xuất tín hiệu ra chân Y0
điều khiển còi báo
Driver góc kích: Xử lí tín hiệu trả về từ kênh DAC của PLC FX3U-
24MT để điều khiển lò nhiệt và quạt tản nhiệt.
- Mô hình “điều khiển nhiệt lò nhiệt theo góc kích sử dụng giải thuật
PID” là mô hình điều khiển nhiệt độ lò theo giá trị nhận được từ PLC gửi
xuống. Sử dụng thuật toán PID để điều khiển nhiệt độ được tối ưu. Toàn
bộ hệ thống được điều khiển và giám sát thông qua màn hình HMI. Mô
hình sử dụng board PLC Mitsubishi FX3U – 24MT, VĐK PIC16F877A,
HMI Weintek MT6070iH và các phần mềm lập trình chính như GX
Developer, CCS, Easy Builder 8000.
64
Hình 3.1 Hình chiếu đứng (mặt trước) của mô hình
65
Hình 3.3 Hình chiếu bằng của mô hình
66
Hình 3.4 Hình chiếu cạnh của mô hình
67
Hình 3.6 Bản vẽ 3D của mô hình – mặt trước
68
3.2.2 Tổng thể của mô hình sau khi hoàn thiện
Mô hình sau khi hoàn thiện phần cơ khí, tất cả phần điều khiển của mô
hình đều được đặt bên trong khung: nguồn cấp, board driver góc kích,
PLC, còi báo…
69
Sơ đồ 3.2 Sơ đồ khối chức năng của board driver góc kích
+ Khối xử lý trung tâm đóng vai trò nhận và tính toán và xử lý tín hiệu,
gồm các thành phần: vi điều khiển PIC16F877A, bộ dao động thạch anh
20MHz, bộ reset và cổng nạp chương trình.
- Khối lấy điểm Zero crossing
+ Khối lấy điểm zero có chức năng tạo ra tín hiệu ngắt mức cao cho vi
điều khiển. Thời điểm xảy ra ngắt trùng với điểm zero của điện áp lưới.
+ Các linh kiện được sử dụng trong khối:
71
- Cầu diode DB1: chuyển điện áp AC DC để PC817 dẫn cả bán kì
âm và dương của điện áp lưới.
- Trở 10K-5W : hạ áp cho diode Zener.
- Diode zener 5.1V ghim áp tránh quá áp cho PC817.
5.1−2
- Trở 470: PC817 dẫn ở điện áp 3V-5mA: =420 . Chọn trở 470
0.005
ôm.
- Chọn điện trở treo chọn R1 = 1kΩ
+ Nguyên lý hoạt động: cho điện áp lưới qua bộ chỉnh lưu, hạ áp bằng
điện trở 10kΩ, sử dụng diode zenner 5.1V để ghim áp, tiếp tục hạ áp bằng
điện trở 470Ω để đưa vào Opto PC817. Khi điện lưới có giá trị > 0, Opto
PC817 kích dẫn, khi điện áp lưới = 0, PC817 ngưng dẫn, ngắt mức cao xảy
ra ở VĐK. Thời gian góc kích α được tính từ khi bắt đầu xảy ra ngắt, sau
khi góc kích α đạt thời gian phù hợp ,VĐK xuất tín hiệu kích dẫn
MOC3052, tạo xung kích dẫn triac BTA16 cấp nguồn cho tải lò nhiệt.
Hình 3.12 Dạng sóng thu được của khối Zero crossing
72
73
- Khối công suất
Nguyên lí hoạt động:Ở từng bán kì khi chân RB5 được kích lên mức
cao opto MOC3052 kích dẫn, cấp xung cho cực G của Triac BTA-16, 2
cực Triac đóng cấp 1 pha 220v(L) nguồn cho tải.
Chức năng: Đóng cắt theo độ trễ của góc trễ α tạo ra điện áp hiệu dụng
trên tải điều chỉnh được.
- Khối băm xung
74
+ Khối băm xung có vai trò điều khiển tốc độ quạt làm mát cho lò
nhiệt. Sử dụng MOSFET IRF840 đóng vai trò như 1 công tắc điện để điều
chỉnh độ rộng xung nguồn cho quạt với tín hiệu điều khiển từ VĐK gián
tiếp qua Opto PC817.
-Mạch sau khi hoàn thành
- Sử dụng Oscilloscope để kiểm tra tín hiệu điện áp được điều khiển
qua board driver góc kích:
+ Dạng sóng điện áp lưới 220V/50Hz khi góc kích α bằng 0:
Hình 3.16 Dạng sóng điện áp lưới khi góc kích α bằng 0
75
+ Dạng sóng điện áp lưới 220V/50Hz khi góc kích α bằng 13.7o:
Hình 3.17 Dạng sóng điện áp lưới khi góc kích α bằng 13,70
+ Dạng sóng điện áp lưới 220V/50Hz khi góc kích α bằng 106o:
Hình 3.18 Dạng sóng điện áp lưới khi góc kích α bằng 106o
76
Chương 4: Chương Trình Điều Khiển
77
78
Sơ đồ 4.2 Lưu đồ giải thuật chương trình ngắt ngoài RB0
79
Sơ đồ 4.3 Lưu đồ giải thuật chương trình ngắt Timer 1
80
4.1.2 Lưu đồ giải thuật chương trình trên PLC
- M40: Bit thời gian lấy mẫu cho phép hàm phía sau hoạt động.
- D200: Thanh ghi chứa giá trị Kp.
- D55: Thanh ghi chứa giá trị Error.
- D70: Thanh ghi chứa giá trị kết quả Pout
82
Chương trình tính Iout.
84
Chương 5: Kết Quả Và Hướng Phát Triển
85
5.1.2 Phần mềm
- Giao diện điều khiển của mô hình:
Hình 5.3 Giao diện điều khiển trên màn hình HMI
86
+ Độ vọt lố (POT) từ 80 - 100C.
+ Sai số xác lập: 40C.
+ Thời gian xác lập: 5 phút.
- Phương pháp vận hành mô hình:
+ Bước 1: Cấp nguồn.
+ Bước 2: Chọn chế độ vận hành Auto Tunning hoặc Manual. Nếu chọn
chế độ Manual, tiến hành nhập thông số Kp, Ki và Kd.
87
+ Bước 4: Nhấn START để vận hành.
Lưu ý:
- Nếu không chọn chế độ vận hành (bước 2) thì sẽ không thể bắt đầu gia
nhiệt.
- Trước khi nhấn Start để vận hành cần đóng cửa lò nhiệt. Nếu không đóng
sẽ có chuông báo động.
88
Bước 5: Nhấn RUN/STOP để bật/tắt quạt tản nhiệt theo ý người vận hành
Bước 6: Nhấn biểu tượng mũi tên bên trái để trở về màn hình chính.
Nhấn biểu tượng mũi tên bên phải để xem đồ thị đáp ứng.
90
Phụ Lục
Chương trình trên Vi điều khiển:
#include<16f877a.h>
#device adc = 10
#fuses NOWDT,HS
#use delay (clock = 20000000)
#byte portb = 0x06
#byte portc = 0x07
int16 doc_adc;
int16 doc_adc2;
float volt;
float alpha=0, alpha1=0, alpha2=0;
int16 al=0;
float set_count=0;
int16 count=0;
int16 i=0;
float duty;
int value=0;
#INT_EXT
void ngat_zero()
{ if (set_count==73)//chay 73 lan 100us
{
output_low(pin_b5);
}
else if(set_count == 0)
{
output_high(pin_b5);
}
91
else
{
delay_us(200);
disable_interrupts(INT_EXT); // khong nhan zero nua, tinh timer
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);//cai dat timer 1
enable_interrupts(INT_TIMER1);// cho phep ngat timer 1
set_timer1(65411);
}
}
#INT_TIMER1
void ngat_timer()
{
count++;
if(count >= set_count)
{
count=0;
setup_timer_1(T1_DISABLED);
disable_interrupts(INT_TIMER1);
output_high(pin_b5);
delay_us(5);
output_low(pin_b5);
enable_interrupts(INT_EXT);
ext_int_edge(H_TO_L);
}
set_timer1(65411);
}
void lo_nhiet()
{
92
set_count = 43;
}
void quat_pwm()
{
set_adc_channel(1);
delay_ms(10);
doc_adc2 = read_adc();
volt = (float)(doc_adc2*5)/1023.0;
duty=(float)(volt*51.0);
value = (int)duty;
set_pwm1_duty(value);
delay_us(10);
}
void main()
{
set_tris_b(0b00000001);
set_tris_c(0x00);
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_DIV_2);
enable_interrupts(GLOBAL);// cho phep ngat toan cuc
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);// cho phep ngat ngoai
ext_int_edge(H_TO_L);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,249,1);
while(true)
{
lo_nhiet();
93
quat_pwm();
}
Chương trình trên PLC:
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Tài Liệu Tham Khảo
[1] Đặng Đắc Chi - Cao Hoàng Vũ, Giáo trình “Vi điều khiển PIC
16F877A”, Trường Cao Đẳng Kỹ Thuật Cao Thắng, 2018.
[2] Đặng Đắc Chi - Nguyễn Thủy Đăng Thanh - Nguyễn Văn Tính - Võ
Ngọc Thi, Giáo trình “Lý thuyết điều khiển tự động”, Trường Cao Đẳng
Kỹ Thuật Cao Thắng, 2018.
[3] Thượng Văn Bé, Giáo trình “Điện tử công suất”, Trường Cao Đẳng Kỹ
Thuật Cao Thắng, 2017.
[4] http://www.simplymodbus.ca
[5] http://www.ozeki.hu
108
Bảng Tính Vật Tư
STT Tên thiết bị Số lượng Đơn giá Thành tiền
1 Khung lò nhiệt 1 850.000 850.000
2 Lò nhiệt 1 350.000 350.000
3 Quạt tản nhiệt 12x12 1 50.000 50.000
4 Quạt tản nhiệt 6x6 1 25.000 25.000
5 In mạch 2 175.000 350.000
Cảm biến nhiệt độ
6 1 100.000 100.000
PT100
Bộ chuyển đổi tín
7 1 180.000 180.000
hiệu PT100
Chì hàn, dây điện,
8 1 511.000 511.000
đầu cos, linh kiện
9 Nguồn tổ ong 1 110.000 110.000
Còi buzzer + relay
10 1 30.000 30.000
trung gian 24VDC
11 Vải chống cháy 1 70.000 70.000
12 Board PLC FX3U 1 Mượn
HMI Weintek
13 1 Mượn
MT6070iH
14 Tổng cộng 2.626.000
109