1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO CARD ĐIỀU KHIỂN SỐ ỨNG DỤNG TRONG ĐIỀU KHIỂN THỜI GIAN THỰC

98 68 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 2,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO CARD ĐIỀU KHIỂN SỐ ỨNG DỤNG TRONG ĐIỀU

Trang 1

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC

NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO CARD ĐIỀU KHIỂN SỐ ỨNG DỤNG TRONG ĐIỀU KHIỂN THỜI GIAN THỰC

Mã số: ĐH2015-TN02-09

Chủ nhiệm đề tài: TS Đỗ Trung Hải

Thái Nguyên, 9/2018

Trang 2

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC

NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO CARD ĐIỀU KHIỂN SỐ ỨNG DỤNG TRONG ĐIỀU KHIỂN THỜI GIAN THỰC

Trang 3

DANH SÁCH NHỮNG THÀNH VIÊN THAM GIA ĐỀ TÀI

TT Họ và tên Đơn vị công tác và

lĩnh vực chuyên môn

Nội dung nghiên cứu cụ thể

được giao

Ghi chú

1 Đỗ Trung Hải Khoa Điện, Trường

Đại học Kỹ thuật Công nghiệp

- Xây dựng đề cương chi tiết của dự án

- Thử nghiệm card trong việc điều khiển một số hệ thống

- Hoàn thiện đề tài

2 Nguyễn Ngọc

Kiên

Khoa Điện, Trường Đại học Kỹ thuật Công nghiệp

- Thiết kế phần cứng

- Thử nghiệm card trong việc điều khiển một số hệ thống

- Hoàn thiện đề tài

3 Trần Đức Quân Khoa Điện, Trường

Đại học Kỹ thuật Công nghiệp

- Thiết kế phần cứng

- Lập trình phần mềm cho Matlab

- Lập trình phần mềm cho card

- Thử nghiệm card trong việc điều khiển một số hệ thống

Trang 4

iv

ĐƠN VỊ PHỐI HỢP CHÍNH

TT Tên đơn vị

trong và ngoài nước

Nội dung phối hợp nghiên cứu Họ và tên người

đại diện đơn vị

Trưởng Khoa

TS Đỗ Trung Hải

Trang 5

v

MỤC LỤC

THÔNG TIN VỀ KẾT QUẢ NGHIÊN CỨU x

1 Thông tin chung x

2 Mục tiêu x

3 Tính mới và sáng tạo x

4 Kết quả nghiên cứu x

5 Sản phẩm xi

5 1 Sản phẩm khoa học xi

5.2 Sản phẩm đào tạo xi

5.3 Sản phẩm ứng dụng xii

6 Phương thức chuyển giao, địa chỉ ứng dụng, tác động và lợi ích mang lại của kết quả nghiên cứu xii

1 General information xiii

2 Objective (s) xiii

3 Creativeness and innovativeness xiii

4 Research results xiii

5 Products xiv

6 Transfer alternatives, application institutions, impacts and benefits of research results xv

PHẦN MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài 2

3 Mục tiêu đề tài 3

4 Đối tượng, phạm vi nghiên cứu 4

5 Cách tiếp cận, phương pháp nghiên cứu 5

6 Bố cục báo cáo 5

NGHIÊN CỨU THIẾT KẾ CARD ĐIỀU KHIỂN 6

1.1 Nghiên cứu, thiết kế phần cứng 6

1.2 Nghiên cứu, xây dựng phần mềm cho vi xử lý trung tâm 22

CHƯƠNG 2 26

XÂY DỰNG TOOLBOX CARD ĐIỀU KHIỂN 26

TRONG MATLAB – SIMULINK 26

2.1 Khối cài đặt – CardTNUT Setup 27

2.2 Khối đọc tín hiệu tương tự 28

2.3 Khối xuất tín hiệu tương tự 29

2.4 Khối đọc tín hiệu số 30

2.5 Khối xuất tín hiệu số 30

Trang 6

vi

2.6 Khối xuất tín hiệu PWM 31

2.7 Khối đọc tín hiệu từ bộ mã hóa xung encoder 32

2.8 Khối xuất tín hiệu điều khiền động cơ servo một chiều 33

2.9 Khối ghép nối module điều khiển 16 kênh PWM 12bits 33

2.10 Khối ghép nối module điều khiển 32 servo 34

2.11 Khối giao tiếp nối tiếp 35

2.12 Khối bộ điều khiển PID online 35

2.13 Khối cài đặt tham số bộ điều khiển PID trên Card 36

CHƯƠNG 3 38

KIỂM NGHIỆM CARD ĐIỀU KHIỂN 38

3.1 Sử dụng Card trong điều khiển hệ truyền động động cơ một chiều 38

3.2 Sử dụng Card trong điều khiển hệ chuyển động robot nhện (Spider Robot) 41

3.3 Hệ thống điều khiển robot đi theo quỹ đạo mê cung 50

3.4 Hệ thống điều khiển thiết bị gia nhiệt 54

KẾT LUẬN VÀ KIẾN NGHỊ 59

1 Kết luận 59

2 Kiến nghị 59

TÀI LIỆU THAM KHẢO 60

Tiếng Việt 60

Tiếng Anh 60

Trang 7

vii

DANH MỤC HÌNH VẼ

Hình 1 1 Mô hình khối mạch điều khiển 7

Hình 1 2 Bộ vi xử lý Cortex-M3 9

