1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Đồ Án Ii Ứng Dụng Arm Stm32F4 Discovery Và Matlab Simulink Trong Thiết Kế Các Bộ Điều Khiển.pdf

50 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ N I

TRƯỜNG ĐIỆN – ĐIỆN TỬ



BÁO CÁO ĐỒ ÁN II

BỘ ĐIỀU KHIỂN

GVHD: Ths Cao Thành Trung

Sinh viên: Nguy n Duy Hi u ễ ế 20181883 Nguyễn Đức L c 20181585 Nguyễn Văn Thìn 20181926

Trang 2

2

LỜI NÓI ĐẦU 4DANH MỤC HÌNH NH 5ẢCHƯƠNG 1 CƠ SỞ LÝ THUYẾT 81.1 L ch s phát tri n lý thuy t ị ử ể ế điều khi n 8ể1.1.1 Điều khiển kinh điển (classical control) 81.1.2 Điều khiển hiện đại (modern control) 81.1.3 Điều khiển thông minh (intelligent control) 91.2 Thành ph n b n c a h th ng ầ cơ ả ủ ệ ố điều khi n 9ể1.3 Thi t k bế ế ộ điều khi n 10ể1.3.1 Ph n lo i thi t k bầ ạ ế ế ộ điều khi n 10ể1.3.2 Bộ điều khi n PID 11ểCHƯƠNG 2 GIỚI THIỆU PHẦN MỀM VÀ PHẦN CỨNG 122.1 Gi i thi u v MATLAB/SIMULINK 12ớ ệ ề2.2 Gi i thi u v board m ch ARM STM32F407 DISCOVERY 12ớ ệ ề ạ

MATLAB/SIMLINK 143.1 Chuy n i tín hi u Analog sang Digital và Digital sang Analog 14ể đổ ệ3.1.1 Gi i thi u chân ADC, DAC 14ớ ệ3.1.2 Thí nghi m s d ng kh i ADC 16ệ ử ụ ố3.1.2Thí nghi m s d ng kh i DAC 19ệ ử ụ ố3.2 Sử d ng Digital Input/Output 21ụ3.2.1 Giới thi u Digital Input/Output 21ệ3.2.2Thí nghi m s d ng kh i Digital Output 24ệ ử ụ ố3.2.3Thí nghi m s d ng kh i Digital Input 27ệ ử ụ ố3.3 Sử d ng Timer/Counter 29ụ3.3.1 Giới thi u Timer/Counter 29ệ

Trang 3

3.3.2Thí nghi m s d ng kh i Basic PWM 31ệ ử ụ ố3.3.3Thí nghi m s d ng kh i Encoder Read 34ệ ử ụ ố3.3.4Thí nghi m s d ng kh i Timer IRQ 38ệ ử ụ ố3.4 Sử d ng c ng giao ti p UART 40ụ ổ ế3.4.1 Giới thi u UART 40ệ3.4.2Thí nghi m s d ng kh i UART Setup và UART Tx 40ệ ử ụ ố3.4.3Thí nghi m s d ng kh i Host Serial 43ệ ử ụ ốCHƯƠNG 4 KẾT LUẬN 48TÀI LI U THAM KH O 49Ệ ẢPHỤ L C 50Ụ

Trang 4

4

LỜI NÓI ĐẦU

Trong thời đại hi n nay v i s phát tri n không ng ng c a khoa h c k thuệ ớ ự ể ừ ủ ọ ỹ ật Lĩnh vực điều khiển đã và đang là một trong những ngành có vai trò rất quan trọng trong đờ ống xã i shội, c a n n công nghi p, kinh t quủ ề ệ ế ốc dân… Bấ ứ ở ột v trí nào mt c m ị ột công vi c gì mệ ỗi người trong chúng ta đều phải ti p c n vế ậ ới điều khi n, nó là khâu quan tr ng cu i cùng quy t ể ọ ố ếđịnh sự thành bại trong mọi hoạt động của chúng ta

