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

Đề tài tìm hiểu về cảm biến siêu âm vàthiết kế robot tránh vật cản

16 3 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

Tiêu đề Tìm hiểu về cảm biến siêu âm và thiết kế robot tránh vật cản
Tác giả Nguyễn Khắc Nguyên, Mai Trọng Hữu, Nguyễn Hoàng Linh, Đào Hữu Đức, Tống Thế Kiệt
Người hướng dẫn Giáo viên Hướng Dẫ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
Thể loại Đồ án
Thành phố Cần Thơ
Định dạng
Số trang 16
Dung lượng 1,39 MB

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Ơ KHOA CÔNG NGHỆ HỌC PHẦN: KĨ THUẬT VI ĐIỀU KHIỂN CN581 BÁO CÁO ĐỒ ÁN ĐỀ TÀI: TÌM HIỂU VỀ CẢM BIẾN SIÊU ÂM VÀ THIẾT KẾ ROBOT TRÁNH VẬT CẢN NHÓM 21 Giáo viên hướng dẫ

Trang 1

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

KHOA CÔNG NGHỆ

HỌC PHẦN: KĨ THUẬT VI ĐIỀU KHIỂN (CN581)

BÁO CÁO ĐỒ ÁN

ĐỀ TÀI: TÌM HIỂU VỀ CẢM BIẾN SIÊU ÂM VÀ

THIẾT KẾ ROBOT TRÁNH VẬT CẢN

NHÓM 21

Giáo viên hướng dẫn: Nhóm sinh viên thực hiện:

 Nguyễn Hoàng Linh B1913045 Đào Hữu Đức B1913016

Trang 2

MỤC LỤC

1 GIỚI THIỆU ĐỀ TÀI 1

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

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

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

2 THỰC HIỆN 1

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

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

ii Mô hình hệ thống dạng khối 1

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

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

ii Sơ đồ khối phần cứng mạch điện 2

iii Thiết kế chi tiết 2

iv Sơ đồ nguyên lý tổng hợp của toàn mạch 5

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

i Chức năng của phần mềm 6

ii Lưu đồ chương trình chính 6

iii Lưu đồ chương trình con chính yếu 7

iv Đoạn code chương trình 7

3 KẾT QUẢ THỰC HIỆN 13

a Mô hình thực tế 13

 b Kết quả thực hiện 13

c Nhận xét hệ thống 13

d Hướng phát triển 14

4 TÀI LIỆU THAM KHẢO 14

5 PHỤ LỤC 14

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

Trang 3

 ĐỀ TÀI : THIẾT KẾ ROBOT TRÁNH VẬT CẢN

1 GIỚI THIỆU ĐỀ TÀI

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

Tên đề tài: Tìm hiểu về cảm biến siêu âm và thiết kế robot tránh vật cản

Mục tiêu: Hiểu về cấu tạo, hoạt động, chức năng cũng như các ứng dụng cơ bản của cảm biến siêu âm trong thí nghiệm và trong các lĩnh vực thực tế, thiết kế thành công một mô hình robot nhỏ có khả năng di chuyển và tránh vật cản

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

Có thể di chuyển và chuyển hướng khi phát hiện vật cản phía trước ứng dụng phổ biến trong robot lau nhà, xe thông minh, … Ngoài ra có thể kết hợp thêm các loại cảm biến khác để dạng chức năng của sản phẩm

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

Sử dụng cảm biến siêu âm để đo khoảng cách va chạm giữa robot với vật cản phía trước và hiển thị khoảng cách đó ra LED 7 đoạn, từ dữ liệu khoảng cách được đọc từ cảm biến ra lệnh cho robot tiếp tục di chuyển, rẽ trái, rẽ phải hay dừng lại nhờ khối động cơ gắn với bánh xe phía dưới robot

2 THỰC HIỆN

a Mô hình hệ thống

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

- Sản phẩm cấu tạo bao gồm các thành phần: một cảm biến siêu âm HC-SR 04, một chip vi điều khiển msp430f2232, LED 7 đoạn, giá đỡ, khối động cơ và bánh xe của xe điều khiển mô hình loại nhỏ Nguyên tắc hoạt động khi khởi động xe bắt đầu di chuyển đồng thời cảm biến siêu âm cũng hiển thị khoảng cách so với vật cản phía trước lên LED 7 đoạn nếu như khoảng cách dưới 50cm thì robot bắt đầu chuyển hướng và di chuyển theo hướng mới và như vậy robot cứ tiếp tục