Hình 1 3 Sơ đồ mạch vi xử lý trung tâm 11

Hình 1 4 Mạch khuếch đại vi sai 12

Hình 1 5 Mạch khuếch đại đảo 12

Hình 1 6 Mạch khuếch đại không đảo 13

Hình 1 7 Mạch khuếch đại lặp lại 13

Hình 1 8 Sơ đồ nguyên lý mạch nhận tín hiệu tương tự 14

Hình 1 9 Sơ đồ nguyên lý mạch xuất tín hiệu tương tự 16

Hình 1 10 Sơ đồ nguyên lý mạch nhận/xuất tín hiệu số 17

Hình 1 11 Sơ đồ nguyên lý mạch nguồn nuôi 18

Hình 1 12 Mạch điều khiển trung tâm 19

Hình 1 13 Mặt trước mạch xử lý tín hiệu tương tự 19

Hình 1 14 Mặt sau mạch xử lý tín hiệu tương tự 20

Hình 1 15 Mặt trước mạch xử lý tín hiệu số 20

Hình 1 16 Mặt sau mạch xử lý tín hiệu số 21

Hình 1 17 Card điều khiển sau khi lắp ráp 21

Hình 1 18 Giao diện phần mềm Atmel Studio 22

Hình 1 19 Lưu đồ thuật toán chương trình chính 23

Hình 1 20 Lưu đồ thuật toán chương trình con xử lý dữ liệu từ Simulink 24

Hình 2 1 Thư viện CardTNUT được cài vào Simulink 27

Hình 2 2 Khối CardTNUT Setup 27

Hình 2 3 Khối đọc tín hiệu tương tự 28

Hình 2 4 Khối xuất tín hiệu tương tự 29

Hình 2 5 Khối đọc tín hiệu số 30

Trang 8

viii

Hình 2 6 Khối xuất tín hiệu số 30

Hình 2 7 Khối xuất tín hiệu PWM 31

Hình 2 8 Khối đọc tín hiệu từ bộ mã hóa xung encoder 32

Hình 2 9 Khối điều khiền động cơ 33

Hình 2 10 Khối điều khiển module 16PWM 33

Hình 2 11 Khối điều khiển module 32RC SERVO 34

Hình 2 12 Khối hỗ trợ giao tiếp nối tiếp 35

Hình 2 13 Khối PID online 35

Hình 2 14 Khối cài đặt tham số PID 36

Hình 3 1 Sơ đồ nguyên lý hệ truyền động động cơ một chiều 38

Hình 3 2 Mô hình hệ truyền động động cơ một chiều 39

Hình 3 3 Cấu trúc điều khiển hệ thống động cơ một chiều trên Simulink 40

Hình 3 4 Đáp ứng tốc độ hệ truyền động động cơ một chiều 40

Hình 3 5 Hình vẽ mô tả robot nhện 41

Hình 3 6 Lưu đồ thuật toán động tác Đứng tại vị trí cơ bản 43

Hình 3 7 Lưu đồ thuật toán động tác Tiến 45

Hình 3 8 Lưu đồ thuật toán động tác Quay trái 46

Hình 3 9 Lưu đồ thuật toán động tác di chuyển sang sang phải 48

Hình 3 10 Giao diện điều khiển Robot nhện 48

Hình 3 11 Cấu trúc điều khiển Robot nhện trên Simulink 49

Hình 3 12 Khối điều xuất tín hiệu điều khiển chân Robot nhện 49

Hình 3 13 Mô hình robot nhện 50

Hình 3 14 Mô hình robot đi theo quỹ đạo mê cung 50

Hình 3 15 Cấu tạo robot đi theo quỹ đạo mê cung 51

Hình 3 16 Sơ đồ nguyên lý dạng khối robot đi theo quỹ đạo mê cung 51 Hình 3 17 Sơ đồ nguyên lý mạch đệm 52

Hình 3 18 Cảm biến đo khoảng cách GP2D12 52

Trang 9

ix

Hình 3 19 Minh họa robot đi theo quỹ đạo mê cung 53

Hình 3 20 Sơ đồ cấu trúc điều khiển robot đi theo quỹ đạo mê cung 53 Hình 3 21 Cấu trúc điều khiển robot đi theo quỹ đạo mê cung 54

Hình 3 22 Sơ đồ nguyên lý hệ thống điều khiển thiết bị gia nhiệt 55

Hình 3 23 Mô hình hệ thống điều khiển thiết bị gia nhiệt 56

Hình 3 24 Cấu trúc điều khiển thiết bị gia nhiệt trên Simulink 56

Hình 3 25 Đáp ứng nhiệt độ hệ thống 57

Trang 10

x

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP THÔNG TIN VỀ KẾT QUẢ NGHIÊN CỨU

1 Thông tin chung:

- Tên đề tài: Nghiên cứu, thiết kế và chế tạo card điều khiển số ứng dụng trong điều khiển thời gian thực

- Mã số: ĐH2015-TN02-09

- Chủ nhiệm đề tài: TS Đỗ Trung Hải

- Tổ chức chủ trì: Trường Đại học Kỹ thuật Công nghiệp, Đại học Thái Nguyên

- Thời gian thực hiện: 10/2015 – 10/2017

2 Mục tiêu:

- Nghiên cứu, thiết kế card có thể nhận được tín hiệu vào dạng tương tự 0-10VDC, 0-20mA và tín hiệu số 0-24VDC; xuất tín hiệu ra dạng tương tự 0-10VDC, 0-20mA và tín hiệu số, PWM 0-24VDC

