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

Báo cáo kĩ thuật vi điều khiển Đề tài Tìm hiểu về Encoder thiết kế mạch hiển thị tốc độ động cơ ra LED 7 đoạn. Có: File nguyên lí + file proteus (kèm theo) + code trong file báo cáo + câu hỏi được giao

23 180 2

Đ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ề Encoder – Thiết kế mạch hiển thị tốc độ động cơ ra LED 7 đoạn
Tác giả Nguyễn Nhật Linh_B2012513, Nguyễn Mạnh Hà_B2012497, Trịnh Chí Bằng_B2012486, Trần Văn Khang_B2012507
Người hướng dẫn Nguyễn Khắc Nguyên
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Kĩ thuật Vi điều khiển_CN581
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố Cần Thơ
Định dạng
Số trang 23
Dung lượng 1,17 MB
File đính kèm Đo an Encoder file Proteus..pdsprj (43 KB)

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

Nội dung

Trường Đại học Cần Thơ Trường Bách khoa _Báo cáo học phần kĩ thuật Vi điều khiển_CN581 Đề tài: Tìm hiểu về Encoder – Thiết kế mạch hiển thị tốc độ động cơ ra LED 7 đoạn. Giảng viên hướng dẫn : Nguyễn Khắc Nguyên Học phần : Kĩ thuật Vi điều khiển_CN581 Nhóm : 08 Sinh viên thực hiện : Nguyễn Nhật Linh_B2012513 Nguyễn Mạnh Hà_B2012497 Trịnh Chí Bằng_B2012486 Trần Văn Khang_B2012507

Trang 1

TRƯỜNG ĐẠI HỌC CẦN THƠ

TRƯỜNG BÁCH KHOA

….…

BÀI BÁO CÁO

KĨ THUẬT VI ĐIỀU KHIỂN

Đề tài: Tìm hiểu về Encoder – Thiết kế mạch hiển thị

tốc độ động cơ ra LED 7 đoạn

Giảng viên hướng dẫn : Nguyễn Khắc Nguyên

Sinh viên thực hiện : Nguyễn Nhật Linh_B2012513

Nguyễn Mạnh Hà_B2012497

Trịnh Chí Bằng_B2012486 Trần Văn Khang_B2012507

Trang 2

SVTH: Nhóm 8 Trang 2

LỜI CẢM ƠN

“Để hoàn thành bài báo cáo này, nhóm em xin gửi lời cảm ơn chân thành đến:

Thầy Nguyễn Khắc Nguyên vì đã tận tình hướng dẫn, góp ý kiến để nhóm em hoàn thành bài làm này.

Trong quá trình làm báo cáo chắc chắn sẽ không tránh khỏi những thiếu sót, cũng như hạn chế về kiến thức Rất mong nhận được sự nhận xét, đóng góp ý kiến từ phía Thầy để bài làm của nhóm em được hoàn thiện hơn.

Lời cuối cùng, xin kính chúc thầy nhiều sức khỏe, thành công và hạnh phúc.”

Em xin chân thành cảm ơn!

Sinh viên thực hiện

Nhóm 08

Trang 3

MỤC LỤC

Kĩ thuật Vi điều khiển_CN581

I TÌM HIỂU VỀ ENCODER 5

1 Khái niệm về Encoder 5

2 Cấu tạo Encoder: 5

3 Nguyên lí hoạt động của Encoder: 6

4 Phân loại Encoder: 6

5 Ứng dụng của Encoder 7

II ĐỀ XUẤT HƯỚNG GIẢI QUYẾT ĐỀ TÀI 7

1 Mô tả ý tưởng, mục tiêu, chức năng của đề tài: 7

1.1 Mô tả ý tưởng 7

1.2 Mục tiêu 7

1.3 Chức năng 7

2 Mô hình của hệ thống: 7

2.1 Dạng sơ đồ khối 7

2.2 Mô tả sơ đồ dạng khối của hệ thống: 8

3 Thiết kế phần cứng của hệ thống: 8

3.1 Vẽ sơ đồ khối phần cứng của hệ thống 8

3.2 Chọn thiết bị 8

4 Thiết kế phần mềm của hệ thống: 9