Điều khiển v trí hay tị ốc độ là một trong những vấn đề cơ bản nhất c a lý thuyủ ết điều khiển, t ừ đó ứng dụng vào điều khi n các vể ấn đề phức tạp hơn Từ vấn đề trên chúng em th y ấcần thiết ph i nghiên c u và ả ứ ứng dụng m t Board m ch khác có b nh và tộ ạ ộ ớ ốc độ ử x lí nhanh hơn

Vì nh ng lí do trên chúng em quyữ ết định chọn đề tài “Ứng d ng ARM STM32F4

Discovery và Matlab/Simulink trong thi t k các bế ế ộ điều khiển”

Trang 5

DANH M C HÌNH NH ỤẢ

Hình 1.1 Sơ đồ kh i hệ thố ống điều khiển 10

Hình 1.2 Sơ đồ kh i hiệu ch nh nố ỉ ối tiếp 10

Hình 1.3 Sơ đồ kh i hồi tiếố p tr ng thái 11ạHình 1.4 Sơ đồ kh i PID 11ốHình 2.1 Phần m m MATLAB & SIMULINK 12ềHình 2.2 Board mạch ARM STM32F407 DISCOVERY 13

Hình 3.1 Số lượng chân mô-đun ADC 14

Hình 3.2 Đặc tính điện mô-đun ADC 15

Hình 3.3 Đặc tính điện mô-đun DAC 15

Hình 3.4 Hộp tho i Regular ADC 16ạHình 3.5 Khối Regular ADC 16

Hình 3.6 Code Simulink “Chớp LED bằng điện trở” 17

Hình 3.7 Kết qu thả đồ ị khi văn biến tr 18ởHình 3.8 Kết qu l p mả ắ ạch “biến tr ở điều khiển LED” 18

Hình 3.9 Khối Regular DAC 19

Hình 3.10 Hộp tho i Regular DAC 19ạHình 3.11 Code Simulink “Tạo tín hiệu tuần hoàn” 20

Hình 3.12 Khối t o t n s cao 20ạ ầ ốHình 3.13 Đồ th xuị ất xu t 2 xung tam giác và sin 21ấHình 3.14 Sơ đồ mạch Pull-Up Input 21

Hình 3.15 Sơ đồ mạch Pull-Down Input 22

Hình 3.16 Sơ đồ mạch Push-Pull Output khi P-MOS mở 22

Hình 3.17 Sơ đồ mạch Push-Pull Output khi P-MOS đóng 22

Hình 3.18 Đặc tính dòng điện 23

Hình 3.19 Khối Digital Output 24

Hình 3.20 Hộp tho i Digital Output 24ạHình 3.21 Code Simulink “Điều ch nh thỉ ời gian sáng LED” 25

Hình 3.22 Cách Run mô hình trên Simulink 26Hình 3.23 Thiết l p kh i Pulse Generator 26ậ ố

Trang 6

6

Hình 3.28 Sự hoạt động của Timer/Counter khi Prescaler thay đổ ừ 1 đếi t n 4 30

Hình 3.29 Cấu hình các mô-đun Timer 30

Hình 3.30 Cách điều chỉnh độ ộng xung 31 rHình 3.31 Điều chỉnh độ ộng xung v i c r ớ ạnh lên 32

Hình 3.32 Điều chỉnh độ ộ rng xung v i cớ ạnh lên và xu ng 32ốHình 3.33 Khối Basic PWM 32

Hình 3.34 Khối h p tho i Basic PWM 33ộ ạHình 3.35 Code Simulink “điều chỉnh độ sáng Led dùng PWM” 33

Hình 3.45 Chương trình con đọc LED 39

Hình 3.46 Khối UART Setup 40

Hình 3.47 Khối h p tho i UART Tx 41ộ ạHình 3.48 Khối UART Tx 41

Hình 3.49 Code simulink “truyền một giá tr tị ừ Board mạch lên máy tính 43

Hình 3.50 Kết qu g i lên máy tính qua ph n m m Terminal 43ả ử ầ ềHình 3.51 Hộp tho i Host Serial Setup 44ạHình 3.52 Hộp tho i Host Serial Tx 44ạHình 3.53 Hộp tho i Host Serial Rx 45ạHình 3.54 Mô hình code nạp xu ng board 45ốHình 3.55 Mô hình chạy chế độ inf trên máy tính 46

