Đề tài Điều khiển chuyển động rôbôt bằng động cơ bước

Tài liệu Đề tài Điều khiển chuyển động rôbôt bằng động cơ bước: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN TỬ - VIỄN THÔNG -------------------o0o---------------- BÀI TẬP LỚN Môn : VI XỬ LÝ Đề tài : ĐIỀU KHIỂN CHUYỂN ĐỘNG RÔBÔT BẰNG ĐỘNG CƠ BƯỚC Thầy hướng dẫn : Nguyễn Hoàng Dũng Nhóm sinh viên : 1. Hoàng ĐứcGiang Nguyên 2. Nguyễn Phi Tuấn 3. Phạm Quang Vinh 4. Vũ Thị Thanh Thảo 5.Nguyễn Thu Thủy HÀ NỘI , THÁNG 5-2006 LỜI NÓI ĐẦU Sau một thời gian học tập trên giảng đường của trường đại học bách khoa Hà Nội nói chung hay khoa điện tử viễn thông nói riêng ,chúng em đã tiếp thu được những kiến thức khoa học và công nghệ. Đặc biệt là môn vi xử lý do thầy Nguyễn Hoàng Dũng giảng dạy, chúng em đã có cơ hội chuyển kiến thức lý thuyết thành sản phẩm thực tế qua đề tài “ Điều khiển chuyển động rôbôt bằng động cơ bước”. Nhận được sự quan tâm và chỉ bảo của thầy chúng em đã hoàn thành được sản phẩm của mình. Qua đây chúng em có thêm được nhiều kiến thức thực tế giúp cho công việc sau này. Chúng em xin chân thành cảm ơn. Chương I...

