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

TÌM HIỂU VỀ ĐỘNG CƠ BƯỚC THIẾT KẾ MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC PHA, CÓ ĐIỀU KHIỂN BẰNG PHÍM VÀ HIỂN THỊ RA LED 7 ĐOẠN

40 62 3

Đ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

Tiêu đề Tìm hiểu về động cơ bước thiết kế mạch điều khiển động cơ bước pha, có điều khiển bằng phím và hiển thị ra LED 7 đoạn
Tác giả Nhóm 6
Người hướng dẫn Th.s: Nguyễn Khắc Nguyên
Trường học Đại học Cần Thơ
Chuyên ngành Kỹ thuật vi điều khiển
Thể loại Đề án
Năm xuất bản 2022
Thành phố Cần Thơ
Định dạng
Số trang 40
Dung lượng 1,73 MB
File đính kèm Vi_Dieu_Khien_Stepper_4.zip (2 MB)

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

Nội dung

Đồ án Kỹ thuật vi điều khiển Tìm hiểu về động cơ bước 4 pha, sử dụng module ULN2003A điều khiển các chức năng bằng phím nhấn và hiển thị thông tin qua led 7 đoạn. Đồ án bao gồm một số câu hỏi phụ liên quan đến động cơ bước rất chi tiết.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC CẦN THƠ TRƯỜNG BÁCH KHOA KHOA TỰ ĐỘNG HÓA

HỌC PHẦN KỸ THUẬT VI ĐIỀU KHIỂN

ĐỒ ÁN: TÌM HIỂU VỀ ĐỘNG CƠ BƯỚC - THIẾT KẾ

MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC PHA,

CÓ ĐIỀU KHIỂN BẰNG PHÍM VÀ HIỂN THỊ RA LED 7 ĐOẠN

ss

Tháng 12/2022

Giáo viên hướng dẫn:

Th.s: Nguyễn Khắc Nguyên

Sinh viên thực hiện: Nhóm 6

Lê Trường Giang B1907003 Phan Trường An B1906984 Nguyễn Tuấn Đạt B1907000 Nguyễn Duy Long B1907035

Đặng Hoài Phúc B1907052

Trang 2

NỘI DUNG

1 Giới thiệu đề tài

a) Tên và mục tiêu của đề tài

b) Các tính năng cơ bản

c) Phương pháp thực hiện

2 Thực hiện

a) Mô hình hệ thống

i Mô tả sơ lược về hệ thống

ii Vẽ mô hình hệ thống dạng khối b) Thiết kế phần cứng mạch điện

i Mô tả sơ lược hoạt động của mạch điện

ii Vẽ sơ đồ khối phần cứng mạch điện iii Thiết kế chi tiết

1) Khối nguồn 2) Khối hiển thị led 7 đoạn 3) Khối xử lý động cơ bước 4) Khối phím chức năng

iv Sơ đồ nguyên lý tổng hợp của toàn mạch c) Thiết kế phần mềm điều khiển

i Mô tả các chức năng của phần mềm

ii Vẽ lưu đồ chương trình chính iii Vẽ lưu đồ chương trình con chính yếu

iv Đoạn code chương trình ( có ghi chú và chú thích các đoạn lệnh, dòng lệnh)

Trang 3

4 Tài liệu tham khảo

5 Phụ lục

a Quá trình thực hiện đề tài

i Kế hoạch thời gian

ii Những thuận lợi và khó khăn trong quá trình thực hiện và kiến nghị

b Danh sách các thành viên và bảng phân chia công việc

c Trả lời câu hỏi

Trang 4

1 Giới thiệu đề tài

Mạch điều khiển động cơ bước có nhiều ứng dụng trong thực tế nhờ vào nhiều chế quay khác nhau của động cơ như Full, Half và Micro Step Chẳng hạn như việc dùng các chế độ trên ứng dụng vào máy in 3D thực tế hiện nay rất hiệu quả và độ chính xác cao do có chế độ Micro Step Để bắt đầu và thực hiện đồ

án này chúng em dựa vào những kiến thức đã học về lập trình MSP430 nhằm thực hiện đồ án Và đề tài mà nhóm thực hiện là thiết kế mạch điều khiển động

cơ bước 4 pha có điều khiển bằng phím và hiển thị led 7 đoạn

a Tên và mục tiêu đề tài

