66
ĐỒ Á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

ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

  • Upload
    lamkhue

  • View
    221

  • Download
    3

Embed Size (px)

Citation preview

Page 1: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 2: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 3: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 3 -

PHẦN 1: LÝ THUYẾT

CHƯƠNG 1: ĐỘNG CƠ ĐIỆN MỘT CHIỀU

1.1 Giớ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:

Page 4: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 4 -

A-

+

12

Ra

La

Eg

Ua

Ia

ga

aaaa edtdiLiRu (1.1)

nke vg (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 (1.3)

Phương trình của động cơ:

Ld TBdtdJT (1.4)

B: hệ số ma sát

T: monen tải.

Ở chế độ xác lập:

gaaa eiRu (1.5)

atLd iKTnBT 2 (1.6)

Ta có được tốc độ động cơ ở chế độ xác lập:

v

aaa

KRIUn (1.7)

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

Page 5: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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:

inon

dk VT

TV

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:

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:

Udk

t

Ia

t

Page 6: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 6 -

)()()()( aEpIpLpIRpU gaaaaa (1.9)

)()( pnkpE vg (1.10)

Td(p) = Kt ΦIa(p) (1.11)

)()(2)(2)( pTpBnppJnpT Ld (1.12)

Từ 1.12 tính được:

)1(2)()()(

m

Ld

pBpTpTpn

(1.13)

)1(

)()()(

pRpEpUpI

aa

aaa

(1.14)

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:

Hình 1.3: Mô hình động cơ điện DC

Khi momen tải không đổi, ta có:

vmat

aa

KppK

BRpUpn)1)(1(2

1)()(

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.

Ia(p)

vk

)1(1pR aa

tk )1(21

pB m

Ua(p)

Eg(p)

Td(p) TL(p)

n(p)

Page 7: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 7 -

1

Tp

kG

Đáp ứng xung của động cơ:

n(p)= pTp

kU)1(

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:

103.0

5.37103.0

24/1501

ppTp

kG

1.5 Phương pháp ổn định tốc độ động cơ dùng PID:

1.5.1 Thuật toán PID:

ddeKdeKKG dip

)()(

Trong đó:

- Kp: Hệ số khâu tỉ lệ (khâu khuếch đại)

Page 8: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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):

111)(

zTKzG II với

kT k

nnTTedtte

0 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):

Page 9: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 9 -

)1(1)( 1

zKTz

zKzG dDD với thành phần vi phân xấp xỉ bởi:

T

TnenTedt

tde ))1(()()(

Vậy ta được hàm truyền khâu PID rời rạc:

)1(1

1)()( 1

1

zKz

KKzEzU

G dipdk

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 và 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.

Page 10: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 11: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

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

Microcontroller

ASIC

Standard Product

Cần mức tích hợp cao hơn và ít thành phần hơn (lower BOM)

Cần khả năng thích nghi và linh hoạt hơn Cần sự tích hợp

cao và linh hoạt hơn

PSoC

PSoC đáp ứng tất cả các yêu cầu trên

Page 12: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

Page 13: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 14: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 15: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

Page 16: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

Page 17: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương 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 bit

DM1 bit

DM0 bit Mode Data = 0 Data = 1

Page 18: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 18 -

DM2 bit

DM1 bit

DM0 bit Mode Data = 0 Data = 1

0 0 0 Resistive Pull Down Resistive Strong 0 0 1 Strong Drive Strong Strong 0 1 0 High Impedance Hi-Z Hi-Z 0 1 1 Resistive Pull Up Strong Resistive

1 0 0 Open Drain, Drives High Hi-Z Strong

(Slow)

1 0 1 Slow Strong Drive Strong (Slow)

Strong (Slow)

1 1 0 High Impedance Analog Hi-Z Hi-Z

1 1 1 Open Drain, Drives Low

Strong (Slow) Hi-Z

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

Page 19: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 20: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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,...

Page 21: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 22: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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)

Page 23: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

Hình 2.18 Các mức điện áp tham chiếu

Switch Mode Pump

Hình 2.19 Mode Pump

Ref Mux AGND [V] RefLo [V] RefHi [V] Vdd/2 ± Vbg 2.5/1.65 1.2/0.35 3.8/2.95 Vdd/2 ± Vdd/2 2.5/1.65 0 5.0/3.3 Vbg ± Vbg 1.3 0 2.6 1.6Vbg ± 1.6Vbg 2.08 0 4.16 2Vbg ± Vbg 2.6 1.3 3.9 2Vbg ± P2[6] 2.6 1.6 3.6 P2[4] ± Vbg 2.2 0.9 3.5 P2[4] ± P2[6] 2.2 1.2 3.2

Page 24: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 25: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 26: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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

Page 27: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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:

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:

www.cypress.com

Device Editor

Application Editor Debugger User module selection view

Interconnect View

Page 28: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

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)

1

3

4 2

Page 29: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

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.

Page 30: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 30 -

Datasheet do người sử dụng xây dựng: trong PSoC Designer, chọn

View/datasheet.

Hình 2.27 Datasheet do người sử dụng xây dựng .

Interconnection View

Thời gian tạo datasheet

Các module đã sử dụng

Page 31: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 31 -

Hình 2.28 Interconnection View

Mọi sự liên kết chưa được phép nếu chưa đặt các khối số hoặc tương

tự vào các khối khả trình và chờ thước đo tài nguyên set xong. Đây là

phần công việc quan trọng có thể được thực hiện ở của sổ Interconnection

View. Ở phần trung tâm là hình mô tả các khối khả trình và các line liên

kết.Công việc xây dựng kiến trúc line giống như routing PCB nhưng đơn

giản hơn. Quan trọng là việc thiết lập các thông số Global sẽ được trình

bày ở phần tiếp theo.

Global Parameters: Các thông số Global ở tab bên trái cửa sổ

Interconnection View cụ thể ở hình bên dưới.

