Tải bản đầy đủ (.pdf) (23 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 23 trang )

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

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

Cần thơ: 11/2022



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

Trường đại học Cần Thơ

LỜI CẢM ƠN
“Để hồ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 hồn
thành bài làm này.
Trong q 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 hồ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

SVTH: Nhóm 8

Trang 2


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

Trường đại học Cần Thơ
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


SVTH: Nhóm 8

Trang 3


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

Trường đại học Cần Thơ

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

SVTH: Nhóm 8

Trang 4


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

Trường đại học Cần Thơ

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

Bảng mạch điện
Mắt thu quang điện

Đĩa quay

Đèn led
Housing assembly
Hình 2: Cấu tạo của encoder.

SVTH: Nhóm 8

Trang 5


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

Trường đại học Cần Thơ

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 xun qua được, chỗ khơng có rãnh
ánh sáng khơng xun 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.

SVTH: Nhóm 8

Trang 6


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

Trường đại học Cần Thơ

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.

1.3.
-

Chức năng
Dùng để đo tốc độ động cơ có thể ứng dụng trong lĩnh vực cơng nghiệp.

2. Mơ hình của hệ thống:
2.1. Dạng sơ đồ khối
Bộ nguồn
(Nguồn
)
Động cơ

Bộ hiển thị

(DC motor)

(LED 7 đoạn)

Bộ đo lường


Bộ xử lí

( Encoder)

(MSP430G2553)

Hình 5: Sơ đồ dạng khối của hệ thống.

SVTH: Nhóm 8

Trang 7


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

Trường đại học Cần Thơ

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.

2.2.

3. Thiết kế phần cứng của hệ thống:
3.1. Vẽ sơ đồ khối phần cứng của hệ thống

MSP430G2553


Nguồn
Encoder

Mạch điều
khiển tốc độ
động cơ

Động cơ

(L298N)

(DC motor)

Led 7 đoạn

Hình 6: Sơ đồ dạng khối của hệ thống.
3.2. Chọn thiết bị.

MSP430G2553

Led 7 đoạn

SVTH: Nhóm 8

L298N

Điện trở

Trang 8


Động cơ

IC 74HC595


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

Trường đại học Cần Thơ

Biến trở

Tụ 1000𝜇F

7805


4. Thiết kế phần mềm của hệ thống:
4.1. Phát thảo lưu đồ giải thuật:
BEGIN
Đặt chân P.x và P.y làm
đầu vào

Xuất hiện xung ở chân P.x và P.y

True
Đếm xung (quay
thuận)

False
If A ≠ 𝐵


Vận tốc quay
(Vịng/phút)

Hiển thị ra led 7 đoạn

END

Hình 7: Lưu đồ của hệ thống.

SVTH: Nhóm 8

Trang 9

Đếm xung (quay
nghịch)


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

Trường đại học Cần Thơ

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 thực tế.


5.2.

-

Khả năng ứng dụng encoder vào thực tế rất cao có thể linh hoạt ngồ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 tố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

SVTH: Nhóm 8

Trang 10


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

MSP430G2553

Biến trở
3. Mơ hình thực tế:


Trường đại học Cần Thơ

Modun led 7 đoạn

IC74HC5
95

Sau khi cấp nguồn
led hiển thị tốc độ
động cơ (vòng/phút)

Điều chỉnh biến
trở để được tốc độ
động cơ.

SVTH: Nhóm 8

Trang 11

Encoder

L298N


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

Trường đại học Cần Thơ

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

// khai bao thu vien
#include "io430g2553.h"
#include "stdio.h"
#include "string.h"
// khai bao hang
int val,giatri;
int xung=0;
unsigned int ReadADC10(int chanel);
int timer = 0;
int counter=0;
int tocdo;
int timer;
int xung;
#define SH_CP
#define DS

P2OUT_bit.P0

P2OUT_bit.P1

#define ST_CP

P2OUT_bit.P2

#define L1

P2OUT_bit.P3

#define L2


P2OUT_bit.P4

#define L3

P2OUT_bit.P5

// khai bao chuong trinh con
void delayms(int ms);
void caidat();
void shiftout(char x);
int encoder;
// ma anod chung
char so[] = {0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F,0x01,0x19};
int i,j;
// chuong trinh quet led 7seg

SVTH: Nhóm 8

Trang 12


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

Trường đại học Cần Thơ