Hình 3.56 Lắp mạch “Thí nghiệm truy n giá tr xuề ị ống board” 47

Hình 3.57 Đồ thị khi điều ch nh Slider gỉ ửi giá tr xuị ống board 47

Hình.0.1 Giao diện Website Waijung Blockset (1) 50

Hình 0.2 Giao diện Website Waijung Blockset (2) 50

Hình 0.3 Biểu tượng phần mềm Matlab/Simulink 51

Hình 0.4 Thư viện phần mềm Simulink (1) 51

Hình 0.5 Thư viện phần mềm Simulink (2) 52

Trang 7

Hình 0.6 Demo trong Simulink 52Hình 0.7 Giao diện sau khi n p thành công 53ạHình 0.8 Run file setup 54Hình 0.9 Chọn Next để tiếp tục cài đặt 54Hình 0.10 Qúa trình cài đặt 55Hình 0.11 Hai cửa sổ hi n ra ch n Next và Finish 55ệ ọHình 0.12 Mô-đun UART CP2102 56Hình 0.13 Kết n i UART v i máy tính 56ố ớHình 0.14 Giao diện thi t l p UART Setup (trái) và giao di n UART Tx (ph i) 57ế ậ ệ ảHình 0.15 Giải nén ph n m m 58ầ ề

Trang 8

8

1.1 L ch s phát tri n lý thuy t ị ử ể ế điều khi n

Định nghĩa điều khiển: Điều khiển là quá trình thu nhập thông tin, xử lý thông tin và

tác động lên h th ng ệ ố để đáp ứng c a h th ng ủ ệ ố “gần” với m c ụ đích định trước Điều khi n

tự động là quá trình điều khi n không c n sể ầ ự tác động của con người

1.1.1 Điều khi n kinh ể điển (classical control)

Lý thuyết điều khiển kinh điển (trước 1960) mô t h th ng trong mi n t n s (phép bi n ả ệ ố ề ầ ố ếđổi Fourier) và mặt phẳng s (phép biến đổi Laplace) Do dựa trên các phép biến đổi này, lý thuyết điều khiển kinh điển ch y u áp d ng cho h th ng tuy n tính b t bi n theo thủ ế ụ ệ ố ế ấ ế ời gian, mặc dù có một vài mở rộng để áp d ng cho h phi tuy n, thí d ụ ệ ế ụ phương pháp hàm mô t Lý ảthuyết điều khiển kinh điển thích hợp để thiết kế hệ thống một ngõ vào – một ngõ ra (SISO: single-input/single-output), r t khó áp d ng cho các h th ng nhi u ngõ vào nhi u ngõ ra ấ ụ ệ ố ề – ề(MIMO: multi-input/multi-ouput) và các h th ng biệ ố ến đổi theo th i gian ờ

Các phương pháp phân tích và thiết kế hệ thống trong lý thuyết điều khiển kinh điển gồm các phương pháp Nyquist, Bode, và phương pháp quỹ đạo nghi m sệ ố Để thi t k h ế ế ệthống dùng phương pháp Nyquist và Bode cần mô t h thả ệ ống dưới dạng đáp ứng t n s ầ ố (đáp ứng biên độ và đáp ứng pha), đây là một thuận lợi vì đáp ứng t n s có th ầ ố ể đo được b ng th c ằ ựnghiệm Mô t h th ng cả ệ ố ần để thiết dùng phương pháp quỹ đạo nghi m s là hàm truy n, ệ ố ềhàm truyền cũng có thể tính đượ ừ đáp ức t ng t n s Hàm truy n c a các h th ng ph c t p ầ ố ề ủ ệ ố ứ ạđược tính bằng cách sử dụng sơ đồ khối hay sơ đồ dòng tín hiệu Mô tả chính xác đặc tính động học bên trong hệ thống là không cần thiết đố ới các phương pháp thiế ế kinh điển, i v t kchỉ có quan h gi a ngõ vào và ngõ ra quan tr ng ệ ữ ọ