Tên đề tài:

Mạch điều khiển động cơ bước 4 pha có điều khiển bằng phím

và hiển thị led 7 đoạn

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

• Giải quyết được yêu cầu của đề tài

• Tìm hiểu cách sử dụng của động cơ bước 4 pha

• Kết nối MSP430G2553 với động cơ thông qua IC ULN2003

• Hiển thị qua Led 7 đoạn

• Hoàn thành đúng tiến độ

b Các tính năng cơ bản:

• Dùng phím bấm để chuyển đổi chế độ quay, tốc độ và góc quay của động cơ

• Hiển thị các thông tin các chế độ của động cơ ra led 7 đoạn

• Sử dụng các phương thức ngắt trong của Timer

• Giao tiếp giữa Led 7 đoạn và IC họ 595 sử dụng phương thức dịch thanh ghi HC595 và quét led

c Phương pháp thực hiện:

• Tìm hiểu nguyên lý hoạt động của các linh kiện

• Tìm hiểu cách kết nối giữa các linh kiện cho phù hợp (kết nối theo

sơ đồ nguyên lý)

• Phát thảo mô hình phù hợp

Trang 5

• Lắp ráp mô hình thực tế

• Thực hiện viết chương trình theo đề tài để mô hình hoạt động theo

dự kiến

• Tổng kết đánh giá logic, chức năng tổng quát của mô hình

• Hoàn thành báo cáo và báo cáo đề tài

2 Thực hiện

a) Mô hình hệ thống

i Mô tả sơ lược hệ thống

- Khi được cấp nguồn, vi điều khiển đọc giá trị và nhân tín hiệu từ phím nhấn đã được thiết lập Sau đó xử lý và đưa giá trị hiển thi ra led 7 đoạn, mô hình sẽ bao gồm 3 nút nhấn

đó là nút chế độ quay, nút tốc độ quay và nút điều chỉnh góc độ

ii Vẽ mô hình Hệ thống dạng khối

b) Thiết kế phần cứng mạch điện:

i Mô tả sơ lược hoạt động của mạch điện

- Khi được nhận tín hiệu đọc hoặc ghi từ vi điều khiển, ULN2003 xử lý và trả tín hiệu về cho vi điều khiển, vi điều khiển xử lý và hiển thị ra led 7 đoạn, khi phím chuyển các chế độ được nhấn thì vi điều khiển sẽ xử lý tín hiệu được nhận tương ứng

ii Vẽ sơ đồ khối phần cứng mạch điện

MSPG2553

Khối nguồn

Khối giao tiếp và xử

lý của Stepper

Khối giao tiếp với phím

Khối hiển thị Led

7 đoạn

Trang 6

iii Thiết kế chi tiết:

1) Khối nguồn

- Chức năng: Khối nguồn có chức năng chuyển đồi và cung cấp nguồn cho mạch hoạt động trong dãy điện thế từ 3.3V đến 5V DC

- Mục tiêu: Cung cấp nguồn ổn định cho hệ thống

2) Khối hiển thị led 7 đoạn:

- Chức năng: Xuất tín hiệu từ vi điều khiển sang led 7 đoạn

- Mục tiêu: Hiển thị chính xác dữ liệu

MSPG2553

Khối nguồn

Khối

xử lý của Stepper

Khối giao tiếp với phím

Khối hiển thị Led

7 đoạn

Trang 7

Cấu tạo:

- LED 7 đoạn bao gồm 8 LED được kết nối song song

để có thể thắp sáng hiển thị số “0, 1, 2, 3, 4, 5, 7, 8, 9, A, b, C,

d, E, F, …”

- Mỗi đoạn Led được đánh dấu từ A tới G

- Đoạn thứ tám gọi là “chấm thập phân” (Decimal

Point) ký hiệu DP được sử dụng khi hiển thị số không phải là số

- Loại âm chung (Common Cathode): nếu cực âm (cathode) của tất cả 8 LED được nối với nhau và các cực dương (anode) đứng riêng lẻ

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

- Nguyên tắc chung: muốn LED nào sáng thì LED đó phải

được phân cực thuận.Do đó muốn tạo ra chữ số nào ta chỉ cần cho LED ở các vị trí tương ứng sáng lên

Trang 8

Dương chung Âm chung

Bảng mô tả cách tạo ra các chữ số để hiển thị lên LED 7 đoạn