Page 32: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 32 -

Hình 2.29 Global Parameters

Các thông số này được mặc định 1 số giá trị hợp lí mà người

dùng chỉ cần lựa chọn. Ví dụ điện áp cung cấp mặc định chọn 1 trong 2

giá trị 5V hoặc 3.3V nhưng với 1 số thông số người sử dụng có thể nhập

vào. Ví dụ nhập giá trị VC3 Divider.

Component Parameters

Để thiết lập các thông số cho User Module. Các thiết bị ngoại vi

của PSoC hết sức linh hoạt nó hoạt động phụ thuộc vào các thông số

người dùng thiết lập.Điển hình là chọn tần số của tín hiệu, các kết nối

với các khối khác và các liên kết bên trong.Vì vậy thiết lập các thông số

này là đièu kiện bắt buột. Hình bên dưới thí dụ cho module PWM16

Hình 2.30 Component Parameters

Pin Parameters

Page 33: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 33 -

Là bảng thiết lập thông số trạng thái chân. Các kiểu chân PSoC

được trình bày ở phần trước.T ất cả được mặc định là Analog Hi-Z,

người sử dụng có thể chọn mode hoạt động cho chân PSoC phù hợp với

yêu cầu. Đây cũng là 1 trong những ưu điểm vượt trội của PSoC so với

vi điều khiển thông thường. Chọn mode drive cho pin có 2 cách hoặc

thiết lập các thông số trong bảng này hoặc lập trình bằng phần mềm

bằng cách đặt các giá trị thanh ghi thích hợp.

Trong cột Select nếu chọn là StdCPU thì chân ở chức năng chuẩn

IO và không kết nối đến bất kì khối nào.

Cột Drive để thiết lập mode hoạt động của chân PSoC như pull-

up, pull-down, Strong, Strong low, Open drain high, Open drain

low, High Z, High Z Analog . Trường hợp cần trở kháng cao chọn

High Z Analog.

Cột thứ 3 sử dụng để thiết lập chân ngắt. Mặc định là không có

ngắt (Disable), có 3 nguyên nhân ngắt là cạnh lên (Rising Edge), cạnh

xuống (Falling Edge) và thay đổi trạng thái từ việc đọc (Change from

read).

Hình 2.31 Pin Parameters

Placement

Những ô trống để đặt các khối khả trình có màu xám, khi ô đó đã có

module khác thi có màu đặc trưng của module đó. Click vào biểu tượng

Place hoặc click chuột phải chọn Place. Chú ý phải tuân thủ nguyên tắc

về vị trí các khối Communication Digital và các khối Analog như đã

Page 34: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 34 -

trình bày ở phần trước. Nối các đầu ra dầu vào của khối bằng cách click

chuột trái ta sẽ thấy 1 danh sách điểm đích có thể nối như hình vẽ bên

dưới.

Hình 2.32 Placement

Digital Components Interconnection

Liên kết các khối số trước hết yêu cầu người dùng phải biết cơ bản

về các khối khả trình.

Hình 2.33 Digital Components Interconnection

Ở phía trên có 4 line đầu vào khối digital có màu đỏ và bên dưới

các khối là 4 line đầu ra khối digital có màu xanh. Khối Digital không

thể nối trực tiếp ra chân PSoC nhưng qua bộ MUX và input line và

output line toàn cục (GIO, GIE, GOO, GOE).

Page 35: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 35 -

Hình 2.34 Digital MUX

Global input lines (GIO và GIE) ở bên trái màn hình và global

output lines (GOO và GOE) ở bên phải màn hình. Click chuột ở biểu

tượng MUX PSoC Designer sẽ hiện ra các Global input lines cho phép

nối ứng với các digital line đầu vào khác nhau.

Hình 2.35 Global Line In

PSoC Designer hỗ trợ cho bạn rất nhiều, bạn dễ dàng tạo ra các

liên kết đơn giản bằng cách click chuột và chọn.dưới đây là một số hình

minh họa thực hiện để nối đầu ra các khối với chân PSoC.

Hình 2.36Output

Page 36: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 36 -

Hình 2.37 Global line out

Analog Components Interconnection

Chi tiết ở hình bên dưới . Nguyên tắc tương tự khối số nhưng giới

hạn một số chân Analog vào và ra chứ không phải chân nào cũng được

như khối số. Mặc khác nó tuân theo qui định đặt các khối Analog vào

ACB, ASC và ASD đã được trình bày ở phần trước.

Hình 2.38 Analog Components Interconnection

3.3.3 Cửa sổ viết ứng dụng(Application Editor)

Page 37: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 37 -

Application Editor là giao diện cho người dùng lập trình ứng dụng bằng

1 trong 2 ngôn ngữ C hoặc ASEMBLY.

Hình 2.39 Application Editor

Trong Application Editor có các file tự động tạo ra trên cơ sở những

khối mà bạn chọn bằng cách click vào biểu tượng Generate Application.

Debugger dịch ra file hex: click chuột vào biểu tượng Debugger để dịch

chương trình ra file Hex.

Page 38: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 38 -

CHƯƠNG 3: LÝ THUYẾT VỀ MOSFET

3.1 Giới thiệu về MOSFET

Transistor hiệu ứng trường gọi tắt là FETs [Fiel-Effect Transistors]

bao gồm hai loại chính đó là: Transistor hiệu ứng trường có cấu trúc cổng

bằng bán dẫn-oxide-kim loai, gọi tắt là MOSFET [Metal-Oxide-

Semiconductor FET], và transistor hiệu ứng trường có cấu trúc cổng

bằng tiếp giáp pn, thường gọi là JFET [Junction FET]. Transistor

MOSFET đã trở thành một trong những dụng cụ bán dẫn quan trọng nhất

trong việc thiết kế chế tạo các mạch tích hợp (ICs) do tính ổn định nhiệt