Các khâu hi u chệ ỉnh đơn giản như hiệu ch nh vi tích phân t l PID (Proportional Integral ỉ ỉ ệDerivative), hiệu ch nh s m trỉ ớ ễ pha,… thường đượ ử ục s d ng trong các h thệ ống điều khi n ểkinh điể Ảnh hưởn ng c a các khâu hi u chủ ệ ỉnh này đến biểu đồ Nyquist, biểu đồ Bode và qu ỹđạo nghiệm số có thể thấy được dễ dàng, nhờ đó có thể dễ dàng lựa chọn được khâu hiệu chỉnh thích hợp

1.1.2 Điều khi n hiện i (modern control) đạ

Từ khoảng năm 1960 đến nay

Trang 9

Kỹ thu t thi t k h thậ ế ế ệ ống điều khi n hiể ện đạ ựi d a trên mi n thề ời gian Mô t toán h c ả ọdùng để phân tích và thiết kế hệ thống là phương trình trạng thái Mô hình không gian trạng thái có ưu điểm là mô tả được đặc tính động học bên trong hệ thống (các biến trạng thái) và có th d dàng áp d ng cho h MIMO và h th ng biể ễ ụ ệ ệ ố ến đổi theo th i gian Lý thuyờ ết điều khiển hiện đại ban đầu được phát tri n ch y u cho h tuyể ủ ế ệ ến tính, sau đó được mở r ng cho ộhệ phi tuy n b ng cách s d ng lý thuy t cế ằ ử ụ ế ủa Lyapunov

Bộ điều khiển được s d ng ch y u trong thi t k h thử ụ ủ ế ế ế ệ ống điều khi n hiể ện đại là b ộđiều khiển hiện đại là bộ điều khiển hồi tiếp trạng thái Tùy theo cách tính vector hồi tiếp trạng thái mà ta có phương pháp phân bố ục, điề c u khiển tối ưu, điều khiển bền vững,…

Với s phát tri n c a lý thuyự ể ủ ết điều khi n sể ố và h thệ ống rời r c, lý thuyạ ết điều khi n ểhiện đại rất thích hợp để thiết kế các bộ điều khiển là các chương trình phần mềm chạy trên vi x lý và máy tính sử ố Điều này cho phép thực thi được các b ộ điều khiển có đặc tính động phức tạp hơn cũng như hiệu qu ả hơn so với các bộ điều khiển đơn giản như PID hay sớm tr ễpha trong lý thuyết điều khiển kinh điển

1.1.3 Điều khi n thông minh (intelligent control)

Điều khiển kinh điển và điều khiển hiện đại, gọi chung là điều khiển thông thường (conventional control) có khuyết điểm là để thiết kế được h thệ ống điều khi n c n ph i bi t ể ầ ả ếmô hình toán h c cọ ủa đối tượng Trong khi đó thực t có nhế ững đối tượng điều khi n r t ph c ể ấ ứtạp, r t khó ho c không th ấ ặ ể xác định được mô hình toán Các phương pháp điều khi n thông ểminh như điều khiển m , m ng th n kinh nhân t o, thuờ ạ ầ ạ ật toán di truyền mô phỏng/bắt chước các h th ng thông minh sinh h c, v nguyên t c không c n dùng mô hình toán hệ ố ọ ề ắ ầ ọc để thi t ếkế h thệ ống, do đó có khả năng ứng d ng thụ ực tế ấ ớ r t l n Khuyết điểm của điều khi n m là ể ờquá trình thi t k mang tính th sai, dế ế ử ựa vào kinh nghiệm c a chuyên gia Nh k t h p logic ủ ờ ế ợmờ với m ng th n kinh nhân t o hay thu t toán di truy n mà thông s bạ ầ ạ ậ ề ố ộ điều khi n mể ờ có thể thay đổi thông qua quá trình học hay quá trình tiến hóa, vì vậy khắc phụ được khuy t ếđiểm thử sai Hiện nay các bộ điều khiển thông thường kết hợp với các kỹ thuật điều khiển thông minh tạo nên các bộ điều khiển lai điều khiển các h th ng ph c t p v i chệ ố ứ ạ ớ ất lượng r t ấtốt

