1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ứng dụng arm stm32f4 discovery và matlab & simulink trong thiết kế các bộ Điều khiển (nguyễn duy hiếu)

58 1 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

LỜI NÓI ĐẦU ................................................................................................................ 4 DANH MỤC HÌNH ẢNH............................................................................................... 5 CHƯƠNG 1 CƠ SỞ LÝ THUYẾT ................................................................................ 8 1.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) ............................................................. 8 1.1.2 Điều khiển hiện đại (modern control) ................................................................. 8 1.1.3 Điều khiển thông minh (intelligent control) ....................................................... 9 1.2 Thành phần cơ bản của hệ thống đ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 ...................................... 12 2.1 Giới thiệu về MATLAB/SIMULINK ...................................................................... 12 2.2 Giới thiệu về board mạch ARM STM32F407 DISCOVERY ................................. 12 CHƯƠNG 3 HƯỚNG DẪN SỬ DỤNG THƯ VIỆN WAIJUNG TRONG MATLAB/SIMLINK ............................................................................................................ 14 3.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.2 Thí 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.2 Thí nghiệm sử dụng khối Digital Output .......................................................... 24 3.2.3 Thí 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 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 3 3.3.2 Thí nghiệm sử dụng khối Basic PWM ............................................................. 31 3.3.3 Thí nghiệm sử dụng khối Encoder Read........................................................... 34 3.3.4 Thí 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.2 Thí nghiệm sử dụng khối UART Setup và UART Tx ...................................... 40 3.4.3 Thí nghiệm sử dụng khối Host Serial ............................................................... 43 CHƯƠNG 4 KẾT LUẬN .............................................................................................. 48 TÀI LIỆU THAM KHẢO ............................................................................................. 49 PHỤ LỤC ................... 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 đời sống xã hội, của nền công nghiệp, kinh tế quốc dân… Bất cứ ở một vị trí nào 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 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ



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 Lê Xuân Tuấn 20181815

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU 4

DANH MỤC HÌNH ẢNH 5

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 8

1.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) 8

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

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

1.2 Thành phần cơ bản của hệ thống đ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 12

2.1 Giới thiệu về MATLAB/SIMULINK 12

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

CHƯƠNG 3 HƯỚNG DẪN SỬ DỤNG THƯ VIỆN WAIJUNG TRONG MATLAB/SIMLINK 14

3.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.2Sử dụng Digital Input/Output 21

3.2.1Giớ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.3Sử dụng Timer/Counter 29

Trang 3

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.4Sử dụng cổng giao tiếp UART 40

3.4.1Giớ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 48

TÀI LIỆU THAM KHẢO 49

PHỤ LỤC 50

Trang 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 đời sống xã hội, của nền công nghiệp, kinh tế quốc dân… Bất cứ ở một vị trí nào 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

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 26

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

Hình 3.24 Đồ thị tín hiệu sáng LED 27

Hình 3.25 Khối Digital Input 27

Trang 6

Hình 3.28 Sự hoạt động của Timer/Counter khi Prescaler thay đổi từ 1 đế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 độ rộng xung 31

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

Hình 3.32 Điều chỉnh độ rộng 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.36 Kết quả đồ thị “Điều chỉnh độ sáng LED dùng PWM” 34

Hình 3.37 Cấu trúc bộ mã hóa quay 35

Hình 3.38 Tín hiệu từ kênh A, kênh B lệch pha nhau 90 độ 35

Hình 3.39 Giao diện tín hiệu xung vuông 36

Hình 3.40 Khối Encoder read 36

Hình 3.41 Khối hộp thoại Encoder Read 37

Hình 3.42 Khối Timer IRQ 38

Hình 3.43 Hộp thoại khối Timer IRQ 38

Hình 3.44 Code simulink “điều khiển LED dùng khối Timer IRQ” 39

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.7 Giao diện sau khi nạp thành công 53

Hình 0.8 Run file setup 54

Hình 0.9 Chọn Next để tiếp tục cài đặt 54

Hình 0.10 Qúa trình cài đặt 55

Hình 0.11 Hai cửa sổ hiện ra chọn Next và Finish 55

Hình 0.12 Mô-đun UART CP2102 56

Hì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

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 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 được từ đáp ứ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 với các phương pháp thiết kế kinh điển, chỉ 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ển Ảnh hưở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

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ục, điề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 cơ bản của hệ thống điều khiển

Trang 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 điều khiển

Để 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

- 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ố xác lập bằng không nếu chọn thông số phù hợp

Mục tiêu điều khiển của bộ PID là giảm độ vọt lố (POT), giảm thời gian xác lập (t),

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

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ới cô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 sẽ cho ta hình ả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

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, 192Kb RAM 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

CHƯƠNG 3 HƯỚNG DẪN SỬ DỤNG THƯ VIỆN WAIJUNG 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

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

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

Trang 16

3.1.2 Thí nghiệm sử dụng khối ADC

3.1.2.1 Cấu hình khối Regular ADC

Đường dẫn lấy khối Regular ADC: Simulink library >> Waijung Blockset >> STM32F4 Target >> On-chip Peripherals >> ADC >> Regular ADC

Hình 3.5 Khối Regular ADC

Hình 3.4 Hộp thoại Regular ADC

Trang 17