và nhiều đặc tính thông dụng khác của nó. Cả MOSFET và JFET đều dẫn

điện theo các kênh dẫn, nên mỗi loại đều có ở dạng kênh dẫn bằng

bán dẫn n hoặc p, gọi là MOSFET kênh n (gọi tắt là NMOS),

MOSFET kênh p (gọi tắt là PMOS) và JFET kênh n và JFET kênh p

tương ứng. Ngoài ra, đối với MOSFET dựa theo nguyên tắc hình thành

kênh dẫn mà có MOSFET cảm ứng kênh hay tăng cường kênh; giàu

kênh (kênh không có sẵn) và MOSFET nghèo kênh (kênh có sẵn).

3.2 Cấu trúc cơ bản của NMOS kiểu tăng cường :

Page 39: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 39 -

Nguyên lý hoạt động :

Khi VGS>0, một điện trường được tạo ra ở vùng cổng. Do cổng mang

điện tích dương nên hút các điện tử trong nền bán dẫn p đến tập trung ở mặt

đối diện của vùng cổng. Khi VGS đủ lớn, lực hút mạnh, các điện tử đến tập

trung nhiều và tạo thành một thông lộ tạm thời nối liền hai vùng nguồn S và

thoát D. Điện thế VGS mà từ đó dòng điện thoát ID bắt đầu tăng được gọi là

điện thế thềm cổng – nguồn (gate to sourse threshold voltage) VGS(th). Khi

VGS tăng lớn hơn VGS(th), dòng điện thoát ID tiếp tục tăng nhanh.

Người ta chứng minh được rằng :

2GS GS(th)[V -V ]DI K

Trong đó : ID là dòng thoát của E-Mosfet

K là hằng số với đơn vị A/V2

VGS là điện thế phân cực cổng nguồn.

VGS(th) là điện thế thềm cổng nguồn.

Hằng số K thường được tìm một cách gián tiếp từ các thông số do nhà

sản xuất cung cấp.

Đặc tuyến truyền đạt và đặc tuyến dòng máng :

Page 40: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 40 -

3.3 Ưu nhược điểm và các thông số quan trọng của MOSFET:

3.3.1 Những ưu điểm của mosfet :

- Tốc độ chuyển mạch nhanh, tổn hao chuyển mạch nhỏ hơn BJT

và IGBT.

- Tổn hao dẫn bé hơn BJT và IGBT ở vùng dòng điện nhỏ và vừa.

- Không tốn công suất điều khiển như BJT, ở các mức công suất

khác nhau thì mạch điều khiển không khác nhau nhiều,giúp đơn

giản hoá việc thiết kế.

- Có tuổi thọ rất cao nếu được tính toán tốt.

- Với vùng điện áp thấp(dưới 50V) và dòng lớn( cỡ trăm Ampe) thì

mosfet là sự lựa chọn tốt nhất.

3.3.2 Các nhược điểm của mosfet.

- Bị hạn chế về điện áp (<1000V) và dòng điện( cỡ vài trăm Ampes đổ

lại).

- Khi dòng điện tăng thì tổn hao tăng nhanh hơn BJT và IGBT.

- Chịu quá tải kém, nhậy cảm với nhiệt độ.

- Giá thành cao hơn BJT và IGBT ở cùng điện áp và dòng điện định

mức.

Vì những lý do trên mà mosfet thường được sử dụng ở cấp điện áp

320VDC( 220VAC sau chỉnh lưu) và dòng điện vài trăm Ampes trở lại.

3.3.3 Các thông số quan trọng của mosfet :

- Drain-to-Source Breakdown Voltage: đây là điện áp một chiều lớn

nhất cho phép trên cực Drain và Source. Khi tính toán thường lấy hệ

số an toàn về điện áp là1.5 trở lên.

- Continuous Drain Current dòng điện một chiều liên tục lớn nhất chảy

qua mosfet, giới hạn bởi tổn hao dẫn , thường cho ở 25°C và 100°C .

- Pulsed Drain Current: Dòng điện xung lớn nhất chảy qua mosfet,

phụ thuộc vào độ rộng xung,giới hạn bởi diện tích an toàn(Safe

Operating Area-SOA).

- Gate-to-Source Voltage: Điện áp điều khiển giữa cực Gate và Souce,

thường lớn nhất là 20V,thực tế hay đặt khoảng 10V,khi mosfet hoạt

Page 41: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 41 -

động xảy ra hiện tượng điện áp điều khiển bị tăng cao do ảnh hưởng

của điện dung ký sinh giữa cực Drain và Gate,khi tính toán nếu thấy

điện áp này tăng cao cần thêm một diode zener mắc giữa cực Gate và

Souce.

- Max. Power Dissipation:Công suất tiêu tán lớn nhất trong điều kiện

làm mát tốt nhất và ở một nhiệt độ nhất định, thường cho ở 25°C ,

dựa vào Linear Derating Factor có thể tính ra công suất tiêu tán nhiệt

ở các nhiệt độ khác. Công suất tiêu tán trên thực tế phụ thuộc chủ

yếu vào dạng đóng vỏ và điều kiện làm mát, và bé hơn nhiều giá trị

định mức.

Vd: Loại IRF-540N, dạng vỏ TO-220, datasheet cho Max. Power

Dissipation =130W tại 25°C,nhưng trong điều kiện làm mát cánh tản

nhiệt và quạt cưỡng bức tốt nhất thì thường chỉ nên lấy tối đa 50W.

Tất cả các loại van khác có cùng dạng đóng vỏ này cũng không được

chọn quá 50W.

- Linear Derating Factor: Hệ số suy giảm công suất toả nhiệt theo

nhiệt độ, khoảng 0.7-2.5W/°C.

- Operating Junction and Storage Temperature Range: giới hạn nhiệt

độ của lớp tiếp giáp,thường là -55 đến +175°C. Quá thang nhiệt độ

này van sẽ hỏng.