1.2 Thành ph n b n c a h th ng ầ cơ ả ủ ệ ố điều khi n

Trang 10

10

Hình 1.1 Sơ đồ kh i h thố ệ ống điều khi n

Chú thích các ký hi u vi t tệ ế ắt: - r(t): tín hi u vào, tín hi u chu n ệ ệ ẩ- c(t): tín hi u ra ệ

- cht(t): tín hiệu hồi tiế p- e(t): sai s ố

- u(t): tín hi u u khi n ệ điề ể

Để thực hiện được quá trình điều khiển như đị nh nghĩa ở trên, một hệ th ng ố điều khiển bắt buộc g m có ba thành phồ ần cơ bản là thi t bế ị đo lường (c m bi n), bả ế ộ điều khi n và i ể đốtượng điều khi n Thi t b ể ế ị đo lường có chức năng thu nhập thông tin, b ộ điều khi n th c hi n ể ự ệchức năng x lý thông tin, ra quy t ử ế định điều khi n và ể đối tượng điều khi n chể ịu sự tác động của tín hiệu điều khi n H thể ệ ống điều khi n trong thể ực tế rất đa dạng, sơ đồ kh i trên là c u ố ấhình c a h thủ ệ ống điều khi n ể thường g p nh t ặ ấ

1.3 Thi t k b ế ế ộ điều khi n

1.3.1 Ph n lo i thiầ ạ ết k b ế ộ điều khiển

Thiết k là toàn b quá trình b sung các thi t bi ph n cế ộ ổ ế ầ ứng cũng như thuật toán, ph n ầmềm vào hệ cho trước để được h mệ ới th a mãn yêu c u v tính ỏ ầ ề ổn định, độ chính xác, đáp ứng quá độ Có 2 cách thiết kế:

Hiệu chỉnh n i ti p: thêm các b ố ế ộ điều khi n n i ti p vể ố ế ới h hệ ở cho trước

Hình 1.2 Sơ đồ kh i hi u ch nh n i tiốệỉ ố ếp

Trang 11

- Các bộ điều khi n ể thường được s d ng: s m pha, tr pha, s m tr pha, P, PI, ử ụ ớ ễ ớ ễPD, PID

- Phương pháp thi t k ế ế ở dạng này là phương pháp QĐNS, phương pháp bi u ể đồ Bode

• Điều khi n h i ti p tr ng thái: T t c các tr ng thái c a h th ng ể ồ ế ạ ấ ả ạ ủ ệ ố được ph n h i ả ồtrở v ngõ vào ề

- Khi đó, ộ điề b u khi n s là: r(t) - Kx(t), v i K = [kể ẽ ớ i k2 k ] lá vector h i ti p n ồ ếtrạng thái

- Phương pháp thi t k : phân bô c c, LQR ế ế ự

1.3.2 B ộ điều khiển PID

Bộ điều khiển PID là bộ điều khiển hồi tiếp vòng kín, kết hợp ba bộ điều khiển vi phân, tích phân, tỉ lệ Nó có chức năng điều khiển hệ thống đáp ứng nhanh, vọt lố thấp, sai số

Hình 1.3 Sơ đồ kh i h i ti p tr ng tháiố ồ ếạ

Hình 1.4 Sơ đồ kh i PID

Trang 12

12

CHƯƠNG 2 GIỚI THIỆU PHẦN MỀM VÀ PHẦN CỨNG

2.1 Gi i thiệu về MATLAB/SIMULINK

MATLAB/SIMULINK là một chương trình viết cho máy tính PC hoạt động trong môi trường MS-DOS và môi trường WINDOWS nhằm hỗ trợ cho lập trình, các tính toán khoa học và kỹ thuật được thiết kế vớicông ty “The MATHWORKS”.