4.1 Phát thảo lưu đồ giải thuật: 9

5 Dự kiến kết quả và khả năng ứng dụng thực tế: 10

5.1 Dự kiến kết quả đạt được 10

5.2 Khả năng ứng dụng thực tế 10

6 Dự trù các vật tư thiết bị: 10

III KẾT QUẢ THỰC HIỆN 10

1 Mô hình mô phỏng trên Proteus: 10

2 Mô hình 3D sau khi vẽ PCB 10

3 Mô hình thực tế: 11

4 Đoạn Code cho chương trình: 12

5 Kết quả thực hiện 17

6 Hướng phát triển 17

IV PHỤ LỤC 17

Trang 4

SVTH: Nhóm 8 Trang 4

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

2 Nhiệm vụ của các thành viên trong nhóm 18

Trang 5

I TÌM HIỂU VỀ ENCODER

1 Khái niệm về Encoder

- Encoder là một bộ cảm biến (còn gọi là bộ mã hóa) chuyển động cơ học

tạo ra tín hiệu kỹ thuật số đáp ứng với chuyển động Là một thiết bị cơ điện

có khả năng làm biến đổi chuyển động thành tín hiệu số hoặc xung

Hình 1: Hình ảnh encoder

2 Cấu tạo Encoder:

- Encoder có cấu tạo gồm 4 phần:

• Một đĩa quay (có lỗ gắn vào trục động cơ)

• Một đèn Led làm nguồn phát sáng

• Một mắt thu quang điện

• Bảng mạch điện (khuếch đại tín hiệu)

Hình 2: Cấu tạo của encoder

Bảng mạch điện

Đĩa quay

Đèn led Housing assembly Mắt thu quang điện

Trang 6

SVTH: Nhóm 8 Trang 6

3 Nguyên lí hoạt động của Encoder:

- Khi đĩa quay quanh trục, trên đĩa có các rãnh để tín hiệu quang được chiếu

qua (Led) Chỗ có rãnh thì ánh sáng xuyên qua được, chỗ không có rãnh ánh sáng không xuyên qua được Với các tín hiệu có hoặc không người ta ghi nhận đèn Led có chiếu qua hay không Số xung Encoder được quy ước

là số lần ánh sáng chiếu qua khe

VD: Trên đĩa có 100 khe thì cứ 1 vòng quay, encoder đếm được 100 tín hiệu Đây

là nguyên lý hoạt động của Encoder cơ bản đối với với chủng loại khác thì đĩa quay

sẽ có nhiều lỗ hơn và tín hiệu thu nhận cũng sẽ khác hơn

4 Phân loại Encoder:

- Phân loại theo các phương tiện đầu ra của Encoder gồm 2 loại chính:

Encoder tuyệt đối và Encoder tương đối

+ Encoder tuyệt đối: Tín hiệu ta nhận được từ Encoder cho biết chính xác vị

trí của Encoder mà người sử dụng không phải xử lý thêm gì cả

+ Encoder tương đối: Phát ra tín hiệu tăng dần hoặc theo chu kỳ

Hình 3: encoder tuyệt đối Hình 4: encoder tương đối

- So sánh chi tiết giữa hai loại Encoder này:

➢ Encoder tuyệt đối:

• Sử dụng đĩa theo mã nhị phân hoặc mã Gray

• Kết cấu gồm: bộ phát ánh sáng (LED), đĩa mã hóa, bộ thu ánh sáng

• Đĩa mã hóa ở Encoder được chế tạo từ vật liệu trong suốt, các góc đều nhau cùng các đường tròn đồng tâm

- Ưu điểm: giữ được giá trị tuyệt đối khi Encoder mất nguồn

- Nhược điểm: giá thành cao vì chế tạo phức tạp, đọc tín hiệu khó

➢ Encoder tương đối:

• Đĩa mã hóa bao gồm một dãi băng tạo xung, được chia thành nhiều lỗ bằng nhau và được cách đều nhau

• Chất liệu có thể là trong suốt để giúp ánh sáng chiếu qua

• Là Encoder chỉ có 1,2 hoặc tối đa 3 vòng lỗ, và thường có thêm một

lỗ định vị