di chuyển

ii Mô hình hệ thống dạng khối

Trang 4

 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ấp nguồn cảm biến siêu âm tiến hành đo khoảng cách truyền dữ liệu lên vi điều khiển  bằng phương pháp quét led hiển thị giá trị lên led 7 đoạn sau đó giá trị được so sánh với giá định trước và tiến hành ra lệnh cho động cơ di chuyển theo từng trường hợp định trước

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

iii Thiết kế chi tiết

Sơ đồ khối 1

- Khối điều khiển: điều khiển trung tâm, quyết định các hoạt động của các khối còn lại

- Sơ đồ nguyên lý kết nối:

Trang 5

Sơ đồ khối 2

- Cảm biến siêu âm: dùng để đo khoảng cách từ robot đến vật cản

- Chú thích chân:

 Chân số 1 là chân Vcc

 Chân số 2 là chân ECHO

 Chân số 3 là chân TRI

 Chân số 4 là chân GND

- Cách kết nối

 Chân Vcc nối lên nguồn 5v

 Chân GND nối mass

 Chân ECHO nối với chân P1.4 của vi điều khiển

 Chân TRI nối với chân P1.5 của vi điều khiển

- Thông số kĩ thuật

 Điện áp làm việc: 5VDC

 Dòng điện: 15mA

 Tần số: 40 KHz

 Khoảng cách phát hiện: 3cm – 4m

 Tín hiệu đầu ra: xung mức cao 5V, mức thấp 0V

 Góc cảm biến: không quá 15 độ

 Độ chính xác lên đến 3mm

 Chế độ kết nối: VCC / Trig (T-Trigger) / Echo (R-Receive) / GND

 Sơ đồ khối 3 

- Khối LED 7 đoạn: dùng để hiển thị khoảng cách mà cảm biến siêu âm đo được

Trang 6

- Led 7 đoạn sử dụng là loại led anode chung nên 4 chân led 7 đoạn kết nối với MSP430 ứng với các chân kết nối vào port 1 (1.0, 1.1, 1.2, 1.3)

- Sơ đồ nguyên lý kết nối

Sơ đồ khối 4

- Khối LM293 và động cơ DC: dùng để thay đổi hướng di chuyển của robot khi gặp vật cản -Thống số kĩ thuật

 Điện áp hoạt động: 4-36V

 Cấp dòng: 600mA

 Dòng đỉnh 1.2A

 Dùng để điều khiển động cơ, robot, motor\

 Kiểu DIP16

 Input: TTL Logic

- Sơ đồ nguyên lý kết nối

Trang 7

iv Sơ đồ nguyên lý tổng hợp của toàn mạch

Trang 8

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

i Chức năng của phần mềm

- Khi hệ thống bắt đầu hoạt động Timer được sử dụng để tạo ra xung PWM dùng để đo khoảng cách và tính toán thời gian quét led để hiển thị khoảng cách ra led

- Khi nhận được khoảng cách từ cảm biến trả về sẽ tiến hành so sánh với khoảng cách định trước

là 50cm và tiến hành ra lệnh động cơ di chuyển nếu khoảng cách lớn hơn 50cm thì robot di chuyển tiến về trước ngược lại khoảng cách nhỏ hơn 50cm thì có một led đơn sáng lên báo cho  biết gần khoảng cách va chạm động cơ bên trái dừng, động cơ bên phải quay ngược, nên lúc này

sẽ lùi và quay đầu sang phải nếu như khoảng cách tiếp tục nhỏ hơn 50cm thì động cơ cứ chuyển hướng đến khi nào khoảng cách lớn hơn 50cm thì tiếp tục di chuyển

- Vòng lặp chương trình giúp hệ thống luôn hoạt động giống với mô tả trên

ii Lưu đồ chương trình chính

iii Lưu đồ chương trình con chính yếu

 

Trang 9

iv Đoạn code chương trình

