Điều khiển động cơ bước, ứng dụng phục hồi robot KTMT

MỤC LỤC LỜI NÓI ĐẦU 3 CHƯƠNG 1 PHÂN TÍCH HỆ THỐNG 4 1.1 GIỚI THIỆU VỀ ĐỘNG CƠ BƯỚC 4 1.1.1 Vai trò của động cơ bước 4 1.1.2 Cấu tạo của động cơ bước 4 1.1.3 Hoạt động 5 1.1.4 Ứng dụng 6 1.1.5 Các đặc tính cơ bản của động cơ bước 6 1.1.6 Một số loại động cơ bước 7 1.2 CÁC GIẢI PHÁP VÀ XÁC ĐỊNH BÀI TOÁN 11 1.2.1 Phân tích và lựa chọn giải pháp 11 1.2.2 Xác định bài toán và giới hạn của đề tài 12 CHƯƠNG 2 THIẾT KẾ HỆ THỐNG 14 2.1 SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG 14 2.2 SƠ ĐỒ CALL GRAPH 15 2.3 SƠ ĐỒ ĐẶC TẢ CỦA HỆ THỐNG 15 2.4 SƠ ĐỒ NGUYÊN LÝ VÀ CÁC MODULE 16 2.4.1 Sơ đồ nguyên lý tổng thể 16 2.4.2 Module điều khiển 16 2.4.3 Module động cơ 17 2.4.4 Module hiển thị 19 2.4.5 Module cảm biến 19 2.4.6 Module nguồn 20 2.5 LỰA CHỌN LINH KIỆN 20 2.5.1 Khối điều khiển 21 2.5.2 Khối nguồn 23 2.5.3 Khối hiển thị: 24 2.5.4 IC đệm dòng ULN2803: 25 2.6 SƠ ĐỒ MÔ PHỎNG 27 2.7 SƠ ĐỒ THUẬT TOÁN 28 CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 29 3.1 XÂY DỰNG PHẦN MỀM 29 3.1.1 Chương trình nạp vào vi điều khiển AT89C52 29 3.2 KẾT QUẢ MÔ PHỎNG 34 3.3 XÂY DỰNG PHẦN CỨNG 35 3.3.1 Sơ đồ nguyên lý của hệ thống 35 3.3.2 Sơ đồ mạch in 35 TÀI LIỆU THAM KHẢO 38 LỜI NÓI ĐẦU Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sản phẩm trong một dây chuyền sản xuất, điều khiển tốc độ động cơ điện một chiều, thiết kế một biển quảng cáo dùng Led ma trận, một đồng hồ thời gian thực .đến các ứng dụng phức tạp như hệ thống điều khiển robot, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Các hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thống tự động hoạt động bằng nguyên lý khí nén, thủy lực, rơle cơ điện, mạch điện tử số, các thiết bị máy móc tự động bằng các cam chốt cơ khí . các thiết bị, hệ thống này có chức năng xử lý và mức độ tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảng của các hệ thống nhúng. Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống nhúng trong đời sống hiện đại và để mọi người biết đến một vài ứng dụng cụ thể cũng như tầm quan trọng của các hệ thống nhúng, nhóm chúng em đã tìm hiểu và đưa ra mô hình điều khiển động cơ bước, ứng dụng phục hồi robots tự hành của Bộ môn Kỹ thuật máy tính. Trong quá trình thực hiện đồ án môn học, do kiến thức còn hạn hẹp cũng như kỹ năng phân tích thiết kế chưa cao nên còn nhiều thiếu sót, kính mong thầy cô và các bạn đóng góp thêm ý kiến để đề tài của chúng em thành công hơn. Nhóm thực hiện đồ án chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của ThS. Nguyễn Văn Huy – Bộ môn Kỹ thuật máy tính - Khoa Điện Tử đã giúp nhóm hoàn thành đề tài một cách tốt nhất.