- Nghiên cứu, xây dựng phần mềm trên Matlab để thu thập tín hiệu từ card và xuất tín hiệu điều khiển ra card

- Nghiên cứu, xây dựng phần mềm cho card để truyền nhận tín hiệu với Matlab

- Kiểm nghiệm card trong điều khiển thời gian thực

3 Tính mới và sáng tạo:

- Nghiên cứu thiết kế chế tạo card điều khiển số

- Xây dựng thư viện Card điều khiển số trong toolbox của Simmulink

Matlab-4 Kết quả nghiên cứu:

- Tìm hiểu cấu trúc và ngôn ngữ lập trình cho vi xử lý AT91SAM3X8E của hãng Atmel

Trang 11

xi

- Nghiên cứu và thiết kế phần cứng

+ 8 đầu vào tương tự: tín hiệu vào dạng tương tự có thể là đại lượng vật

lý điện áp 0-10v DC hoặc dòng điện 0-20mA

+ 8 đầu ra tương tự: tín hiệu ra dạng tương tự có thể là đại lượng vật lý điện áp 0-10v DC hoặc dòng điện 0-20mA

+ 16 đầu vào số: tín hiệu vào logic với mức điện áp 0-24VDC

+ 16 đầu ra số: tín hiệu ra logic với mức điện áp 0-24VDC (Trong đó

có 12 đầu ra số xuất tín hiệu PWM 12 bit với mức 0-24VDC)

- Nghiên cứu thuật toán và lập trình cho card điều khiển số để sử dụng các chức năng phần cứng của card

- Nghiên cứu, xây dựng phần mềm trên Matlab để thu thập tín hiệu từ card và xuất tín hiệu điều khiển ra card

- Nghiên cứu, xây dựng phần mềm cho card để truyền nhận tín hiệu với Matlab

- Thực nghiệm sử dụng card điều khiển số trong việc điều khiển thời gian thực một số hệ thống: Hệ truyền động động cơ một chiều kích từ độc lập;

Hệ chuyển động robot nhện (Spider Robot); Hệ thống điều khiển robot đi theo quỹ đạo mê cung; Hệ thống điều khiển thiết bị gia nhiệt

Nguyễn Văn Thành, Mè Tiến Dũng, Lục Thị Mai, Nguyễn Thị Hồng

Anh (2015), Nghiên cứu, thiết kế module tương tự trong card điều khiển thời

gian thực, Đề tài NCKH Sinh viên trường Đại học Kỹ thuật Công nghiệp

Trang 12

xii

Trần Đức Quân (2016), Nghiên cứu chế tạo và kiểm nghiệm card điều

khiển thời gian thực trong điều khiển hệ truyền động, báo cáo luận văn thạc

sĩ, trường Đại học Kỹ thuật Công nghiệp

5.3 Sản phẩm ứng dụng:

Card điều khiển;

Chương trình cho card điều khiển;

Kết quả kiểm chứng điều khiển đối tượng thực sử dụng Matlab và card điều khiển

6 Phương thức chuyển giao, địa chỉ ứng dụng, tác động và lợi ích mang lại của kết quả nghiên cứu:

Tăng cường năng lực nghiên cứu của nhóm nghiên cứu

Kết quả nghiên cứu của đề tài có thể được phát triển và ứng dụng tại phòng thí nghiệm - Bộ môn Tự động hóa – Khoa Điện

Thái Nguyên, ngày tháng năm 2018

Trang 13

Coordinator: Dr Do Trung Hai

Implementing institution: TNU, Thai Nguyen University of Technology Duration: from October 2015 to October 2017

2 Objective (s):

- Research on card design which is received the input of 10VDC, 20mA analog signals and 0-24VDC digital signals; the outputs of the card are 0-10VDC, 0-20mA, 0-24VDC PWM digital signals

0 Design and simulate in Matlab software to collect the signals from the card and perform control signals on the card

- Implementation of the card design in real time control

3 Creativeness and innovativeness:

- Design and manufacture the digital control card

- Programing to set up a Digital Control Card library in Simmulink toolbox

Matlab-4 Research results:

- Study of the structure and programming language for AT91SAM3X8E processor of Atmel brand

Trang 14

xiv

- Study and design the hardware implementation:

+ 8 analog inputs: the range of 0-10VDC or 0-20mA

+ 8 analog outputs: the range of 0-10VDC or 0-20mA

+16 digital inputs: the range of 0-24VDC

+16 digital outputs: the range of 0-24VDC (12 signal outputs deliver 12-bit PWM signal of 0-24VDC)

- Study of algorithms and programmable digital control cards to use the hardware functions of the card

- Design and simulate in Matlab software to collect the signals from the card and perform control signals on the card

- Experimental results of digital control card for real-time control for some systems as: Control the DC motor; Spider-robot movement; The robot control system follows the maze orbit; Heating Device Control System

Nguyen Van Thanh, Me Tien Dung, Luc Thi Mai, Nguyen Thi Hong

Anh (2015), Research, manufacture and testing of real-time controller card in

Trang 15

xv

drive control, Scientific research students of Thai Nguyen University of

Technology

Tran Duc Quan (2016), Research, manufacture and testing of real-time

controller card in drive control, Subject engineering master’s thesis, Thai

Nguyen University of Technology

5.3 Application Products:

The control card;

The program for control card;

The verification of real object control using Matlab and card

6 Transfer alternatives, application institutions, impacts and benefits of research results:

Strengthening the research ability of the project team

Research results can be developed and applied in Department of Automation, Faculty of Electrical Engineering, Thai Nguyen University of Technology

Trang 16

PHẦN MỞ ĐẦU

1 Tính cấp thiết của đề tài

Tại các trường đại học, cao đẳng đào tạo về kỹ thuật nhu cầu về thí nghiệm, thực hành các bài toán từ đơn giản đến phức tạp là cần thiết để góp phần đạt chuẩn đầu ra của chương trình đào tạo Trong lĩnh vực điều khiển tự động hóa để kiểm chứng các thuật toán điều khiển đã thiết kế, ngoài việc trang bị các modul, mô hình thí nghiệm còn phải có thêm các card điều khiển hiện đại, đắt tiền Nguồn kinh phí để đáp ứng cho nhu cầu này lại rất hạn chế không phải đơn vị nào cũng có thể đáp ứng với số lượng phù hợp với yêu cầu được

Mặt khác, trong lĩnh vực điêu khiển và tự động hóa, có rất nhiều thuật toán điều khiển từ kinh điển đến hiện đại đòi hỏi bộ điều khiển phải xử lý khối lượng công việc lớn, tính toán phức tạp Hiện nay, một phần mềm thông dụng trong kỹ thuật đó là phần mềm Matlab, trong điều khiển nó là một phần mềm có khả năng tính toán và thực hiện các thuật toán điều khiển Vì vậy, việc kết hợp Matlab và card thu thập dữ liệu sẽ tạo ra bộ điều khiển rất linh hoạt, có khả năng thực hiện các thuật toán điều khiển trong lĩnh vực kỹ thuật điều khiển và tự động hóa

Thông qua việc thực hành, thí nghiệm kiểm chứng các luật điều khiển giúp người thiết kế thấy được tính đúng đắn của phương pháp xây dựng luật điều khiển cũng như phân tích, đánh giá sự ảnh hưởng của cấu trúc và tham

số bộ điều khiển đến chất lượng của hệ Vì vậy đề xuất nghiên cứu thiết kế chế tạo card có khả năng thu thập dữ liệu và xuất tín hiệu ra đối tượng điều khiển rất cần thiết

Trang 17

2 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài

2.1 Ngoài nước

Trên thế giới có hãng dSPACE đã thiết kế, chế tạo card điều khiển ứng dụng cho hệ thống điều khiển tự động:

- dSPACE, DS1103 PPC Controller Board

- dSPACE, DS1104 R&D Controller Board

Có nhiều công trình sử dụng card điều khiển đó để thực hiện thuật toán điều khiển:

- Rios, J.D.; Alanis, A.Y.; Rivera, J.; Hernandez-Gonzalez, M.,

“Real-time discrete neural identifier for a linear induction motor using a dSPACE

DS1104 board”, Neural Networks (IJCNN), The 2013 International Joint

Conference on, pp 1-6

- Ghani, Z.A.; Hannan, M.A.; Mohamed, A., “Development of

three-phase photovoltaic inverter using dSPACE DS1104 board”, Research and

Development (SCOReD), 2009 IEEE Student Conference on, pp 242 - 245

- Ghani, Z.A.; Hannan, M.A.; Mohamed, A.; Subiyanto, “Three-phase photovoltaic grid-connected inverter using dSPACE DS1104 platform”,

Power Electronics and Drive Systems (PEDS), 2011 IEEE Ninth International

Conference on, pp 447 – 451

- Haizai Peng, Tingting Du, Wei Gu, “Application design of a

sun-tracking system”, Control and Decision Conference (CCDC), 2013 25th

Chinese, pp 5094 - 5098

- Paez, I.S.D.; Pico, H.O.; Villalobos, M.A.M.; Suarez, J.F.P.,

“Electrical signals parameter estimation using adaptive filtering: A

comparative study”, Transmission and Distribution Conference and

Exposition, Latin America (T&D-LA), 2010 IEEE/PES, pp 745 - 750

Trang 18

Tuy nhiên, giá thành card điều khiển đó rất cao, khả năng trang bị cho các trường để thực hành còn rất hạn chế

2.2 Trong nước

Theo hiểu biết của nhóm tác giả, hiện tại trong nước chưa có đề tài nghiên cứu về nội dung này Tuy nhiên, trong nước việc ứng dụng card điều khiển phục vụ mục đích nghiên cứu là rất nhiều, ở đây đưa ra 3 ví dụ thuộc 3 nhóm Nghiên cứu sinh, thạc sĩ và bài báo khoa học có sử dụng card điều khiển:

- Lê Thị Thu Hà (2012), Một số giải pháp nâng cao chất lượng hệ

truyền động có khe hở trên cơ sở điều khiển thích nghi, bền vững, Luận án

Tiến sĩ Kỹ thuật điều khiển và Tự động hoá, Đại học Thái Nguyên

- Đinh Văn Nghiệp (2009), Nghiên cứu và ứng dụng card điều khiển số

DSP để thiết kế bộ điều khiển số trong điều khiển chuyển động, Luận văn

Thạc sĩ Tự động hoá, Đại học Thái Nguyên

- Đoàn Quang Vinh, Diệp Xuân An (2010), “ Ứng dụng thiết bị xử lý tín hiệu số trong điều khiển hệ thống truyền động điện sử dụng động cơ điện 1

