Đồ ế ế đườ Document Transcript
• 1. Đồ án mơn h c 1 Page 1 Robot dò line L I M ọ Ờ Ở ĐẦU GVHD: TS.Nguy n Thanh Phễ ương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́
• 2. Đồ án mơn h c 1 Page 2 L i ọ ờ đầu tiên, em xin chân thành c m n th y Nguy n Thanh ả ơ ầ ễ
Phương và th y Ph m Qu c Phầ ạ ố ương ã giúp đ đỡ em r t nhi u trong quá trình th c hi n ấ ề ự ệ đồ án này! án môn h c 1 là án u tiên trong ch ng trình h c c a em, nên ây là án r t quan tr ng,
Đồ ọ đồ đầ ươ ọ ủ đ đồ ấ ọ
là n n t ng ề ả để em th c hi n nh ng ự ệ ữ đồ án sau này. Trong quá trình th c hi n ự ệ đồ án, được s giúp ự
t n tình c a th y Nguy n Thanh Ph ng và th y Ph m Qu c Ph ng em ã thu c nhi u
đỡ ậ ủ ầ ễ ươ ầ ạ ố ươ đ đượ ề
ki n th c quý báu giúp em r t nhi u trong quá trình h c và làm vi c c a em trong tế ứ ấ ề ọ ệ ủ ương lai : được ti p xúc v i vi i u khi n h AVR ( Atmega8), bi t cách thi t k m ch in b ng ph n m m OrCaD, thi ế ớ đ ề ể ọ ế ế ế ạ ằ ầ ề
công m ch in…v.v. Trong quá trình th c hi n ạ ự ệ đồ án, do em ch a có nhi u kinh nghi m nên không ư ề ệ
tránh kh i nh ng sai sót. Mong nh n ỏ ữ ậ được s góp ý c a các th y ự ủ ầ để được hoàn thi n h n. M t l n ệ ơ ộ ầ
n a em xin chân thành c m n s quan tâm giúp ữ ả ơ ự đỡ ủ c a quý th y trong quá trình th c hi n ầ ự ệ đồ án em hoàn thành án này và mong c s giúp c a các th y trong các án sau. SVTH
để đồ đượ ự đỡ ủ ầ đồ
Ph m Qu c Gia M C L C GVHD: TS.Nguy n Thanh Phạ ố Ụ Ụ ễ ương SVTH: Ph m Qu c Gia ThS. Ph m ạ ố ạ
Qu c Phố ương L p 08DDC-HUTECH ơ ́
• 3. Đồ án môn h c 1 Page 3 Gi i thi u…………………………………………………….4 I. T ngọ ớ ệ ổ
quan………………………………………………...4 1. C u trúc ……………………………………………ấ
4 2. H th ng i u khi n……………………………… ..4 3. S ệ ố đ ề ể ơ đồ nguyên lý h th ng i u ệ ố đ ề
khi n……………...5 II. Ho t ể ạ động…………………………………………………7 1. Đặ ả đườc t ng ua…………………………………...7 2. Ho t ng c a ng c Servo………………………10 3. Ho t
đ ạ độ ủ độ ơ ạ
ng c a sensor……………………………….11 4. Gi i thu t……………………………………………12
độ ủ ả ậ
5. Code i u khi n…………………………………….13III. ng d ng, h n ch và hđ ề ể Ứ ụ ạ ế ướng gi i ả
quy t…………………...28 GVHD: TS.Nguy n Thanh Phế ễ ương SVTH: Ph m Qu c Gia ThS. Ph m ạ ố ạ
Qu c Phố ương L p 08DDC-HUTECH ơ ́
• 4. Đồ án môn h c 1 Page 4 GI I THI U T ọ Ớ Ệ ự động hóa là t ng hoà c a nhi u l nh v c nh cổ ủ ề ĩ ự ư ơ
khí, i u khi n, cơng ngh thơng tin và c i n t . Các l nh v c này k t h p l i v i nhau t o thành đ ề ể ệ ơ đ ệ ử ĩ ự ế ợ ạ ớ ạ
các h th ngt ệ ố ự động hóa và cao h n n a là t ơ ữ ự động hóa tồn b q trình s n xu t. Ngành ộ ả ấ
côngnghi p t ệ ự động hóa ngày càng có vai trị quan tr ng và h t s c c n thi t ọ ế ứ ầ ế để đ áp ngcác m c ứ ụ
tiêu phát tri n kinh t , nh t là trong ti n trình cơng nghi p- hi n ể ế ấ ế ệ ệ đại hóanhanh nh hi n nay. Nó ịi ư ệ đ
h i m t ngu n nhân l c có trình ỏ ộ ồ ự độ cao để ậ v n hành. Trên th gi i hi n nay có r t nhi u lo i ế ớ ệ ấ ề ạ
robot:Quy mô l n nh : Nh ng cánh tay máy trong các dây chuy n s n xu t, nh ng h th ngs n ớ ư ữ ề ả ấ ữ ệ ố ả
xu t t ấ ự động.Nh h n là nh ng robot có kh n ng di chuy n, làm nh ng công vi c nguy hi m ỏ ơ ữ ả ă ể ữ ệ ể
thayth con ngế ười, robot giúp người già, robot bán hàng…v.v. Trong đồ án l n này em th c hi n ầ ự ệ
làm robot dò line, so v i nh ng robot trên thìnó ch là 1 robot nh , ớ ữ ỉ ỏ đơn gi n nh ng ây là n n t ng ả ư đ ề ả
em làm c nh ng cái l nh n, có ích h n trong q trình h c t p và làm vi c c a em sau này.
để đượ ữ ớ ơ ơ ọ ậ ệ ủ
I. T ng quan: 1. C u trúc: C u trúc c a robot g m: - Hai bánh xe sau ổ ấ ấ ủ ồ được n i v i hai motor truy n ố ớ ề
ng cho xe. - Hai bánh xe tr c c i u khi n b ng ng c Servo - Bo m ch ch dùng chíp
độ ướ đượ đ ề ể ẳ độ ơ ạ ủ
AVR Atmega8 để ế ti p nh n tín hi u t sensor và phát l nh i u khi n ho t ậ ệ ừ ệ đ ề ể ạ động c a xe. - H th ng ủ ệ ố
dò đường ( Sensor) g m 6 c p quang tr - led siêu sáng. GVHD: TS.Nguy n Thanh Phồ ặ ở ễ ương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́
• 5. Đồ án môn h c 1 Page 5 2. H th ng i u khi n: Bo m ch ch s d ng chip AVR ọ ệ ố đ ề ể ạ ủ ử ụ
Atmega8 Hình 1: Chip Atmega8 3. S ơ đồ nguyên lý m ch i u khi n: • M ch Ngu n: Hình 2: S ạ đ ề ể ạ ồ ơ đồ
m ch ngu n M ch ngu n dùng ic n áp 7805 t ngu n 12 v ạ ồ ạ ồ ổ ừ ồ để ạ t o ra i n áp 5v cung c pcho vi đ ệ ấ
i u khi n và c u chì b o v ic. GVHD: TS.Nguy n Thanh Ph ng SVTH: Ph m Qu c Gia ThS.
đ ề ể ầ ả ệ ễ ươ ạ ố
Ph m Qu c Phạ ố ương L p 08DDC-HUTECH ơ ́
• 6. Đồ án mơn h c 1 Page 6 • M ch i u khi n: Hình 3: S ọ ạ đ ề ể ơ đồ ạ m ch i u khi n Tín hi u t đ ề ể ệ ừ
sensor đượ đọc c v các chân trên Port.C c a IC.Vì chip Atmega8 ch có 2 chân PWM nên PIND.4 ề ủ ỉ
c dùng làm chân i u ch xung i u khiieenr góc quay c a ng c RC Servo.B n PIN
đượ đ ề ế để đ ề ủ độ ơ ố
0,5,6,7 c a Port.D ủ được dùng để đưa tín hi u i u khi n 2 c u H L298_A vàL298_B.Hai chân ệ đ ề ể ầ
PINB.1, PINB.2 i u ch xung PWM i u khi n 2 c u H qua ó i u ch nht c đ ề ế đ ề ể ầ đ đ ề ỉ ố độ ủ c a hai động c . ơ
GVHD: TS.Nguy n Thanh Phễ ương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-ơ
HUTECH ́
• 7. Đồ án mơn h c 1 Page 7 • M ch cơng su t: Hình 4: S ọ ạ ấ ơ đồ ph n m ch công su tTrong ầ ạ ấ
m i IC L298 ỗ được tích h p 2 c u H, m i c u H ch u ợ ầ ỗ ầ ị được dịng 2 Ampe. Khin i các chân có cùng ố
ch c n ng c a 2 c u H trên IC v i nhau thì IC có th cung c pứ ă ủ ầ ớ ể ấ được dòng 4 Ampe đủ để cho động c ho t ơ ạ động h t công su t.C n g n t n nhi t cho IC L298 vì trong quá trình ho t ế ấ ầ ắ ả ệ ạ động IC r t nóng ấ
d h ng IC. II. HO T ễ ỏ Ạ ĐỘNG 1. Đặ ả đườc t ng ua: C u t o đ ấ ạ đường ua nh sau: GVHD: TS.Nguy nđ ư ễ
Thanh Phương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́
• 8. Đồ án môn h c 1 Page 8 * Dày 30mm * R ng 300mm Hình 5 M t ọ ộ ặ đường ch y c a ạ ủ đường ua (xem hình 6) bao g m màu tr ng, màu en, và màu xám. Trong ó ph n màu tr ng dùng xác
đ ồ ắ đ đ ầ ắ để
nh khúc ng cua hay chuy n làn ng. Hình 6 Tồn b ng ua là s k t h p c a ng
đị đườ ể đườ ộ đườ đ ự ế ợ ủ đườ
th ng, ẳ đường vịng, đường ngo t (góc cua 900), ặ đường vịng hình ch S (bán kính bên trong t i ữ ố
thi u là 450mm) và ể độ ố d c khi lên xu ng không quá 700 (xem trong hình 7) GVHD: TS.Nguy n ố ễ
Thanh Phương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́
• 9. Đồ án mơn h c 1 Page 9 Hình 7 khúc ngo t 900 s có 2 v ch màu tr ng ọ Ở ặ ẽ ạ ắ để báo hi u, ệ
r ng c a m i v ch màu tr ng là 20mm, kho ng cách c a 2 v ch màu tr ng này là 30mm, và
độ ộ ủ ỗ ạ ắ ả ủ ạ ắ
chúng đượ đặc t cách khúc ngo t t 500mm ặ ừ đến 100mm (xem hình 8). Hình 8 khúc chuy n làn Ở ể
ng, chi u dài và b r ng khúc chuy n làn ng u là 600mm. Có 2 v ch màu tr ng báo
đườ ề ề ộ ở ể đườ đề ạ ắ để
hi u, ệ độ ộ r ng c a m i v ch tr ng này là 20mm, kho ng cách c a 2 v ch màu tr ng này là 30mm, ủ ỗ ạ ắ ả ủ ạ ắ
chúng đượ đặc t m t bên (bên trái hay bên ph i) tùy thu c vào hộ ả ộ ướng c a ph n chuy n ủ ầ ể đường và cách khúc ngo t t 300mm ặ ừ đến 1000mm. Đường màu tr ng trung tâm s xu t hi n t i m 200mm ắ ẽ ấ ệ ừ đ ể
n 400mm (xem hình 9). GVHD: TS.Nguy n Thanh Ph ng SVTH: Ph m Qu c Gia ThS. Ph m
đế ễ ươ ạ ố ạ
Qu c Phố ương L p 08DDC-HUTECH ơ ́
• 10. Đồ án mơn h c 1 Page 10 Hình 9 2. Ho t ọ ạ động c a ủ động c servo: Hình 10: C u t o ơ ấ ạ
ng c Servo RC servo là m t lo i ng c i n c bi t có kh n ng quay c c u ch p hành t i
độ ơ ộ ạ độ ơ đ ệ đặ ệ ả ă ơ ấ ấ ớ
m t v trí chính xác và gi c ng t i v trí ó ngay c khi c c u ch p hành b ộ ị ữ ứ ạ ị đ ả ơ ấ ấ ị đẩy tr l i. D i góc ở ạ ả
quay chu n c a ẩ ủ đầu tr c ra thụ ường là là 90 và 180 độ. GVHD: TS.Nguy n Thanh Phễ ương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́
• 11. Đồ án môn h c 1 Page 11 ọ Động c servo ơ đượ đ ềc i u khi n b ng m ch i u khi n. m ch ể ằ ạ đ ề ể ạ
i u khi n b ngxung vng có r ng 1ms ->2ms, t n s 50 -> 60 hz. i u khi n servo quay
đ ề ể ằ độ ộ ầ ố Để đ ề ể
theo các góc c nh thì chip i u khi n ph i phátxung v i ố đị đ ề ể ả ớ độ ộ r ng t 1ms ừ đến 2ms. Trên hình bên là mơ t v tín hi u i u khi n này:1ms ng v i góc quay nh nh t -900 và 2ms ng v i góc quay ả ề ệ đ ề ể ứ ớ ỏ ấ ứ ớ
l n nh t c a servo 900nên góc quay gi a 00 ng v i ớ ấ ủ ở ữ ứ ớ độ ộ r ng xung là 1,5 ms. Vì th RC servo ế
c s d ng i u khi n h ng di chuy n c a robot m tcách chính xác và áp ng t t yêu c u
t ra. 3. Ho t ng c a sensor dò ng: C n dị ng a ra phía tr c, g m có 6 c p quang
đặ ạ độ ủ đườ ầ đườ đư ướ ồ ặ
tr -Led siêu sáng n msong song v i nhau. Khi ho t ở ằ ớ ạ động ánh sáng t led chi u xu ng ừ ế ố đường n u ế
g p ặ đườngline màu tr ng ánh sáng ph n chi u tr l i quang tr tắ ả ế ở ạ ở ương ng, lúc ó tín hi u ứ đ ệ
ctruy n v chân t ng ng PortC c a Vi i u khi n là m c [1].N u ánh sáng t ledchi u
đượ ề ề ươ ứ ở ủ đ ề ể ứ ế ừ ế
xu ng g p n n en c a ố ặ ề đ ủ đường ua thì ánh sáng b h p th h t, lúc ó tín hi u t sensor báo v đ ị ấ ụ ế đ ệ ừ ề
portD vi i u khi n là m c [0]. GVHD: TS.Nguy n Thanh Phđ ề ể ứ ễ ương SVTH: Ph m Qu c Gia ThS. ạ ố
Ph m Qu c Phạ ố ương L p 08DDC-HUTECH ơ ́
• 12. Đồ án môn h c 1 Page 12 4. Ý tọ ưởng gi i thu t: Khi xe ho t ả ậ ạ động, sensor dị đường báo tín hi u v Vi i u khi n ệ ề đ ề ể để ế đượ bi t c v trí tị ương đố ủi c a xe so v i ớ đường i. Tđ ương ng v i t ng ứ ớ ừ
tín hi u Vi i u khi n s phát l nh i u khi n ệ đ ề ể ẽ ệ đ ề ể đến RC Servo và 2 động c kéo 2 bánh xe truy n ơ ề
ng. Vi c i u khi n b Servo c n liên t c và chính xác khi xe ch y t c caov n luôn bám
độ ệ đ ề ể ẻ ầ ụ để ạ ố độ ẫ
c line ch ng. Vì th ta s d ng ng t tràn timer0 t o ra th igian ki m tra c a servo là
đượ ỉ đườ ế ử ụ ắ để ạ ờ ể ủ
20ms. Khi ó c m i 20ms thì servo đ ứ ỗ đượ đ ềc i u ch nh hỉ ướngquay m t l n ộ ầ đảm b o robot di chuy n ả ể
úng line. Khi g p v ch báo hi u b góc 900 ho c chuy n line thì vi i u khi n phát l nhxu ng 2
đ ặ ạ ệ ẻ ặ ể đ ề ể ệ ố
ng c gi m t c cho xe xe d dàng x lý sau ó ch tín hi u ti p theo b góc ho c
độ ơ ả ố độ để ễ ử đ ờ ệ ế để ẻ ặ
chuy n line.T c ể ố độ ủ c a xe đượ đ ềc i u khi n b ng 2 chân i u ch xung PWM (PWM1A vàPWM1B) ể ằ đ ề ế
c ng h tr trong vi c i u ch nh hũ ỗ ợ ệ đ ề ỉ ướng di chuy n c a xe. GVHD: TS.Nguy n Thanh Phể ủ ễ ương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́
• 13. Đồ án mơn h c 1 Page 13 5. Code i u ọ đ ề
khi n:/*****************************************************Project : DO AN MON HOC 1 ( Robot do ể
line)Version : 1.0Date : 20/12/2010Author : Pham Quoc GiaCompany : Lop 08-DTDComments:Chip type : ATmega8Program type : ApplicationClock frequency : 12.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 256*****************************************************/ #include <mega8.h> #include <delay.h>// Declare your global variables here int
x=0;/***************************************************// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: 12000.000 kHz// Mode: Fast PWM top=ICR1// OC1A output: N on-Inv.// OC1B output: N on-Inv.// Input Capture on Falling
Edge***************************************************/ GVHD: TS.Nguy n Thanh Phễ ương SVTH: Ph mạ
Qu c Gia ThS. Ph m Qu c Phố ạ ố ương L p 08DDC-HUTECH ơ ́
• 14. Đồ án mơn h c 1 Page 14 void setup_pwm() { TCCR1A=0xA2; //Thiet lap PWM cho ọ
TCCR1A& 1B TCCR1B=0x19; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0X00;
ICR1L=0xff; }//----------------------------------- void set_pwm1A(int duty1A) { OCR1AH=0x00;
OCR1AL=(duty1A); }//----------------------------------- void set_pwm1B(int duty1B) { OCR1BH=0x00; OCR1BL=(duty1B); }//----------------------------------- void SPEED(int L, int R) { set_pwm1A(R-8); set_pwm1B(L); }//----------------------------------- GVHD: TS.Nguy n Thanh Phễ ương SVTH: Ph m Qu c ạ ố
Gia ThS. Ph m Qu c Phạ ố ương L p 08DDC-HUTECH ơ ́
• 15. Đồ án môn h c 1 Page 15/*>>>>>DAO CHIEU DONG ọ
CO<<<<<<*///----------------------------------- void DAO_A() { PORTD.5=~PORTD.5;
PORTD.6=~PORTD.6; }//----------------------------------- void DAO_B() { PORTD.7=~PORTD.7; PORTB.0=~PORTD.0; }//-----------------------------------//**********CHUYEN LINE********/ void
CHUYEN_PHAI() { while (1) { if (PINC==0x0c) x=0;//STRANGE if (PINC==0x18) x=-18;//LEFT 18 if (PINC==0x06) x= 18;//RIGHT 18 if (PINC==0x00) //CHANGE LANE { x= 18; GVHD: TS.Nguy n ễ
Thanh Phương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L p 08DDC-HUTECH ơ ́ • 16. Đồ án mơn h c 1 Page 16 SPEED(235,160); while(1) { if (PINC.1==1) { x=-65; ọ
CHUYEN_TRAI() { while(1) { if (PINC==0x0c) x=0; //STRANGE if (PINC==0x18) x=-18; //LEFT 18 if (PINC==0x06) x= 18; //RIGHT 18 if (PINC==0x00) //CHANGE LANE { x= -18; SPEED(160,235); while(1) { GVHD: TS.Nguy n Thanh Phễ ương SVTH: Ph m Qu c Gia ThS. Ph m Qu c Phạ ố ạ ố ương L pơ
08DDC-HUTECH ́
• 17. Đồ án mơn h c 1 Page 17 if(PINC.4==1) { x=65; SPEED(210,160); delay_ms(90); break;ọ
} } break; } } }//----------------------------------- void BE90() { SPEED(190,190); DAO_A(); DAO_B();