void shiftout(char x)
{
int i;
for(i = 0; i < 8; i++)
{

if(x & (1<{
DS = 1;
}
else
{
DS = 0;
}
SH_CP = 1;
SH_CP = 0;
}
}
void delay(int ms)
{
while(ms--)
__delay_cycles(1000);
}
void led_encoder()
{
TA1CTL = TASSEL_2 + ID_3 + MC_1;
TA1CCTL0 = CCIE;
TA1CCR0 = 300;
__bis_SR_register(GIE);
}
void main( void )
{

SVTH: Nhóm 8

Trang 13



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

Trường đại học Cần Thơ

// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P2DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5; // cau hinh GPIO 7seg voi
MSP430

P1DIR |= BIT6; // cau hinh pwm
P1SEL |= BIT6; // ngo ra pwm P1.6
// cau hinh PWM
TACCTL1 = OUTMOD_7;
TACCR0 = 1050;
TACTL = TASSEL_2 + MC_1;//SMCLK
//-----------------------------//set P1.3 INPUT Pulse
P1REN |= BIT3;
P1IE |= BIT3;

// dien tro keo len
//interrupt enable

P1IES &= ~BIT3;
P1IFG &= ~BIT3;

// interrupt low-high
// 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
for(int k = 0;k<50;k++){
for(int h = 0; h < 10;h++){
L2 = 0;
ST_CP = 0;
shiftout(so[tocdo/100]);
ST_CP = 1;
// hien thi led thu 2
L1 = 1;
// L3 = 0;

SVTH: Nhóm 8

Trang 14


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

Trường đại học Cần Thơ

__delay_cycles(1000);
L1 = 0;
ST_CP = 0;
// tbcb%10 lay phan nguyen
shiftout(so[(tocdo%100)/10]);

ST_CP = 1;
// hien thi led thu 1
L2 = 1;
// L3 = 0;
__delay_cycles(1000);
L2 = 0; L1 = 0;
ST_CP = 0;
// tbcb%10 lay phan nguyen
shiftout(so[tocdo%10]);
ST_CP = 1;
// hien thi led thu 1
L3 = 1;
__delay_cycles(1000);
L1 = 0;L2 = 0;L3 = 0;
}
}
}
}
void delayms(int ms)
{
for(int i = 0; i__delay_cycles(1000);
}
//******Ham adc**************************
unsigned int ReadADC10(int chanel)

SVTH: Nhóm 8

Trang 15



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

Trường đại học Cần Thơ

{
ADC10CTL0 &=~ ENC;
ADC10CTL0 = SREF_1 + ADC10SHT_2 + ADC10ON + REF2_5V +
REFON;
ADC10AE0 |= (BIT0<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){

timer++;// tang bien timer len 1 don vi
if(timer == 135)

{
tocdo = counter;// gan tocdo = counter
counter = 0;// counter = 0;
timer = 0;// timer = 0;
}
}

SVTH: Nhóm 8

Trang 16


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

Trường đại học Cần Thơ

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.
• Nhận xét:
+ Về ưu điểm: Hệ thống hiển thị tương đối tốc độ của động cơ ra led 7
đoạn.
+Về nhược điểm: Hệ thống còn xãy ra sai số, tín hiệu đơi lúc chưa ổn
định.
6. Hướng phát triể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 đó).
+ Lắp mạch thực tế
- Tuần thứ tư:
+ Chạy thử nghiệm hệ thống.
+ Thu thập kết quả, đánh giá hệ thống về ưu/ nhược điểm, hệ thống đã đạt
yêu cầu?
+ Tổng hợp tất cả và viết báo cáo.

SVTH: Nhóm 8

Trang 17



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

Trường đại học Cần Thơ

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:
❖ Nguyễn Nhật Linh
- Soạn bài báo cáo, tìm hiểu về encoder và động cơ, nghiên cứu sơ đồ lắp
mạch, hỗ trợ phần code.
❖ Nguyễn Mạnh Hà
- Thuyết minh báo cáo, hỗ trợ phần code chương trình, nghiên cứu sơ đồ lắp
mạch.
❖ Trịnh Chí Bằng
- 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ả
q trình thực hiện? Trần Văn Khang.

Trả lời:

SVTH: Nhóm 8

Trang 18


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

Trường đại học Cần Thơ

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
L289N.
-

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:

CT đọc dữ liệu xung

SVTH: Nhóm 8

CT Tính tốc độ hiển thị ra led 7 đoạn.

Trang 19


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

Trường đại học Cần Thơ

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:


SVTH: Nhóm 8

Trang 20


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

Trường đại học Cần Thơ

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:

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:

SVTH: Nhóm 8

Trang 21


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

Trường đại học Cần Thơ


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ả
q 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)
{ tien () ;}
Else if (trangthainutlen !=0 && trangthainutxuong ==0)
{ lui();}
Else {dung();)}
Void tien(){
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;

SVTH: Nhóm 8

Trang 22


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

Trường đại học Cần Thơ

ST_CP = 0;
shiftout(so[tocdo/100]);
ST_CP = 1;

SVTH: Nhóm 8

Trang 23



×