- Ưu điểm: giá thành rẻ, chế tạo đơn giản, xử lý tín hiệu trả về dễ dàng

Trang 7

- Nhược điểm: dễ bị sai lệch về xung khi trả về Có tích lũy sai số khi hoạt

động lâu dài

5 Ứng dụng của Encoder

- Encoder có rất nhiều ứng dụng trong thực tế, tiêu biểu như:

+ Ứng dụng về biểu thị tốc độ (Đo tốc độ dòng chảy)

+ Ứng dụng về đo lường (Encoder được gắn vào băng tải giúp xác định chiều

dài để cắt sản phẩm)

+ Ứng dụng về đếm số lượng (Đếm sản phẩm trên băng truyền)

+ Ứng dụng trong ngành cơ khí: Giúp xác định chính xác vị trí của trục máy

cũng như vị trí dao cắt để gia công đạt độ chính xác nhất

+ Ứng dụng trong công nghiệp: Trong các lĩnh vực Ô tô, Điện tử tiêu dùng,

Công nghiệp, Y tế, Quân đội v.v…

II ĐỀ XUẤT HƯỚNG GIẢI QUYẾT ĐỀ TÀI

1 Mô tả ý tưởng, mục tiêu, chức năng của đề tài:

1.1 Mô tả ý tưởng

- Dùng Vi điều khiển MSP430G2553 làm vi sử lí chính kết hợp với Encoder

để hiển thị tốc độ động cơ ra thanh led 7 đoạn

1.2 Mục tiêu

- Tốc độ động cơ (số vòng quay) đo được sau khi xử lí sẽ được hiển thị ngõ

ra trên thanh led 7 đoạn

(DC motor)

Trang 8

SVTH: Nhóm 8 Trang 8

2.2 Mô tả sơ đồ dạng khối của hệ thống:

❖ Mô tả ngắn ngọn hoạt động của sơ đồ:

- Sau khi cấp nguồn cho hệ thống, động cơ hoạt động Encoder đếm số xung

để cấp cho vi điều khiển MSP430G2553 và giá trị đầu ra được hiển thị trên led 7 đoạn

Trang 10

SVTH: Nhóm 8 Trang 10

5 Dự kiến kết quả và khả năng ứng dụng thực tế:

5.1 Dự kiến kết quả đạt được

- Phần chính: Hệ thống có thể đọc và hiển thị ra trên màn hình led 7 đoạn

tốc độ của động cơ đang quay

- Phần phụ: Có thể điều chỉnh độ nhanh, chậm cũng như đảo chiều động cơ

thông qua mạch điều khiển L298N

- Khả năng ứng dụng encoder vào thực tế rất cao có thể linh hoạt ngoài việc

sử dụng đo tốc độ có thể dùng encoder để đếm sản phẩm, đo chiều dài…

- Ứng dụng được trong nhiều lĩnh vực đã nêu ở phần ứng dụng của

Encoder

6 Dự trù các vật tư thiết bị:

- Tính toán hợp lí các thiết bị cần cho đề tài phù hợp với kinh phí đang có

- Tùy vào tình hình chọn được linh kiện phù hợp để thực hiện đề tài, linh

hoạt đưa ra hướng giải quyết để hoàn thành đề tài được giao

III KẾT QUẢ THỰC HIỆN

1 Mô hình mô phỏng trên Proteus:

2 Mô hình 3D sau khi vẽ PCB

Trang 12

SVTH: Nhóm 8 Trang 12

4 Đoạn Code cho chương trình:

// khai bao thu vien

// chuong trinh quet led 7seg

Trang 14

P1DIR |= BIT6; // cau hinh pwm

P1SEL |= BIT6; // ngo ra pwm P1.6

//set P1.3 INPUT Pulse

P1REN |= BIT3; // dien tro keo len

P1IE |= BIT3; //interrupt enable

P1IES &= ~BIT3; // interrupt low-high

P1IFG &= ~BIT3; // set interrupt flag to 0 in the beginning bis_SR_register(GIE); // cho phep ngat

led_encoder();// goi ham led encoder