Thuật ngữ MATLAB được viết tắt của hai từ MATRIX và LABORATORY MATLAB được điều khiển với các tập lệnh, tác động qua bàn phím Nó cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác Matlab giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran Các câu lệnh trong MATLAB rất mạnh và có những vấn đề chỉ cần một câu lệnh là đủ giải quyết bài toán Mô phỏng trong MATLAB cho ta hình sẽ ảnh tọa độ không gian hai chiều (2D) và ba chiều (3D)

SIMULINK là một phần mềm mở rộng của MATLAB (1 Toolbox của Matlab) dùng để mô hình hóa, mô phỏng và phân tích một hệ thống động Nó cho phép mô tả hệ thống tuyến tính, hệ phi tuyến, các mô hình trong miền thời gian liên tục, hay gián đoạn hoặc một hệ gồm cả liên tục và gián đoạn MATLAB/SIMULINK được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học Với hàng triệu kỹ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường hàn lâm,MATLAB/SIMULINK là ngôn ngữ của tính toán khoa học.

2.2 Gi i thi u v board m ch ARM STM32F407 DISCOVERY ớ ệ ề ạ

Hình 2.1 Ph n m m MATLAB & SIMULINKầề

Trang 13

Board mạch STM32F407 Discovery là một loại kit thuộc họ vi điều khiển ARM Dòng ARM Cortex KIT STM32F4 Discovery là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Nó được ứng dụng vào rất nhiều thị trường khác nhau bao gồm các ứng dụng doanh nghiệp, mạng gia đình, cộng nghệ mạng không dây và các hệ thống ô tô.

Board mạch STM32F407 Discovery có vi điều khiển chính là STM43F04VGT6 microcontroller tích hợp với chip 32-bit ARM Cortex-M4F, 1MB bộ nhớ Flash, 192KbRAM Bo mạch tích hợp sẵn mạch nạp ST LINK/V2 và các cảm biến khác như cảm biến-gia tốc LIS302DL, bộ xử lý âm thanh MP45DT02, đèn LED thông báo trạng thái nguồn, nút nhấn, nút Reset.

Hình 2.2 Board m ch ARM STM32F407 DISCOVERY

Trang 14

14

TRONG MATLAB/SIMLINK

3.1 Chuy n ể đổi tín hi u Analog sang Digital và Digital sang Analog

3.1.1 Gi i thi u chân ADC, DAC ớ ệ

• Đặc tính điện áp c a mô-ủ đun ADC

- Điện áp chuyển đổ ừi t 0V n VREF+ đế- Điện áp ngu n t ồ ừ 1.8V đến 3.6V • Đặc tính điện áp c a mô-ủ đun DAC

- Điện áp c p ra 0.2V n 3.6V ấ đế

Trang 15

Nếu m c LED theo m ch ắ ạ hình 3.17 thì LED sáng khi tr ng thái ạ“0”

Ưu điểm ch n Push-Pull Output: ọ

- Thích hợp h th ng yêu cệ ố ầu đóng ng t v i t n s cao ắ ớ ầ ố- Điều khi n trể ực tiếp đến các thi t b ế ị

Nhượ điểc m chọn Push-Pull Output:

- Dòng điện b gi i h n Các chân c a STM34F4 ch u dòng l n nh t 25 mA (ngoài tr ị ớ ạ ủ ị ớ ấ ừPC13 PC15 là 3 mA) Vì v– ậy ta thường sử dùng điện tr R = 660 Ohm m c n i ở ắ ốtiếp với LED để h n dòng ạ

Trang 16

24

3.2.2 Thí nghiệm s d ng kh i Digital Output ử ụ ố

3.2.2.2 Cấu hình kh i Digital Output

Đường dẫn lấy kh i Digital Output: Simulink library >> Waijung Blockset >>

STM32F4 Target >> On-chip Peripherals >> I/O >> Digital Output.

Hình 3.19 Kh i Digital Output

3.2.2.3 Điều ch nh thời gian sáng của LED

Mục đích :

• Giúp người dùng mô ph ng thỏ ực tế

