Professional Documents
Culture Documents
CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
Robot tự hành (Mobile Robot) nói chung hay robot giải mê cung nói riêng là một
thành phần có vai trò quan trọng trong ngành Robot học. Cùng với sự phát triển mạnh
mẽ của các hệ thống tự động hóa, robot tự hành ngày một được hoàn thiện và càng cho
thấy lợi ích của nó trong công nghiệp và sinh hoạt. Một vấn đề rất được quan tâm khi
nghiên cứu về robot tự hành là làm thế nào để robot biết được vị trí nó đang đứng và có
thể di chuyển tới một vị trí xác định, đồng thời có thể tự động tránh được các chướng
ngại vật trên đường đi. Vì vậy, việc chế tạo thành công đề tài này sẽ mở ra một hướng
tiếp cận và góp phần thúc đẩy việc ứng dụng của robot ngày càng nhiều vào trong đời
sống hằng ngày và trong nghiên cứu chế tạo.
Làm quen với công tác nghiên cứu khoa học và cách thức làm việc nhóm.
Thiết kế và thi công robot có thể tìm đường trong mê cung.
Học hỏi và ứng dụng những kiến thức đã học vào thực tế thông qua đề tài.
Tìm hiểu về cấu trúc robot và giải thuật tìm đường trong mê cung
Lập trình vi điều khiển
Ứng dụng cảm biến
Điều khiển động cơ
Thiết kế chế tạo được robot
Thiết kế chế tạo robot hoạt động trong một môi trường nhất định
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu các vấn lý thuyết liên quan
Thuật toán bám theo tường (wall follower) là một quy tắc nổi tiếng nhất để vượt
qua mê cung, còn được gọi là quy tắc tay trái hoặc quy tắc tay phải. Nếu mê cung chỉ liên
thông đơn giản nghĩa là tất cả các bức tường của nó được kết nối với nhau hoặc kết nối
với đường bao quanh mê cung, thì bằng cách dò một tay lên một bức tường của mê cung
thì người đi đảm bảo không bị lạc và tìm được lối ra nếu có một lối ra trên đường bao;
hoặc nếu không có lối ra thì sẽ quay trở lại lối vào và sẽ đi qua tất cả các đường của mê
cung ít nhất 1 lần.
Điều khiển là quá trình thu thập thông tin, xử lý thông tin và tác động lên hệ
thống để đáp ứng của hệ thống “gần” với mục đích định trước (bám đuổi kịp mục đích
điều khiển & theo sát yêu cầu thiết kế). Điều khiển tự động là quá trình điều khiển không
cần sự tác động của con người.
Điều khiển học nghiên cứu những hệ thống có bản chất khác nhau, có khả năng
thu nhận, lưu trữ, biến đổi thông tin và sử dụng thông tin để ra quyết định điều chỉnh và
điều khiển hệ thống đạt yêu cầu thiết kế.
Mô tả: Mạch Arduino Nano CH340 có kích thước nhỏ gọn, có thiết kế và chuẩn
chân giao tiếp tương đương với Arduino Nano chính hãng, tuy nhiên mạch sử dụng chip
nạp chương trình và giao tiếp UART CH340 giá rẻ để tiết kiệm chi phí.
Arduino Nano là phiên bản nhỏ gọn của Arduino Uno R3 sử dụng MCU
ATmega328P-AU dán, vì cùng MCU nên mọi tính năng hay chương trình chạy trên
Arduino Uno đều có thể sử dụng trên Arduino Nano, một ưu điểm của Arduino Nano là
vì sử dụng phiên bản IC dán nên sẽ có thêm 2 chân Analog A6, A7 so với Arduino Uno.
Thông số kỹ thuật:
Thiết kế theo đúng chuẩn chân, kích thước của Arduino Nano chính hãng.
IC chính: ATmega328P-AU.
IC nạp và giao tiếp UART: CH340.
Điện áp cấp: 5VDC cổng USB hoặc 6-9VDC chân Raw.
Mức điện áp giao tiếp GPIO: TTL 5VDC.
Dòng GPIO: 40mA.
Số chân Digital: 14 chân, trong đó có 6 chân PWM.
Số chân Analog: 8 chân (hơn Arduino Uno 2 chân).
Flash Memory: 32KB (2KB Bootloader).
SRAM: 2KB
EEPROM: 1KB
Clock Speed: 16Mhz.
Tích hợp Led báo nguồn, led chân D13, LED RX, TX.
Tích hợp IC chuyển điện áp 5V LM1117.
Kích thước: 18.542 x 43.18mm
Mô tả: Mạch điều khiển động cơ DC L298 có khả năng điều khiển 2 động cơ DC,
dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp
nguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC).
Mạch điều khiển động cơ DC L298 dễ sử dụng, chi phí thấp, dễ lắp đặt.
Thông số kỹ thuật:
IC chính: L298 - Dual Full Bridge Driver
Điện áp đầu vào: 5~30VDC
Công suất tối đa: 25W 1 cầu (lưu ý công suất = dòng điện x điện áp nên áp cấp vào càng
cao, dòng càng nhỏ, công suất có định 25W).
Dòng tối đa cho mỗi cầu H là: 2A
Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
Kích thước: 43x43x27mm
Mô tả: Bánh đa hướng mắt trâu kim loại lớn có kích thước nhỏ gọn thường được
sử dụng như bánh cân bằng của Robot, bánh có chất lượng tốt, chuyển hướng nhanh và
rất êm, phù hợp cho nhiều loại thiết kế robot khác nhau.
Thông số kỹ thuật:
Chất liệu ổ bi : sắt
Chất liệu vỏ : thép
Chiều cao : 20mm
Chiều dài : 50mm
Khoảng cách 2 lỗ bắt vít : 40mm
Đường kính lỗ vít : 4mm
Trọng lượng : 44g
Mô tả: cảm biến dùng để nhận biết khoảng cách đến vật cản nhờ sóng siêu âm
phát ra từ cảm biến và nhận về (Quãng đường = vận tốc x thời gian / 2).
Thông số kỹ thuật:
Điện áp: DC 5V
Dòng điện:2mA
Output Level:5V
góc cảm ứng: không quá 15 độ
phát hiện khoảng cách: 2 cm -100cm
Độ chính xác cao: lên đến 0.3cm
Mô tả: Động cơ DC giảm tốc V1 1:48 + bánh xe là loại được lựa chọn và sử dụng
nhiều nhất hiện nay cho các thiết kế Robot đơn giản, động cơ có chất lượng và giá thành
vừa phải cùng với khả năng dễ lắp ráp đem đến chi phí tiết kiệm và sự tiện dụng cho
người sử dụng, các bạn khi mua động cơ có thể mua thêm gá bắt động cơ vào thân
Robot.
Thông số kỹ thuật:
Điện áp hoạt động : 3~9VDC
Dòng điện tiêu thụ: 110 - 140mA
Tỉ số truyền: 1:48
Số vòng/1phút:
125 vòng/ 1 phút tại 3VDC.
208 vòng/ 1 phút tại 5VDC.
Moment: 0.8KG.CM
Mô tả: Pin Lipo là viết tắt của Pin Lithium Polymer, là loại Pin có kích thước nhỏ
gọn, dòng xả lớn, tuổi thọ cao, pin có điện áp trung bình 3.7VDC, sạc đầy là 4.2VDC,
có thể dùng mạch sạc TP4056 để sạc pin.
Thông số kỹ thuật:
Dung lượng: 2200mAh
Điện áp: 11.1V
Dòng xả 30C
Kích thước: 24mm x 34mm x 105mm
Trọng lượng: 183gam
Thiết kế đẹp, bắt mắt, vô cùng bắt mắt
2.2.8 Nhựa Mica Trong
Mô tả: Dây cắm testboard cái cái 20cm 40 sợi (F-F Jumper Wire) được sử dụng
với testboard để kết nối các module và linh kiện điện tử với nhau.
Thông số kỹ thuật:
Dây lõi đồng nhiều sợi có độ dẫn điện cao, mối tiếp xúc chắc chắn, độ dài 20cm, có
nhiều màu sắc khác nhau (10 màu)
Hình 15 Ốc và đai ốc
CHƯƠNG 4: THIẾT KẾ
4.1 Phần cơ khí
4.1.1 Khung xe
Arduino nano
Cảm biến siêu âm
Pin lipo
Mạch giảm áp
Mạch ĐK động cơ
Động cơ và bánh xe
#define ENA 5
#define ENB 6
#define in1 7
#define in2 8
#define in3 9
#define in4 10
// chân thu và phát của cảm biến trước
#define thu_A 2
#define phat_A 3
// chân thu và phát của cảm biến phải
#define thu_R 11
#define phat_R 12
float thoigian;
float dist;
float cambientrai;
float cambientruoc;
float cambienphai;
int XungENB=0,XungENA=0;
int p; // biến bù trừ tốc động cơ
float error;
float dokhoangcach(int chanphat, int chanthu) //tính khoảng cách từ cảm biến đến tường
{
digitalWrite(chanphat,HIGH);
delayMicroseconds(100);
digitalWrite(chanphat,LOW);
thoigian=pulseIn(chanthu,HIGH);
dist=0.0344*(thoigian/2);
return (dist);
}
void doccambien()
{
cambientruoc= dokhoangcach(phat_A,thu_A);
cambienphai= dokhoangcach(phat_R,thu_R);
//Serial.print(" Trai "); //70
//Serial.print(cambientrai);
//Serial.print(" Truoc "); //50
//Serial.print(cambientruoc);
//Serial.print(" Phai "); //40
//Serial.println(cambienphai);
}
// thiết kế cho xe quẹo trái
void QueoTrai()
{ nghichtrai();
nghichphai();
analogWrite(ENA,150);//110
analogWrite(ENB,150);
delay(5);
while (cambientruoc<15)
{
thuanphai();
nghichtrai();
analogWrite(ENA,150);//110
analogWrite(ENB,150);
doccambien();
}
}
void nghichphai()
{
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}
void thuanphai()
{
digitalWrite(in2,LOW);
digitalWrite(in1,HIGH);
}
void nghichtrai()
{
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
}
void thuantrai()
{
digitalWrite(in4,LOW);
digitalWrite(in3,HIGH);
}
void BamPhai()
{
error = cambienphai-8;
if(error==0)
{
XungENA = 60;
XungENB = 60;
}
else
{
if(abs(error)>0 && abs(error)<=0.5) p=5;
if(abs(error)>0.5 && abs(error)<=1) p=10;
if(abs(error)>1 && abs(error)<=1.5) p=15;
if(abs(error)>1.5 && abs(error)<=2) p=20;
if(abs(error)>2 && abs(error)<=2.5) p=25;
if(abs(error)>2.5 && abs(error)<=3) p=30;
if(abs(error)>3 && abs(error)<=3.5) p=35;
if(abs(error)>3.5 && abs(error)<=4) p=40;
Tìm hiểu được nguyên lý hoạt động một số linh kiện, robot giải mê cung.
Biết cách thiết kế robot, hoạt động và cách kết hợp giữa các linh kiện.
Rèn luyện hoạt động nhóm, biết cách phân chia nhiệm vụ giữa các thành viên.
Biết cách và rèn luyện viết báo cáo.
Robot tìm đúng đường giải mê cung.