Sample Time(sec): Thời gian lấy mẫu (chọn giá trị “-1” thì thời gian lấy mẫu hối ADC

bằng thời gian lấy mẫu hệ thống

Sử dụng khối này cho ứng dụng cần xử lý tín hiệu analog bằng phần mềm Ví dụ, đọc tín hiệu analog từ cảm biến (nhiệt độ, áp suất,…), đo điện áp và dòng điện từ cảm biến Đầu ra của khối là các giá trị số từ 0 đến 4095 (STM32F4 ADC có độ phân giải 12 bit) Khối này sẽ thiết lập chức năng đọc ADC và trả về giá trị đọc trong mỗi thời gian mẫu

3.1.2.2 Điều khiển LED bằng biến trở

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

Trang 18

Bảng 3.1 Nối dây biến biến trở

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

Hình 3.7 Kết quả đồ thị khi văn biến trở

Trang 19

3.1.2.2 Cấu hình khối Regular DAC

Đường dẫn lấy khối Regular DAC: Simulink library >> Waijung Blockset >> STM32F4 Target >> On-chip Peripherals >> DAC

Hình 3.9 Khối Regular DAC

Hình 3.10 Hộp thoại Regular DAC

Trang 20

Khối DAC nhận đầu vào là một trong hai tín hiệu: điện áp (0 - 3.3V) hoặc dữ liệu thô (từ 0 - 4095)

3.1.2.3 Tạo tín hiệu tuần hoàn

Mục đích: Tạo ra tín hiệu tuần hoàn

Tiến hành: Thí nghiệm này sẽ sử dụng STM32F407 Discovery để phát ra tín hiệu tuần hoàn, có hai cổng vào Cổng vào đầu tiên sẽ gắn tín hiệu sóng tam giác với chân DAC1 (A4) mức điện áp từ 0-2.5V Cổng đầu vào thứ hai nối tín hiệu sóng hình sin với chân DAC2 (A5) mức điện áp 0.5-2.5V

Hình 3.11 Code Simulink “Tạo tín hiệu tuần hoàn”

Chú ý: thí nghiệm ở trên lấy nguồn tín hiệu từ nguồn Simulink nên nó không phù hợp với tín hiệu cần tần số cao do mất thời gian tính toán các hàm lượng giác Vì thế thường dùng khối Arbitrary Function Generator khi cần tần số cao

Sử dụng Khối rate transion để điều chỉnh tín hiệu liên tục (đường đen) thành tín hiệu rời (đường đỏ)

Hình 3.12 Khối tạo tần số cao

Trang 21

3.2 Sử dụng Digital Input/Output

3.2.1 Giới thiệu Digital Input/Output

3.2.1.2 Sơ đồ mạch đầu vào

• Pull-Up Input (điện trở kéo lên) Khi nhấn công tắc thì MCU sẽ hiểu là mức LOW

• Pull-Down Input (điện trở kéo xuống) Khi nhấn công tắc thì MCU sẽ hiểu là mức HIGH

Hình 3.13 Đồ thị xuất xuất 2 xung tam giác và sin

Hình 3.14 Sơ đồ mạch Pull-Up Input

Trang 22

• Floating Input (thả nổi): Điện trở không được kết nối trong MCU nên khi chọn chế độ này cần lắp thêm điện trở bên ngoài (Pull-Up hoặc Pull-Down)

3.2.1.3 Sơ đồ mạch đầu ra

• Push-Pull Output

Mạch điều khiển bên trong có 2 con MOSFET: P-MOS và N-MOS:

- Trạng thái HIGH: P-MOS mở và N-MOS đóng, điện áp đầu ra bằng VDD - Trạng thái LOW: P-MOS đóng và N-MOS mở, điện áp đâu ra bằng Ground

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

Nếu mắc LED theo mạch hình 3.16 trên thì LED sáng khi trạng thái “1”

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

Trang 23

“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ược điể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 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, E hoặc H)

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

Chọn chân điều khiển

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

Trang 25

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

Khối thiết lập Target Setup Waijung Bolockset / STM32F4 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 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 module

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

Trang 27

Hình 3.24 Đồ thị tín hiệu sáng LED

3.2.3 Thí nghiệm sử dụng khối Digital Input

3.2.3.2 Cấu hình khối Digital Input

Đường dẫn lấy khối Digital Output: Simulink library >> Waijung Blockset >> STM32F4 Target >> On-chip Peripherals >> I/O >> Digital Input

Hình 3.25 Khối Digital Input

Trang 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

Chọn cổng (A, B, C, D, E, F, G, H, I)

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

Chọn chân điều khiển

Trang 29

Tên Khối Thư viện

Khối thiết lập Target Setup Waijung Bolockset / STM32F4 target / Device Configuration

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

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

Khi người dùng chạy chương trình này LED sẽ sáng khi nhấn nút và LED tắt khi nhả nút Chương trình sẽ luôn gửi tín hiệu khi nhấn nút và ngừng gửi khi nhả nút Chúng ta thấy mô hình này phù hợp cho việc điều khiển bằng tay như máy cẩu, máy nâng…

3.3 Sử 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ô-đun giao tiếp và đặc biệt là các mô-đun Timer

• Đặc điể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

Ngày đăng: 03/08/2024, 21:44

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

TÀI LIỆU LIÊN QUAN

w