Phương pháp quét led để hiển thị led 7 đoạn:

- Phương pháp quét hiển thị

- Điều khiển các LED sáng lần lượt từ LED1 đến LED4, sao cho tại 1 thời điểm thì chỉ có 1 LED sáng

- Gọi T là chu kỳ quét LED: là chu kỳ điều khiển 1 LED

- Gọi tx là thời gian sang của 1 LED

- Ta có giản đồ thời gian quét LED như sau:

Điều kiện để các led sáng đồng thời

𝑇 ≤ 20𝑚𝑠 ⇒ 𝑡𝑥 = 𝑇

6 ≤ 3𝑚𝑠

t x

Trang 9

Cấu tạo - Nguyên lý hoạt động IC họ HC595:

- IC này thuộc họ linh kiện logic HC được thiết kế để sử

dụng trong các ứng dụng công nghệ CMOS

- 74HC595 có hai thanh ghi tích hợp Cái đầu tiên là thanh ghi dịch và cái thứ hai là thanh ghi lưu trữ Dữ liệu được truyền nối tiếp để thay đổi từng bit thanh ghi Nhưng nó chỉ chuyển vào thanh ghi lưu trữ khi chân chốt dữ liệu

được kích ở mức cao

3) Khối xử lý của động cơ bước

- Chức năng: Đọc giá trị từ phím chức năng, đưa tín hiệu

về vi điều khiển để xử lý

- Mục tiêu: Xử lý đúng tín hiệu cho động cơ quay

Trang 10

- Mô-men xoắn động cơ: 34 N/m, nghĩa là nếu 1 N/m được truyền cho 1 Kg, thì nó sẽ là một lực tương đương với việc đặt khoảng 0.34 Kg/cm lên trục của nó Đủ để nâng bằng một ròng rọc chỉ hơn 1/4 kg

- Có 4 pha, góc bước là 5.625°/64

- Hộp số tích hợp: 1/64 tức chia mỗi bước thành 64 bước nhỏ hơn để có độ chính xác cao hơn Do đó, có 512 bước (0.7º mỗi bước) Hoặc cũng có thể được xem là 256 bước cho mỗi vòng (Full Step)

Bảng mã nhị phân cấp xung dạng Full Step

Bảng mã nhị phân cấp xung dạng Half Step

Trang 11

Cấu tạo và nguyên lý hoạt động của IC ULN2003

- Hoạt động có điện áp DC cao cực đại khoảng 50V

- Dòng điện tối đa là 500mA ở mối đầu vào

- Dải dòng điện có thể tăng lên bằng cách kết hợp hai chân cho cùng một tải

- Có một diode zenner để bảo vệ thiết bị khỏi suất điện động ngược

- ULN2003 có một hệ thống bảo vệ flyback bên trong và có một chân có thể sử dụng cho tải cảm

- Có thể điều khiển bằng bất kỳ thiết bị điện áp thấp nào như Arduino, Vi xử lý hoặc bất kỳ bộ điều khiển hoặc IC nào khác

- Có tất cả các package như SOP, PDIP, TSSOP hoặc SOIC

- Đầu ra ULN2003 tương thích chuẩn logic TTL và CMOS 5V

Trang 12

c Thiết kế phần mềm điều khiển:

i Mô tả các chức năng của phần mềm

• 3 thanh ghi Capture/Compare (CCRx)

• 2 vector ngắt – TACCRO và TAIV

Chức năng đề tài:

- Sử dụng các phương pháp ngắt của Timer là ngắt trong

Trang 13

- Giao tiếp giữa Led 7 đoạn và IC họ 595 sử dụng phương thức dịch thanh ghi và quét led

- Thay đổi các chế độ động cơ sử dụng phương thức đọc phím của MSP430 như quét phím trong hàm ngắt Timer và chống dội

ii Sơ đồ giải thuật

iii Chương trình con chính yếu

1 // ham xu ly ngat timmer

2 // ============== ========= ============= ===============

======================== ============

3 #if defined( TI_COMPILER_VERSION ) || defined( IAR_SYSTEMS_ICC )

4 #pragma vector=TIMER1_A0_VECTOR

5 interrupt void timer1_ccr0_isr_ (void)

6 #elif defined( GNUC )

7 void attribute ((interrupt(TIMER1_A0_VECTOR))) timer1_ccr0_isr_ (void)