- Peak Diode Recovery dv/dt: Giới hạn tốc độ tăng điện áp trên diot

mắc giữa cực Drain và Souce,thường <5V/ns, khi quá giá trị này van

sẽ hỏng. Sở dĩ có thông số này là vì trong van tồn tại các giá trị điện

dung và điện cảm ký sinh. Khi có biến thiên điện áp ,các yếu tố này

sẽ tương tác, tạo ra một sđđ đủ lớn để phá hỏng các lớp tiếp giáp

trong van.

- Static Drain-to-Source On-Resistance: Điện trở biểu kiến ở trạng thái

dẫn, đây là thông quyết định đến tổn hao dẫn, thông số này phụ

thuộc nhiều vào điện áp chịu đựng của van và nhiệt độ lớp tiếp giáp

,tăng khi nhiệt độ lớp tiếp giáp tăng , và tăng nhanh khi điện áp định

Page 42: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 42 -

mức tăng. Có lẽ đây là lý do tại sao mosfet ít được chế tạo ở cấp điện

áp trên 1000V.

- Rise Time và Fall Time: thời gian chuyển mạch của van tương ứng

từ trạng thái khoá sang trạng thái dẫn và ngược lại , được trình bày

trong giản đồ dưới đây.Đây là thông số quyết định đến tổn hao

chuyển mạch , là thông số quan trọng khi đánh giá chất lượng của

van, khi tính toán mạch điều khiển thì Rise Time và Fall Time của

xung điều khiển phải bé hơn các thông số này của van.

- Total Gate Charge: Điện tích tổng cộng của các tụ điện ký sinh trên

cực Gate tại một giá trị Uđk nhất định, thường cho ở 10V, đây chính

là điện tích mà mạch điều khiển(gate driver) phải nạp hoặc xả cho

các tụ này trong quá trình đóng hay mở van.Bởi vậy mà mạch điều

khiển đôi khi còn được gọi là Gate charge.

Thông số này quyết định đến giá trị Ipgeak của mạch điều khiển,

điện tích này càng lớn thì Ipgeak càng phải lớn để đảm bảo các tụ

này được nạp trong thời gian xác định. Thường Ipgeak trong khoảng

0.5-2A.

Page 43: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 43 -

PHẦN 2: THIẾT KẾ VÀ THI CÔNG

CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 4.1 Sơ đồ nguyên lý:

J9

CON2

12

LCD

_RS

12V

J7

12345 J14

CON2

12

GND

U16

LM7805C/TO220

IN1

OUT3

GN

D2

D5

DIODE

VCC

Q3

2SA1013

J11

CON4

1234

C6CAP

J13

CON4

1234

C7

CAP

C8

CAP

Q52SC1815

XRES

R141k8

R151K

LCD

_D7

LCD

_D6

LCD

_ELC

D_W

R

LCD

_D5

LCD

_D4

J10

CON3

123

J5

LCD 16x2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

VCCGND

J8

CON2

12

Encoder

KHOI NGUON CUNG CAP

P2.3

R17

3K9

D6LED

VCC

R5RESISTOR

JACK NAP ISP

P1CONNECTOR DB9

5 9 4 8 3 7 2 6 1

C210u

C310u

C410u

CY29566

U4CY29566

P2[5] 1P2[3] 2P2[1]3P4[7] 4P4[5]5P4[3] 6P4[1] 7SMP8P3[7] 9P3[5]10P3[3] 11P3

[1]

12P1

[7]

13P1

[5]

14P1

[3]

15P1

[1]

16VS

S17

P1[0

]18

P1[2

]19

P1[4

]20

P1[6

]21

P3[0

]22

P3[2]23

P3[4]24

P3[6]25

XRES26

P4[0]27

P4[2]28

P4[4]29

P4[6]30

P2[0]31

P2[2]32

P2[4]33

P2[

6]34

P0[

0]35

P0[

2]36

P0[

4]37

P0[

6]38

VD

D39

P0[

7]40

P0[

5]41

P0[

3]42

P0[

1]43

P2[

7]44C5

10u

U15

MAX232

C1+1

C1-3

C2+4

C2-5

V+2

V-

6

R1OUT12

R2OUT9

T1IN 11

T2IN10

R1IN13

R2IN8

T1OUT14

T2OUT 7

Q1IRF540N/TO

R6

4K7

R8

1k

R910k

Encoder

VCC

VCC

LCD_RS

12V

J1

CON2

12

LCD_D7

JACK NOI ENCODER

LCD_D6

R112K7

Q22SC1815

MACH DAO CHIEU DONG CO

MACH DRIVER CHO FET

VCC

C9CAP

D3 D4

LCD

_D5

09 1

SW2SW THWHEEL-DEC

LS1

RELAY DPDT

34

5

68

712

LCD

_D4

12V

VCCGND

LCD_E

XRES

FET

LCD_WR

SCLSDA

SW3RESET

R13 1K

SC

L

SD

A

C1

104

GN

D

Q42SC2383

D2LED

DC motor

P2.5

VCC

Nguyên lý hoạt động:

Chip PSOC CY29566 điều khiển trung tâm làm nhiệm vụ tính toán, xuất

ra xung điều khiển cho khối điều khiển động cơ, điều khiển đảo chiều động

cơ. Điều khiển hiển thị LCD và giao tiếp với máy tính.

Khối giao tiếp máy tính gồm Max232 chuyển mức tín hiệu RS232 với

mức logic 0 (+3V đến +15V) sang TTL 0V, và mức logic 1 (-15V đến -3V)

thành 5V. Nhờ khối này, vận tốc hiện thời của động cơ sẽ được cập nhật lên

máy tính và các từ máy tính ta có thể điều khiển tốc độ động cơ, thay đổi

các thông số của bộ điều khiển PID. Giá trị của các tụ trên sơ đồ mạch là

10u được chọn theo datasheet của nhà sản xuất.