#include <msp430f2232.h>

#define PDAT P3OUT

#define CTR P1OUT

#define led BIT0

#define K BIT7

void timer();

void PWM_init();

void DCtienvetruoc();

void luisangphai();

void scanled();

void toDisplay(int num);

void delayms(int ms);

// -Khai bao doc cam

bien -int miliseconds;

int distance;

long sensor;

// -Khai bao bien cho led 7

doan -char tbl7seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; char buff[4]={0,0,0,0};

char idx=0;

int num = 0;

void main(void)

{

 

WDTCTL = WDTPW + WDTHOLD; // Stop WDT

 

P1DIR = 0x0f; //P1.0 den 1.3 la output

  P3DIR = 0xFF; // P3 la oupput cho led7

Trang 10

  P4DIR = BIT0; // P4.0 la ouput cho den

  // khai bao port cho motor ben phai

  P2DIR |= BIT0 + BIT1 + BIT2; // P2.0,P2.1,P2.2 all output cho   P2OUT &= ~BIT0 + BIT1 + BIT2; // Clear P2.0,P2.1,P2.2

// khai bao port cho motor ben trai

  P2DIR |= BIT3 + BIT4 + BIT6; // P2.3,P2.4,P2.6 all output

  P2OUT &= ~BIT3 + BIT4 + BIT6; // Clear P2.3,P2.4,P2.6

P2SEL &= ~(BIT6 + BIT0); //sudunghetport2

 

timer(); // khoi dong timer doc cam bien va quet led

  PWM_init(); // khoi dong Pwm cho dong co

  _BIS_SR( GIE); // cho phep ngat toan cuc ca Pwm va timer  while(1){

P1DIR |= BIT5; // P1.5 la ouput trigger

P1OUT |= BIT5; // set trigger muc cao

  delay_cycles(10); // for 10us

P1OUT &= ~BIT5; // dung cho trigger ve muc thap   P1DIR &= ~BIT4; // cho pin P1.2 input (ECHO)   P1IFG = 0x00; // clear flag

P1IE |= BIT4; // cho phep interupt ECHO P1IES &= ~BIT4; // cho echo muc cao

delayms(100); // delay 1ms

 

distance = sensor/58; // doi thoi gian cam bien doc duoc ra cm

Trang 11

}

  else {

  delayms(100);

  P4OUT &= ~BIT0; //den bao hieu tat

  DCtienvetruoc(); //neu cam bien do khoang cach >50 xe tien ve truoc

 

}

  }//end while

}// end main

// -cau hinh timer do khoang cach va quet led -//

void timer ()

{

DCOCTL = 0;

BCSCTL1 = CALBC1_1MHZ; // 1mhz

  DCOCTL = CALDCO_1MHZ; // 1mhz

 

CCTL0 = CCIE; // CCR0 interrupt enabled

  CCR0 = 1000; // 1ms at 1mhz

  TACTL = TASSEL_2 + MC_1 + TAIE; // SMCLK, upmode/Enable Timer Interrupt TAIV

}

// -cau hinh PWM -//

void PWM_init()

{

CCTL1 = CCIE; // Enable interrupt for CCR1

CCR1 = 200; // Load value 20%C0

 

}

Trang 12

// -khai bao vector ngat -//

 #pragma vector=PORT1_VECTOR 

  interrupt void Port_1(void)

{

if(P1IFG&BIT4) // neu co vector ngat

  {

  if(!(P1IES&BIT4)) // neu khong co echo canh len

{

  TACTL|=TACLR; // clears timer A

  miliseconds = 0;

  P1IES |= BIT4; // cho echo canh len

  }

  else

  {

  sensor = (long)miliseconds*1000 + (long)TAR; // do khoang cach bang thoi gian dem duoc

  }

P1IFG &= ~BIT4; //clear flag

}

}

// - khai bao ngat timer -//

#pragma vector=TIMER0_A0_VECTOR 

  interrupt void Timer_A (void)