• Biết cách s d ng kh i Pulse Generator ử ụ ố để điều chỉnh thời gian sáng c a LED ủChọn cổng (A, B, C, D, Ehoặc H)

Chọn m ch Push-Pull ho cạặ

Chọn chân

Hình 3.20 H p tho i Digital Outputộạ

Trang 17

Tiến hành:

Bảng 3.2 Các khối Simulink cho điều ch nh th i gian sáng c a LED ỉ ờ ủ

target / Device Configuration

Khối đầu ra Digital Input Waijung Bolockset / STM32F4 target / On Chip Peripheral / IO

Chú ý: Trong kh i Pulse Generator có m t tham s quan tr ng gố ộ ố ọ ọi là chu kì, dùng đểtính ra r ng xung, nó quy t nh th i gian sáng và t t c a LED Ví dđộ ộ ế đị ờ ắ ủ ụ người dùng mu n ốsáng trong 1 giây, t t trong 3 giây và quá trình này x y ra liên tắ ả ục Như vậy độ ộ r ng xung được tính bằng mối quan hệ sau:

% Độ ộ r ng xung: (th i gian LED sáng) x 100/ chu kì ờỞ đây chu kì là thời gian LED sáng + thời gian LED tắt = 1 + 3 =4 s

Vậy % r ng xung là (1) x 100 / 4 = 25% độ ộ

Hình 3.21 Code Simulink “Điều ch nh

thời gian sáng LED”

Trang 18

26 Người dùng có th thi t l p khể ế ậ ối Pulse Generator như hình bên dưới và chọn vào bi u ểtượng Run như hình , sau đó nháy đúp vào Scope để xem sóng xung như hình Trên thực tế người dùng không th thể ấy đượ ực s chớp c a LED do tủ ốc độ quá nhanh Nhưng ta vẫn có thể liên tượng được b ng vi c nhìn vào sóng xung, thằ ệ ời điểm xung m c cao ở ứ tương ứ ng v i ớLED sáng, còn ngược lại m c th p LED tứ ấ ắt đồng th i ta nhìn vào c chu kì thì l y LED sáng ờ ả ấở 25% c a chu kì và tắt 75% của chu kì ủ ở

Hình 3.22 Cách Run mô hình trên Simulink

Build

Hình 3.23 Thi t l p kh i Pulse Generator ế ậố

Trang 20

28

Hình 3.26 H p tho i Digital Inputộạ

3.2.3.3 Điều ch nh LED bỉ ằng nút nh n ấMục đích:

- Giúp người dùng đọc giá tr nút nh n b ng kh i Digital Input ị ấ ằ ố

- Giúp người dùng hi u ể được m c ụ đích ủ c a thí nghi m qua ệ đó ứng dụng vào th c t ự ếTiến hành

F, G, H, I) Tần số đầu vào (2, 25, 50, 100)

Chọn chân

Hình 3.27 Code Simulink “Điều khi n LED b ng nút nhểằấn”

Trang 21

Bảng 3.3 Các khối Simulink cho thí nghiệm “Điều khi n LED b ng nút nhể ằ ấn”

3.3Sử dụng Timer/Counter

3.3.1 Giới thi u Timer/Counter

Mỗi vi điều khiển điều có một tín hiệu Clock giúp xử lí chương trình, thông thường Clock thường có tín hiệu Digital với tần số cao và được thiết lập cả trong và ngoài quá trình xử lí d li u Tữ ệ ốc độ ủ c a Clock ảnh hưởng đến kh ả năng xử lí của Vi điều khi n nhanh ho c ể ặchậm

Tín hiệu Clock được s d ng nhi u trong các mô-ử ụ ề đun như mô-đun ADC, các mô-đungiao ti p và c bi t là các mô-ế đặ ệ đun Timer

• Đặ điểc m của mô-đun Timer:

- Thanh ghi c a bủ ộ đếm có 16 bit ki u d li u s nguyên, khi có m t c nh lên ho c ể ữ ệ ố ộ ạ ặmột tín hi u bên ngoài vào c ng c a Timer thì b ệ ổ ủ ộ điếm s hoẽ ạt động