Khối điều khiển công suất (mạch Drive cho FET) kích cho FET hoạt

động theo tín hiệu PWM từ PSOC. Để đảm bảo cho FET chuyển mạch

Page 44: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 44 -

nhanh ở đây ta dùng mạch kích kiểu totem-pole gồm 2 BJT 2SC2383 và

2SA1013.

Khối đảo chiều động cơ dùng relay để đảo điện áp đặt vào động cơ.

Khối hiển thị dùng LCD 16x2 để hiện thị thông số Ki, Kp, Kd tốc độ

hiện thời, tốc độ cài đặt.

Khối nguồn cung cấp: mạch ổn áp dùng IC 7805 cấp điện áp 5V cho

mạch hoạt động.

4.2 Tính toán các thông số của mạch:

4.2.1. Mạch đảo chiều động cơ:

P2.3

J1

CON2

12

R112K7

Q22SC1815

MACH DAO CHIEU DONG CO

D3 D4

LS1

RELAY DPDT

34

5

68

712

12V

FE

T

R13 1K

C1

104

Để điều khiển chiều quay của động cơ điện 1 chiều, ta có thể dùng mạch

cầu H, hoặc có thể dùng Relay. Vì dùng relay chi phí thấp hơn nên trong đồ

án này chúng tôi đã lựa chọn giải pháp này. Nguyên lý của mạch này đơn

giản như sau:

Khi chân P2.3 ở mức thấp, BJT Q2 tắt, tiếp điểm 3 nối đến 4, tiếp điểm

6 nối đến 8, khi đó Vcc nối tới chân 2 của CON2, cực D của FET nối tới

chân 2 của CON2 động cơ chạy theo chiều thuận(chiều quy ước). Khi có tín

hiệu kích 5V tại chân P2.3, BJT Q2 dẫn, tiếp điểm 3 nối đến 5, tiếp điểm 6

nối đến 7, lúc đó nguồn cung cấp cho động cơ đảo ngược so với trường hợp

trên, do đó động cơ quay theo chiều ngược lại.

Ta tính chọn với dòng cực đại qua động cơ là 5A, Chọn Relay 10A.

Công suất của relay 530mW, -> dòng qua relay 0.530/12 = 44mA. Công

suất tổn hao trên BJT Q2 chủ yếu là công suất dẫn: P = Vcesat xIcsat =

0.25x44mA = 11mW.

Page 45: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 45 -

Vậy chọn BJT 2SC1815 có: Ic = 150mA, Vce = 50V, công suất 400mW,

hfemin = 70.

Để BJT dẫn bảo hòa thì Ibmin = Ic/hfemin = 44/70 = 0.63mA.

Chọn dòng qua R13 khoảng 0.7mA, => R13 = 0.7V/0.7mA = 1k.

Chọn dòng Ib ~ 1.5Ibmin => chọn Ib = 1mA

Dòng qua R11 = Ib + IR13 = 1.7mA

R11 = (5V-0.7V)/1.7 = 2.53k =>chọn R11 = 2k2.

4.2.2 Tính toán cho FET:

Tính dòng tối đa qua động cơ:

Ta có phương trình của động cơ ở trạng thái xác lập:

amLe IKBTT

m

La K

BTI

Ứng với tải cụ thể ta có thể xác định được TL từ đó ta có thể xác định

được dòng Ia cực đại qua động cơ.

Giả sử ta tính với dòng tối đa qua động cơ là 5 A

Ta phải chọn MOSFET có VDS >2Vđộng cơ, dòng >1.5 -> 2lần Imax,

khoảng10A, công suất tiêu tốn trên MOSFET tùy thuộc vào từng loại FET,

ở đây ta chọn các thông số của IRF540 để tham khảo sau đó kiểm tra lại

công suất có đảm bảo hay không..

Công suất tiêu tán trên MOSFET bao gồm 2 thành phần: công suất tiêu

tán khi FET dẫn và công suất chuyển mạch:

Ptt = Pd + Psw

Công suất tiêu tán khi FET dẫn được tính theo công thức:

TTRIP on

DSond ..2

Theo datasheet của IRF540, RDsonMax = 2.5Ω (Tj=150oC), Imax = 2.5 A,

TTon max = 1

Pdmax = 52x2.5 = 62.5W

Công suất tiêu tán khi MOSFET hoạt chuyển mạch:

Page 46: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 46 -

Dạng sóng Vds và Vgs

Tổn hao trong quá trình chuyển từ off sang on

E1 = rDScctr r

DSDSDS

trdsds tIVdtt

tVVIdttitv ..

