Đồ án Thiết kế bộ PID số điều khiển tốc độ động cơ DC

ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG  
ĐỂ TÀI:  
THIẾT KẾ BỘ PID SỐ ĐIỀU  
KHIỂN TỐC ĐỘ ĐỘNG CƠ DC  
nguyen dinh tuan  
HOME  
Trang - 2 -  
PHẦN 1: LÝ THUYẾT......................... 3  
CHƯƠNG 1: ĐỘNG CƠ ĐIỆN MỘT CHIỀU................................................... 3  
1.1 Giới thiệu động cơ DC:.............................................................................. 3  
1.2 Mô hình hóa động cơ DC:.......................................................................... 3  
1.3 Phương pháp điều khiển tốc độ động cơ:.................................................. 4  
1.4 Khảo sát hàm truyền: ................................................................................ 5  
1.4.1 Hàm truyền lý tưởng:.......................................................................... 5  
1.4.2 Hàm truyền gần đúng tìm được bằng thực nghiệm:.......................... 6  
1.5 Phương pháp ổn định tốc độ động cơ dùng PID:...................................... 7  
1.5.1 Thuật toán PID: .................................................................................. 7  
1.5.2 Phương pháp hiệu chỉnh thông số bộ PID Ziegler-Nichols: .............. 9  
Chương 2 TỔNG QUAN VỀ PSoC IC CỦA HÃNG CYPRESS......................10  
2.1. Giới thiệu: ................................................................................................10  
2.2. Giới thiệu IC khả trình PSoC của hãng CYPRESS................................10  
2.2.1 Khái niệm PSoC .................................................................................10  
2.2.2 Tổng quan về tài nguyên chip PSoC..................................................10  
2.2.3 Cấu trúc chi tiết bên trong chip PSoC...............................................13  
3.3 Giới thiệu phần mềm PSoC Designer của hãng CYPRESS ....................27  
3.3.1 Tổng quan về PSoC Designer ............................................................27  
3.3.2 Xây dựng kiến trúc phần cứng( Device Editor) ................................27  
3.3.3 Cửa sổ viết ứng dụng(Application Editor)........................................36  
CHƯƠNG 3: LÝ THUYẾT VỀ MOSFET........................................................38  
3.1 Giới thiệu về MOSFET.............................................................................38  
3.2 Cấu trúc cơ bản của NMOS kiểu tăng cường :.......................................38  
3.3 Ưu nhược điểm và các thông số quan trọng của MOSFET: ...................40  
3.3.1 Những ưu điểm của mosfet :..............................................................40  
3.3.2 Các nhược điểm của mosfet...............................................................40  
3.3.3 Các thông số quan trọng của mosfet : ...............................................40  
PHẦN 2: THIẾT KẾ VÀ THI CÔNG 43  
CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG............................43  
4.1 Sơ đồ nguyên lý:........................................................................................43  
4.2 Tính toán các thông số của mạch:............................................................44  
4.2.1. Mạch đảo chiều động cơ: ..................................................................44  
4.2.2 Tính toán cho FET:............................................................................45  
4.2.3 Tính toán mạch Driver cho MOSFET: .............................................47  
4.3 Tính toán các tham số của bộ điều khiển PID số:....................................49  
5.1 Cấu hình bên trong PSOC:.......................................................................52  
5.2 Giải thuật phần mềm:...............................................................................57  
Trang - 3 -  
PHẦN 1: LÝ THUYẾT  
CHƯƠNG 1: ĐỘNG CƠ ĐIỆN MỘT CHIỀU  
1.1Giới thiệu động cơ DC:  
Động cơ điện một chiều là động cơ điện hoạt động với dòng điện một  
chiều. Động cơ điện một chiều ứng dụng rộng rãi trong các ứng dụng dân  
dụng cũng như công nghiệp  
Cấu tạo của động cơ gồm có 2 phần: stato đứng yên và rôto quay so với  
stato. Phần cảm (phần kích từ-thường đặt trên stato) tạo ra từ trường đi  
trong mạch từ, xuyên qua các vòng dây quấn của phần ứng (thường đặt trên  
rôto). Khi có dòng điện chạy trong mạch phần ứng, các thanh dẫn phần ứng  
sẽ chịu tác động bởi các lực điện từ theo phương tiếp tuyến với mặt trụ rôto,  
làm cho rôto quay.  
Tùy theo cách mắc cuộn dây roto và stato mà người ta có các loại động  
cơ sau:  
- Động cơ kích từ độc lập: Cuộn dây kích từ (cuộn dây stato) và  
cuộn dây phần ứng (roto) mắc riêng rẽ nhau, có thể cấp nguồn riêng  
biệt.  
- Động cơ kích từ nối tiếp: Cuộn dây kích từ mắc nối tiếp với cuộn  
dây phần ứng:  
Đối với loaj động cơ kích từ độc lập, người ta có thể thay thế cuộn dây  
kích từ bởi nam châm vỉnh cữu, khi đó ta có loại động cơ điện 1 chiều dùng  
nam châm vĩnh cữu. Đây là loại động cơ được sử dụng trong đồ án này.  
1.2 Mô hình hóa động cơ DC:  
Mô hình tương đương của phần ứng động cơ như sau:  
Trang - 4 -  
Ia  
Ra  
La  
Ua  
+
A
-
Eg  
dia  
dt  
ua Raia La  
eg kvn  
eg  
(1.1)  
(1.2)  
Trong đó Φ là từ thông do nam châm vĩnh cữu gây ra. n là tốc độ động  
cơ.  
Momen điện từ:  
Td = Kt Φia  
Phương trình của động cơ:  
d  
(1.3)  
(1.4)  
Td J  
BTL  
dt  
B: hệ số ma sát  
T: monen tải.  
Ở chế độ xác lập:  
ua Raia eg  
(1.5)  
(1.6)  
Td 2nB TL Kt ia  
Ta có được tốc độ động cơ ở chế độ xác lập:  
Ua Ia Ra  
n   
(1.7)  
Kv  
1.3 Phương pháp điều khiển tốc độ động cơ:  
Đối với loại động cơ kích từ độc lập dùng nam châm vĩnh cữu, để thay  
đổi tốc độ, ta thay đổi điện áp cung cấp cho roto. Việc cấp áp 1 chiều  
Trang - 5 -  
thay đổi thường khó khăn, do vậy người ta dùng phương pháp điều xung  
(PWM):  
Hình 1.1: PWM  
Phương pháp điều xung sẽ giữ tần số không đổi, thay đổi chu kì nhiệm  
vụ (Duty cycle) để thay đổi điện áp trung bình đặt lên động cơ.  
Điện áp trung bình:  
Ton  
Vdk   
Vin  
T
Do đặc tính cảm kháng của động cơ, dòng qua động cơ là dòng liên tục,  
gợn sóng như sau:  
Udk  
t
Ia  
t
Hình 1.2: Dạng sóng dòng và áp trên động cơ.  
1.4 Khảo sát hàm truyền:  
1.4.1 Hàm truyền lý tưởng:  
Biến đổi Laplace các công thức từ (1.1) – (1.4 ) ta được:  
Trang - 6 -  
Ua (p) Ra Ia (p) pLa Ia (p) E g (a)  
Eg (p) kvn(p)  
(1.9)  
(1.10)  
Td(p) = Kt ΦIa(p)  
(1.11)  
(1.12)  
Td (p) 2pJn(p) 2Bn(p) TL ( p)  
Từ 1.12 tính được:  
Td (p) TL (p)  
2B(pm 1)  
n(p)   
(1.13)  
(1.14)  
Ua (p) Ea (p)  
Ra (a p 1)  
Ia (p)   
Trong đó:  
a =La/Ra Hằng số thời gian của mạch phần ứng  
m =J/B Hằng số thời gian cơ.  
Vậy ta có mô hình hệ thống như sau:  
Ia(p)  
TL(p)  
Td(p)  
Ua(p)  
n(p)  
1
1
kt   
2B(m p 1)  
Ra (a p 1)  
Eg(p  
)
kv  
Hình 1.3: Mô hình động cơ điện DC  
Khi momen tải không đổi, ta có:  
1
n( p) Ua (p)  
2BRa  
(a p 1)(m p 1) Kv  
Kt   
Vậy hàm truyền của động cơ lúc này có dạng khâu dao động.  
1.4.2 Hàm truyền gần đúng tìm được bằng thực nghiệm:  
Để tìm hàm truyền bằng thực nghiệm ta tìm đáp ứng xung của động cơ.  
Ta đặt áp bằng áp định mức vào động cơ và vẽ đồ thị vận tốc theo thời gian.  
Vì thời gian lấy mẫu vận tốc nhỏ do đó ta không thấy được các điểm uốn  
của đồ thị, do đó ở đây ta xấp xỉ hàm truyền động cơ là khâu quán tính bậc  
1 có dạng như sau.  
Trang - 7 -  
k
G   
Tp 1  
Đáp ứng xung của động cơ:  
kU  
n(p)=  
(Tp 1)p  
Biến đổi Laplace ngược ta được:  
n=kU(1-e-t/T)  
Khi t = T, n = kU(1-e-1)=0.63kU=0.63nmax  
Vậy trên đồ thị ta xác định điểm tại đó n=0.63nmax sau đó tìm được T  
Dựa vào đồ thị tìm được bằng thực nghiệm ta tìm được các thông số kU và T  
kU = 150 vòng/s  
T = 30ms=0.03s  
Vậy hàm truyền gần đúng:  
k
150/24  
37.5  
G   
Tp 1 0.03p 1 0.03p 1  
1.5 Phương pháp ổn định tốc độ động cơ dùng PID:  
1.5.1 Thuật toán PID:  
de()  
d  
G K p Ki e()dKd  
Trong đó:  
- Kp: Hệ số khâu tỉ lệ (khâu khuếch đại)  
Trang - 8 -  
- Ki: Hệ số tích phân  
- Kd: hệ số vi phân  
Luật điều khiển PID:  
Dựa vào bảng trên ta thấy rằng luật tỉ lệ (P) có đặc điểm tác động nhanh  
nhưng không triệt tiêu được sai lệch, đồng thời làm vọt lố của hệ thống  
tăng. Khâu tích phân cho phép triệt tiêu sai lệch nhưng tác động chậm.  
Khâu vi phân phản ứng với tốc độ biến thiên của sai lệch. Ta cần xác định  
các thông số Kp, Ki, Kd để được hệ thống có chất lượng mong muốn.  
Thuật toán của bộ điều khiển PID số:  
Khâu tỉ lệ P (Proportional): GP(z) = KP  
Khâu tích phân I (Integrate):  
kT  
k
1
GI (z) KIT  
với  
e(t)dt Te(nT)  
1z1  
n0  
0
Trong đó T là chu kì lấy mẫu vận tốc. Công thức tích phân  
gần đúng theo thuật toán xấp xỉ hình chữ nhật tới.  
Khâu vi phân D (Derivative):  
Trang - 9 -  
Kd (1z1 ) với thành phần vi phân xấp xỉ bởi:  
z 1  
Tz  
GD (z) KD  
de(t) e(nT) e((n 1)T)  
dt  
T
Vậy ta được hàm truyền khâu PID rời rạc:  
Udk (z)  
E(z)  
1
G   
K p Ki  
Kd (1z1 )  
1z1  
Udk(z)(1-z-1) = E(z)(Kp(1-z-1) + Ki + Kd(1-z-1)2  
Suy ra:  
uk – uk-1 = Kp(ek – ek-1) + Kiek + Kd(ek – 2ek-1 – ek-2)  
1.5.2 Phương pháp hiệu chỉnh thông số bộ PID Ziegler-Nichols:  
Thông thường việc chọn các thông số P, I, D được xác định bằng thực  
nghiệm dựa vào đáp ứng xung của hệ thống. Ziegler – Nichols đưa ra  
phương pháp chọn tham số PID cho mô hình quán tính bậc nhất có trễ. Ở  
đây ta xấp xỉ hàm truyền của động cơ để dùng phương pháp này, tuy không  
hoàn toàn chính xác nhưng có thể cho đáp ứng tương đối tốt.  
Phương pháp này đỏi hỏi phải tính được giá trị giới hạn của của khâu tỉ  
lệ Kgh và chu kì giới hạn của hệ kín Tgh. Sau đó tìm các thông số khác theo  
bảng sau:  
Để tìm được Kgh Tgh, ban đầu ta chỉnh Ki, Kd bằng 0 sau đó tăng từ từ  
Kp để hệ thống ở biên giới ổn định (dao động với biên độ và chu kì không đổi),  
tại đây ta xác định được Kgh và Tgh sau đó tính các thông số khác tùy theo bộ  
điều khiển như bảng trên.  
Ki = Kp/Ti  
Kd = KxTd  
Để thuận tiện trong quá trình điều chỉnh và quan sát đáp ứng của động  
cơ, trong đồ án này chúng tôi đã xây dựng chương trình viết bằng VB trên máy  
tính để giao tiếp với mạch điều khiển.  
Trang - 10 -  
Chương 2 TỔNG QUAN VỀ PSoC IC CỦA HÃNG  
CYPRESS  
2.1. Giới thiệu:  
Trong chương này sẽ giới thiệu chi tiết chip PSoC của hãng CYPRESS  
gồm các nội dung như sau:  
Trình bày kiến trúc bên trong chip PSoC: Tổng quan về tài nguyên chip,  
chi tiết kiến trúc bên trong của một chip PSoC.  
Giới thiệu phần mềm thết kế PSoC Designer dành cho chip PSoC của  
hãng CYPRESS, phương pháp lập trình phần cứng (Device Editor) và  
lập trình ứng dụng (Application Editor). Đồng thời giới thiệu tất cả các  
module (embedded cores) trong thư viện API mà hãng này hỗ trợ.  
2.2. Giới thiệu IC khả trình PSoC của hãng CYPRESS  
2.2.1 Khái niệm PSoC  
PSoC hay PSoC Mixed-Signal Arrays là từ viết tắt của Programmable  
system-on-chips. PSoC là chip mà có thể tích hợp cả vi điều khiển các thành  
phần tương tự và thành phần số xung quanh vi điều khiển nhúng vào một hệ  
thống. Một chip đơn PSoC có thể tích hợp lên đến 100 chức năng ngoại vi với  
1 vi điều khiển, làm giảm thời gian thiết kế, không gian board, năng lượng tiêu  
hao và giảm 5% giá thành sản phẩm ít nhất 10$ cho mỗi hệ thống.  
2.2.2 Tổng quan về tài nguyên chip PSoC  
PSoC khác với các vi điều khiển 8 bit thông thường là có các khối số và  
các khối tương tự có thể lập trình được cho phép thực hiện nhiều giao tiếp  
ngoại vi.  
Khối số gồm có nhiều khối khả trình nhỏ có thể được cấu hình cho các  
ứng dụng khác nhau. Khối tương tự được sử dụng cho các công cụ Analog như  
bộ lọc, bộ so sánh tín hiệu tương tự, các bộ khuyếch đại đảo, không đảo như  
AD, DA.  
Có một số họ PSoC khác nhau mà ta có thể lựa chọn xây dựng cho phù  
hợp với yêu cầu dự án. Điểm khác nhau giữa cá họ PSoC là số lượng các khối  
Trang - 11 -  
khả trình cho phép nhúng vào chip và số chân I/O. Mỗi chip PSoC có từ 4-16  
khối số và 3-12 khối tương tự khả trình phụ thuộc vào các họ khác nhau.  
Cần mức tích hợp cao  
hơn và ít thành phần  
hơn (lower BOM)  
Microcontroller  
Cần khả năng  
thích nghi và linh  
hoạt hơn  
PSoC  
Cần sự tích hợp  
cao và linh hoạt  
hơn  
Standard  
Product  
ASIC  
PSoC đáp ứng tất cả các yêu cầu trên  
Hình 2.1 Vị trí của PSoC  
Một số điểm nổi bật của PSoC là:  
Khối MAC, bộ nhân 8x8 hardware 32 bit.  
Điện áp hoạt động có thể thay đổi 3.3V hoặc 5V  
Khả năng hoạt động với điện áp cung cấp thấp hơn yêu cầu 1V  
Có thể lựa chọn tần số hoạt động cho chip  
Trang - 12 -  
Hình 2.2 Tổng quan kiến trúc PSoC  
Những tài nguyên hỗ trợ người dùng xây dựng kiến trúc PSoC:  
32 KBytes ROM (FLASH) cho việc lập trình với 50000 lần xóa ghi.  
Hỗ trợ lên đến 2KByte SRAM, bộ nhớ động EEPROM  
Bộ chuyển đổi AD với độ phân giải tối đa lên đến 14 bits  
Bộ chuyển đổi DA với độ phân giải tối đa 9bits  
Bộ khuếch đại điện áp khả trình  
Bộ lọc và so sánh tín hiệu tương tự khả trình  
Timer và Counter 8, 16 ,24hoặc 32 bits.  
Chuỗi giả và bộ phát mã CRC.  
Trang - 13 -  
Hai bộ UART song công.  
Bộ SPI nhiều thiết bị (SPI master và SPI slaver).  
Truyền thông giữa tất cả các chân  
Truyền thông giữa các khối.  
Bảo vệ cho việc lập trình cho vùng nhớ riêng và bảo vệ tránh ghi chồng  
lên.  
Mỗi chân PSoC có thể đặt ở các trạng thái Pull up, Pull down, High Z,  
Strong, hoặc Open  
Khả năng tạo ngắt tại bất kì chân nào của PSoC  
I2C Slaver và master hoặc nhiều master với tốc độ lên đến 400KHz  
Tích hợp bộ giám sát mạch bên trong (Watchdog, Sleep)  
Xây dựng các mức điện áp chính xác.  
Lập trình trực tiếp trên hệ thống ISSP  
Với sự hỗ trợ đa dạng như vậy sự ra đời của PSoC được ví như là “biến  
giấc mơ thành sự thật” đối với các kĩ sư thiết kế. Trên cùng 1 chip PSoC ta có  
thể thiết lập những chức năng khác nhau rất linh hoạt cho mỗi dự án. Không có  
1 vi điều khiển nào khác có điện áp khả trình, khuếch đại đảo và không đảo, bộ  
phát chuỗi serial giả và bộ phát mã CRC cũng như bộ mã hóa. MAC (Multiply-  
accumulate) cần thiết cho phần xử lí tín hiệu số, với sử cho phép xử lí đầy đủ  
các thuật toán xử lí tín hiệu số. Một điều đáng quan tâm là bộ nhân bằng phần  
cứng này là 32 bit chứ không phải 8 bit như vi điều khiển. Điện áp làm việc có  
thể thay đổi và đặc biệt loại trừ khả năng phải thiết kế lại mạch PCB vì chỉ cần  
cấu hình lại bên trong chip. Điện áp cung cấp có thể dao động ở mức 1V là một  
thuận lợi hết sức to lớn cho nguồn hoạt động hệ thống. Timer, Counter và  
PWM hoạt động linh hoạt hơn.  
2.2.3 Cấu trúc chi tiết bên trong chip PSoC  
Tổng quan về cấu trúc bên trong PSoC  
Trang - 14 -  
Hình 2.3Kiến trúc PSoC IC  
PSoC xây dựng trên cơ sở kiến trúc vi xử lí 8 bit CISC với cấu trúc  
Harvard (cấu trúc mà bus dữ liệu, bus địa chỉ và tín hiệu điều khiển bộ nhớ  
chương trình, bộ nhớ dữ liệu độc lập nhau). Cấu trúc chung là các khối:  
CPU unit, Frequency generator, Reset controller, Watch Dog timer, Sleep  
timer, Input-Output pins, Digital programmable blocks, Analog  
programmable blocks, I2C controller, Voltage, MAC unit, SMP. Chúng ta  
tiến hành phân tích từng khối.  
Đặc điểm CPU  
Hình 2.4 CPU  
Trang - 15 -  
Chương trình được lưu trong bộ nhớ FLASH. CPU tìm kiếm theo chỉ  
dẫn từ bộ nhớ chương trình, giải mã và thi hành lệnh. Khối CPU chứa các  
thanh ghi PC, SP, A, X và F, khối ALU, khối giải mã, kết hợp với nhau  
trong quá trình xử lý lệnh.  
Các thanh ghi trong CPU:  
. Program counter (PC) là con trỏ PC, thanh ghi bộ đếm chương  
trình thực hiện chương trình tại vị trí giá trị con trỏ.  
. Stack pointer (SP) trỏ đến địa chỉ SRAM nơi data được ghi hoặc  
đọc trong trường hợp của PUSH và POP theo chỉ dẫn tương ứng.  
Khi hoạt động này xảy ra giá trị con trỏ SP tự động tăng hoặc giảm.  
. Accumulator register (A) là thanh chứa A.  
. Index register (X) có thể được xem như thanh ghi A và cũng được  
sử dụng trong trường hợp của địa chỉ chỉ số.  
. Flag register (F) là thanh ghi cờ chứa bit mô tả hoạt động trước đó .  
Thanh ghi cờ cũng đống vai trò chọn trang nhớ RAM khi PSoC có  
nhiều hơn 256 Byte RAM. Thanh ghi cờ chứa bit cờ Zero (Z) và cờ  
Carry (C).  
. Arithmetic logic unit (ALU) là 1 phần chuẩn của CPU được sử  
dụng trong các phép toán số học như phép cộng, trừ dịch trái phải,và  
các phép toán logic. Dữ liệu sau tính toán có thể được lưu trữ trong  
thanh ghi A, X hoặc RAM data.  
Đặc điểm tần số hoạt động  
Bộ phát tần số là sự sống của CPU và các khối khả trình. Mỗi thành  
phần khả trình đòi hỏi một tốc độ hoạt động khác nhau. PSoC có 1 hệ  
thống phát ra các tấn số khác nhau.  
Trang - 16 -  
Hình 2.5 Bộ tạo tần số.  
. SYSCLK là bộ tạo dao động nhip clock nội với tốc độ 24MHz, được  
sử dụng như là 1 nguồn clock chuẩn cho hầu hết cá tín hiệu. Từ đó  
có thể lựa chọn các tần số mong muốn như : SYSCLKx2(48MHz),  
24V1=SYSCLK/N1 (N1=1-16), 24V2=SYSCLK/N1N2,....  
. CPU_CLK được sử dụng cho CPU. CPU_CLK có thể có một số của  
8 tần số trong giới han từ 93.75MHz đến 24MHz.  
. CLK32K là tín hiệu chậm với tần số 32kHz. Tín hiệu SYSCLK có  
thể được yêu cầu sử dụng bộ dao động nội IMO (internal main  
oscillator), trong khi tín hiệu CLK32K có được thông qua ILO  
(internal local oscillator).  
PSoC cung cấp bộ dao động nội với độ chính xác 2.5% và có thể mở  
rộng bộ dao động thạch anh bên ngoài.  
Reset: Có 3 chế độ Reset: POR, XRES và WDR  
. POR Trong quá trình làm việc nguồn cung cấp PSoC có thể thay  
đổi,rất nguy hiểm nếu điện áp vượt gới hạn cho phép vì PSoC có thể  
thực hiện những hoạt động ngoài dự đoán. Trong trường hợp nay  
PSoC cung cấp mode Reset POR (Power on Reset) chuyển PSoC vào  
trạng thái này cho đến khi điện áp ổn định ở giới hạn cho phép.  
Trang - 17 -  
. XRES Là mode Reset bên ngoài bằng công tắc Switch như các vi  
điều khiển thông thường khác.  
Hình 2.6  
Mạch Reset  
. WDR Watch dog reset (WDR) được sử dụng để mang hệ thống ra  
khỏi chế độ vòng lặp chết hoặc các hoạt động ngoài dự đoán.  
Digital Inputs and Outputs  
IO số kết nối PSoC với bên ngoài qua 8 chân mỗi Port. Làm việc với  
port là làm việc với các thanh ghi PRT0DR (port 0), PRT1DR (port 1),  
PRT2DR, PRT3DR, PRT4DR và PRT5DR.  
Hình 2.7 Digital Inputs and Outputs  
. Drive Mode: Chọn cách mà thanh ghi PRTxDR được nối với chân  
PSoC. Có 8 phương thức thiết lập trạng thái của chân mà không cần  
các thiết bị hỗ trợ bên ngoài. Mode làm việc của chân được định  
nghĩa theo bảng bên dưới ứng với các bit của các thanh ghi DM2,  
DM1 và DM0. Có thể tác động trực tiếp vào các thanh ghi này hoặc  
trong Device Editor.  
DM2 DM1  
bit bit  
DM0  
bit  
Mode  
Data = 0 Data = 1  
Trang - 18 -  
DM2 DM1  
DM0  
bit  
Mode  
Data = 0 Data = 1  
bit  
bit  
0
0
0
1
0
1
Resistive Pull Down Resistive Strong  
0
0
Strong Drive  
Strong Strong  
Hi-Z Hi-Z  
0
1
High Impedance  
Resistive Pull Up  
0
1
Strong Resistive  
Open Drain, Drives  
High  
Strong  
Hi-Z  
1
1
1
1
0
0
1
1
0
1
0
1
(Slow)  
Strong Strong  
(Slow) (Slow)  
Slow Strong Drive  
High  
Impedance  
Hi-Z  
Hi-Z  
Hi-Z  
Analog  
Open Drain, Drives Strong  
Low (Slow)  
. Mode Strong: được sử dụng khi nối trực tiếp trạng thái thanh ghi  
PRTxDR với chân PSoC. Phương thức này được sử dụng khi chân  
được sử dụng như đầu vào.  
Hình 2.8 Mode Strong  
. Mode Analog Hi-Z: được dùng khi pin là đầu vào tín hiệu analog  
như đầu vào ADC. Trong trường hợp này thanh ghi PRTxDR được  
cách ly với chân PSoC vì vậy không ảnh hưởng đến giá trị điện áp  
trên chân.  
Hình 2.9  
Mode Analog High-Z  
Trang - 19 -  
. Pull-up hoặc pull-down là mode điện trở kéo lên hay kéo xuống bên  
trong. Giữ trạng thái chân ở 1 mức nhất định khi không có tác dộng  
bên ngoài.  
. Mode Open drain được dùng khi mang 1 vài thiết bị trên 1 line, lúc  
này cần thêm điện trở treo bên ngoài. Cần cho việc chuyển trạng thái  
nhanh như trường hợp ngắt.  
Hình 2.10 Mode Open Drain  
Tổng quan các liên kết của khối khả trình số.  
Hình 2.11 Tổng quan khối số  
. GIO và GIE là Global input chẵn (P1,P3,P5) và lẻ (P0,P2,P4,P6):  
. Input multiplexers của block lines  
Input multiplexer chọn 1 trong các global lines và nối đến các line tín  
hiệu phía trên các khối khả trình. Phần này sẽ được trình bày kĩ trong  
mục 3.3 (PSoC Designer).  
. Khối khả trình số: Mô tả chi tiết ở hình bên dưới. Khối khả trình số  
được chia làm 2 loại: Digital Basic block (DBB) và Digital  
communication block (DCB) :  
Digital Basic block như: 8,16,24,32 bit Timer. 8,16,24,32 bit  
Counter, 8,16 bit PWM. 8,16 dead band Generator. 8,16,24,32 bit  
Trang - 20 -  
Pseudo random sources (PRS). Các bộ đệm và đảo số, bộ phát mã CRC.  
Các khối này có thể đặt vào bất kì khối số nào trong PSoC mà còn trống  
(DBB hoặc DCB).  
Digital communication block: chỉ có thể đặt vào các khối khả trình  
ở hai cột bên phải (DCB). Ví dụ: I2C master và Slaver, SPI Master và  
Slaver, UART, Hồng ngoại IrDA.  
Hình 2.12  
Khối số  
. Frequency signal (CLK)  
Lấy từ bộ phát tần số bên trong VC1, VC2, VC3, SYSCLKx2,  
CPU_32  
Từ đầu ra khối khác (Counter, Timer, PWM)  
Từ dây chung Broadcast line (BC)  
Đầu vào (RI) hoặc đầu ra (RO) block lines  
Hình 2.13  
Clock  
. Logic circuit sửa đổi tín hiệu ra: cho phép qua 1 của 2 tín hiệu, đảo  
tín hiệu và thực hiện các phép toán logic AND, OR, XOR,...  
Trang - 21 -  
Hình 2.14 Logic circuit  
Các khối khả trình Analog  
Các khối khả trình Analog được chia làm các cột mỗi cột 3 khối, tùy vào  
các họ khác nhau mà có 1, 2, hoặc 4 cột Analog. Mỗi cột có bộ Mux đầu  
vào, 1 dây tần số, đầu ra analog hoặc đầu ra so sánh. Các khối tương tự có  
thể liên kết với các khối số để so sánh hoặc lấy tần số Clock. Đầu vào và  
đầu ra tín hiệu Analog chỉ cho phép ở 1 số chân gồm P0 và 4 chân thấp của  
P2.  
Hình 2.15  
Tổng quan khối analog  
Trang - 22 -  
. Analog multiplexers of port P0 Tín hiệu từ Port 0 được nối đến  
khối analog ACB.  
. Analog columns Mỗi cột có 3 loại khối block: ACB, ASC và ASD.  
Đầu ra của nhữngkhối này được nối đến các khối kế bên hoặc đầu ra  
Analog hoặc đầu ra so sánh.  
Hình 2.16 Một cột của khối analog  
. Khối ACB sử dụng cho các bộ khuếch đại. Phụ thuộc các liên kết  
nội bên trong khối mà có thể là khuếch đại đảo, không đảo hoặc so  
sánh. Đầu vào khối này được lấy từ bộ Analog multiplexer hoặc từ  
các khối kế bên.  
. Khối ASC and ASD là loại switched capacitor (SC). Chúng chứa bộ  
khuếch đại với rail-to-rail IO và bộ MUX nội. ADC, DAC và bộ lọc  
thi hành tùy thuộc vào cấu hình bên trong khối. Đầu vào khối SC lấy  
từ những khối khác nhưng tín hiệu từ bộ MUX analog không thể đưa  
trực tiếp vào khối SC mà phải qua khối ACB  
. Đầu ra Analog Mỗi cột analog có chung đường 1 đường  
AnalogOutBus nối ra bộ đệm ra 4 chân giữa P0 (P0_2 - P0_5).  
. Comparator outputs Mỗi cột có 1 đường so sánh goi là “compare  
line” có thể nối đến các khối số hoặc khối tương tự khác.  
. Frequency signal Những khối ADC, DAC và bộ lọc cần những tần  
số đặc biệt để hoạt động, tần số này được chọn qua bộ MUX: từ  
VC1, VC2, đầu ra của 1 số khối clock (Counter, timer, PWM)  
Trang - 23 -  
Hình 2.17 Tần số tín hiệu cho khối Ananlog  
. Các mức điện áp tham chiếu:  
Trong PSoC có 3 mức điện áp tham chiếu: AGND, RefH, RefLo.  
Được mô tả ở hình bên dưới.  
Ref Mux  
AGND [V] RefLo [V] RefHi [V]  
2.5/1.65 1.2/0.35 3.8/2.95  
Vdd/2 ± Vbg  
Vdd/2 ± Vdd/2 2.5/1.65  
Vbg ± Vbg 1.3  
1.6Vbg ± 1.6Vbg 2.08  
0
5.0/3.3  
2.6  
0
0
4.16  
3.9  
2Vbg ± Vbg  
2Vbg ± P2[6]  
P2[4] ± Vbg  
P2[4] ± P2[6]  
2.6  
2.6  
2.2  
2.2  
1.3  
1.6  
0.9  
1.2  
3.6  
3.5  
3.2  
Hình 2.18 Các mức điện áp tham chiếu  
Switch Mode Pump  
Hình 2.19 Mode Pump  
Trang - 24 -  
Trong mode Pump nguồn cung cấp lấy từ Pin, hoạt động trên nguyên tắc  
của chuyển đổi BOOSTDC/DC. BOOSTDC/DC tạo ra điện áp cao hơn  
1.5V làm nguồn nuôi cho PSoC .  
Khối MAC  
MAC là 1 khối thiết bị phần cứng dùng tính toán như nhân các số 8 bit  
cũng như phép cộng. Việc thực hiện rất đơn giản, việc chúng ta làm là đọc  
và ghi các giá trị vào các thanh ghi  
. Hardware multiplication  
Thực hiện bằng cách ghi 8 bit đầu vào X và Y vào thanh ghi  
MUL_X và MUL_Y và đọc giá trị đầu ra 16 bit từ thanh ghi  
MUL_DH và MUL_DL.  
Hình 2.20 Hardware multiplication  
. Sum of products  
Trong phép nhân, kết quả có thể được cộng dồn và lưu trong bộ  
tích lũy 32 bit. Đó là cách tạo nên hoạt động tính tổng đồng thời là  
mô tả hết sức quan trọng trong xử lí tín hiệu số. Bên cạnh đó khối  
MAC cho phép thực hiện phép nhân nhiều BYTE rất đơn giản.  
Hình 2.21 Sum of products  
Trang - 25 -  
Quá trình tính được thực hiện khi nhập dữ liệu X và Y vào thanh  
ghi MAC_X hoặc MAC_Y hoặc cũng có thể ghi vào các thanh ghi  
MUL_X và MUL_Y, trường hợp kết quả chưa được đọc thì giá trị  
tính toán được lưu trong các thanh ghi ACC_DR3, ACC_DR2,  
ACC_DR1 và ACC_DR0. Để bắt đầu phép tính giá trị phải trả về 0  
bằng cách ghi giá tri 0 vào thanh ghi MAC_CL1 hoặc MAC_CL0.  
Interrupt Controller  
Ngắt là bộ máy bên trong vi điều khiển cho phép phản ứng nhanh với 1  
số sự kiện khi xảy ra sự kiện đó. Những nguyên nhân xảy ra ngắt bên trong  
như: Timer, ADC,... và nguyên nhân bên ngoài như kết thúc nhận 1 chuỗi,  
thay đổi trạng thái chân (cạnh lên hoặc cạnh xuống). Khi ngắt xảy ra,  
chương trình chính tạm dừng và thi hành chương trình ngắt. Thực hiện 1  
ngắt gồm các bước:  
. Khi 1 ngắt xảy ra, điều khiển ngắt cất giữ loại ngắt.  
. Dừng thực hiện chương trình chính  
. Nếu ngắt được cho phép hoặc bit ngắt toàn cục được set bằng 1(GIE  
= 1), quá trình thực hiện chương trình ngắt bắt đầu. Stack cất giữ giá  
trị của PCH, PCL và thanh ghi F.  
. Một ngắt mới xảy ra không cho phép bằng cách đặt giá trị thanh ghi  
F bằng 0 (GIE = 0).  
. Bộ đếm chương trình nhảy đến địa chỉ ngắt đã được định nghĩa.  
. Thực hiện chương trình ngắt.  
. Gặp lệnh RETI thì quay trở về chương trình chính giá trị thanh ghi F  
được khôi phục từ stack, bộ đếm chương trình được trả về giá trị cũ.  
Hình 2.22  
Ngắt  
Thanh ghi PRTxIF được sủ dụng thể hiện ngắt GPIO trên port, trong khi  
đó PRTxIC1và PRTxIC0 là các thanh ghi điều khiển ngắt thích hợp. Mỗi  
Trang - 26 -  
ngắt có thể giấu hoặc xóa với sự hỗ trợ của thanh ghi INT_MSK và  
INT_CLR .  
Không gian địa chỉ bộ nhớ  
PSoC có 3 không gian địa chỉ bộ nhớ: ROM, RAM, registers. Vì trong  
kiến trúc vi xử lí Harvard truy cập vào bộ nhớ ROM với 1 đường đặc  
biệt. Vì vậy PSoC có thể được chỉ đẫn và truy cập dữ liệu cùng 1 lúc.  
Hình 2.23 Không gian địa chỉ bộ nhớ  
. Program memory Bộ nhớ chương trình là 1 phần của ROM, được  
sử dụng để chứa mã chương trình. Mã chương trình được ghi với sự  
hỗ trợ phần cứng bên ngoài. Bộ nhớ chương trình là công cụ trong  
công nghệ FLASH, nó thật đơn giản cho việc thay đổi chương trình.  
Tùy vào các họ PSoC mà hỗ trợ các bộ nhớ chương trình khác nhau:  
2, 4, 8, 16 và 32 kB.  
. Supervisory ROM (ROM giám sát) Supervisory ROM là 1 phần  
của ROM, được sử dụng để đo, kiểm tra các thành phần. Với kiến  
trúc đặc biệt SSC có thể truy cập như 1 phần bộ nhớ.  
. RAM có thể lưu trữ các biến số và stack mà được sử dụng trong quá  
trình làm việc của PSoC. Với các họ PSoC CY8C29xx có nhiều hơn  
256 byte . RAM được quản lí trong các page với stack được lưu ở  
trang cuối cùng.  
. Thanh ghi PSoC có 512 thanh ghi trong 2 bank 256. Để truy cập  
vào thanh ghi bên cạnh tên của nó người sử dụng phải biêt tên bank.  
Để truy cập được bank bằng cách sử dụng macros M8C_SetBank0  
Trang - 27 -  
and M8C_SetBank1, với việc xóa hoặc set bit XIO trong thanh ghi  
CPU_F.  
3.3 Giới thiệu phần mềm PSoC Designer của hãng CYPRESS  
3.3.1 Tổng quan về PSoC Designer  
PSoC Designer là phần mềm do hãng CYPRESS cung cấp miễn phí để  
lập trình cho PSoC. Nhìn chung PSoC Designer được chia là 2 phần:  
. Device Editor : để xây dựng kiến trúc phần cứng cho PSoC  
. Application Editor: viết các chương trình ứng dụng.  
Ngoài ra còn ra còn có phần debugger để dịch ra file Hex, và PSoC  
Programmer là chương trình nạp vào chip PSoC sử dụng mạch nạp của hãng  
CYPRESS. Để lựa chọn cửa sổ làm việc click chuột vào các nút có biếu trượng  
trên hình:  
Interconnect View  
Device Editor  
Application Editor  
Debugger  
User module selection view  
Hình 2.24 Chọn cửa sổ làm việc  
3.3.2 Xây dựng kiến trúc phần cứng( Device Editor)  
Các mức datasheet của PSoC  
PSoC có 3 mức datasheet: Device datasheet, Datasheet từng module  
(embedded core) và datasheet do người sử dụng xây dựng  
. Device datasheet là datasheet do nhà sản xuất đưa ra chung cho cả họ  
PSoC ví dụ: CY8C29xx66 hoặc CY8C27xx43. Cung cấp những thông  
tin:  
Các thanh ghi  
Đặc điểm nhiễu  
Loại và kích thước package  
Những thông tin chung chung và thông tin về nhà sản xuất  
Để xem Device datasheet  
vào PSoC Designer mục  
Help/Documentation hoặc vào trang web của nhà sản xuất:  
Trang - 28 -  
. Datasheet của từng module: Cung cấp biếu đồ USER Module, chi tiết  
đặc điểm của USER Module, lưu ý nơi đặt module trong các khối khả  
trình PSoC, và code mẫu. Chi tiết sẽ được trình bày trong phần PSoC  
Designer.  
1
4
2
3
Hình 2.25User module  
Trong đó:  
(1): Thư viện Module: Chọn các module sử dụng phù với với project  
của người dùng bằng cách click đúp chuột.  
(2): Sơ đồ khối user module  
(3): Datasheet user module (tài nguyên,mô tả đặc điểm, tổng quan,  
sơ đồ khối, mô tả chức năng, các thông số đặc điểm kĩ thuật, nơi đặt  
nó, thước đo tài nguyên chiếm dụng, thư viện API, code mẫu và các  
thanh ghi).  
(4):Thước đo tài nguyên (Khối số, analog, ROM, RAM, Decimator,  
I2C controller đã sử dụng)  
Trang - 29 -  
Hình 2.26: Thước đo tài nguyên  
. Các Module mà PSoC Designer hỗ trợ:  
ADCs: ADCINC, ADCINC12, ADCINC14, ADCINCVR,  
DELSIG8, DELSIG11, DUALADC, DUALADC8, DelSig,  
SAR6, TRIADC, TRIADC8  
AMPLIFIERS:  
AMPINV, CMPPRG, CmpLP, INSAP,PGA  
Analog Comm: DTMFdialer (bàn phím tương tự)  
Counters: Counter8, Counter16, Counter24, Counter32  
DACs: DAC6, DAC8, DAC9, MDAC6, MDAC8  
Digital Comm: CRC16, EzI2Cs, I2CHW, I2Cm, IrDARX,  
IrDATX, RX8, SD Card, SPIM, SPIS, TX8, UART.  
Filters: BPF2, LPF2  
Generic: SCBLOCK  
Misc Digital: DigBuf, DigInv, E2PROM, LCD, LED,  
LED7SEG, Sleep Timer.  
MUX: AMUX4, AMUX8, RefMux  
Protocols: BootldrI2C  
PWMs: PWM8, PWM16, PWMDB8, PWMDB16.  
Random Seq: PRS8, PRS16, PRS24, PRS32.  
Temperature: FlashTemp  
Timers: Timer8, Timer16, Timer24, Timer32.  
Trang - 30 -  
. Datasheet do người sử dụng xây dựng: trong PSoC Designer, chọn  
View/datasheet.  
Thời gian tạo  
datasheet  
Các module đã  
sử dụng  
Hình 2.27 Datasheet do người sử dụng xây dựng .  
Interconnection View  

Tải về để xem bản đầy đủ

pdf 66 trang yennguyen 21/03/2025 150
Bạn đang xem 30 trang mẫu của tài liệu "Đồ án Thiết kế bộ PID số điều khiển tốc độ động cơ DC", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfdo_an_thiet_ke_bo_pid_so_dieu_khien_toc_do_dong_co_dc.pdf