doc22 trang | Chia sẻ: hunglv | Lượt xem: 1221 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Điều khiển chuyển động rôbôt bằng động cơ bước, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN TỬ - VIỄN THƠNG -------------------o0o---------------- BÀI TẬP LỚN Mơn : VI XỬ LÝ Đề tài : ĐIỀU KHIỂN CHUYỂN ĐỘNG RƠBƠT BẰNG ĐỘNG CƠ BƯỚC Thầy hướng dẫn : Nguyễn Hồng Dũng Nhĩm sinh viên : 1. Hồng ĐứcGiang Nguyên 2. Nguyễn Phi Tuấn 3. Phạm Quang Vinh 4. Vũ Thị Thanh Thảo 5.Nguyễn Thu Thủy HÀ NỘI , THÁNG 5-2006 LỜI NĨI ĐẦU Sau một thời gian học tập trên giảng đường của trường đại học bách khoa Hà Nội nĩi chung hay khoa điện tử viễn thơng nĩi riêng ,chúng em đã tiếp thu được những kiến thức khoa học và cơng nghệ. Đặc biệt là mơn vi xử lý do thầy Nguyễn Hồng Dũng giảng dạy, chúng em đã cĩ cơ hội chuyển kiến thức lý thuyết thành sản phẩm thực tế qua đề tài “ Điều khiển chuyển động rơbơt bằng động cơ bước”. Nhận được sự quan tâm và chỉ bảo của thầy chúng em đã hồn thành được sản phẩm của mình. Qua đây chúng em cĩ thêm được nhiều kiến thức thực tế giúp cho cơng việc sau này. Chúng em xin chân thành cảm ơn. Chương I: Mở đầu I. Đặt vấn đề II. Mục đích thiết kế -Phát huy thành quả ứng dụng của vi điều khiển tạo ra những sản phẩm tiên tiến cĩ độ tích hợp cao về cơng nghệ. -Việc thực hiện đề tài này giúp em tiếp cận với thực tế, phát huy nhung kiến thức đã học trong mơn vi xử lý. - Qua đây cĩ thêm nhiều kinh nghiệm giúp ích sau khi ra trường cĩ thể hịa nhập với cơng nghệ tiên tiến trên xa hội. III. Nội dung đề tài 1. Đề tài Điều khiển chuyển động của rơbồt bằng động cơ bước. 2.Chức năng của hệ thống - Chuyển động động cơ bước theo ý muốn của người lập trình . + Chuyển động thẳng: tiến, lùi. + Chuyển động quay trái, phải. + Điều khiển được tốc độ chuyển động của động cơ. + Điều khiển động cơ bước theo đường đi bất kì ( bằng cảm ứng quang). CHƯƠNG II THIẾT KẾ I.Nhiệm vụ thiết kế - Thiết kế điều khiển chuyển động rơbơt bằng động cơ bước. Vậy ta làm các bước sau: +Mạch điều khiển động cơ +Thiết kế mơ hình động cơ +Viết chương trình điều khiển II.Sơ đồ khối của hệ thống Khối điều khiển Khối cơ học III.Thiết kế và phân tích nguyên lý từng khối 1.Khối điều khiển Để điều khiển chuyển động của động cơ theo ý muốn cần phải cĩ trình dịch chính xác với chuyển động của động cơ, và một nguồn dịng phù hợp đảm bảo cho động cơ hoạt động. Cĩ rất nhiều cách làm phục vụ mục đích này. Với việc điều khiển động cơ chỉ cần dịng qua cuộn dây cỡ 500 mA, cĩ thể dùng dãy IC loại dãy Darlington cơllêctơ hở : +ULN2003, ULN2803 +DS2003( national semiconductor 2003) ,MC1413(motorola). Tuy nhiên những cách làm trên chỉ sử dụng cho những động cơ nhỏ, trên thực tế chúng tơi dùng IC opto coupler và IC tip 122 cĩ cấu tạo dùng mạch mắc theo kiểu Darlington . a.Một số đăc tính kĩ thuật của tip 122 BCE Với dịng vào cực bazơ cĩ thể đạt khoảng 120 mA , dịng Ic khoảng 5 đến 8 ampe. Mạch được mắc theo sơ đồ Nhưng trên thực tế ta măc tip 122 với opto coupler để dịng vào cực bazơ nhỏ hơn 120 mA thì ta sẽ mắc đầu vào với 1 điện trở R= 10k. b.1 số đặc tính kĩ thuật của opto coupler Khi điều khiển động cơ chuyển động trên mặt đất ta phải dùng một động cơ cĩ cơng suất lớn với mức điện áp là 12V. Mặt khác tín hiệu ra là một là 5V, điều đĩ phải kích áp và dịng qua động cơ. Cĩ rất nhiều cách khác nhau, và một trong những cách hay chính là dùng opto coupler như một khố chuyển từ 5V sang 12V và đưa trực tiếp nguồn dịng từ nguồn sang động cơ.Với cấu tạo: Tuy nhiên cấu tạo của opto coupler(p51) trên thị trường Việt Nam chỉ cĩ 4 chân 1, 2, 4, 5 mà khơng cĩ các chân cịn lại vì khơng cần thiết. IC ULN2003 cho dịng vào cuộn dây I<500 mA. b. Thiết kế mạch tạo chuyển động dùng ULN2003 : Nối hai IC ULN2003 với : + Đầu vào các chân từ 1-4 của 2 IC lần lượt với đầu ra tương ứng 4 bit thấp và cao của 89C51. + Đầu ra nối với các chân A, B, C, D của 2 động cơ bước. Sơ đồ nối chân cụ thể giống như hình vẽ tổng quan của mạch điều khiển động cơ sẽ nĩi tới sau. c. Giới thiệu sơ lược về IC 89C51 -IC điều khiển 89C51tương thích với họ MSC51 cĩ đặc điểm sau : + 4K Bytes Flash rom + 128 Bytes Ram + 4 port 8 bit + 2 bộ định thời 16 bit + Cĩ port nối tiếp + Cĩ thể mở rộng bộ nhớ chương trình ngồi 64 K Byte + Bộ xử lý bit Cấu trúc bên trong của 89C51: TXD* RXD* T1* T2* P0 P1 P2 P3 INT\*1 INT\*0 TIMER2 TIMER1 PORT nối tiếp EA\ RST PSEN ALE Các thanh ghi khác 128 byte Ram Rom 4K-8051 OK-8031 Timer1 Timer2 Điều khiển ngắt Điều khiển bus CPU Port nối tiếp Các port I\O Tạo dao động - Sơ đồ chân của 89C51 : 18 19 12MHz 40 29 30 31 9 17 16 15 14 13 12 11 10 RD\WR\ T1 T0 INT1 INT0 TXD RXD A15 A14 A13 A12 A11 A10 A9 A8 28 27 26 25 24 23 22 21 8 7 6 5 4 3 2 1 32 33 34 35 36 37 38 39 Po.7 Po.6 Po.5 Po.4 Po.3 Po.2 Po.1 Po.0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 PSEN\ ALE EA\ RET Vcc 20 Vss 30p 30p XTAL1 XTAL2 2.Khối cơ học a. Động cơ bước - Cấu trúc bên trong động cơ bước A B C D A',B',C',D' -Phương pháp điều khiển động cơ bước Các cuộn dây được cấp dịng theo vịng. Mỗi khi vịng dây được cấp thì động cơ được gọi là quay 1 bước AA' t BB' t CC' t DD' t Hoạt động của từng cuộn dây trong động cơ bước. Các cuộn dây ABCD được nạp theo chu trình : “ABCD”= “1001” à “1100” à “0110” à “0011”. Lúc đĩ động cơ sẽ quay ngược chiều kim đồng hồ được 1 vịng . Muốn động cơ quay thuận chiều kim đồng hồ thì ta chỉ việc thay đổi ngược lại chu trình nạp trên . Tuy nhiên, chúng em xin sử dụng động cơ bước trên thị trường với các bước khác trong sách: “ABCD”= “1001”, “1110”, “0110”, “0001”. Với các cuộn dây B,C luơn cùng mức điện áp. b.Các thành phần cơ học khác Bao gồm các bánh xe : + 2 bánh xe điều khiển chuyển động, được tạo trục thích hợp gắn liền với trục quay của 2 động cơ bước. + 1 bánh xe con gắn liền với thân rơbơt cĩ thể quay mọi hướng xung quanh trục gắn liền đĩ. IV. Sơ đồ mạch và hoạt động của rơbơt 1.Sơ đồ mạch 2.Hoạt động của rơbơt a.Hoạt động về mặt định tính +Chuyển động tịnh tiến: Khi nguồn 5V cung cấp vào tồn mạch và động cơ, tín hiệu thay đổi liên tục sẽ được xuất ra ở cổng P0 đưa vào đầu vào của 4 chân đầu của ULN2003, tín hiệu ra được đưa lần lượt ra 2 động cơ làm cho 2 động cơ chạy cùng lúc với vận tốc như nhau, điều đĩ sẽ gây ra chuyển động tịnh tiến của rơbơt. +Chuyển động quay: Sau khi đi đươc quãng đường, chúng ta muốn động cơ chuyển hướng. Để thực hiện được ta sẽ thơi khơng xuất tín hiệu ở 4 bít đầu, hay sau, tuỳ theo hướng quay. Lúc đĩ một động cơ sẽ khơng cịn tín hiệu vào và sẽ khơng quay. Lúc này do sức nặng của bánh đủ làm cho động cơ là một trục quay để bánh cịn lại quay quanh chúng. Điều đĩ cũng dẫn đến chuyển động quay của rơbơt. Giải pháp trên rất hiệu quả nhưng chúng cũng cĩ thể thực hiện chuyển động quay của rơbơt bằng cách cho 2 động cơ chuyển động ngược chiều nhau, dẫn đến chuyển động quay như ý muốn. b.Hoạt động của động cơ về mặt định lượng Tuỳ thuộc vào chương trình chạy cho trễ( delay) bao nhiêu thì tốc độ động cơ sẽ thay đổi bấy nhiêu. Tốc độ v của động cơ tỷ nghịch với hàm trễ . Giả sử ở với một hàm delay nào đĩ tốc độ động cơ là vo(khi tính cả lực ma sát), muốn chuyển thành tốc độ v1 trong giới hạn cho phép thì ta chỉ cần tăng hoặc giảm tỉ lệ nghịch hàm delay với tốc độ động cơ. Theo tính tốn thực tế thì rơbốt cĩ thể chạy được với hàm delay cĩ độ trễ là AF.AF đến 5f.5f. V.Thiết kế mạch chạy theo đường đi tuỳ ý 1.Đặt vấn đề Khi cĩ mạch điều khiển động cơ như trên, chúng em lại muốn phát triển thêm về việc điều khiển rơbốt.Rơbốt chuyển động theo một đường đi nhất định của người lập trình thì khơng thể linh hoat trong mọi tình huống.Vì vậy, chúng em muốn điều khiển rơbơt theo đường đi vạch ra trên mặt đất, cụ thể ở đây là dải đen sẽ tiếp tục khai thác ở ngay sau. 2. Thiết kế mạch Trên nhưng kinh kiện đã cĩ sẵn trong cuộc sống, bằng tìm tịi nhĩm đã quyết định dùng một linh kiện đơn giản đĩ chính la quang trở. Băng sự phụ thuộc của điện trở vào quang nhĩm đã thiết kế ra mạch để ngăt ngồi vi điều khiển đồng thời chuyển những chương trình chạy phù hợp của động cơ ứng với các ngắt đĩ hay nĩi cách khác là xử lý cho đúng những vấn đề trên đường đi của rơbốt. 2.1 Sơ đồ mạch 2.2 Ghép nối và hoạt động của mạch trên đường đi a.Ghép nối: Các chân 2,3 của mạch trên được nối với các chân ngắt của động cơ, cụ thể là chân 2 được nối với chân 12, chân 3 nối với chân 13 của 89C51. b.Hoạt động của mạch Cơ sở: khi chiếu một nguồn sáng vào quang trở các mức điện trở sẽ thay đổi. Vì vây dựa vào các mức điện trở thay đổi ta co thể mắc 1 chân quang trở với âm nguồn và một chân qua trở (r) như hình vẽ. Khi cấp nguồn 5v cho mạch do quang trở nối tiếp với R nên ta cĩ thể tinh được áp chân lên quan trở băng cơng thức Vqt= 5.Rqt/(Rt+ R) Để cho mức điện áp trên giữa khi cảm nhận màu đen và màu trắng là lớn và điện áp ở mức 0 phải nhỏ hơn một khá nhiều, đồng thời điện áp ở mức 1 khơng quá bé ta sẽ tính được R Trên thực tế chúng ta đo được mức điện áp trên quang trở ở mức màu trắng là 4k và mức màu đen là 40k. Chúng ta tính tốn và chon trở R=70k. Tín hiệu này được khuyếch đại bởi tranzitor C828 như hình vẽ. Lúc đĩ ta cĩ mạch đầu ra ở cực C của tranzitor đạt mức 0 và 1 như yêu cầu. Một tín hiệu được qua cổng not đưa sang chân 12, cịn lại thì đưa sang chân 13 để thực hiện chương trình ngăt như lập trinh. Như hướng dẫn chi tiết trong lập trình đã làm cho động cơ chuyển động theo vạch đen một cách chuẩn xác. VI. Lập trình vi điều khiển Chương trình điều khiển chuyển động của động cơ theo 1 đường đi vạch sẵn ;----------------------------------------------------------- ; ; CHUONG TRINH DK DONG CO BUOC ; DT9 -- K48 ; ;----------------------------------------------------------- org 0h ljmp main ;------------ INTERRUPT ADDRESS ---------- org 0003h ljmp int0 org 0013h ljmp int1 ;----------- MAIN PROGRAM --------------- org 30h main: MOV IE,#00000000B ; Enable int1 and int 0 mov p2,#00h CLR A MOV A,#0ffh MOV p2,A MOV A,#066h MOV B,#066h MOV 7fh,#00h l: MOV R4,#077h ; CHANGE THIS gf0: ACALL forward ACALL delay DJNZ R4,gf0 MOV R4,#027h ; CHANGE THIS gl0: ACALL tleft ACALL delay DJNZ R4,gl0 MOV R4,#027h ; CHANGE THIS gr0: ACALL tright ACALL delay DJNZ R4,gr0 sjmp l ;------------------ INT 01 ---------------- int0: MOV R2,A MOV A,7fh JZ stl ;------ TURN RIGHT ------ MOV A,R2 SETB p0.0 MOV p1,#00h MOV R4,#027h ; CHANGE THIS gf1: ACALL forward ACALL delay DJNZ R4,gf1 MOV R1,A ttr: MOV A,R1 ACALL tright ACALL delay MOV R1,A MOV A,p2 ANL A,#00000001b JZ ttr MOV A,R1 gr1: ACALL tright ACALL delay DJNZ R4,gr1 CLR p0.0 MOV 7fh,#00h MOV IE,#10000101B RETI ;-------- TURN LEFT --------- stl: MOV A,R2 SETB p0.1 MOV p1,#00h MOV R4,#027h ; CHANGE THIS gf2: ACALL forward ACALL delay DJNZ R4,gf2 MOV R1,A ttl: MOV A,R1 ACALL tleft ACALL delay MOV R1,A MOV A,p2 ANL A,#00000001b JZ ttl MOV A,R1 gl1: ACALL tleft ACALL delay DJNZ R4,gl1 CLR p0.1 MOV 7fh,#00h MOV IE,#10000101B RETI ;----------------- INT 01 -------------------- int1: MOV 7fh,#01h MOV IE,#10000001B RETI ;----------------- GO FORWARD ----------------- Forward: RR A MOV R1,A ANL A,#00001111b MOV R3,A MOV A,B RL A MOV R2,A ANL A,#11110000b ORL A,R3 MOV p1,A MOV A,R1 MOV B,R2 RET ;---------------- TURN LEFT -------------------- TLeft: RR A MOV R1,A ANL A,#00001111b MOV p1,A MOV A,R1 RET ;---------------- TURN RIGHT -------------------- TRight: RL A MOV R1,A ANL A,#00001111b MOV p1,A MOV A,R1 RET ;--------------- DELAY PROCEDURE ------------------ delay: MOV R1,#07fh dl1: MOV R2,#07fh dl2: DJNZ R2,dl2 DJNZ R1,dl1 RET End 2. Chương trình điều khiển động cơ theo một đường đi bất kì (dải đen) ;----------------------------------------------------------- ; ; CHUONG TRINH DK DONG CO BUOC ; DT9 -- K48 ; ;----------------------------------------------------------- org 0h ljmp main ;------------ INTERRUPT ADDRESS ---------- org 0003h ljmp int0 org 0013h ljmp int1 ;----------- MAIN PROGRAM --------------- org 30h main: MOV IE,#10000101B ; Enable int1 and int 0 mov p2,#00h CLR A MOV A,#0ffh MOV p2,A MOV A,#066h MOV B,#066h MOV 7fh,#00h l: ACALL Forward ACALL delay sjmp l ;------------------ INT 01 ---------------- int0: MOV R2,A MOV A,7fh JZ stl ;------ TURN RIGHT ------ MOV A,R2 SETB p0.0 MOV p1,#00h MOV R4,#027h ; CHANGE THIS gf1: ACALL forward ACALL delay DJNZ R4,gf1 MOV R1,A ttr: MOV A,R1 ACALL tright ACALL delay MOV R1,A MOV A,p2 ANL A,#00000001b JZ ttr MOV A,R1 gr1: ACALL tright ACALL delay DJNZ R4,gr1 CLR p0.0 MOV 7fh,#00h MOV IE,#10000101B RETI ;-------- TURN LEFT --------- stl: MOV A,R2 SETB p0.1 MOV p1,#00h MOV R4,#027h ; CHANGE THIS gf2: ACALL forward ACALL delay DJNZ R4,gf2 MOV R1,A ttl: MOV A,R1 ACALL tleft ACALL delay MOV R1,A MOV A,p2 ANL A,#00000001b JZ ttl MOV A,R1 gl1: ACALL tleft ACALL delay DJNZ R4,gl1 CLR p0.1 MOV 7fh,#00h MOV IE,#10000101B RETI ;----------------- INT 01 -------------------- int1: MOV 7fh,#01h MOV IE,#10000001B RETI ;----------------- GO FORWARD ----------------- Forward: RR A MOV R1,A ANL A,#00001111b MOV R3,A MOV A,B RL A MOV R2,A ANL A,#11110000b ORL A,R3 MOV p1,A MOV A,R1 MOV B,R2 RET ;---------------- TURN LEFT -------------------- TLeft: RR A MOV R1,A ANL A,#00001111b MOV p1,A MOV A,R1 RET ;---------------- TURN RIGHT -------------------- TRight: RL A MOV R1,A ANL A,#00001111b MOV p1,A MOV A,R1 RET ;--------------- DELAY PROCEDURE ------------------ delay: MOV R1,#07fh dl1: MOV R2,#07fh dl2: DJNZ R2,dl2 DJNZ R1,dl1 RET End VI.Tài liệu tham khảo Kĩ thuật vi xử lý, tác giả: Văn Thế Minh. Cấu trúc lập trình và họ vi điều khiển 8051, tác giả: Nguyễn Tăng Cường – Phan Quốc Thắng. Datasheet và các linh kiện lấy từ trang AT89C51, và các linh kiện khác lấy từ trang web www.alldatasheet.com. Một lần nữa chúng em xin cảm ơn thầy chủ nhiệm bộ mơn vi xử lý đã tạo điều kiện thuận lợi cho chúng em hồn thành được bài tập lớn với những kiến thức lý thú. Nếu cĩ điều kiện chúng em xin phát triển thêm về con rơbơt với những tính năng đặc biệt hơn như: cảm ứng đồ vật khi chuyển động hay những tác dụng khác để rơbốt cĩ thể là một cơng cụ hồn thiện hơn của con người.

Các file đính kèm theo tài liệu này:

  • docdongcobuoc.doc