while(1){

// chuong trinh doc encoder

val = ReadADC10(0); // doc ADC P1.0

TACCR1 = val; // cho gia tri ADC = TACCR1

Trang 16

SVTH: Nhóm 8 Trang 16

{

ADC10CTL0 &=~ ENC;

ADC10CTL0 = SREF_1 + ADC10SHT_2 + ADC10ON + REF2_5V + REFON;

ADC10AE0 |= (BIT0<<chanel);

ADC10CTL1 |= (chanel*0x1000u);

delay_cycles(3000);

ADC10CTL0 |= ENC + ADC10SC;

while(!(ADC10CTL0 & ADC10IFG));

ADC10CTL0 = 0;// ADC10CTL0 &=~ ADC10ON;

return ADC10MEM;

}

//+++++++++++++++++++++++++++++++++++

#pragma vector = PORT1_VECTOR

interrupt void PORT1 (void)

{

counter++;// tang counter len 1 don vi

P1IFG &= ~BIT3;// xoa co ngat

}

// chuong trinh con phuc vu ngat

#pragma vector = TIMER1_A0_VECTOR

interrupt void Timer0(void){

Trang 17

5 Kết quả thực hiện

- Dùng Vi điều khiển MSP430G2553 làm vi sử lí chính kết hợp với Encoder

để hiển thị tốc độ động cơ ra thanh led 7 đoạn

• Kết quả:

+ Tính năng 1: Mạch hiển thị được tốc độ động cơ ra led 7 đoạn

+Tính năng 2: Có thể điều chỉnh được tốc độ động cơ thông qua biến trở

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

- Đo tốc độ khi đảo chiều quay của động cơ có dấu (-) khi quay nghịch

(Nhóm chưa làm được có thể nghiên cứu và thực hiện sau này.)

- Động cơ có thể bật tắt theo một chu kì thiết lập sẵn

IV PHỤ LỤC

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

❖ Đề tài thực hiện trong 4 tuần:

- Tuần thứ nhất:

+ Phân công nhiệm vụ, công việc cho các thành viên

+ Tìm hiểu về đề tài nghiêm cứu về Encoder, mạch L298N…

+ Dự trù các linh kiện cần phải có cho đề tài

- Tuần thứ hai:

+ Tìm hiểu về code cho hệ thống

+ Mô phỏng hệ thống trên phần mềm Proteus

+ Viết code chương trình

+ Chọn mua các thiết bị cần thiết cho đề tài

- Tuần thứ ba:

+ Tiếp tục thực hiện việc viết Code hoàn thiện cho hệ thống

+ Bổ sung thiếu sót về phần mềm cũng như phần cứng (Sửa lỗi code, chuẩn bị thêm thiết bị đã thiếu trước đó)

Trang 18

SVTH: Nhóm 8 Trang 18

2 Nhiệm vụ của các thành viên trong nhóm

- Nhóm gồm 4 thành viên các nhiệm vụ được phân chia:

- Chuẩn bị thiết bị, linh kiện, nghiên cứu sơ đồ lắp mạch, nghiên cứu công

dụng của các linh kiện có trong đề tài, hỗ trợ phần code

❖ Trần Văn Khang

- Chuẩn bị code cho chương trình, nghiên cứu sơ đồ lắp mạch, tìm hiểu về

mạch L298N

Tài liệu tham khảo:

[1] Bài giảng của thầy Nguyễn Khắc Nguyên_Học phần Kĩ thuật Vi điều khiển_Trường Đại học Cần Thơ

[2] Lập trình hệ thống nhúng sử dụng vi điều khiển MSP430 (Embedded System I)

_Ts Lê Mạnh Hải_Khoa CNTT_11/2013_Đại học Công nghệ TP HCM

[3] Nguồn tìm hiểu về Encoder trên Internet:

❖ Câu hỏi được giao:

1 Vẽ chi tiết sơ đồ kết nối Encoder với MSP430G2553? Chỉ ra đoạn Code đọc

dữ liệu đọc xung và cách tính tốc độ để hiển thị ra Led 7 đoạn? Nguyễn Nhật

Linh

2 Vẽ lại mạch kết nối giữa Led 7 đoạn với MSP430G2553? Cho biết quét led

với chu kì bao nhiêu, chỉ ra đoạn Code cấu hình? Nguyễn Mạnh Hà

3 Chỉ ra mạch điện kết nối biến trở và MSP430G2553? Chỉ ra cấu hình ADC

với cảm biến và đoạn Code? Trịnh Chí Bằng

4 Đo tốc độ quay thuận/nghịch bổ sung nút nhấn để thực hiện chức năng? Mô tả

quá trình thực hiện? Trần Văn Khang

Trả lời:

Trang 19

1 Vẽ chi tiết sơ đồ kết nối Encoder với MSP430G2553? Chỉ ra đoạn Code đọc

dữ liệu đọc xung và cách tính tốc độ để hiển thị ra Led 7 đoạn? Nguyễn Nhật

Linh

- Vẽ chi tiết sơ đồ kết nối Encoder với MSP430G2553:

Hình 1: Sơ đồ chi tiết kế nối Encoder với MSP430G2553

❖ Mô Tả:

- Tổng số chân của Encoder là 6 (Có 1 chân lấy nguồn 12V từ mạch L298N)

- Còn lại 5 chân của Encoder tương ứng như trên hình:

• 2 Chân kết nối với nguồn 3.3V (Chân 1 và 5 như hình)

• 3 Chân tín hiệu còn lại là chân: 2, 3 và 4

+ Chân 2 kết nối với P1.2 + Chân 3 kết nối với P1.3

+ Chân 4 kết nối với P1.6 (Xung PWM) và với chân IN2 của mạch

Trang 20

SVTH: Nhóm 8 Trang 20

2 Vẽ lại mạch kết nối giữa Led 7 đoạn với MSP430G2553? Cho biết quét led với

chu kì bao nhiêu, chỉ ra đoạn Code cấu hình? Nguyễn Mạnh Hà

- Vẽ lại mạch kết nối giữa Led 7 đoạn với MSP430G2553:

Hình 2: Sơ đồ chi tiết kế nối giữa Led 7 đoạn với MSP430G2553

- Chỉ ra đoạn Code cấu hình và chu kì quét led:

Trang 21

3 Chỉ ra mạch điện kết nối biến trở và MSP430G2553? Chỉ ra cấu hình ADC với

cảm biến và đoạn Code? Trịnh Chí Bằng

- Chỉ ra mạch điện kết nối biến trở và MSP430G2553:

Hình 3: Sơ đồ chính của đồ án

- Cấu hình ADC với cảm biến và đoạn Code:

Mạch điện kết nối biến trở và MSP430G2553

Trang 22

SVTH: Nhóm 8 Trang 22

4 Đo tốc độ quay thuận/nghịch bổ sung nút nhấn để thực hiện chức năng? Mô tả

quá trình thực hiện? Trần Văn Khang

- Để đo tốc độ quay thuận/nghịch có bổ sung thêm nút nhấn Thì ta cần

phải sử dụng mạch L298N để đảo chiều động cơ bằng cách sử dụng các chân IN1, IN2, IN3, IN4 nối với các Port của MSP Ta dùng 2 nút nhấn để điều khiển đảo chiều thuận nghịch của động cơ, lắp theo kiểu Input full up dùng 1 chân của mỗi nút nhấn nối vói mỗi chân cuae MSP, chân còn lại ta nối vào GND trên MSP

- Code cho chương trình:

Int trangthainutlen = digitalRead(nutnhanlen);

Int trangthainutxuong = digitalRead(nutnhanxuong);

If(trangthainutlen == 0 && trangthainutxuong !=0)

DigitalWrite (in1 , High);

digitalWrite (in2, Low);

digitalWrite (in3, High);

digitalWrite (in4, Low);

}

Void lui(){

digitalWrite(in1, Low);

digitalWrite (in2, High);

digitalWrite (in3, Low);

digitalWrite (in4, High);

}

val = ReadADC10(0); // doc ADC P1.0

TACCR1 = val; // cho gia tri ADC = TACCR1

for(int k = 0;k<50;k++){

for(int h = 0; h < 10;h++){

L2 = 0;

Trang 23

ST_CP = 0;

shiftout(so[tocdo/100]);

ST_CP = 1;

Ngày đăng: 30/03/2023, 01:17

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