chiều kích từ độc lập”, Tạp chí khoa học và công nghệ, Đại học Đà nẵng, 4

(39), tr 317-323

Qua đây, một lần nữa khẳng định việc nghiên cứu thiết kế card thu thập

dữ liệu và kết hợp với phần mềm Matlab có thể thực hiện các thuật toán điều khiển là cần thiết và có ý nghĩa khoa học và thực tiễn

3 Mục tiêu đề tài

3.1 Mục tiêu chung

Nghiên cứu thiết kế, chế tạo card điều khiển số dùng để kiểm nghiệm thuật toán điều khiển

Trang 19

3.2 Mục tiêu cụ thể

- Nghiên cứu, thiết kế card có thể nhận được tín hiệu vào dạng tương tự 0-10VDC, 0-20mA và tín hiệu số 0-24VDC; xuất tín hiệu ra dạng tương tự 0-10VDC, 0-20mA và tín hiệu số, PWM 0-24VDC

- Nghiên cứu, xây dựng phần mềm trên Matlab để thu thập tín hiệu từ card và xuất tín hiệu điều khiển ra card

- Nghiên cứu, xây dựng phần mềm cho card để truyền, nhận tín hiệu với Matlab

- Kiểm nghiệm card trong điều khiển thời gian thực

4 Đối tượng, phạm vi nghiên cứu

4.1 Đối tượng nghiên cứu

- Lý thuyết: Lý thuyết điều khiển tự động

- Thiết kế phần cứng: Phần cứng thu thập dữ liệu

- Lập trình phần mềm: Phần mềm thực hiện trao đổi thông tin giữa phần cứng và Matlab

Trang 20

5 Cách tiếp cận, phương pháp nghiên cứu

5.1 Cách tiếp cận

Từ card điều khiển đang sử dụng trong thực tế đi phân tích từ đó nghiên cứu, thiết kế, chế tạo card điều khiển

1.5.2 Phương pháp nghiên cứu

- Nghiên cứu lý thuyết

- Thiết kế, chế tạo và thử nghiệm trên thiết bị thực tế

6 Bố cục báo cáo

Phần mở đầu: Trình bày tính cấp thiết của đề tài, tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài trong và ngoài nước, mục tiêu của đề tài, đối tượng và phạm vi nghiên cứu của đề tài, cách tiếp cận và phương pháp nghiên cứu

Chương 1: Trình bày về thiết kế và chế tạo phần cứng cho từng mạch chức năng của card điều khiển Trình bày về xây dựng thuật toán và lập trình cho vi xử lý trung tâm trên card điều khiển

Chương 2: Trình bày về xây dựng thuật toán lập trình các khối chức năng trong toolbox trên Matlab/Simulink dành riêng cho card điều khiển

Chương 3: Trình bày về kết quả kiểm nghiệm card điều khiển trong ứng dụng điều khiển thời gian thực

Kết luận và kiến nghị của đề tài

Trang 21

CHƯƠNG 1 NGHIÊN CỨU THIẾT KẾ CARD ĐIỀU KHIỂN 1.1 Nghiên cứu, thiết kế phần cứng

1.1.1 Yêu cầu về thiết kế phấn cứng

Một card ứng dụng trong điều khiển thời gian thực trước tiên yêu cầu vi

xử lý trung tâm trên card phải có khả năng tính toán nhanh, dung lượng bộ nhớ lớn Bên cạnh đó, card điều khiển cũng phải có khả năng giao tiếp với nhiều đối tượng và thiết bị cảm biến khác nhau, hiển thị các tham số chế độ hoạt động đồng thời có khả năng giao tiếp với máy tính thực hiện chức năng điều khiển, giám sát Trên cơ sở đó việc thiết kế card điều khiển trong đề tài được nghiên cứu thiết kế với yêu cầu sau:

- Card có thể nhận/xuất các tín hiệu tương tự theo các chuẩn điện áp 10VDC, 0-20mA;

0 Card có thể nhận/xuất các tín hiệu số có mức điện áp 0/24VDC, cho phép thu thập các giá trị logic, đếm xung, nhận tín hiệu ngắt từ bên ngoài và xuất tín hiệu báo trạng thái, tín hiệu điều chế độ rộng xung PWM (Pulse-width modulation);

- Card có chức năng giao tiếp với máy tính, ở đề tài này giao tiếp với máy tính qua phần mềm Matlab:

- Card có chức năng hiện thị chế độ hoạt động, hoặc thông số, trạng thái;

- Card có khả năng mở rộng các chân vào/ra cho phép kết nối một số module chức năng khác…

Trang 22

1.1.2 Cấu trúc card điều khiển

Hình 1 1 Mô hình khối mạch điều khiển

1.1.2.1 Khối vi xử lý trung tâm

Khối vi xử lý trung tâm là trái tim của card điều khiển, có nhiệm vụ quản lý, giám sát, điều khiển hoạt động toàn bộ các module sử dụng trong card có nghĩa là việc điều khiển hoạt động trong hệ thống được thực hiện nhờ

vi xử lý trung tâm Để đáp ứng yêu cầu đó, vi xử lý trung tâm được chọn là vi

xử lý AT91SAM3X8E do hãng Atmel chế tạo sản xuất dựa trên bộ xử lý ARM Cortex-M3 (Advanced RISC Machine)

Cấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC (Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản hóa) được sử dụng rộng rãi trong các thiết kế nhúng Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay cho đến các thiết bị ngoại vi máy tính, các hệ

Đầu vào

số

Đầu vào tương tự

Cài đặt tham số

Hiển thị (Led,…)

Trang 23

thống điều khiển Một nhánh nổi tiếng của họ ARM là các vi xử

lý Xscale của Intel

Đặc điểm Bộ vi xử lý Cortex-M3

- Hiệu suất cao: Trung tâm của bộ vi xử lý Cortex-M3 là một lõi có cấu trúc đường ống tiên tiến 3 tầng Instruction Fetch, Instruction Decode và Instruction Execute, dựa trên kiến trúc Harvard, kết hợp nhiều tính năng mới mạnh mẽ như suy đoán việc rẽ nhánh, phép nhân được thực thi trong một chu

kỳ và phép chia được thực hiện bằng phần cứng tạo nên một hiệu năng vượt trội Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thị nạp lệnh suy đoán

có thể dẫn đến việc thực thi nhanh hơn Bộ xử lý nạp lệnh dự định rẽ nhánh trong giai đoạn giải mã Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giải quyết và bộ vi xử lý sẽ phân tích xem đâu là lệnh thực thi kế tiếp Nếu việc rẽ nhánh không được chọn thì lệnh tiếp theo đã sẵn sàng Còn nếu việc rẽ nhánh được chọn thì lệnh rẽ nhánh đó cũng đã sẵn sàng ngay lập tức, hạn chế thời gian rỗi chỉ còn một chu kỳ

- Dễ sử dụng, phát triển ứng dụng nhanh chóng, hiệu quả: Tiêu chí quan trọng trong việc lựa chọn bộ vi xử lý là giảm thời gian và chi phí phát sinh, đặc biệt là khả năng phát triển ứng dụng phải thật nhanh chóng và đơn giản Bộ vi xử lý Cortex-M3 được thiết kế để đáp ứng mục tiêu trên Người lập trình không cần phải viết bất kì mã hợp ngữ nào (assembler code) hoặc cần phải có kiến thức sâu về kiến trúc để tạo ra một ứng dụng đơn giản

- Giảm chi phí và năng lượng tiêu thụ: Bộ vi xử lý được thiết kế trên một diện tích nhỏ sẽ giảm chi phí đáng kể Bộ vi xử lý Cortex-M3 thực hiện điều này bằng cách cài đặt các lõi ARM nhỏ nhất từ trước đến nay, chỉ với 33.000 cổng (cổng có thể là NAND hoặc NOR… tuỳ vào công nghệ sản xuất) trong lõi trung tâm (0.18um G) và bằng cách kết hợp hiệu quả, chặt chẽ các thành phần trong hệ thống vi xử lý Bộ nhớ được tối giản bằng cách cài đặt bộ

Trang 24

nhớ không thẳng hàng (unaligned), thao tác bit dễ dàng với kĩ thuật bit banding

Hình 1 2 Bộ vi xử lý Cortex-M3

- Tích hợp khả năng dò lỗi và theo vết trong lập trình: Công nghệ gỡ lỗi của bộ vi xử lý Cortex-M3 được cài đặt trong chính phần cứng của nó (kết hợp với một vài thành phần khác) giúp gỡ lỗi nhanh hơn với các tính năng trace & profiling, breakpoints, watchpoints và bản vá lỗi giúp rút ngắn thời gian phát triển ứng dụng Ngoài ra, bộ vi xử lý còn cung cấp một mức nhìn cao hơn vào hệ thống thông qua cổng JTAG truyền thống hoặc cổng SWD (Serial Wire Debug) chỉ sử dụng 2 đường tín hiệu, thích hợp cho các thiết bị

Trang 25

Đầu vào tương tự 12 (12bits)

Đầu ra tương tự 2 (DAC, 12bits)

Dòng điện vào/ra số 130 mA

Bộ nhớ chương trình (Flash) 512 KB

Tần số xung hoạt động 84 MHz

Truyền thông: USB, USARTs, SPIs, I2C (TWIs)

Sơ đồ nguyên lý mạch xử lý trung tâm như hình 1.3

1.1.2.2 Khối xử lý tín hiệu tương tự

Khối xử lý tín hiệu tương tự gồm hai phần: mạch nhận tín hiệu tương

tự, và mạch xuất tín hiệu tương tự Các tín hiệu tương tự này được xử lý bằng phương pháp số Khối ADC của AT91SAM3X8E có độ phân giải 12bits, có khả năng nhận điện áp từ 0÷3.3V, đặc biệt hỗ trợ DMA giúp tăng tốc độ trích mẫu ADC lên đến 80Msps, có khả năng nhận tín hiệu tương tự lên đến 42Mhz

DMA (Direct memory access) là một kỹ thuật chuyển dữ liệu từ bộ nhớ đến ngoại vi hoặc từ ngoại vi đến bộ nhớ mà không yêu cầu đến sự thực thi của CPU, có nghĩa là CPU sẽ hoàn toàn độc lập với ngoại vi được hỗ trợ DMA mà vẫn đảm bảo ngoại vi thực hiện công việc được giao, tùy vào từng loại ngoại vi mà DMA có sự hỗ trợ khác nhau

Để có thể xử lý được tín hiệu tương tự dạng điện áp 0÷10VDC (hoặc tín hiệu dòng điện 0÷20mA) cần phải sử dụng các mạch khuếch đại chuẩn hóa thành tín hiệu điện áp 00÷3.3V đưa vào AT91SAM3X8E