21)..(.)().(

Tương tự như trên tổn hao khi từ on sang off:

E2 = fDScctf

dsds tIVdttitv ..21.)().(

Psw = swfrDScc fttIV )..(.21

Tần số điều xung được sử dụng ở đây là 24khz, trong phần mềm sử

dụng 2000 mức điều xung, tuy nhiên, ta chỉ cần mạch đáp ứng 100 mức

Page 47: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 47 -

điều xung (vì thời gian đáp ứng càng nhanh thì giá trị dòng đỉnh nạp cho tụ

ngõ vào của FET càng lớn, ta không muốn dòng đỉnh này quá lớn). Thời

gian của 1 mức điều xung lúc này là: 1/(24.1000.100) = 0.417µs =417ns.

Tổng thời gian nạp và xả tụ ngõ vào tại cực G phải nhỏ hơn giá trị này. Ta

chọn tr + tf =200ns

Psw = 30.5. 200.10-9.24.103 = 720 mW.

Trong đó fsw là tần số chuyển mạch.

Công suất tổng cộng lớn nhất: 63.2W

Vậy MOSFET IRF540 có các thông số: VDSS = 100V, IDS = 33A, Pmax =

130W thỏa mãn các yêu cầu đề ra.

4.2.3 Tính toán mạch Driver cho MOSFET:

Sơ đồ mạch Driver:

Q3

2SA1013

Q52SC1815

R141k8

R151K

Q1IRF540N/TO

R6

4K7

12V

MACH DRIVER CHO FET

Q42SC2383

DC motor

Mạch Diver được mắc theo kiểu totem-pole gồm 2 BJT 2SC2383 và

2SA1013 để đảm bảo tần số chuyển mạch nhanh cho FET.

Tính công suất của Q3 và Q4:

Ta tính dựa vào điện tích cần nạp cho tụ CGS.

PDRI = V.QG.fsw = 12.72.10-9.24.3 = 21mW.

QG :tổng điện tích nạp hoặc xả cho cực G. Theo datasheet, QG = 72nC

Mà: tx = QG/IG => IG = QG/tx

Tx thời gian nạp hoặc xả tụ ngõ vào, 2.tx =200ns=(tr + tf)

IG > 72.2/200 = 720mA

Page 48: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 48 -

Chọn BJT Q3,Q4: có Vce > 2Vcc, P>2.21mW.

chọn BJT 2SC2383 và 2SA1013.

Tính R14: R14 = (24V-0.7V).60/720mA = 1.94k -> chọn 1k8

Tính chọn Q5 và Q6:

Dạng sóng chuyển mạch của BJT có dạng như sau:

Công suất tổn hao trong BJT ở chế độ chuyển mạch gồm công suất tổn

hao khi dẫn bão hòa và công suất tổn hao chuyển mạch.

P = Psw + Pdẫn

* Tones.Icsat.T

Pon Vc T

TIVP onCEsCEsdan

(1) *Dựa vào đồ thị ta thấy : trong quá trình chuyển đổi trạng thái làm việc,

dòng điện cực góp ic(t) và thời gian t có quan hệ tuyến tính : Ic = Kt

Với K= Icsat-IcoffTsw

Icoff có thể bỏ qua => K= IcsatTsw

=> ic= IcsatTsw

t

Trong quá trình của mỗi lần chuyển đổi trạng thái làm việc, năng lượng tiêu hao của BJT có thể tính theo công thức :

Tsw Tsw

0 0

Icsat w.Icsat.VccE= icVc tVcTsw 2

Tscdt cdt

tsw toff tsw ton

Ic

Vce t

t

Icoff

Icsat

Vcc

Vcesat

Page 49: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 49 -

Trong mỗi chu kỳ, BJT chuyển đổi trạng thái làm việc 2 lần, trong 2 lần chyển đổi đó, năng lượng tiêu hao là như nhau. Như vậy năng lượng tiêu hao trong quá trình chuyển mạch là :

Esw= 2E =Tsw.Icsat.Vcc Công suất tiêu tán trong quá trình chuyển mạch :

Psw=Icsat.Vcc. wT

Ts (2)

Từ (1) và (2) ta có :

Ptt= Tones.Icsat.T

Vc + Icsat.Vcc. wT

Ts

Yêu cầu thời gian chuyển mạch Tsw của BJT phải nhỏ hơn thời gian chuyển mạch của khóa điện tử.

Thời gian tsw của BJT thông thường khoảng vài chục đến vài

trăm ns, ở đây ta lấy tsw=100ns

Với BJT Q6, icsat = Vcc/R14 = 12/1k8= 6.7mA

Ton/T max =1, 1/T = f =24kHz thay vào công thức trên ta được :

Pttmax = 0.2x6.7 + 6.7x12x100x10-9x24x10-3 = 1.36mW

Chọn BJT Q6 có Vce > 12x2 =24V, Ic>6.7x2, Ptt>1.36mW, chọn

BJT Q6 là C1815

Để Q6 dẫn bão hòa dòng ibQ6 > icQ6/βmin = 6.7/70 ~0.1mA

Chọn ibQ6 = 0.2mA

R15 có tác dụng giảm thời gian tắt của BJT.

Chọn dòng qua R15 khoảng 0.7mA

R15 = Vbe/Ir15 = 0.7V/0.7mA =1k

R6 = (5V-0.7V)/(0.7mA+0.2mA) = 4k78

Chọn R6 = 4k7

4.3 Tính toán các tham số của bộ điều khiển PID số:

Tăng dần Kp, tại biên giới ổn định ta có được đồ thị vận tốc

Page 50: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 50 -

(Trục hoành tính theo đơn vị là 0.05s do chu kì lấy mẫu là 50ms)

Khi vận tốc động cơ ở biên giới ổn định này, ta có được Kgh = 12.3,

Tgh = 7x0.05s = 0.35s

Vậy Kp = 0.6x12.3 = 7.4

Ti = 0.5x0.35 = 0.175 =>KI= K/Ti = 7.4/0.175 = 42.3

Td = 0.125x0. 35 = 0.04375 => KD = KxTd

Ki (của bộ PID số) = KIxT = 42.3x0.05 = 2.1

Kd (của bộ PID số) = KD/T

= 7.4x0.04375/0.05= 6.475

Đáp ứng vận tốc của động cơ lúc này:

Page 51: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 51 -

Tuy nhiên, phương pháp Ziegler – Nichols là phương pháp đã làm xấp xỉ hàm truyền, do đó áp dụng với động cơ có thể đáp ứng chưa được như mong muốn, ta có thể hiệu chỉnh các thông số này để có đáp ứng mong muốn dựa theo đồ thị.

Page 52: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 52 -

CHƯƠNG 5: THIẾT KẾ PHẦN MỀM.

5.1 Cấu hình bên trong PSOC:

Việc cấu hình cho PSOC gồm các bước:

- Cấu hình cho các tài nguyên toàn cục: điện áp, tần số hoạt động, các bộ

chia Clock bên trong. Các thông số này được cấu hình như hình vẽ:

Ở đây chọn CPU_Clock là 24Mhz, bộ chia tần sô VC1 và VC2 được Set

để có tần số VC2 là 1M để phục vụ cho các khối định thời và điều xung. Bộ

chia VC3 được chọn là 26 để chọn tốc độ baud cho khối UART.

- Cấu hình các khối số:

Khối điều xung:chọn bộ điều xung PWM 16bit để có thể dễ dàng thay

đổi tần số điều xung,. đặt tại block DB00 và DB01.

Đầu ra của khối PWM nối đến Row_0_output_1 sau đó nối đến chân

P2.5

Page 53: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 53 -

Cấu hình các thông số khác cho khối PWM như hình vẽ:

Tần số clock đầu vào là 48MHz, chu kì là 2000 xung tương ứng với

tần số đầu ra là 48MHz/2000 = 24KHz.

Khối giao tiếp UART:

Khối UART được đặt tại block DCB02 và DCB03, đối với các khối

chức năng giao tiếp như UART, I2C, SPI… phục vụ cho truyền thông

thì ta phải đặt tại các block số DCBxx (khác với DBBxx).

Page 54: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 54 -

Định tốc độ baud:

Tốc độ baud = tần số xung clock/8

Ta cần tốc độ baud là 115200, tần số clock là: 8.115200 = 921600

Clock chính là 24MHz, ta dung bộ chia tần để có được tần số 921600

Hệ số chia = 24MHz/921600 = 26.04 => chọn VC3 là 26.

Đầu vào được nối đến Row_0_Input_2 sau đó nối đến chân P4.2

Đầu ra nối đến Row_0_Output_0 -> đến chân P4.4

Kích thước bộ đệm nhận 16byte.

Kí tự kết thúc lệnh 13 (ứng với Enter, kí tự CR)

Kí tự phân cách các tham số trong dòng lệnh 32 (kí tự Space).

Các thông số khác như hình vẽ:

Page 55: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 55 -

Khối định thời: dùng để đinh thời gian lấy mẫu tốc độ. Ta chọn bộ đinh

thời 16 bit để dễ dàng thay đổi tốc độ lấy mẫu, định thời gian linh hoạt

hơn.

Thiết lập các thông số cho khối này như sau:

Page 56: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 56 -

Ở đây chu kì lấy mẫu vận tốc là 50ms, tần số clock đầu vào là 1MHz

nên chọn chu kì là 50000.

Khối counter 16 bit: dung để đếm số xung từ Encoder:

Khối này được đặt ở block DBB20 và DBB21 như hình vẽ

Thiết lập các thông số: xung clock ngõ vào là tín hiệu từ Encoder, do đó

ta nối tới Row_2_Input_1 -> chân P2.1.

Đồng thời ta phải thiết lập chân P2.1 là ngõ vào, chọn Mode là High Z.

Các thông số khác được chọn như hình sau:

Page 57: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 57 -

Giá trị Period sẽ giảm mỗi khi có 1 clock ngõ vào, do đó ta thiêt lập giá

trị này ban đầu là 65535.

Khối giao tiếp LCD:

Khối này thiêt lập bằng phần mềm, do đó không cần block số nào. Để

thiêt lập ta chỉ cần chọn cổng nối tới LCD. Giao tiếp LCD ở đây hoạt

động theo chế độ 4 bit nên chỉ cần 4 đường dữ liệu. Chọn Port giao tiếp

LCD là P3.

5.2 Giải thuật phần mềm:

Lưu đồ thuật toán chương trình chính:

Page 58: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 58 -

Giải thích:

- Phần khởi động các module bao gồm:

o Khởi động Module LCD

o Khởi động Module UART

o Khởi động khối PWM.

o Khởi động Timer dùng để định thời gian lấy mẫu vận tốc và

Counter để đếm xung từ Encoder.

o Enable ngắt toàn cục và ngắt do timer

- Mỗi lần có ngắt timer (kết thúc chu kì lấy mẫu), VDK sẽ đọc giá trị bộ

đếm (Counter), Reset bộ đếm để bắt đầu lại từ đầu. Sau đó VDK tính

Khởi động các Modul

Begin

Ngắt timer?

Dữ liệu từ PC?

Đọc bộ đếm, Reset bộ đếm

Nhận dữ liệu từ PC

Tính giá trị ĐK theo PID

Hiển thị

Gửi vận tốc lên PC

Page 59: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 59 -

toán các giá trị điều khiển PWM theo thuật toán PID nhờ hàm

pid_control().

- Chương trình gửi dữ liệu lên PC gửi vận tốc hiện thời lên PC.

- Nếu có dữ liệu từ PC (các thông số vận tốc, hệ số Ki, Kp,).

Chương trình con điều khiển PID:

Áp dụng thuật toán PID số, thay giá trị uk bởi giá trị điều xung (vì

điện áp trung bình ra tỉ lệ với chu kì nhiệm vụ (Duty Cycle)), ta có chương

trình điều khiển như sau:

Chương trình con nhận dữ liệu từ máy tính:

Dữ liệu từ PC gửi xuống VDK qua cổng RS232 sẽ được lưu trong bộ

đệm 16 byte., khi gọi hàm UART_1_bCmdCheck(), nếu kết thúc 1 chuỗi

lệnh từ máy tính (kí tự ASCII CR 0DH) thì hà trả về giá trị 1, còn không

hàm trả về giá trị 0. Ta dùng hàm này để kiểm tra dữ liệu từ máy tính đã

nhận xong hay chưa. Nếu đã nhận đủ dữ liệu, ta gọi hàm

UART_1_szGetParam() để đọc giá trị trước dấu phân cách để lấy mã lệnh

(mã lệnh ở đây là S, P, I, D, R), sau đó gọi tiếp hàm này để lấy giá trị tiếp

theo:

void pid_control(){ e1=v_set-save_count; P_Term=(kp*e1)/10; //K'p = 0.1 -> 5 khi kp = 1-50, tranh truong hop tinhs toan vuot khoi nguong cua integer D_Term=(kd*((e1-e0)))/10; //K'd = 0.1 -> 5 khi kd = 1-50 (e1-2*e00 +e0)) e00=e0; e0=e1; I_state=(I_state+e1)/10; I_Term=(ki*I_state)/10;//k'i = 0.01,0.02 ...1 PWM_set=PWM_set + P_Term + D_Term + I_Term; if (PWM_set>2000) PWM_set=2000; if (PWM_set<0) PWM_set=0; PWM16_1_WritePeriod (2000); PWM16_1_WritePulseWidth(PWM_set); }

Page 60: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 60 -

VD: lệnh từ máy tính là P 10 (kí tự kết thúc: (Enter))

(Chú ý dấu phân cách (Space) giữa P và 10)

Gọi lần 1: UART_1_szGetParam()-> trả về chuỗi ‘P’

Gọi lần 2: UART_1_szGetParam()-> trả về chuỗi ‘10’

Page 61: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 61 -

Đọc giá trị đầu tiên str[0]

Begin

Str[0]= ’S’

Str[0]= ’P’

Vân tốc = Dữ liệu từ PC

Str[0]= ’I’

Str[0]= ’D’

Str[0]= ’D’

Kp = Dữ liệu từ PC

Ki = Dữ liệu từ PC

Kd = Dữ liệu từ PC

Đóng Relaay đảo chiều động cơ

End

Page 62: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 62 -

Chương trình con hiển thị:

Chương trình hiển thị sẽ chuyển đổi các giá trị vận tốc, các hệ số Ki, Kp,

Kd ra giá trị thích hợp để hiển thị.

Chương trình hiển thị dùng các hàm API:

LCD_1_Position(byte i,byte j); Dịch chuyển con trỏ tới vị trí hàng I cột j

LCD_1_PrHexByte(byte); Hiển thị 1 byte ở dạng Hexa lên LCD

LCD_1_PrString(BYTE *s); hiển thị chuỗi s.

Chương trình gửi vận tốc lên máy tính

Trước khi gửi dữ liệu lên PC ta convert sang dạng chuỗi dùng hàm

itoa(sp,tem1,10).

void send_data_pc(){

int tem1;

tem1=save_count*3;

itoa(sp,tem1,10);

UART_1_PutString(sp);

}

Page 63: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 63 -

5.3 Chương trình giao tiếp trên máy tính:

Giao diện chương trình:

Mã nguồn chương trình:

Dim mang(1 To 50000) As Double Dim i As Double Dim str As String Dim even As Integer Dim direction As Integer Private Sub Command1_Click() MSComm1.Output = "O" MSComm1.Output = Chr(32) MSComm1.Output = "1" MSComm1.Output = Chr(13) End Sub Private Sub Command2_Click() MSComm1.Output = "O" MSComm1.Output = Chr(32) MSComm1.Output = "0" MSComm1.Output = Chr(13) End Sub Private Sub Check1_Click() MSComm1.Output = "R" MSComm1.Output = Chr(32) If (direction = 1) Then 'Neu dang quay theo chieu thuan direction = 0 MSComm1.Output = "1" MSComm1.Output = Chr(13) Else direction = 1 MSComm1.Output = "0" MSComm1.Output = Chr(13) End If

Page 64: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 64 -

End Sub Private Sub Command3_Click() If MSComm1.PortOpen Then MSComm1.PortOpen = False End If End End Sub Private Sub Command4_Click() MyChart.Series(0).Clear i = 1 End Sub Private Sub Command5_Click() frmsetting.Show End Sub Private Sub Exit_Click() End End Sub Private Sub Form_Load() MSComm1.Settings = "115200,N,8,1" MSComm1.CommPort = 1 MSComm1.PortOpen = True ' frmsetting.Show str = "00" i = 1 direction = 1 End Sub Private Sub KP_Click() End Sub Private Sub MSComm1_OnComm() If (MSComm1.CommEvent = comEvReceive) Then ' Text2.Text = MSComm1.Input str = MSComm1.Input mang(i) = Val(str) MyChart.Series(0).AddXY i, mang(i), "", vbRed Label8.Caption = str 'Text1.Text = str

Page 65: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 65 -

'mang(i) = Asc(MSComm1.Input) 'MyChart.Series(0).AddXY i, mang(i), "", vbRed 'MyChart.Series(0).AddXY i, Val(Text6.Text), "", vbGreen i = i + 1 End If End Sub Private Sub Setting_Click() frmsetting.Show End Sub Private Sub Slider1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim kp As String kp = Slider1.Value MSComm1.Output = "P" MSComm1.Output = Chr(32) MSComm1.Output = kp MSComm1.Output = Chr(13) End Sub Private Sub Slider1_Scroll() Text3.Text = Slider1.Value End Sub Private Sub Slider2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim ki As String ki = Slider2.Value MSComm1.Output = "I" MSComm1.Output = Chr(32) MSComm1.Output = ki MSComm1.Output = Chr(13) End Sub Private Sub Slider2_Scroll() Text4.Text = Slider2.Value End Sub Private Sub Slider3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim kd As String

Page 66: ĐỒ ÁN ĐIỆN TỬ ỨNG DỤNG ĐỂ TÀI: THIẾT KẾ BỘ PID SỐ …dulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd... · K U I R n (1.7) 1.3 Phương pháp

Trang - 66 -

kd = Slider3.Value MSComm1.Output = "D" MSComm1.Output = Chr(32) MSComm1.Output = kd MSComm1.Output = Chr(13) End Sub Private Sub Slider3_Scroll() Text5.Text = Slider3.Value End Sub Private Sub Slider4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim speed As String speed = Slider4.Value MSComm1.Output = "S" MSComm1.Output = Chr(32) MSComm1.Output = speed MSComm1.Output = Chr(13) 'MSComm1.Output = Chr((Val(speed) \ 6) \ 256) ' MSComm1.Output = Chr((Val(speed) \ 6) Mod 256) '