Tải bản đầy đủ (.docx) (122 trang)

Điều khiển tốc độ vị trí động cơ encoder dùng pid hiển thị lên app blynk

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 (4.03 MB, 122 trang )

Đồ Á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


×