Một số mạch khuếch đại tín hiệu dùng khuếch đại thuật toán:

- Mạch khuếch đại vi sai:

Trang 26

TST 51 XOUT 35 XIN 36 XOUT32 49 XIN32 48 DHSDM 38 DFSDM 43 DHSDP 37 DFSDP 42 VBG 40

PA0 23 PA1 24 PA2 85 PA3 84 PA4 83 PA5 25 PA6 82 PA7 26 PA8 27 PA9 2 PA10 3 PA11 4 PA12 5 PA13 6 PA14 7 PA15 8 PA16 78 PA17 9 PA18 70 PA19 71 PA20 72 PA21 107 PA22 81 PA23 80 PA24 79 PA25 108 PA26 109 PA27 110 PA28 111 PA29 112

R4 1k R5 1k

D-XIN XOUT XOUT32 XIN32

VBG CANTX0 AD7 AD5 AD4 EXTINT PIN31 RX TX RXD2 TXD1 PIN24 AD0 SDA1 SCL1 PIN42 TXL AD2 MISO SPCK SS0/PWM10 SS1/PWM4

GND

PIN32 PWM11

PIN25 PIN27

PIN29 TXD0

RXL SS0/PWM10 PWM3 SS1/PWM4 SS1/PWM5

PWM5 PWM7 PWM9 PIN44 PIN46 PIN48 PIN50

PIN33 PIN35 PIN37 PIN39 PIN41

3V3

VDDOUTMI VDDANA

L2 150mH C4 104 C3 10uF

Trang 27

Hình 1 4 Mạch khuếch đại vi sai

Mạch điện này dùng để xác định hiệu số, hoặc sai số giữa 2 điện áp mà mỗi điện áp có thể được nhân với một vài hằng số nào đó Các hằng số này xác định nhờ các điện trở

Điện áp ra của mạch:

Hệ số khuếch đại của mạch, nếu và :

- Mạch khuếch đại đảo:

Hình 1 5 Mạch khuếch đại đảo

Trang 28

Mạch này dùng để đổi dấu và khuếch đại một điện áp (nhân với một số âm)

Điện áp ra của mạch:

- Mạch khuếch đại không đảo:

Dùng để khuếch đại một điện áp (nhân với một hằng số lớn hơn 1) Điện áp ra của mạch:

(1.4)

Hình 1 6 Mạch khuếch đại không đảo

- Mạch khuếch đại lặp lại:

Hình 1 7 Mạch khuếch đại lặp lại

Mạch này được sử dụng như một bộ khuếch đại đệm, để giới hạn những ảnh hưởng của tải hay để phối hợp tổng trở (nối giữa một linh kiện có tổng trở nguồn lớn với một linh kiện khác có tổng trở vào thấp) Do có hồi

Trang 29

tiếp âm sâu, mạch này có khuynh hướng không ổn định khi tải có tính dung cao Điều này có thể ngăn ngừa bằng cách nối với tải qua 1 điện trở

Điện áp ra của mạch:

Mạch nhận tín hiệu tương tự (thể hiện các đại lượng vật lí của hệ

thống) có thể nhận được tín hiệu điện áp 0÷10VDC hoặc 0÷20mA rồi biến đổi thành điện áp 0÷3.3VDC để đưa vào bộ ADC của vi điều khiển AT91SAM3X8E

Tín hiệu điện áp 0÷10VDC được đưa vào chân (V+) và (V-), tín hiệu dòng điện 0÷20mA được đưa vào chân (AI) và (V-) điện áp rơi trên R5 (0÷5VDC) được khuếch đại qua mạch vi sai (IC LM358-A) rồi qua mạch khuếch đại không đảo dấu (IC LM358-B) thành tín hiệu điện áp 0÷3.3VDC đưa vào chân nhận tín ADC của AT91SAM3X8E

Hình 1 8 Sơ đồ nguyên lý mạch nhận tín hiệu tương tự

Điện áp ra của mạch khuếch đại được xác định:

(1.6)

Trang 30

(1.7)

Do dải điện áp đầu vào của mạch là 10VDC và dải điện áp của AT91SAM3X8E là 3,3VDC nên hệ số khuếch đại của mạch nhận tín hiệu tương tự:

(1.8)

(1.9)

Mạch xuất tín hiệu tương tự có thể xuất được tín hiệu điện áp