Trang 22

30 - Up counter: bắt đầu đếm từ 0 đến m t giá trộ ị đặt trước, khi đến ngưỡng giá trị đặt

trước thì bộ m sẽ bắt u lại 0 và tiếp tục quá trình đế đầ tương tự

- Down counter: b t u t m t giá tr t ắ đầ ừ ộ ị đặ trước và m lùi v 0, khi v 0 b m s đế ề ề ộ đế ẽbắt u l i giá tr đầ ạ ị đặt trước và ti p tế ục quá trình tương ự t

- Up-Down counter: bắt đầu đếm từ 0 đến m t giá tr ộ ị đặt trước, khi đến ngưỡng giá trị đặt trư c thì bộ đếm lùi v 0 ớ ề

- Prescaler divider: m t m ch ộ ạ đếm nó được dùng để gi m tín hi u t n s cao thành tín ả ệ ầ ốhiệu t n s th p b ng phép chia s nguyên ầ ố ấ ằ ố Người dùng có th ch n mể ọ ột giá tr t ị ừ0 đến 65535 như một hàm số chia

Trong STM32F4DISCOVERY, có 17 mô-đun có k t h p v i tín hi u Clock và trong ế ợ ớ ệđó có 14 mô đun dùng- cho Timer

Hình 3.28 S hoựạt động của Timer/Counter khi Prescaler thay đổ ừ 1 đếi tn 4

Hình 3.29 C u hình các mô-ấđun Timer

Trang 23

Với Period là chu kì

Việc điều chỉnh độ ộng xung có th th c hi n b ng vi c so sánh hai tín hi u v r ể ự ệ ằ ệ ệ ới nhau Tín hiệu đầu tiên là tín hi u tam giác (Triangular signalệ ) tín hi u th hai là tín hi u mong ệ ứ ệmuốn (reference signal)

Trong STM32F407VG DISCOVERY thường dùng giá tr Counter trong mô-ị đun Timer Ví d m t tín hi u tam giác v i t n sụ ộ ệ ớ ầ ố không đổi so sánh v i m t tín hi u mong mu n N u ớ ộ ệ ố ếgiá tr c a Counter thị ủ ấp hơn giá trị tín hi u mong mu n thì tr ng thái tín hi u u ra sệ ố ạ ệ đầ ẽ được hiểu ở mức ON, còn ngược lại n u giá tr c a ế ị ủ Counter cao hơn giá trị tín hi u mong mu n thì ệ ốtín hi u u ra s ệ đầ ẽ được hi u m c OFF ể ở ứ

Hình 3.30 Cách điều chỉnh độ ộ r ng xung

Trang 24

32

Hình 3.31 Điều chỉnh độ ộ r ng xung v i c nh lênớ ạ

Ngoài ra giá tr Counter có th m c c nh lên và xu ng (Up-Down Counter) ị ể đế ả ạ ố

3.3.2.3 Cấu hình khối Basic PWM

Đường dẫn lấy kh i PWM: Simulink Library >> Waijung Blockset >> STM32F4

target >> On Peripheral Chip >> TIM

Hình 3.32 Điều chỉnh độ ộ r ng xung v i c nh lên và xuớ ạ ống

Hình 3.33 Kh i Basic PWM

Trang 25

3.3.2.4 Điều ch nh sáng cỉ độ ủa LED dùng PWM

Mục đích:

- Điều ch nh r ng xung PWM b ng bi n tr ỉ độ ộ ằ ế ở- Điều ch nh r ng xung PWM v i nhi u kênh ỉ độ ộ ớ ề- Điều ch nh sáng c a LED b ng tín hi u PWM ỉ độ ủ ằ ệTiến hành:

Chọn

Chu kì c a tín hi u PWM ủệChọn c c tính cựủa xung ‘’Cao hoặc Thấp’’Chá kê h

Thời ẫ

Hình 3.34 Kh i h p tho i Basic PWMố ộạ

Ngày đăng: 18/06/2024, 17:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w