doc38 trang | Chia sẻ: banmai | Lượt xem: 3810 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Điều khiển động cơ bước, ứng dụng phục hồi robot KTMT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nhận xét của giáo viên hướng dẫn ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. Thái Nguyên, Ngày Tháng Năm 2011 Giáo viên hướng dẫn (Ký ghi rõ họ tên) Nhận xét của giáo viên chấm ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. ……………………………………………………………………………………………………………………………..……………….. Thái Nguyên, Ngày Tháng Năm 2011 Giáo viên chấm (Ký ghi rõ họ tên) MỤC LỤC LỜI NÓI ĐẦU Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sản phẩm trong một dây chuyền sản xuất, điều khiển tốc độ động cơ điện một chiều, thiết kế một biển quảng cáo dùng Led ma trận, một đồng hồ thời gian thực….đến các ứng dụng phức tạp như hệ thống điều khiển robot, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Các hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thống tự động hoạt động bằng nguyên lý khí nén, thủy lực, rơle cơ điện, mạch điện tử số, các thiết bị máy móc tự động bằng các cam chốt cơ khí... các thiết bị, hệ thống này có chức năng xử lý và mức độ tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảng của các hệ thống nhúng. Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống nhúng trong đời sống hiện đại và để mọi người biết đến một vài ứng dụng cụ thể cũng như tầm quan trọng của các hệ thống nhúng, nhóm chúng em đã tìm hiểu và đưa ra mô hình điều khiển động cơ bước, ứng dụng phục hồi robots tự hành của Bộ môn Kỹ thuật máy tính. Trong quá trình thực hiện đồ án môn học, do kiến thức còn hạn hẹp cũng như kỹ năng phân tích thiết kế chưa cao nên còn nhiều thiếu sót, kính mong thầy cô và các bạn đóng góp thêm ý kiến để đề tài của chúng em thành công hơn. Nhóm thực hiện đồ án chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của ThS. Nguyễn Văn Huy – Bộ môn Kỹ thuật máy tính - Khoa Điện Tử đã giúp nhóm hoàn thành đề tài một cách tốt nhất. Chúng em xin chân thành cảm ơn! Nhóm thực hiện đề tài: Dương Thanh Hoàng Trần Xuân Kỳ Trần Văn Linh CHƯƠNG 1: PHÂN TÍCH HỆ THỐNG GIỚI THIỆU VỀ ĐỘNG CƠ BƯỚC Vai trò của động cơ bước Động cơ bước có vai trò rất quan trọng trong điều khiển chuyển động kỹ thuật số, tự động hóa,… vì nó là cơ cấu chập hành trung thành với những lệnh đưa ra dưới dạng số, nó chấp hành chính xác. Ta cớ thể điều khiển nó quay một góc bất kỳ, chính xác, dừng lại ở một vị trí nào đó ta muốn. Vì vậy nó được ứng dụng nhiều trong tự động hóa và điều khiển số Một số ứng dụng như : máy CNC, máy in, ổ cứng , ổ đĩa quang, robot, … Rất nhiều ứng dụng đòi hỏi cơ cấu chuyển động có độ chính xác cao, chuyển động êm cho thấy vai trò của động cơ bước rất quan trọng. Cấu tạo của động cơ bước Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt với đa số các động cơ điện thông thường. Chúng thực chất là một động cơ không đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của rôto có khả năng cố định rôto vào các vị trí cần thiết. Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loại động cơ: Động cơ một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ. Động cơ bước có thể được mô tả như là một động cơ điện không dung chuyển mạch Cụ thể, các mấu trong động cơ là rô to và stato là các năm châm vĩnh cửu hoăc trong trường hợp của động cơ biến từ trở nó là những khối răng làm bằng vật liệu nhẹ có từ tính, cho phép chúng quaykhá nhanh và với một mộ điều khiển thích hợp cho phép chúng khởi động và dừng lại ở bất kỳ vị trí nào ta muốn một cách dễ dàng. Hình mẫu của một động cơ bước trong thực tế Động cơ bước có thể được dùng trong hệ thống vòng hở đơn giản những hệ thống này đảm bảo cho hệ thống điều khiển gia tốc với tải trọng tĩnh, nhưng khi tải trọng thay đổi hoặc điều khiển ở gia tốc lớn, người ta vẫn dùng hệ điều khiển vòng kín với động  cơ bước một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ. Hoạt động Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định. Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi. Một số ưu và nhược điểm của động cơ bước: Ưu điểm: Khi dùng động cơ bước không cần mạch phản hồi cho điều khiển vị trí và vận tốc. Thích hợp với các thiết bị điều khiển số.với khả năng điều khiển số trực tiếp (động cơ bước trở thành thông dụng trong kĩ thuật robot) Hầu hết các động cơ bước có thể chuyển động ở tần số  âm thanh,  Nhược điểm:   Công xuất thấp (việc nâng cao công xuất của động cơ bước đang được rất quan tâm hiện nay) Ứng dụng Trong điều khiển chuyển động kỹ thuật số, động cơ bước là một cơ cấu chấp hành đặc biệt hữu hiệu bởi nó có thể thực hiện trung thành các lệnh đưa ra dưới dạng số. Động cơ bước được ứng dụng nhiều trong ngành Tự động hóa chúng được ứng dụng trong các thiết bị cần điều khiển chính xác. Ví dụ: Điều khiển robot, điều khiển tiêu cự trong các hệ quang học, điều khiển định vị trong các hệ quan trắc, điểu khiển bắt, bám mục tiêu trong các khí tài quan sát, điều khiển lập trình trong các thiết bị gia công cắt gọt, điều khiển các cơ cấu lái phương và chiều trong máy bay… Trong công nghệ máy tính, động cơ bước được sử dụng cho các loại ổ đĩa cứng, ổ đĩa mềm, máy in … Các đặc tính cơ bản của động cơ bước Brushlesss (không chổi than): STEP là loại động cơ không chổi than. Load Independent (độc lập với tải): động cơ bước quay với tốc độ ổn định trong tầm moment của động cơ. Open loop positioning (điều khiển vị trí vòng hở): thông thường chúng ta có thể đếm xung kích ở động cơ để xác định vị trí mà không cần phải có cảm biến hồi tiếp vị trí, nhưng đôi khi trong những ứng dụng đòi hỏi tính chính xác cao STEP thường được sử dụng kết hợp với các cảm biến vị trí như: encoder, biến trở … Holding Torque (moment giữ ): STEP có thể giữ được trục quay của nó, so với động cơ DC không có hộp số thì moment giữ của STEP lớn hơn rất nhiều. Excellent Response (Đáp ứng tốt): STEP đáp ứng tốt khi khởi động, dừng lại và đảo chiều quay một cách dễ dàng. Một số loại động cơ bước Động cơ bước có thể được phân loại dựa theo cấu trúc hoặc cách quấn các cuộn dây trên stator. Dựa theo cấu trúc rotor, động cơ bước được chia thành 3 loại: Động cơ bước từ trở biến thiên. Động cơ bước nam châm vĩnh cửu Động cơ bước lai. Dựa theo cách quấn dây trên stator, động cơ bước được chia thành hai loại: Động cơ bước đơn cực. Động cơ bước lưỡng cực. Các bộ phận cấu thành nên động cơ bước. Ngoài ra, các loại này còn rơi vào một trong hai phương pháp cấu tạo. Trong phương pháp thứ nhất, Hình 1.3a, rotor có các răng bình thường. Stator có các răng tương tự để giữ các cuộn dây. Trong phương pháp thứ hai, Hình 1.3b, mặt răng của rotor và stator có nhiều răng nhỏ hơn. Ưu điểm của các răng nhỏ này là tạo ra các góc bước nhỏ hơn. Trên đây là một số loại động cơ bước, nhưng trong phạm vi đồ án nhóm em tập trung vào cấu tạo và nguyên tắc của loại động cơ bước được sử dụng trong đồ án, cụ thể là loại: Động cơ đơn cực như hình dưới đây. Động cơ bước đơn cực, cả nam châm vĩnh cửu và động cơ hỗn hợp, với 5, 6 hoặc 8 dây ra thường được quấn như sơ đồ hình 1.2, với một đầu nối trung tâm trên các cuộn. Khi dùng, các đầu nối trung tâm thường được nối vào cực dương nguồn cấp, và  hai đầu còn lại của mỗi mấu  lần  lượt  nối đất để đảo chiều từ trường tạo bởi cuộn đó.  Để xử lý góc bước ở mức độ cao hơn, rotor phải có nhiều cực đối  xứng hơn.  Động cơ 30 độ mỗi bước trong hình là một trong những  thiết kế động cơ nam châm vĩnh cửu thông dụng nhất, mặc dù động cơ có bước 15 độ và 7.5 độ là khá lớn. Người ta cũng đã tạo ra được động cơ nam châm vĩnh cửu với mỗi bước là 1.8 độ và với động cơ hỗn hợp mỗi bước nhỏ nhất có thể đạt được là 3.6 độ đến 1.8 độ, còn tốt hơn nữa, có thể đạt đến 0.72 độ. Như trong hình, dòng điện đi qua từ đầu trung tâm của mấu 1 đến đầu a tạo ra cực Bắc trong stator trong khi đó cực còn lại của stator là cực Nam. Nếu điện ở mấu 1 bị ngắt và kích mấu 2, rotor sẽ quay 30 độ, hay 1 bước. Để quay động cơ một cách liên tục, chúng ta chỉ cần áp điện vào hai mấu của động cơ theo dãy.  Mấu 1a  1000100010001000100010001    Mấu 1a  1100110011001100110011001  Mấu 1b  0010001000100010001000100   Mấu 1b  0011001100110011001100110  Mấu 2a  0100010001000100010001000    Mấu 2a  0110011001100110011001100  Mấu 2b  0001000100010001000100010    Mấu 2b  1001100110011001100110011      thời gian à     thời gian  à *Chú ý : Hai nửa của một mấu không bao giờ được kích cùng một lúc. Cả hai dãy nêu trên sẽ quay một động cơ nam châm vĩnh cửu một bước ở mỗi thời điểm. Dãy bên trái chỉ cấp điện cho một mấu tại một thời điểm, như mô tả trong hình trên; vì vậy, nó dùng ít năng lượng hơn. Dãy bên phải đòi hỏi cấp điện cho cả hai mấu một lúc và nói chung sẽ tạo ra một mô men xoáy lớn hơn dãy bên trái 1.4 lần trong khi phải cấp điện gấp 2 lần.  Vị trí bước được tạo ra bởi hai chuỗi trên không giống nhau; kết quả kết hợp hai chuỗi trên cho phép điều khiển nửa bước, với việc dừng động cơ một cách lần lượt ở các vị trí đã nêu ở một trong hai dãy trên. Chuỗi kết hợp như sau: Mấu 1a  11000001110000011100000111  Mấu 1b  00011100000111000001110000  Mấu 2a  01110000011100000111000001  Mấu 2b  00000111000001110000011100      Thời gian  à CÁC GIẢI PHÁP VÀ XÁC ĐỊNH BÀI TOÁN Phân tích và lựa chọn giải pháp Khảo sát và phân tích bài toán Hiện nay trong thực tế thì việc điều khiển động cơ bước có nhiều phương pháp, tùy vào mục đích sử dụng , tùy vào yêu cầu mà người ta có những phương pháp điều khiển động cơ bước sao cho phù hợp với yêu cầu công nghệ cũng như tính tối ưu hóa sản phẩm. Trên thị trường cũng có nhiều modul điều khiển được thiết kế sẵn, chuyên biệt phù hợp cho từng sản hẩm riêng Dựa vào nguyên lý hoạt động và các đặc tính của động cơ bước , người ta đã thiết kế sẵn các mạch số, các IC chuyên dụng để điều khiển động cơ bước , kết hợp với các modul khác để có một sản phẩm hoàn thiện. Với các IC chuyên dụng thì người ta thiết kế các mạch điều khiển động cơ bước nhanh gọn , đơn giản, độ chính xác cao. Tuy nhiên ngoài việc sử dụng các vi mạch chuyên dụng để điều khiển nó, ta hoàn toàn có thể dụng vi điều khiển để điều khiển nó, kết hợp với các IC số khác và lập trình ta hoàn toàn có thể điều khiển được động cơ bước tùy theo ý mình, chủ động thiết kế phần cứng hơn, không như việc sử dụng các IC chuyên dụng. Việc thiết kế mạch điều khiển động cơ bước dùng vi điều khiển cũng đơn giản, thông qua lập trình ta có thể thiết kế mạch tùy ý sao cho tối ưu nhất, và với việc sử dụng vi điều khiển để điều khiển động cơ bước thì ta có thể tích hợp thêm cho nó nhiều chức năng khác cho từng ứng dụng cụ thể cũng chỉ với cùng một bộ điều khiển đó mà không cần tốn thêm nhiều modul khác dễ dàng , linh hoạt. Với một vi điều khiển thì ngoài việc dùng nó làm modul điều khiển động cơ ta hoàn toàn có thể dùng nó để điều khiển các modul khác cùng hoạt động song song mà không cần tốn thêm nhiều modul khác. Năng lượng để cấp cho vi điều khiển cũng rất nhỏ, khả năng xử lý của thì tùy vào từng loại mà cho ta tốc độ khác nhau, nhưng đảm bảo yêu cầu để giải quyết bài toán này. Lựa chọn giải pháp Giải pháp công nghệ Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp điều khiển động cơ bước sử dụng vi điều khiển thông qua việc điều khiển các chuỗi xung đưa đến các cuộn dây của động cơ bước để nó quay được những góc tùy theo ý mình, qua đó ta hoàn toàn có thể xác định được góc quay của động cơ, và xác định được vị trí cụ thể của nó khi chuyển động. Giải pháp thiết kế Để điều khiển ta dùng vi điều khiển để xuất các chuỗi xung và đưa đến các cuộn dây của động cơ, với tần số hợp lý thì động cơ sẽ quay với tốc độ hợ lý, và theo yêu cầu thiết kế. Qua đó, ta xác định được tốc độ thực tế của động cơ. Thông qua việc điều khiển các dãy xung đưa đến các cuộn dây của động cơ thì ta hoàn toàn có thể điều khiển cho động cơ quay được các góc như ý muốn va dừng lại ở vị trí mong muốn. Ứng dụng củ thể trong đề tài là phục hồi robot tự hành, thì ta hoàn toàn có thể điều khiển cho nó chạy theo một lộ trình được đặt sẵn, thiết kế thêm các công tắc hành trình để nó có thể tránh được vật cản khi xảy ra va chạm trong quá trình hoạt động của nó. Xác định bài toán và giới hạn của đề tài Các yêu cầu Điều khiển động cơ quay đến một vị trí xác định, dừng ở vị trí bất kỳ ta muốn Tốc độ quay điều chỉnh được Hoạt động với điện áp 12V/DC Tốc độ ổn định, sai số nhỏ Thông qua điều khiển động cơ ứng dụng vào việc phục hồi robot tự hành : Điều khiển cho robot di theo một lộ trình đặt sẵn Có khả năng tránh được vật cản trong khu đang chạy Có khả năng cải tiến và nâng cấp Kết nối với các modul khác Giới hạn của đề tài Do những đặc thù của động cơ bước nên hệ thống làm việc với tốc độ không cao, momen quay nhỏ Mô men của động cơ nhỏ nên chỉ mang được những tải nhỏ, việc tăng tải trọng làm quá trình chuyển động ko chính xác Nguồn nuôi là động cơ là 12V nên việc cấp nguồn cho động cơ gặp khó khăn Việc mở rộng thêm các modul gặp khó khăn do khả năng mang tải của động cơ không lớn. CHƯƠNG 2: THIẾT KẾ HỆ THỐNG SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG Khối xử lý Khối chấp hành Khối hiển thị Khối cảm biến Khối nguồn Sơ đồ tổng thể của hệ thống Khối nguồn: Lấy AC (hoặc DC) đầu vào từ 5 – 15V chỉnh lưu thành nguồn DC cấp cho khối chấp hành đồng thời biến đổi thành nguồn DC 5V cung cấp cho khối điều khiển, hiển thị, cảm biến Khối cảm biến: Nhận ra các vật cản thông qua việc tác động của các công tắc, gửi tín hiệu về khối xử lý. Khối xử lý: Tiếp nhận thông tin từ khối cảm biến, từ đó xuất tín hiệu điều khiển gửi đến khối hiển thị và khối chấp hành theo các chương trình đã lập sẵn. Khối chấp hành: Nhận tín hiệu điều khiển từ khối xử lý, thực hiện các lệnh điều khiển do khối xử lý đưa ra để tạo ra sự di chuyển của robot. Khối hiển thị: Nhận tín hiệu từ khối xử lý, hiển thị các vị trí va chạm tương ứng khi khối cảm biến có tín hiệu tác động. SƠ ĐỒ CALL GRAPH CT điều khiển chính Module Xử lý Cảm biến Module Xử lý Chương trình Cảm biến Chấp hành Hiển thị Sơ đồ Callgraph SƠ ĐỒ ĐẶC TẢ CỦA HỆ THỐNG Lùi Chạy thẳng Vật cản bên trái Gặp vật cản Rẽ trái Rẽ phải Vật cản bên phải Sơ đồ đặc tả của hệ thống điều khiển động cơ bước SƠ ĐỒ NGUYÊN LÝ VÀ CÁC MODULE Sơ đồ nguyên lý tổng thể Với đồ án môn học Hệ thống nhúng với đề tài là ‘‘Điều khiển động cơ bước, ứng dụng phục hồi robot tự hành KTMT’’, việc thiết kế phần cứng của mạch hệ thống cụ thể được chia làm 5 khối cơ bản là : Khối nguồn. Khối cảm biến. Khối hiển thị. Khối động cơ. Khối điều khiển. Sơ đồ mạch nguyên lý tổng quát của hệ thống như sau : Sơ đồ mạch nguyên lý tổng thể Module điều khiển Khối điều khiển trung tâm dùng vi điều khiển AT89C52. Khi có tín hiệu tác động vào các công tắc hành trình gắn ở chân P1.0 đến P1.3, vi điều khiển sẽ xuất tín hiệu để điều khiển khối hiển thị (Led đơn) và khối chấp hành (module động cơ) theo các chương trình đã lập trình sẵn. IC ULN2803 là IC đệm dòng, nhằm tạo ra dòng lớn hơn cung cấp cho 2 động cơ thông qua 2 jump nối J3 và J4, các tín hiệu từ vi điều khiển sẽ đưa vào 8 cổng vào (từ chân 1 tới chân 8) của ULN2803 điều khiển mức tín hiệu ở 8 cổng ra (từ chân 11 tới chân 18) nối với động cơ. Bộ tạo dao động dùng thạch anh 12MHz cung cấp ngồn dao động cho vi điều khiển Bộ reset như trong hình vẽ dưới nhằm tạo ra xung reset, xác lập trạng thái ban đầu cho vi điều khiển khi nút reset được nhấn. Sơ đồ nguyên lý module điều khiển Module động cơ Sơ đồ cấu tạo đông cơ Bảng trạng thái logic đưa vào các đầu dây Điều khiển cả bước Full step Step A B A\ B\ 0 1 1 0 0 1 0 1 1 0 2 0 0 1 1 3 1 0 0 1 Điều khiển nửa bước Half mode sequen Step A B A\ B\ 0 1 1 0 0 1 0 1 0 0 2 0 1 1 0 3 0 0 1 0 4 0 0 1 1 5 0 0 0 1 6 1 0 0 1 7 1 0 0 0 Dựa vào bảng trạng thái trên ta đưa vào các đầu dây lần lượt các chuỗi xung có mức logic tương ứng, với phương pháp điều khiển cả bước để điều khiển động cơ quay theo 1 chiều nhất định B1: 1100 B2:0110 B3:0011 B4:1001 Để động cơ quay được 1 vòng thì ta lặp lại quá trình trên 50 lần vì mỗi bước động cơ quay được 1.8 độ nên ta phải cho động cơ thực hiện 200 bước. Module hiển thị Để tiện cho việc theo dõi công tắc nào đã được tác động, ta sử dụng 4 led đơn, các chân Anode được mắc nối tiếp qua các điện trở hạn dòng lên dương nguồn, đầu Ktode nối vào các chân P1.4, P1.5, P1.6, P1.7. Khi công tắc nào tác động ta sẽ bật led sáng tương ứng vị chí của công tắc đó Sơ đồ nguyên lý module hiển thị Module cảm biến Bộ phận cảm biến của hệ thống sử dụng 4 công tắc hành trình SW1, SW2, SW3, SW4. Các công tắc nối trực tiếp vào các chân P0.0, P0.1, P0.2, P0.3 của vi điều khiển và các đầu còn lại nối xuống âm nguồn. Các chân này của vi điều khiển được treo lên dương nguồn thông qua các điện trở R3, R4, R5, R6 để xác định điện áp mức cao ở chân vi điều khiển khi chưa tác động vào các công tắc. Khi công tắc nào đó được tác động, chân vi điều khiển tương ứng sẽ được nối xuống âm nguồn, xác định điện áp mức thấp trên chân vi điều khiển. Thông qua vị trí đặt các công tắc và việc tác động vào các công tắc vi điều khiển sẽ xuất tín hiệu điều khiển các module khác theo chương trình đã lập trình trước. Sơ đồ nguyên lý module cảm biến Module nguồn Module này tạo ra điện áp một chiều từ nguồn xoay chiều 12 – 15V để cung cấp cho các linh kiện trong hệ thống, dùng diode cầu chỉnh lưu từ điện áp xoay chiều sang điện áp một chiều, dùng IC ổn áp 7805 để lấy ra điện áp ổn định 5V ở ngõ ra. Phía sau cầu diode và sau IC7805 có tụ chống sụt áp Sơ đồ nguyên lý module nguồn LỰA CHỌN LINH KIỆN Khối điều khiển Vi điều khiển 89C52 là một vi điều khiển thuộc họ 8051 (MCS-51). Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiên vào năm 1980 là các IC thiết kế cho các ứng dụng hướng điều khiển. Các IC này chính là một hệ thống vi xử lý hoàn chỉnh bao gồm các các thành phần của hệ vi xử lý: CPU, bộ nhớ, các mạch giao tiếp, điều khiển ngắt. MCS-51 là họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set Computer), có độ dài và thời gian thực thi của các lệnh khác nhau. Tập lệnh cung cấp cho MCS-51 có các lệnh dùng cho điều khiển xuất / nhập tác động đến từng bit. AT89C52 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệ CMOS có các đặc tính như sau: 8 KB PEROM (Flash Programmable and Erasable Read Only Memory), có khả năng tới 1000 chu kỳ ghi xoá Tần số hoạt động từ: 0Hz đến 24 MHz mức khóa bộ nhớ lập trình 256 Byte RAM nội. Port xuất /nhập I/O 8 bit. bộ Timer/counter 16 Bit. 8 nguồn ngắt. Giao tiếp nối tiếp điều khiển bằng phần cứng. 64 KB vùng nhớ mã ngoài 64 KB vùng nhớ dữ liệu ngoài. Cho phép xử lý bit. 210 vị trí nhớ có thể định vị bit. chu kỳ máy (4 µs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia. Có các chế độ nghỉ (Low-power Idle) và chế độ nguồn giảm (Power-down). Sơ đồ chân Vi điều khiển AT89C52 Hình ảnh thực tế Vi điều khiển AT89C52 Chip AT89C52 có các tín hiệu điều khiển cần phải lưu ý như sau: Tín hiệu vào /EA trên chân 31 thường đặt lên mức cao ( +5V) hoặc mức thấp (GND). Nếu ở mức cao, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K với 89C51 hoặc tối đa 8k đối với 89C52). Nếu ở mức thấp, chương trình được thi hành từ bộ nhớ mở rộng (tối đa đến 64Kbyte). Ngoài ra người ta còn dùng /EA làm chân cấp điện áp 12V khi lập trình EEPROM trong 8051. Chân PSEN (Program store enable): PSEN là chân tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển cho phép chương trình mở rộng, PSEN thường được nối đến chân /OE (Output Enable) của một EPROM hoặc ROM để cho phép đọc các bytes mã lệnh. Hãy nhớ rằng : bình thường chân /PSEN sẽ được thả trống ( No Connect).Chỉ khi nào cho /EA ở mức thấp thì lúc đó: /PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình được lấy từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh của 8951 để giải mã lệnh. /PSEN ở mức thụ động (mức cao) nếu thi hành chương trình trong ROM nội của 89C52. Các chân nguồn: AT89C52 hoạt động ở nguồn đơn +5V. Vcc được nối vào chân 40, và Vss (GND) được nối vào chân 20. Khối nguồn Khối nguồn của mạch sử dụng IC ổn áp LM7805 thuộc dòng 78xx. 78xx là loại IC dùng để ổn định điện áp dương với điều kiện điện áp đầu vào luôn luôn lớn hơn đầu ra 3V. Dòng IC 78xx có nhiều loại, ổn định nhiều mức điện áp khác nhau, cụ thể ở đây 7805 là dùng để ổn định điện áp đầu ra ở mức 5V. Sơ đồ chân và hình ảnh thực tế IC 7805 7805 đóng gói dạng TO-220 gồm có 3 chân: Vin: Chân đầu nguồn vào GND: Chân nối đất Vo: Chân đầu nguồn ra Như chúng ta biết, mạch ổn áp dùng Diode Zener tuy nhỏ gọn, đơn giản nhưng có nhược điểm cho dòng điện nhỏ (~20mA). Để tạo ra một điện áp cố định nhưng dòng điện lớn hơn người ta mắc thêm một Tranzitor để khuếch đại như sơ đồ dưới đây: Sơ đồ cấu tạo IC ổn áp 7805 Đây cũng chính là sơ đồ cấu tạo của IC 7805. Thông qua R và Dz ghim điện áp cố định trên chân E của Tranzitor Q1 Mạch ổn áp dùng trên ổn áp 7805 (78xx nói chung) rất ổn định và hiệu quả nên được sử dụng rộng rãi, sơ đồ lắp mạch đơn giản như sau: Sơ đồ mạch ổn áp dùng IC ổn áp 7805 Khối hiển thị: LED – viết tắt của cụm từ Light Emitting Diode, tạm dịch là Điốt phát quang. Là các điốt có khả năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại. Cũng giống như điốt, LED được cấu tạo từ một bán dẫn loại P ghép với một bán dẫn loại N. Tương tự như bóng đèn tròn dùng sợi đốt nhưng không phải chiếu sáng bằng sợi đốt, đèn LED được coi là loại đèn tiết kiệm điện năng nhất, tạo ra hiệu suất ánh sáng tốt nhất , tỏa nhiệt ít hơn so với các thiết bị chiếu sáng thông thường. Hoạt động của LED: Giống như nhiều loại điốt bán dẫn khác Tùy theo mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát ra khác nhau (tức màu sắc của LED sẽ khác nhau). Mức năng lượng (và màu sắc  của LED) hoàn toàn phụ thuộc vào cấu trúc năng lượng của các nguyên tử chất bán dẫn Tùy vào từng loại LED mà điện áp phân cực thuận khác nhau. Đối với LED thường thì điện áp phân cực thuận khoảng 1,5V đến 2,5V; còn đối với LED siêu sáng thì  điện áp phân cực thuận có thể lên tới 5V Khi LED hoạt động bình thường thì cường độ dòng điện từ 10mA đến 50mA. Sơ đồ, ký hiệu và hình ảnh thật của LED IC đệm dòng ULN2803: Đây là IC gồm 8 transistor NPN ghép Darlington gắn mạch điện tử trong dãy này của chuổi là một bộ lý tưởng để giao tiếp với mạch điện dạng số mức logic thấp như: TTL, CMOS hoặc PMOS/NMOS Sơ đồ khối IC ULN2803 ULN2803 được thiết kế để phù hợp với chuẩn TTL Vài chỉ số kĩ thuật của IC ULN2803: Dòng điện ngõ vào khoảng 25mA Điện áp ngõ vào khoảng 0.5V – 30V Dòng ra tới 500 mA/ 50 V Đệm 8 kênh riêng biệt Đầu ra đảo. Sơ đồ cấu tạo 1 kênh đệm dòng của ULN2803 Hình ảnh thực tế IC ULN2803 SƠ ĐỒ MÔ PHỎNG Hệ thống được mô phỏng trên phần phềm Proteus 7.5 Sp2. Do những đặc thù riêng của phần mềm nên trong mạch mô phỏng không cần có mạch tạo dao động, mạch nguồn Sơ đồ mô phỏng hệ thống trên Proteus SƠ ĐỒ THUẬT TOÁN Hoàn thành Đ Dừng lại Chạy theo lộ trình đặt sẵn S Chạy tiếp Có vật cản S Đ Tránh vật cản Sơ đồ thuật toán điều khiển động cơ bước CHƯƠNG 3: XÂY DỰNG HỆ THỐNG XÂY DỰNG PHẦN MỀM Việc thiết kế phần mềm cho hệ thống chính là việc xây dựng chương trình điều khiển nạp vào Vi xử lý. Trước tiên phải có sơ đồ thuật toán điều khiển để xử lý các vấn đề về nguyên tắc hoạt động của mạch. Các vấn đề đặt ra là : - Robots chạy theo một hành trình định trước - Khi gặp vật cản (các công tắc được tác động) thì cần tránh các vật cản và đi tiếp. Chương trình nạp vào vi điều khiển AT89C52 Chương trình cho hệ thống điều khiển động cơ được soạn thảo trên trình biên dịch KeilC 4 bằng ngôn ngữ C. Sau đây là chương trình: #include #define DCB P2 #define thuan 1 #define nguoc 0 #define co 1 #define khong 0 #define tien 1 #define lui 0 #define trai 1 #define phai 0 #define sang 0 #define tat 1 sbit P_S = P1^1; //Cong tac ben phai phia sau sbit P_T = P1^3; //Cong tac ben phai phia truoc sbit T_S = P1^0; //Cong tac ben trai phia sau sbit T_T = P1^2; //Cong tac ben trai phia truoc sbit D_PS = P1^5; // Den bao ben phai phia sau sbit D_PT = P1^6; // Den bao ben phai phia truoc sbit D_TS = P1^4; // Den bao ben trai phia sau sbit D_TT = P1^7; // Den bao ben trai phia truoc bit DC1, DC2, STOP; //1 la thuan 0 la nguoc unsigned char CB_DC1[]={0x1,0x2,0x4,0x8}; unsigned char CB_DC2[]={0x10,0x20,0x40,0x80}; unsigned char G_DC1,G_DC2;//Vi tri cua moi dong co unsigned int cuon_day; unsigned int van_toc, dem_ngat, chu_ky, tre; // Khai bao Timer 0 void setup_timer0(void){ TMOD=0x2; // Che do 8 bit tu nap lai TL0=0x6; // Gia tri khoi tao, 200 xung thi tran TH1=0x6; // Gia tri nap lai EA=0; ET0=1; TR1=0; EA=1; } // Chuong trinh ngat Timer 0 void Run(void) interrupt 1 { TR0=0; // Dung chay Timer 0 if(++dem_ngat==van_toc){ if((!STOP)||(!cuon_day==0)){ // Chua co dk dung lai hoac chua tro ve cuon day dau tien if(DC1){ G_DC1=CB_DC1[cuon_day]; } else{ G_DC1=CB_DC1[3-cuon_day]; } if(DC2){ G_DC2=CB_DC2[cuon_day]; } else{ G_DC2=CB_DC2[3-cuon_day]; } if(++cuon_day>=4){ cuon_day=0; chu_ky++; } } else{ DCB=0x0;//Tat dong dien dua vao` cac cuon day } DCB=G_DC1+G_DC2; // Xuat tin hieu ra PORT 2 } if(dem_ngat>van_toc){ dem_ngat=0; } TR0=1; // Cho chay Timer 0 } // Chuong trinh con cho Tien va Lui void MOVE(bit huong,unsigned int so_chu_ky){ if(huong){ DC1=thuan; DC2=nguoc; } else{ DC1=nguoc; DC2=thuan; } chu_ky=0; //bat dau dem so chu ky STOP=khong; while(so_chu_ky>=chu_ky) {} STOP=co; } // Chuong trinh cho re void re(bit huong,unsigned int so_chu_ky){ if(huong){ DC1=thuan; DC2=thuan; } else{ DC1=nguoc; DC2=nguoc; } chu_ky=0;//bat dau dem so chu ky STOP=khong; while(so_chu_ky>=chu_ky) {} STOP=co; } // Chuong trinh tao tre void delay(unsigned int time){ unsigned int i; while(--time){ i=1000; while(--i) {} } } void SW_TT(void){ D_TT=sang; // Bat den bao STOP=co; delay(tre); // Dung lai 1 chut D_TT=tat; // Tat den bao STOP=khong; D_TS=sang; D_PS=sang; // Bat 2 den phia sau MOVE(lui,10); // Lui lai 1 doan STOP=co; delay(tre); // Dung lai 1 chut D_TS=tat; D_PS=tat; // Tat 2 den phia sau STOP=khong; D_PT=sang; D_PS=sang; // Bat 2 den ben phai re(phai,19); // Quay xe 90* sang phai STOP=co; D_PT=tat; D_PS=tat; // Tat 2 den ben phai delay(tre); // Dung lai 1 chut STOP=khong; // Chay tiep } void SW_PT(void){ D_PT=sang; // Bat den bao STOP=co; delay(tre); // Dung lai 1 chut D_PT=tat; // Tat den bao STOP=khong; D_TS=sang; D_PS=sang; // Bat 2 den phia sau MOVE(lui,10); // Lui lai 1 doan STOP=co; delay(tre); // Dung lai 1 chut de dong co doi chieu quay D_TS=tat; D_PS=tat; // Tat 2 den phia sau STOP=khong; D_TT=sang; D_TS=sang; // Bat 2 den ben trai re(trai,19);// Quay xe 90* sang trai STOP=co; D_TT=tat; D_TS=tat; // Tat 2 den ben trai delay(tre); // Dung lai 1 chut STOP=khong; // Chay tiep } void SW_TS(void){ D_TS=sang; // Bat den bao STOP=co; delay(tre); // Dung lai 1 chut D_TS=tat; // Tat den bao STOP=khong; D_TT=sang; D_PT=sang; // Bat 2 den phia truoc MOVE(tien,10); // Tien len 1 doan STOP=co; delay(tre); // Dung lai 1 chut de dong co doi chieu quay D_TT=tat; D_PT=tat; // Tat 2 den phia truoc STOP=khong; D_PT=sang; D_PS=sang; re(phai,19); // Quay xe 90* sang phai STOP=co; D_PT=tat; D_PS=tat; delay(tre); // Dung lai 1 chut STOP=khong; // Chay tiep } void SW_PS(void){ D_PS = sang; // Bat den bao STOP=co; delay(tre); // Dung lai 1 chut D_PS = tat; // Tat den bao STOP=khong; D_TT=sang; D_PT=sang; // Bat 2 den phia truoc MOVE(tien,10); // Tien len 1 doan STOP=co; delay(tre); // Dung lai 1 chut de dong co doi chieu quay D_TT=tat; D_PT=tat; // Tat 2 den phia truoc STOP=khong; D_TT=sang; D_TS=sang; // Bat 2 den ben trai re(trai,19); // Quay xe 90* sang trai STOP=co; D_TT=tat; D_TS=tat; // Tat 2 den ben trai delay(tre); // Dung lai 1 chut STOP=khong; // Chay tiep } // Chuong trinh chinh void main(){ chu_ky=0; cuon_day=0; STOP=co; ET0=1; TR0=1; setup_timer0(); van_toc=80; tre=50; while(1){ STOP=0; DC1=thuan; // Cho xe di thang DC2=nguoc; if(T_T==0) // Cong tac ben trai phia truoc tac dong SW_TT(); if(P_T==0) // Cong tac ben phai phia truoc tac dong SW_PT(); if(T_S==0) // Cong tac ben trai phia sau tac dong SW_TS(); if(P_S==0) // Cong tac ben phai phia truoc tac dong SW_PS(); } }  KẾT QUẢ MÔ PHỎNG Sau đây là kết quả mô phỏng của hệ thống trê Proteus: Kết qủa mô phỏng XÂY DỰNG PHẦN CỨNG Sơ đồ nguyên lý của hệ thống Sơ đồ nguyên lý của hệ thống được thiết kế trên công cụ Capture CIS của bộ phần mềm Cadence OrCAD v10.5 Sau đây là sơ đồ nguyên lý tổng quan Sơ đồ nguyên lý tổng quan thiết kế trên Capture CIS Sơ đồ mạch in Mạch in được thiết kế trên công cụ Layout Plus của bộ phần mềm Cadence OrCAD v10.5 Mạch tổng quan: Lớp bottom sau khi đã phủ đồng: Lớp top: Sơ đồ sắp xếp linh kiện: TÀI LIỆU THAM KHẢO Động cơ bước - Nguyễn Quang Hùng, Trần Ngọc Bình - NXB KHKT 2003 Họ vi điều khiển 8051 - Tống Văn On - NXB LĐXH 2009

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

  • docBao cao do an - Step Motor.doc
  • doc~$o cao do an - Step Motor.doc
  • pdfBao cao do an - Step Motor.pdf
  • pdfLayout.pdf
  • pdfLayout_main - Top.pdf
  • pdfLayout_main.pdf
  • pdfMach in.pdf
  • pdfMo phong.pdf
  • pdfNguyen ly.pdf
  • pdfSST.pdf