0÷10VDC hoặc 0÷20mA để đưa đến các cơ cấu chấp hành.Vi điều khiển AT91SAM3X8E có sẵn 02 bộ ngoại vi DAC bên trong nhưng trong hệ thống vẫn sử dụng IC DAC chuyên dụng MCP4822 MCP4822 là IC chuyển đổi DAC 12bit (0÷4095), tín hiệu vào dạng giao tiếp nối tiếp chuẩn 3 dây ISP (CSI, SCK, SDI), 02 tín hiệu ra (VOUTA, VOUTB) dạng điện áp 0÷4095mV Tín hiệu điện áp này được đưa qua mạch khuếch đại tạo tín hiệu điện áp 0÷10VDC trên chân (VO1, VO2) và (GND); tín hiệu dòng điện 0÷20mA (trên chân (I+) và (I-)

Trang 31

Hình 1 9 Sơ đồ nguyên lý mạch xuất tín hiệu tương tự

Điện áp ra được xác định:

Do dải điện áp đầu ra của MCP4822 là 4,095VDC và dải điện áp đầu ra của mạch xuất tín hiệu tương tự 10VDC nên hệ số khuếch đại của mạch xuất tín hiệu tương tự:

Trang 32

(1.13)

1.1.2.3 Khối xử lý tín hiệu số

Khối xử lý tín hiệu số có hai nhiệm vụ chuyển đổi tín hiệu logic có mức điện áp 0/24VDC thành tín hiệu locgic có mức điện áp 0/3.3VDC của AT91SAM3X8E và ngược lại.Các tín hiệu logic có thể là tín hiệu cao tần như tín hiệu từ bộ mã hóa xung (encoder), tín hiệu PWM nên các mạch chuyển đổi tín hiệu phải đáp ứng được tần số cao IC cách ly quang 4N35 được chọn để thực hiện chuyển đổi mức logic, 4N35 có thể đáp ứng được xung có tần số 1MHz và điện áp UBE = 30V

Hình 1 10 Sơ đồ nguyên lý mạch nhận/xuất tín hiệu số

Trang 33

1.1.2.4 Khối mạch nguồn nuôi

Hình 1 11 Sơ đồ nguyên lý mạch nguồn nuôi

Mạch nguồn nuôi sử dụng IC nguồn xung kiểu Buck, nguồn 24V được biến đổi thành các nguồn 12V, 5V và 3.3V phục vụ cho card

1.1.3 Thiết kế mạch in của card

Từ sơ đồ nguyên lý các module ta thiết kế mạch in và gia công được phần cứng của card điều khiển

Mạch điều khiển trung tâm:

Trang 34

Hình 1 12 Mạch điều khiển trung tâm

Mạch xử lý tín hiệu tương tự:

Hình 1 13 Mặt trước mạch xử lý tín hiệu tương tự

Trang 35

Hình 1 14 Mặt sau mạch xử lý tín hiệu tương tự

Mạch xử lý tín hiệu số:

Hình 1 15 Mặt trước mạch xử lý tín hiệu số

Trang 36

Hình 1 16 Mặt sau mạch xử lý tín hiệu số

Hình 1 17 Card điều khiển sau khi lắp ráp

Trang 37

1.2 Nghiên cứu, xây dựng phần mềm cho vi xử lý trung tâm

1.2.1 Ngôn ngữ lập trình cho AT91SAM3X8E

Để lập trình cho AT91SAM3X8E ta sử dụng trình biên dịch Atmel Studio do hãng Atmel phát triển Atmel Studio hỗ trợ lập trình bằng ngôn ngữ

C và ASM, biên dịch và gỡ lối cho các vi điều khiển của hãng Atmel

Hình 1 18 Giao diện phần mềm Atmel Studio

Chương trình AT91SAM3X8E trong card điều khiển được lập trình bằng ngôn ngữ C và theo cấu trúc gồm chương trình chính và các chương trình con

Trang 38

1.2.2 Thuật toán chương trình chính

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

BEGIN

Khởi tạo các khối: RS232, PWM, TIMER, ngắt, …

Khởi tạo các giá trị ban đầu

Kiểm tra có dữ liệu từ Matlab?

Đọc và xử lý tín hiệu đầu vào tương tự

Đọc tín hiệu đầu vào số

Cập nhật dữ liệu, Thực hiện các chức năng theo yêu cầu từ Matlab

Trang 39

1.2.3 Thuật toán chương trình con xử lý dữ liệu từ Matlab/Simulink

Hình 1 20 Lưu đồ thuật toán chương trình con xử lý dữ liệu từ Simulink

BEGIN Nhận dữ liệu, lưu vào xâu str

Str = “1x” Đọc đầu vào số “x”

END

1

0 str = “2xy” 1 Xuất giá trị “y” ra đầu ra số “x”

0 str = “3x” 1 Đọc đầu vào tương tự “x”

0 str = “4xy” 1 Xuất giá trị “y” ra đầu ra tương tự “x”

0 str = “5xy” Xuất giá trị PWM “y” ra

đầu ra số “x”

1

0 str = “8xy” Xuất giá trị góc “y” ra

servo “x”

1

0 str = “Exyz” Cài đặt encoder “x” với 2 pha nối vào đầu vào

“y” và “z”

1

0 str = “Gx” Đọc giá trị từ encoder

“x”

1

0 str = “Kx” Điều khiển module 32

Trang 40

Kết luận: Nội dung chính của chương 1 đó là

Nghiên cứu và thiết kế được phần cứng cho card điều khiển với các khối chức năng:

- Khối xử lý trung tâm: dùng vi xử lý AT91SAM3X8E

- Khối vào ra tương tự: có thể nhận được tín hiệu điện áp 0÷10VDC hoặc 0÷20mA rồi biến đổi thành điện áp 0÷3.3VDC đưa vào bộ ADC của vi điều khiển AT91SAM3X8E Có thể xuất được tín hiệu điện áp 0÷10VDC hoặc 0÷20mA để đưa đến các cơ cấu chấp hành

- Khối vào ra số: Chuyển đổi tín hiệu logic có mức điện áp 0/24VDC thành tín hiệu locgic có mức điện áp 0/3.3VDC của AT91SAM3X8E

và ngược lại

Xây dựng thuật toán chương trình cho vi xử lý AT91SAM3X8E

Ngày đăng: 09/04/2019, 13:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w