13 static uint16_t step;

14 static uint8_t micro_step = 0

Mảng buffer chống dội

Trang 14

16 static uint8_t micro_step_interval = 0

24 button_buffer[ ] = (BTN_PORT & BTN1) != BTN1;

25 if(button_buffer[ ] == && button_buffer[ ] == && button_buffer[ ] == ) {

27 stp_dir = stp_dir == forward ? backward : forward;

28 step = map(stp_angle, 0 360, 0 stp_mode == full ? 2048 4096);

35 button_buffer[ ] = (BTN_PORT & BTN2) != BTN2;

36 if(button_buffer[ ] == && button_buffer[ ] == && button_buffer[ ] == ) {

38 stp_mode = stp_mode == full ? haft : full;

39

40 }

43 button_buffer[ ] = (BTN_PORT & BTN3) != BTN3;

44 if(button_buffer[ ] == && button_buffer[ ] == && button_buffer[ ] == ) {

46

47 switch(stp_angle) {

48 case : stp_angle = 30; break;

49 case 30: stp_angle = 90; break;

50 case 90: stp_angle = 180; break;

51 case 180: stp_angle = 270; break;

52 case 270: stp_angle = 30; break;

Đọc giá trị góc quay động cơ

Trang 15

75 STP_PUT(stp_dir == backward ? STP1 : STP4, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT3);

76 STP_PUT(stp_dir == backward ? STP2 : STP3, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT2);

77 STP_PUT(stp_dir == backward ? STP3 : STP2, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT1);

78 STP_PUT(stp_dir == backward ? STP4 : STP1, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT0);

22 // khai bao bien goc quay, che do quay, chieu quay

23 static volatile uint16_t stp_angle = 0

24 static volatile stepper_mode_t stp_mode = full;

25 static volatile stepper_direction_t stp_dir = forward;

26

27 // bang ma led 7 doan am chung

28 static const uint8_t led7seg_code[] 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82,

0xF8, 0x80, 0x90 };

29

30 // khai bao bo dem led 7 doan

31 static volatile uint8_t led7seg_buffer[ ] = { , 0 , 0 , 0};

32

33 // khai bao ham prototype

Đọc giá trị xung của động cơ

Trang 16

34 static inline void led7seg_display_angle(uint16_t data, uint8_t idx);

35 static inline void led7seg_display_stepper_mode(uint16_t data);

36 static inline void led7seg_display_stepper_direction(uint16_t data);

37 static inline uint16_t map(float x, float in_min, float in_max, float out_min,

46 void main(void) {

47 WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer

90 led7seg_display_stepper_direction(&data);

Trang 17

94 else if idx == )

96 led7seg_display_stepper_mode(&data);

97 else

99 led7seg_display_angle(&data, idx);

100

101

103 for(idx = 0 idx < 16; idx++)

124 #pragma vector=TIMER1_A0_VECTOR

125 interrupt void timer1_ccr0_isr_ (void)

126 #elif defined( GNUC )

127 void attribute ((interrupt(TIMER1_A0_VECTOR))) timer1_ccr0_isr_ (void)

133 static uint16_t step;

144 button_buffer[ ] = (BTN_PORT & BTN1) != BTN1;

145 if(button_buffer[ ] == && button_buffer[ ] == && button_buffer[ ] == ){

147 stp_dir = stp_dir == forward ? backward : forward;

148 step = map(stp_angle, 0 360, 0 stp_mode == full ? 2048 4096);

Trang 18

154 button_buffer[ ] = button_buffer[ ];

155 button_buffer[ ] = (BTN_PORT & BTN2) != BTN2;

156 if(button_buffer[ ] == && button_buffer[ ] == && button_buffer[ ] == ){

158 stp_mode = stp_mode == full ? haft : full;

159

160 }

163 button_buffer[ ] = (BTN_PORT & BTN3) != BTN3;

164 if(button_buffer[ ] == && button_buffer[ ] == && button_buffer[ ] == ){

166

167 switch(stp_angle) {

168 case : stp_angle = 30; break;

169 case 30: stp_angle = 90; break;

170 case 90: stp_angle = 180; break;

171 case 180: stp_angle = 270; break;

172 case 270: stp_angle = 30; break;

195 STP_PUT(stp_dir == backward ? STP1 : STP4, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT3);

196 STP_PUT(stp_dir == backward ? STP2 : STP3, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT2);

197 STP_PUT(stp_dir == backward ? STP3 : STP2, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT1);

198 STP_PUT(stp_dir == backward ? STP4 : STP1, (stp_mode == full ?

stp_1frac1[micro_step] : stp_1frac2[micro_step]) BIT0);

Trang 19

226

227

i Dùng phím bấm để chuyển đổi chế độ quay, tốc độ và góc quay của động cơ

Trang 20

Video thực tế kèm File

ii Hiển thị thông tin các chế độ động cơ ra led 7 đoạn

iii Sử dụng các phương thức ngắt trong timer

iv Giao tiếp giữa Led 7 đoạn và IC họ 595 sử dụng phương thức dịch thanh ghi HC595 và quét led

Chế độ thuận/nghị

ch bằng ký hiệu ∪/∩

Chế độ Full/Haft bằng ký hiệu F/H

Chế độ góc quay bằng ký hiệu số

Trang 21

c Nhận xét chung về ưu nhược điểm của hệ thống

Ưu điểm:

- Tiết kiệm điện vì áp dụng phương thức sleep và ngắt Timer

- Dễ tiếp cận cho người mới bắt đầu về MSP430

https://mlab.vn/index.php?_route_=6241-hoc-msp430-voi-kit-msp430-• Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 -

https://www.youtube.com/watch?v=TQ7R2bY-MWU

• Tạo màn hình với led 7 đoạn và thanh ghi dịch 74HC595

thay-doi-74hc595-du-an-arduino/

https://advancecad.edu.vn/tao-man-hinh-voi-led-7-doan-va-thanh-ghi-Kết nối 2 IC họ HC595 với Led

7 đoạn

Trang 22

5 Phụ lục:

a Quá trình thực hiện đề tài

i Kế hoạch thời gian

• Kế hoạch dự kiến: 6 tuần

• Kết quả thực tế: hoàn thành theo dự kiến

Tuần 1: Phân chia nhiệm vụ cho các thành viên Tuần 2: Tìm hiểu lý thuyết về đề tài

Tuần 3: Tìm hiểu về các linh kiện trong đề tài Tuần 4: Viết sơ đồ giải thuật, thiết kế mạch nguyên lý Tuần 5: Làm mạch PCB, lắp ráp mạch điện thực tế và kiểm tra

Tuần 6: Viết code và đánh giá tổng thể

ii Những thuận lợi và khó khăn trong quá trình thực hiện

Sai sót trong quá trình thiết kế PCB

b Danh sách các thành viên và phân chia công việc

Lê Trường Giang Viết code

Trang 23

Đặng Hoài Phúc Tìm hiểu linh kiện và viết báo cáo Phan Trường An Thiết kế mạch nguyên lý và vẽ PCB Nguyễn Duy Long Lắp ráp mạch điện và sửa báo cáo Nguyễn Tuấn Đạt Tìm hiểu lý thuyết, linh kiện

c Trả lời câu hỏi

Đạt: Vẽ mạch điện MSP430 - led 7 đoạn, chỉ ra phương pháp quét led, code và chu kỳ quét thế nào ?

Mạch điện MSP430 – led 7 đoạn:

Phương pháp quét Led để hiển thị Led 7 đoạn và chu kỳ quét:

• Điều khiển các LED sáng lần lượt từ LED1 đến LED4, sao cho tại 1 thời điểm thì chỉ có 1 LED sáng

• Gọi T là chu kỳ quét LED: là chu kỳ điều khiển 1 LED

• Gọi tx là thời gian sang của 1 LED

• Ta có giản đồ thời gian quét LED như sau:

Trang 24

Đoạn code xử lý quét led:

179 // doan code xy ly quet led

180 // ============== ========= =============

181 static uint16_t led7seg_counter = 0 idx = 0

182 static const uint16_t led7seg_digits = 6

An: Vẽ mạch điện MSP430 – phím chức năng, nêu chức năng, liệt

kê đoạn chương trình khai báo và xử lý thế nào ?

Mạch điện MSP430 – phím chức năng:

Chức năng:

Dùng phím bấm để chuyển đổi chế độ quay, tốc độ và góc quay của động cơ

Chương trình khai báo:

Ngày đăng: 12/12/2022, 12:48

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