Trang 13

  interrupt void TimerA(void)

 {

  switch(TAIV)

  {

  case 0x002: // CCR1 interrupt

  P2OUT |= BIT0; // P2.0 = 1 ,1&2_EN = 1,Right Motor bat dau chay   P2OUT |= BIT6; // P2.6 = 1 ,3&4_EN = 1,Left Motor bat dau chay   break;

 

case 0x004:

  break;

 

case 0x00A: //TAR overflow interrupt

  P2OUT &= ~BIT0; // P2.0 = 0 ,1&2_EN = 0,Right Motor dung   P2OUT &= ~BIT6; // P2.6 = 0 ,3&4_EN = 0,Left Motor dung   break;

  }

  }

// -ham tien dong co ve truoc -//

void DCtienvetruoc(){

  // DC phai tien

  P2OUT |= BIT1; // P2.1 = 1,

  P2OUT &= ~BIT2; // P2.2 = 0

 

// DC trai tien

  P2OUT |= BIT3; // P2.3 = 1,

  P2OUT &= ~BIT4; // P2.4 = 0,

}

// -ham lui dong co ket hop chuuyen huong sang phai -//

void luisangphai(){

Trang 14

  // DC phai qua nguoc

  P2OUT &= ~BIT1; // P2.1 = 0,

  P2OUT |= BIT2; // P2.2 = 1

 

// Dc trai dung

  P2OUT &= ~BIT3; // P2.3 = 0,

  P2OUT &= ~BIT4; // P2.4 = 0,

}

// -ham delay -//

void delayms(int ms) {

for(int i=0; i<ms ; i++)

  delay_cycles(1000);

}

// -ham quet led -//

void scanled(){

  char ch;

  CTR = 0x00;

  ch = buff[idx]; // lay du lieu tu Buff 

  PDAT = tbl7seg[ch]; // chuyen ma 7 doan

CTR = (1<<idx); // dieu khien 1 LED tuong ung sang  

idx++; // tang con tro quet => LED tiep theo

  if (idx>=4) idx = 0; // Reset con tro quet

}

Trang 15

//=======================================het=========================

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

a Mô hình thực tế

- Do dịch bệnh nhóm chỉ thực hiện mô phỏng trên protues nên chỉ có hình ảnh mạch điện trên  protues

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

- Mạch hoạt động ổn định, giá trị hiển thị lên led khớp so với cảm biến và động cơ cũng di chuyển như mong muốn cho thấy mạch hoạt động tương đối tốt

c Nhận xét hệ thống

- Ưu điểm: Hệ thống đo chính xác khoảng cách và điều khiển động cơ tiến hay lùi giống yêu cầu đặt ra

- Nhược điểm: Nhóm chưa điểu khiển được tốc độ động cơ và đây cũng là dạng mô phỏng nên chưa thấy được robot hoạt động trên địa hình thực tế có nhìu vật cản thì còn nhược điểm gì về hoạt động của hệ thống

d Hướng phát triển

- Ngoài việc sử dụng đơn thuần robot di chuyển tranh vật cản thì ta có thể thay đổi hình dạng và kết hợp các thiết bị ngoại vi khác để làm robot lau nhà, … ngoài ra hiện nay cảm biến siêu âm kết hợp vi điều khiển còn ứng dụng rộng rãi trong nhìu lĩnh vực

4 TÀI LIỆU THAM KHẢO

[1] https://www.mouser.vn/ProductDetail/TexasInstruments/MSP430F2232TRHAR? qs=iSMark9AYDXbmoraPweWaQ==

Trang 16

https://www.ti.com/product/MSP430F2232

[3]

https://www.hackster.io/powerberry/like-a-bat-with-hc-sr04-829486

5 PHỤ LỤC

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

-Thời gian: Nhóm thực hiện đề tài ngay khi báo cáo giữa kỳ đến nay cũng khoảng hơn 40 ngày -Thuận lợi: Các thành viên đồng lòng và tập trung nên mọi việc được giải quyết nhanh gọn và hiệu quả

-Khó khăn: do tình hình dịch nên nhóm chỉ có thể làm việc online, và không thể làm mô hình thực tế

 b Phân chia công việc

-Nhóm làm việc chung với cách làm việc là sau một tuần nhóm sẽ họp 1 lần để tiến hành thảo luận về trao đổi sau đó tổng kết để thực hiện đề tài

Ngày đăng: 30/10/2023, 16:01

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