Đồ Án Tốt nghiệp Cao Đẳng
KIT THỰC TẬP ENCODER
Người Thực Hiện
Bộ Mơn Tự Động Hóa
Khoa Điện - Điện tử
Trường Cao Đẳng Kỹ Thuật Cao Thắng
Tháng 12 năm 2021
KIT THỰC TẬP ENCODER
Người thực hiện
KIT THỰC TẬP ENCODER
Người thực hiện
Hội Đồng Chấm Bảo Vệ:
(Trưởng Ban )
(Thành Viên)
(Thành Viên)
(Thành Viên)
(Thành Viên)
(Thành Viên)
(Thành Viên)
Tháng 12 năm 2021
Nhận xét của Giảng viên hướng dẫn
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
Ký tên
Nhận xét của Giảng viên phản biện
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
……………………………………………………………………………...
Ký tên
Lời cảm ơn
Trong suốt thời gian thực hiện đề tài này, chúng em đã nhận được rất
nhiều sự giúp đỡ, đóng góp ý kiến, chỉ bảo tận tình của thầy cơ và bạn bè.
Để hồn thành tốt đề tài này này, chúng em xin chân thành cảm ơn thầy
Hồ Thanh Vũ đã ln tận tình giúp đỡ, chỉ bảo chúng em trong suốt thời gian
thực hiện đề tài. Bên cạnh đó, chúng em cũng xin chân thành cảm ơn đến các
thầy cơ trong Khoa Điện Điện Tử nói chung và các thầy cơ trong bộ mơn Tự
Động Hóa nói riêng đã tận tình dạy dỗ chúng em trong những năm học vừa
qua.
Do trình độ cịn hạn chế nên khơng tránh khỏi những sai sót, rất mong
nhận được sự chỉ dẫn, góp ý của q thầy cơ và các bạn để đề tài ngày càng
hoàn thiện hơn.
Chúng em xin chân thành cảm ơn.
5
Mục lục
6
Danh sách các hình
7
Danh sách các bảng
8
Các từ viết tắt
DC
Direct Current
VDC
Volts-Direct Current
VAC
Volts Alternating Current
PID
Poportional Integral Derivative
PWM
Pulse Width Modulation
PIC
Programmable Interface Controller
I/O
Input/Output
Động cơ PMDC
Permanent Magnet DC Motor
LCD
Liquid-Crystal Display
UART
Universal Asynchronous Receiver Transmitter
9
Các ký hiệu
Kp
Hệ số tỉ lệ
Ki
Hệ số tích phân
Kd
Hệ số vi phân
e
sai số xác lập
t
thời gian lấy mẫu
f
tần số
t
chu kì
fosc
tần số thạch anh
10
KIT THỰC TẬP ENCODER
Đặng Hồng Tài
Võ Văn Thạch
Ngành Cơng Nghệ Điều Khiển và Tự Động Hóa
Khoa Điện - Điện tử
Trường Cao Đẳng Kỹ Thuật Cao Thắng
Tóm tắt
Đề tài này có mục đích là điều khiển và hiển thị tốc độ và vị trí động cơ
DC qua điện thoại. Vi điều khiển sử dụng trong đề tài là PIC 16F877A giao
tiếp với điện thoại bằng wifi qua Kit RF thu phát Wifi ESP8266. Sử dụng
thuật toán điều khiển PID.
Để thực hiện đề tài chúng em sử dụng PIC 16F877A làm khối điều khiển
trung tâm, Kit RF thu phát Wifi ESP8266, Encoder Autonics tương đối 200
xung, động cơ DC 24V, bộ đếm Counter Autonics CT6S-1P4 và môt số linh
kiện khác.
Đề tài hoạt động bằng 2 chế độ. Chế độ mạch điều khiển sử dụng 4 nút
nhấn Start/Stop, Tăng, Giảm, Chuyển được thiết kế trên mạch song song với
giao diện đã được thiết kế trên điện thoại thông minh thông qua ứng dụng
11
Blynk. Tốc độ và vị trí động cơ sẽ được tính sau khi tín hiệu của Encoder
truyền về vi điều khiển, thuật tốn PID sẽ tính tốn và điều khiển động cơ
đúng với tốc độ và vị trí đặt. Chế độ điều khiển trên Kit thực tập dùng biến
trở để điều khiển tốc độ động cơ hiển thị xung trên đồng hồ Counter.
Đề tài hồn thành bao gồm:
− Mơ hình: Kit thực tập
− Mạch điều khiển có thể điều khiển, hiển thị giá trị thơng qua màn
hình LCD và nút nhấn trên mạch, đồng thời cũng có thể hiển thị
và điều khiển các giá trị qua điện thoại.
− Sử dụng và cài đặt được các thông số của Counter Autonics, thông
qua việc đọc xung của Encoder để xác định vị trí của động cơ.
12
Chương 1:
1.1
Giới thiệu
Tổng quan đề tài
Ngày nay, với sự phát triển của khoa học kỹ thuật nhiều thiết bị, máy móc
được ra đời qua đó đáp ứng hầu hết các nhu cầu trong đời sống của con
người như: nhu cầu về y tế, giáo dục, kinh doanh sản xuất…
Song song đó, lĩnh vực điều khiển tự động cũng ngày càng phát triển, đặc
biệt khi nhắc đến điều khiển, con người dường như hình dung đến sự chính
xác, tốc độ xử lý và thuật tốn thơng minh đồng nghĩa là lượng chất xám cao
hơn, đã trở thành một phần không thể thiếu của nền công nghiệp hiện đại.
Phần lớn các loại máy móc, thiết bị dân dụng hay trong cơng nghiệp sử dụng
động cơ điện một chiều, từ động cơ điện trong các máy công cụ, máy CNC,
các dây truyền sản xuất…Một trong những yêu cầu cần được đáp ứng để đạt
được những chỉ tiêu trên đây là điều khiển được tốc độ cũng như vị trí của
động cơ điện một cách ổn định, đáp ứng nhanh, vận hành trơn tru khi xác lập
và khi thay đổi trạng thái.
Hình 1-1 Các máy móc sử dụng động cơ điện
13
Từ thực tiễn chúng em quyết định xây dựng mô hình “Kit thực tập
Encoder” để phục vụ nhu cầu học tập và nghiên cứu.
Các thiết bị sử dụng trong mô hình:
−
−
−
−
−
−
−
−
−
Vi điều khiển PIC 16F877A
Module ESP8266 NodeMCU
Mạch cầu H L298.
Động cơ DC 24VDC.
Encoder Autonics E40S6
Bộ đếm Autonics CT6S-1P4
Nguồn tổ ong 24VDC, nguồn adapter 12VDC.
Mạch điều khiển tốc độ động cơ.
Đèn 24VDC, công tắc 6 chân, nút nhấn…
Các yêu cầu cơ bản của đề tài:
−
Sử dụng được bộ đếm để đọc xung Encoder và cài đặt các thơng số
đo vị trí động cơ.
− Sử dụng vi điều khiển PIC 16F877A để lập trình và điều khiển.
− Sử dụng thuật tốn PID để điều khiển vị trí quảng đường và điều
khiển tốc độ động cơ
− Điều khiển và hiển thị được vận tốc, quảng đường lên màn hình LCD
và điện thoại
− Mơ hình vận hành ổn định, đẹp mắt
1.2
Mục tiêu đề tài
−
Sử dụng PIC 16F877A làm khối xử lý trung tâm để thiết kế bộ điều
khiển.
−
−
−
−
Điều khiển và hiển thị được tốc độ, vị trí của động cơ lên điện thoại.
Thiết kế được mơ hình Kit thực tập.
Đấu nối cài đặt thơng số bộ đếm Counter Autonics.
Hiểu và sử dụng được thuật toán PID.
14
1.3
Cấu trúc quyển đồ án
Chương 1: Giới thiệu
−
Giới thiệu tổng quan về đề tài
Chương 2: Lý thuyết cơ bản
−
Tổng quan về các phần kiến thức được ứng dụng trong đề tài.
Chương 3: Sơ đồ khối và sơ dồ nguyên lý
−
Trình bày sơ đồ khối, sơ đồ nguyên lý.
Chương 4: Chương trình điều khiển
−
Trình bày các lưu đồ giải thuật và chương trình điều khiển
Chương 5: Kết quả đạt được và hướng phát triển
−
Trình bày kết quả đạt được, rút ra nhận xét đánh giá và hướng phát
triển của đồ án.
1.4
Kế hoạch thực hiện
Bảng 1-1 Kế hoạch thực hiện
15
Chương 2:
2.1
Lý thuyết cơ bản
Vi điều khiển PIC 16F877A
2.1.1 Giới thiệu
Hình 2- 2 Vi điều khiển PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ
dài 14 bít. Mỗi lệnh đều được thực thi trong một chu kỳ xung clock. Tốc độ
hoạt động tối đa cho phép là 20MHz với một chu kỳ lệnh là 200ns.Bộ nhớ
chương trình
Kx14 bít, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM
với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O.
−
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
+
Timer 0: bộ đếm 8 bít với bộ chia tần số 8 bít.
16
+
Timer 1: bộ đếm 16 bít với bộ chia tần số, có thể thực
hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi
điều khiển hoạt động ở chế độ sleep.
+
Timer 2: bộ đếm 8 bít với bộ chia tần số, bộ postcaler.
+
Hai bộ Capture/ so sánh/ điều chế độ rộng xung.
+
Các chuẩn giao tiếp nối tiếp SSP, SPI và I2C.
+
Chuẩn giao tiếp nối tiếp UART với 9 bít địa chỉ.
+
8 kênh chuyển đổi ADC 10 bít. Hai bộ so sánh.
−
Bên cạnh đó là một vài đặc tính khác của vi điều khiển
như:
+
Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
+
Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000
lần.
+
Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
+
Khả năng tự nạp chương trình với sự điều khiển của
phần mềm.
+
Watchdog Timer với bộ dao động trong.
+
Chức năng bảo mật mã chương trình.
+
Chế độ Sleep.
+
Có thể hoạt động với nhiều dạng Oscillator khác nhau.
17
2.1.2 Sơ đồ chân của vi điều khiển PIC 16F877A
Hình 2- 3 Sơ đồ chân vi điều khiển PIC 16F877A
PIC16F877A có các thơng số chân bao gồm:
−
2 chân GND
−
2 chân 5V
−
1 chân reset
−
33 chân xuất nhập trong đó có 2 chân có thể sử dụng như PWM
−
2 chân ngõ vào ra dao động thạch anh hoặc xung clock bên ngồi
Thơng số kỹ thuật
18
−
Nguồn cung cấp dương từ 2V đến 5V.
−
Tập lệnh gồm 35 lệnh có độ dài 14 bit.
−
Tốc độ hoạt dộng cho phép là 20 MHz với một chu kì lệnh là 20ms.
−
Bộ nhớ 368x8 byte RAM.
−
Số PORT I/O là 5 với 33 chân I/O
2.2
TIMER 1
2.2.1 Khái niệm
Timer 1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai
thanh ghi 8 bit TMR1H:TMR1L. Cờ ngắt của Timer1 là bit TMR1IF, bit điều
khiển của Timer1 là TRM1IE.Cặp thanh ghi của TMR1 sẽ tăng từ 0000h lên
đến FFFFh rồi sau đó tràn về 0000h. Nếu ngắt được cho phép, nó sẽ xảy ra
khi khi giá trị của TMR1 tràn từ FFFFh rồi về 0000h, lúc này TMR1IF sẽ bật
lên.
2.2.2 Chế độ hoạt động
Chế độ hoạt động định thời đồng bộ: Chế độ được lựa chọn bởi bit
TMR1CS. Trong chế độ này xung cấp cho Timer1 là Fosc/4, bit T1SYNC
khơng có tác dụng.
Chế độ đếm đồng bộ: trong chế độ này, giá trị của timer1 sẽ tăng khi có
xung cạnh lên vào chân T1OSI/RC1. Xung clock ngoại sẽ được đồng bộ với
xung clock nội, hoạt động đồng bộ được thực hiện ngay sau bộ tiền định tỉ lệ
xung (prescaler).
Chế độ đếm bất đồng bộ: chế độ này xảy ra khi bit T1SYNC được set. Bộ
định thời sẽ tiếp tục đếm trong suốt quá trình ngủ (Sleep) của vi điều khiển
19
và có khả năng tạo một ngắt khi bộ định thời tràn và làm cho vi điều khiển
thoát khỏi trạng thái ngủ.
2.2.3 Các thanh ghi liên quan đến TIMER1
INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (2 bit
GIE và PEIE).
PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF).
PIE1 (địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE).
TMR1L (địa chỉ 0Eh): chứa giá trị 8 bít thấp của bộ đếm Timer1.
TMR1H (địa chỉ 0Eh): chứa giá trị 8 bít cao của bộ đếm Timer1.
Hai thanh ghi TMR1L và TMR1H là 2 thanh ghi chứa dữ liệu 16 bit
(lần lượt chứa 4 bit thấp và 4 bit cao) của bộ đếm Timer1.
T1CON (địa chỉ 10h): xác lập các thơng số cho Timer.
Hình 2- 4 Cấu trúc thanh ghi T1CON điều khiển hoạt động của Timer1
−
−
Bit 7,6 không sử dụng
Bit 5,4 T1CKPS1: T1CKPS0 lựa chọn hệ số chia xung vào.
T1CKPS1
T1CKPS0
20
−
00
1:1
01
1:2
10
1:4
11
1:8
Bit 3 T1OSCEN bit điều khiển bộ dao động Timer1
1= Bộ dao động hoạt động
0= Bộ dao động không hoạt động
−
Bit 2 bit điều khiển xung clock ngoài đồng bộ khi TMR1CS=1
Bit 2= 0 có đồng bộ clock ngồi
=1 khơng đồng bộ clock ngồi
Khi TMR1CS=0 bit này khơng có tác dụng
−
Bit 1 TMR1CS bit lựa chọn nguồn xung clock vào
TMR1CS=1 clock từ chân RC0/T1OSO/T1CKI (sườn lên)
TMR1CS=0 clock trong Fosc/4
−
Bit 0 bit bật tắt Timer
1= Timer 1 Enable
0=Timer 1 Disable
2.2.4 Cách tính thơng số cài đặt TIMER1
Chọn bộ chia tần cho timer 1 có tỉ số 1:8
Timer 1 đếm xung có tần số được xác định theo công thức:
Thời gian Timer 1 đếm đến 1 xung là chu kì của xung:
21
Tổng số xung Timer 1 đếm trong thời gian delay =10ms
Giá trị timer cần cài:
Để đếm được 6250 xung timer 1 sẽ bị tràn giá trị khởi tạo ban đầu
cho Timer 1 là 59286
2.3
Xung PWM
2.3.1 Giới thiệu
Xung là các trạng thái cao / thấp (HIGH/LOW) về mức điện áp được lặp
đi lặp lại. Đại lượng đặc trưng cho 1 xung PWM (Pulse Width Modulation)
bao gồm tần số (frequency) và chu kì xung (duty cycle).
Tần số: để tính tốn thời gian của 1 xung.
Chu kì: bao nhiêu thời gian xung ở mức cao, bao nhiêu thời gian xung ở
mức thấp.
2.3.2 Phương pháp điều xung
Phương pháp điều xung PWM (Pulse Width Modulation) là phương pháp
điều chỉnh điện áp ra tải, hay nói cách khác, là phương pháp điều chế dựa
trên sự thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự thay đổi điện áp
ra.
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của
sườn dương hay sườn âm.
22
Hình 2-5 Đồ thị dạng xung điều chế PWM
23
2.3.3 Cách thiết lập PWM cho PIC
Hình 2- 6 Sơ đồ khối CCP (PWM Mode)
Hình 2- 7 Các tham số của PWM
Khi hoạt động ở chế độ PWM (Pulse Width Modulation _ khối điều chế
độ rộng xung), tính hiệu sau khi điều chế sẽ được đưa ra các pin của khối
CCP (cần ấn định các pin này là output ). Để sử dụng chức năng điều chế này
trước tiên ta cần tiến hành các bước cài đặt sau:
24
−
Thiết lập thời gian của 1 chu kì của xung điều chế cho PWM (period)
bằng cách đưa giá trị thích hợp vào thanh ghi PR2.
− Thiết lập độ rộng xung cần điều chế (duty cycle) bằng cách đưa giá
trị vào thanh ghi CCPRxL và các bit CCP1CON<5:4>.
− Điều khiển các pin của CCP là output bằng cách clear các bit tương
ứng trong thanh ghi TRISC.
− Thiết lập giá trị bộ chia tần số prescaler của Timer2 và cho phép
Timer2 hoạt động bằng cách đưa giá trị thích hợp vào thanh ghi T2CON.
− Cho phép CCP hoạt động ở chế độ PWM.
Trong đó giá trị 1 chu kì (period) của xung điều chế được tính bằng cơng
thức:
PWM period = [(PR2) +1]*4*TOSC*(giá trị bộ chia
tần số của TMR2)
Độ rộng của xung điều chế (duty cycle) được tính theo cơng thức:
PWM duty cycle = (CCPRxL:CCPxCON)*TOSC *(giá
trị bộ chia tần số TMR2)
2.3.4 Cách tính thông số cài đặt PWM
Chọn
Xác định Mode và period:
Chọn mode =1 và period=49
25