Đề tài Thiết kế robot di động

Tài liệu Đề tài Thiết kế robot di động: LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 1 Từ thế kỷ 20 nhân loại đã chứng kiến cuộc cách mạng khoa học kỹ thuật phát triển mạnh mẽ trên toàn thế giới. Đặt trưng của cuộc cách mạng này là kỹ thuật máy tính, công nghệ thông tin và tự động hóa. Trong đó công nghệ tự động hóa đóng một vai trò quan trọng trong mọi lĩnh vực ứng dụng và phát triển. Việc ứng dụng công nghệ tự động hóa mang lại những lợi ích to lớn về nhiều mặt như : cải thiện sức lao động của con người, nâng cao chất lượng sản phẩm, tiết kiệm nguyên vật liệu, nâng cao hiệu quả và năng suất sản xuất, đóng vai trò tích cực trong việc gìn giữ và bảo vệ môi trường. Một trong những ứng dụng tự động hóa là công nghệ chế tạo robot.Robot phát triển mạnh vào những thập niên 80. với hàng loạt các loại robot được ra đời với những tính năng đặc biệt.Ngày nay robot đóng 1 vai trò hết sức quan trọng trong sản xuất thay thế cho sức lao động của con ngươi, thay thế con người làm những công việc có tính chấ...

pdf125 trang | Chia sẻ: hunglv | Lượt xem: 1274 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Thiết kế robot di động, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 1 Từ thế kỷ 20 nhân loại đã chứng kiến cuộc cách mạng khoa học kỹ thuật phát triển mạnh mẽ trên tồn thế giới. Đặt trưng của cuộc cách mạng này là kỹ thuật máy tính, cơng nghệ thơng tin và tự động hĩa. Trong đĩ cơng nghệ tự động hĩa đĩng một vai trị quan trọng trong mọi lĩnh vực ứng dụng và phát triển. Việc ứng dụng cơng nghệ tự động hĩa mang lại những lợi ích to lớn về nhiều mặt như : cải thiện sức lao động của con người, nâng cao chất lượng sản phẩm, tiết kiệm nguyên vật liệu, nâng cao hiệu quả và năng suất sản xuất, đĩng vai trị tích cực trong việc gìn giữ và bảo vệ mơi trường. Một trong những ứng dụng tự động hĩa là cơng nghệ chế tạo robot.Robot phát triển mạnh vào những thập niên 80. với hàng loạt các loại robot được ra đời với những tính năng đặc biệt.Ngày nay robot đĩng 1 vai trị hết sức quan trọng trong sản xuất thay thế cho sức lao động của con ngươi, thay thế con người làm những cơng việc cĩ tính chất nguy hiểm như các robot thám hiểm vũ trụ,các hành tinh mới,những cơng việc trong hầm mỏ,và các mơi trường độc hại… Trong cơng nghiệp hiện nay việc sử dụng robot để vận chuyển hàng hĩa từ nơi này tới nơi khác bằng việc thiết lập những đường vạch trong nhà máy hoặc con người cĩ thể gồi tại chỗ điều khiển cho robot làm việv theo đúng yêu cầu của mình. Để đáp ứng nhu cầu thực tế như trên nên em đả nhận đề tài luận văn tốt nghiệp là: THIẾT KẾ ROBOT DI ĐỘNG robot cĩ thể đi theo một ma trận và cĩ thể điều khiển từ xa.Robot cĩ thể chánh những trướng ngại vật khi đụng phải trên đường đi. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 2 PHẦN I: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI .CÁC BỘ CẢM BIẾN.ĐỘNG CƠ DC.VÀ HỌ VI XỬ LÝ AT89C51 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 3 CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI: I.Mục đích chế tạo robot : ROBOT được nghiên cứu và sản xuất chế tạo theo từng ứng dụng khác nhau mà hình dáng kích thước của robot vì thế mà khác nhau.. Thơng thừơng Robot được chế tạo để thay thế sức lao động của con người . Từ những cơng việc nhỏ như dọn dẹp nhà cửa trơng coi nhà cho tới những cơng việc nghiên cứu thám hiểm vũ trụ……vv Đặc biệt trong sản xuất cơng nghiệp hiện nay việc chế tạo robot dần thay thế sức lao động của con người. Đặc biệt là trong nhưng cơng việc làm trong mơi trường ơ nhiểm hay độc hại thì việc ứng dụng robot vào là một nhu cầu cần thiết. Nhất là trong những cơng việc mang tính lặp đi lặp lại cơng việc cụ thể thì robot cĩ thể làm việc rất là chính xác. Phân loại robot theo tính năng Một cách sơ lược, cơng nghệ robot được phân làm 3 nhánh chính theo tính năng robot: - Robot di động (mobile robot): là các robot mà trong đĩ nhiệm vụ chủ yếu của nĩ là di chuyển, định vị ,tìm đường đi tối ưu, và vẽ lại bản vẽ. - Tay máy (manipulator): là các robot hoạt động như những cánh tay con người. Động từ manipulate trong tiếng Anh nghĩa là điều khiển cánh tay, I manipulate my arm! Do đĩ, một con robot hoạt động như một cánh tay con người để cầm nắm, sắp xếp, di chuyển, tương tác với đồ vật được gọi là một tay máy (manipulator) - Haptics (tay điều khiển từ xa): Khái niệm này dường như rất khĩ dịch trong tiếng Việt, đĩ là khi con ngừơi tương tác với các vật thơng qua một hệ thống trung gian. Một đầu bên kia là một robot, hoặc một thiết bị nào đĩ, đầu cịn lại, con người cầm nắm và điều khiển. Thì ci thiết bị mà con người cầm nắm trực tiếp đĩ, được gọi là haptic devices. Trong một hệ thống như vậy, luơn luơn cĩ hai thành phần, thành phần master = haptics, thành phần slave = robot. Mục tiêu của hệ thống là làm sao để haptics di chuyển một đoạn P thì slave di chuyển một đoạn alpha*P, và khi slave nhận một lực F thì haptics cũng tạo ra một lực beta*F trn tay người điều khiển, hoặc ngược lại. Haptics được kể ở đây là một cách quan niệm haptics cũng là robot. Nhưng đối với em, haptics khơng phải là robot (theo quan niệm của em), khi nào đi đến vấn đề này, em sẽ nĩi thêm. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 4 Rất khĩ để cĩ thể hiểu được về robot một cách đầy đủ và tồn vẹn, bởi vì sự 1phat triển 00a cơng nghệ robot là một sự phat triển mạnh mẽ và lin tục. Theo thời gian, khi niệm và định nghĩa cũng dần thay đổi, phụ thuộc vào trình độ phát triển khoa học kỹ thuật Tuy vậy! khái niệm robot cĩ thể được hiểu một cách nơm na là sự tự động hố, cũng giống như khi người ta biết đến từ ngữ robot vậy. Trong cơng nghệ robot, cĩ thể phân chia cơng nghệ robot thành hai lĩnh vực chính. Một là các robot tay máy, các robot này được đặt cố định và thực hiện một số nhiệm vụ nào đĩ. Ứng dụng của các robot này cĩ thể được thấy rõ nhất là cánh tay máy trong cơng nghiệp. Hai là các robot di động, nĩ là sự phát triển của robot tay máy khi nĩ cĩ thể tự di chuyển đến các vị trí khác nhau và thực hiện các tác vụ khác nhau. Người ta vẫn cĩ thể phân chia robot thành nhiều nhĩm khác nhau, dựa vào “trí thơng minh” của nĩ. Một số robot khơng thể tự lập trình lại được, chỉ cĩ thể thực hiện các tác vụ nhất định, một số khác cĩ khả năng tái lập trình dưới sự giúp đỡ của con người. Chúng được xếp vào loại robot thơng dụng. Những ứng dụng của chúng rất phong phú, nhưng đây khơng phải là hướng mà con người muốn hướng tới. Con người mong muốn robot phải thơng minh hơn, giống con người hơn, bởi vì con người là lồi duy nhất trên trái đất này cĩ ý thức. Chính vì vậy, khơng chỉ cĩ khả năng tái lập trình, mà robot ngày nay cũng được trang bị những khả năng tự ra quyết định, hay cao hơn nữa là khả năng tự học hỏi và tự điều khiển. Hoặc thậm chí, con người cũngn muốn robot cĩ thể biểu lộ được cảm xúc như con người, một vấn đề mà ngay cả con người vẫn chưa hiểu rõ bản thân mình. Cũng cĩ cách phân chia khác dựa vào các ứng dụng của nĩ, ví dụ như robot cơng nghiệp, robot phục vụ trong gia đình, robot thương mại…đây là cách phân chia dễ hiểu nhất đối với mọi người. Và tất nhiên, cũng cĩ rất nhiều cách phân chia cơng nghệ robot để cĩ thể nghiên cứu, và thiết kế mà khơng thể kể hết ra đây. Mặc dù vậy, để phục vụ việc nghiên cứu và phát triển cơng nghệ robot, người ta thường dùng hai cách phân chia đầu tiên.Như em đã trình bày ở trên… LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 5 II.Sơ đồ tổng quát điều khiển robot 1. NgườI điều khiển Robot. từ remote của bộ điều khiển từ xa. khi nhận được tín hiệu điều khiển từ xa thì robot sẽ phụ thuộc hồn tồn tín hiệu từ bộ điều khiển từ xa. Bộ điều khiển từ xa là bộ phát tín hiệu radio 4 lệnh. Trong chương trình lập trình cho robot em quy định: Phím D quy định cho Robot chạy lùi Phím C quy định cho Robot quay trái Phím B quy định cho Robot quay phaỉ Phím A quy dịnh cho robot chạy thẳng Ngồi việc điều khiển từ xa cho robot ngườI điều khiển robot cần thiết lập các lộ trình cho robot chạy bằng việc nhập các mã phím từ bộ nhập là phím số Hex. Việc nhập phím để chọn lộ trình cho robot. ứng vơi 1 phím nhấn từ bàn phím sẽ cĩ một lộ trình. NGƯỜI ĐIỀU KHIỂN BỘ ĐIỀU KHIỂN TỪ XA ROBOT DI ĐỘNG KHỐI CẢM BIẾN VẬT CẢN KHỐI CẢM BIẾN DỊ VẠCH LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 6 Cấu tạo của bàn phím số HEX và cách giao tiếp VỚI VI XỬ LÝ qua port1: 2.KHỐI CẢM BIẾN DỊ VẠCH: cảm biến sử dụng cho robot là PHOTOTRANSISTOR Khối bao gồm 2 board mạch , MẠCH DỊ VẠCH và MẠCH LÁI hai mạch này giống nhau về sơ đồ nguyên lý, nhưng nhiệm vụ khác nhau về chức năng. Mạch dị vạch sẽ điều khiển cho robot chạy theo đúng vạch. Mạch lái giúp robot quay trái và quay phảI Khối giao tiếp với vi xử lý qua P0. MẠCH DỊ VẠCH. giao tiêp qua P0 từ P0.0 ->P0.4 MẠCH LÁI . giao tiêp qua P0 từ P0.5 ->P0.7 Sơ đồ nguyên lý của khối em sẽ trình bày ở phần phụ lục cuối sách. 3. khối cảm biến vật cản: Nhờ khối này mà robot cĩ thể phát hiện cĩ vật cản phía trước khi robot đụng phải. Khối này gồm 2 cơng tắc hành trình được bố trí phía trước của thân robot Khối vật cản giao tiếp với vi xử lý qua chân P3.5 0 V P3.5 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 7 4.KHỐI ĐIỀU KHIỂN TỪ XA 4.1.Bộ thu: là khối tích hợp sẵn sử dụng IC PT2272 . IC PT2272 được sản xuất theo cơng nghệ CMOS.Tiêu thụ nguồn thấp.sự chống nhiễu tốt.với 12 chân mã hố địa chỉ.cho phép mã hố tới 2^13 địa chỉ.bằng cách đĩ nĩ giảm đi một vài điểm mã hố bị xung đột. 6 chân dữ liệu. Nhưng dữ liệu đầu ra chỉ được chốt tạm thời.Với khoảng điện áp cung cấp rộng từ 4VDC -> 15VDC. Tạo tín hiệu giao động bằng điện trở. Bằng cách mắc 1 điện trở R=1M vào 2 chân 15 và 16.Loại IC này rất phổ biến trong các ứng dụng điều khiển các thiết bị từ xa.khối mạch nhận tín hiệu từ khối phát và giải mã đễ đưa ra các chân ngõ ra của ICpt2272. và từ ngõ ra này của IC này đưa vào khối xử lý để điều khiển robot. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 8 Sơ đồ mạch thu của bộ thu sử dụng IC 2272 Các họ IC thu sĩng vơ tuyến 18 pin: LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 9 4.2.Bộ phát: là khối tích hợp sẵn sử dụng IC PT2262.khối truyền dữ liệu đi trên sĩng mang .tới khối thu. IC này được ứng dụng rất rộng trong các thiết kế remote.một trong những ứng dụng đĩ là bộ phát RF với IC PT2272. Các đặ tính của IC PT2262.Tiêu tốn ít nguồn ,tính ổn định cao,chống nhiễu cao. tầm áp cấp rộng từ 4VDC->15VDC. Tín hiệu giao động bằng điện trở.bằng cách mắc 1 điện trở R=4.7M vào chân số 15 và 16 của IC. Chân số 17 của IC là chân truyền tín hiệu của IC.IC mã hố dữ liệu và địa chỉ từ các chân địa chỉ và dữ liệu.và nĩ sẽ truyền một chuỗi dữ liệu này lên sĩng mang RF.IC PT2262 cho phép mã hố 12 bit địa chỉ.do đĩ cĩ thể cĩ 2^13 địa chỉ được mã hĩa. Mạch nguyên lý remode truyền dữ liệu 4 lệnh LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 10 PT2262 cĩ thể mở rộng để cĩ thể tăng thêm kênh truyền: DướI đây là sơ đồ nguyên lý của mạch truyền DATA 6 lệnh. sơ đồ nguyên lý của mạch truyền DATA 6 lệnh 5.Khối Robot: Robot thực hiện các cơng việc theo nhu cầu của đề tài: + Điều khiển từ xa bằng sĩng vơ tuyến + Chạy tự động bám vạch + Phát hiện vật cản. THÂN ROBOT: Vật liệu được em chọn làm thân robot là nhơm, kích thước thân robot 20x30x20, thân robot được thiết kế phù hợp để bố trí các thiết bị như các bộ cảm biến quang, nguồn nuơi (acquy),các board mạch điều khiển ,mạch điều khiển từ xa, mạch nguồn,bàn phím , động cơ … LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 11 ĐỘNG CƠ: Động cơ em chọn để điều khiển robot là cặp động cơ cùng cơng suất 12V DC cĩ gắn bộ giảm tốc ,cơng suất của một động cơ là 15W. Phần sau em sẽ trình bày sâu hơn về động cơ CƠ CẤU TRUYỀN ĐỘNG: Động cơ liên kết hệ truyền động bánh xe bằng dây xích CÁCH BỐ TRÍ CÁC CẢM BIẾN TRÊN BOARD DỊ VẠCH VÀ LÁI: CHƯƠNG II: CẢM BIẾN I.Giới thiệu chung: Các bộ cảm biến đĩng vai trị cực kỳ quan trọng trong lĩnh vực đo lường và điều khiển. Chúng cảm nhận và đáp ứng theo các kích thích thường là các đại lượng khơng điện , chuyển đổi các đại lượng này thành các đại lượng điện và truyền các thơng tin về hệ thống đo lường điều khiển , giúp ta nhận dạng , đánh giá và điều khiển mọi biến trạng thái của đối tượng. Cĩ thể vì vai trị của các bộ cảm biến đối với kỹ thuật đo lường và điều khiển giống như các giác quan đối với cơ thể sống. Một số bộ cảm biến cĩ cấu trúc tương đối đơn giản, nhưng xu hướng chung ngày nay là triệt để khai thác các thành tựu của vật lý học hiện đại, các cơng nghệ mới trong điện tử và tin học , của lý thuyết điều khiển hiện đại,nhằm tạo ra các bộ cảm biến thơng minh và linh họat. Đĩ là các bộ cảm biến đa chức năng , cĩ thể lập trình, cho phép đo với độ nhạy và độ chính xác cao, cĩ thể tự động thay đổi 3Cm 4,5 Cm LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 12 thang đo, tự động bù các ảnh hưởng của nhiễu, đo từ xa , tự động xử lý kết qủa đo… Các bộ cảm biến ngày nay được xem như một phần tử, được xản xuất hàng lọat và cĩ mặt rộng rãi trên thị trường , bao gồm một chuyển đổi đo lường sơ cấp đặt trong vỏ bảo vệ, cĩ hình dáng và kích thước phù hợp với đối tượng. Các chuyển đổi đo lường sơ cấp họat động theo các hiệu ứng vật lý. Độ nhạy và độ chính xác của các bộ cảm biến phụ thuộc rất nhiều vào khả năng chuyển đổi của các hiện tượng vật lý. Ngịai tên thường dùng là bộ cảm biến , người ta cịn gọi chúng là đầu đo, đầu dị, hay sensor. Kỹ thuật cảm biến là kỹ thuật đa ngành cĩ liên quan chặt chẽ đến kỹ thuật điện , điện tử , hĩa học, nhiệt học , cơ học và các lĩnh vực của vật lý như: Bán dẫn , quang học hạt nhân … 1.Cảm Biến Quang: 1.1.Khái niệm cơ bản về ánh sáng: ánh sáng cĩ bản chất sĩng và hạt . dạng sĩng ánh sáng là sĩng điện từ phẳng.Tại mỗi điểm trong khơng gian vectơ cường độ điện trường E, cường độ từ trường H và phương truyền sĩng , là thành một tam diện thuận Anh sáng lan truyền trong chân khơng với vận tốc v =299792Km/s .Trong vật chất ánh sáng cĩ vận tốc v = c /n , n là triết xuất của mơi trường . giữa tần số  và bước sĩng  của ánh sáng liên hệ bằng biểu thức :  = v/ . trong chân khơng :  = c/ . Tính chất hạt của ánh sáng thể hiện qua sự tương tác của ánh sáng với vật chất. Ánh sáng gồm các hạt nhỏ photon cĩ năng lượng phụ thuộc duy nhất vào tần số qua biểu thức: W=h. h : hằng số planck. Bước sĩng ngưỡng của ánh sáng cĩ thể gây nên hiện tượng giải phĩng điện tử được tính bằng biểu thức : max =hc/W1 W1: là năng lượng liên kết các hạt LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 13 nĩi chung lọai điện tích được giải phĩng do chiếu sáng phụ thuộc vào bản chất của vật liệu bị chiếu sáng. Khi chiếu sáng chất điện mơi và bán dẫn tinh khiết , các điện tích được giải phĩng là cặp điện tử , lỗ trống . hiện tượng giải phĩng các hạt dẫn dưới tác dụng của ánh sáng do hiệu ứng quang điện gây nên sự thay đổi tính chất điện của vật liệu . đây là nguyên lý cơ bản của cảm biến quang. 1.2.Các đơn vị đo quang: 1.2.1. đơn vị đo năng lượng -năng lượng bức xạ quang Q: là năng lượng phát xạ, lan truyền hoặc hấp thụ dưới dạng bức xạ, và đo bằng jun ( J). -Quang thơng  : là cơng suất phát xạ lan truyền hoặc hấp thụ, đo bằng oat (W) là đại lượng đặc trưng cho nguồn quang :  = dQ/dt Cường độ ánh sáng I : là quang thơng phát ra theo một hướng dưới một đơn vị gĩc khối, cĩ đơn vị là W/steradian : I = d/d Độ chĩi năng lượng L : là tỷ số giữa cường độ ánh sáng phát ra bởi một phần tử bề mặt dA theo một hướng xác định và diện tích hình chiếu vuơng gĩc của phần tử bề mặt dAn, cĩ đơn vị là W/steradian.m L =dI/dAn -độ rọi E : là tỷ số giữa quang thơng thu được bởi một phần tử đĩ, cĩ đơn vị là W/m.m : E =d/dAn Là đơn vị đặc trưng cho mặt được chiếu sáng. Đơn vị đo quang cơ bản Đại lượng quang Đơn vị thi giác Đơn vị năng lượng Quang thơng Cường độ Độ chĩi Độ rọi Lumen (lm) Candela (cd) Candela/metvuong Lux (lx) Oat (W) Oat/Sr (W/Sr) Oat/Sr.m.m Oat/m.m LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 14 Năng lượng Lumen.s (lms) Jun (J) 1.3.nguồn sáng : nguồn sáng quyết định mọi đặc tính quan trọng của bức xạ. Việc sử dụng các cảm biến quang chỉ thực sự cĩ hiệu quả khi nĩ phù hợp với bức xạ ánh sáng: dưới đây giới thiệu tĩm tắt về các nguồn sáng thơng dụng. 1.3.1.đèn sợi đốt đèn cĩ cấu tạo gồm một sợi wonfram đặt trong bĩng thủy tinh hoặc thạch anh chúa các khí trơ hoặc halogen để giảm bay hơi của sợi đốt 1.3.2. diode phát quang: LED là nguồn sáng bán dẫn trong đĩ năng lượng giải phĩng do tái hợp điện tử , lỗ trống gần chuyển tiếp P-N của diode sẽ làm phát sinh cac photon. 1.3.3.laser:µ phát ánh sáng đơn sắc dựa trên hiện tượng khuếch đại ánh sáng bằng bức xạ kích thích…… II.Ứng dụng Cảm biến Quang điện trong đề tài: Trong kỹ thuật cảm biến quang điện thường được sử dụng như một khĩa chuyển mạch đĩng , cắt mạch điện khi cĩ mặt hoặc khơng cĩ mặt đối tượng cần phát hiện. Tĩm tắt so sánh các bộ cảm biến quang điện TT Lọai bộ cảm biến Độ nhạy Dải phổ 1 2 3 4 Tế bào quang điện Photodiode Phototranzito Tế bào quang điện chân khơng 0.1->10 A/W 0.1->1 A/W 1->100 A/W 10->100mA/W 0.3->30µm 0.4->1.2µm 0.4->1.2µm LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 15 CHƯƠNG III : ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TỐC ĐỘ Động cơ một chiều (cịn gọi là động cơ DC) thường được sử dụng rộng rãi trong các hệ truyền động cần thay đổi tốc độ khởi động, hãm và đảo chiều. một số ứng dụng của động cơ một chiều như chuyền động cho xe điện, máy cơng cụ, máy vận chuyển, máy cán, máy nghiền (trong cơng nghiệp giấy) I.Đặc tính tĩnh của động cơ một chiều Hình 4.1 giới thiệu các loại động cơ DC thơng dụng, bao gồm động cơ DC kích từ độc lập, kích từ song song, kích từ nối tiếp, kích từ tổng hợp. Với động cơ DC kích từ độc lập, dịng phần ứng và dịng kích từ cĩ thể điều khiển độc lập với nhau. Với động cơ kích từ song song, phần ứng và cuộn kích từ được đấu với nguồn cung cấp. Vì vậy, với loại động cơ này, dịng phần ứng hoặc dịng kích từ chỉ cĩ thể điều khiển độc lập bằng cách thay đổi điện trở phụ trong mạch phần ứng hoặc mạch kích từ. Tuy nhiên, đây là cách điều khiển cĩ hiệu suất thấp. Với động cơ kích từ nối tiếp, dịng phần ứng cũng là dịng kích từ, và do đĩ, từ thơng động cơ là một hàm của dịng phản ứng. Với động cơ kích từ hổn hợp, cần đấu nối sao cho sức từ động của cuộn nối tiếp cùng chiều với sức từ động của cuộn song song LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 16 Mạch tương đương ở chế độ tĩnh của động cơ một chiều được trình bày ở hình4.2, điện trở Rư biểu thị điện trở phần ứng. Đối với động cơ một chiều kích từ độc lập hoặc song song, điện trở này là điện trở phần ứng. Đối với động cơ kích từ nối tiế p hoặc động cơ kích từ hổn hợp, Rư là tổng điện trở của cuộn phần ứng và cuộn kích từ nối tiếp. Hình 4.2: Mạch tương đương chế độ tĩnh của động cơ DC - + V Iư + -- E = k. Rư Iư + - - + A1 A2 + - F1 F2 Ikt (b) Kích từ song song Vkt V Iư + - - + A1 A2 + - F1 F2 Ikt (a) Kích từ độc lập (c) Kích từ nối tiếp - + A1 A2 V Iư + - S1 S2 F2 F1 (d) Kích từ hổn hợp - A2 V + - A1 Iư S1 S2 + Hình 4.1 Các loại động cơ một chiều thơng dụng LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 17 Phương trình cơ bản của động cơ một chiều là: E = K (4-1) V= E + RƯIƯ (4-2) M = KIƯ (4-3) Trong đĩ: - : từ thơng trên mỗi cực (Wb) - Iư: dịng phần ứng (A) - V: điện áp phần ứng (V) - RƯ: Điện trở phần ứng () -  : tốc độ động cơ (rad/s) - M : momen do động cơ sinh ra (Nm) - K : hằng số, phụ thuộc cấu trúc động cơ Từ cơng thức (4-1) - (4-3), ta cĩ: ư ư I K R K V     (4-4) Hoặc:   M K R K V 2 ư     4-5) Lưu ý là các cơng thức (4-1) đến (4-5) cĩ thể áp dụng cho tất cả các loại động cơ một chiều đã kể ở trên. Với động cơ một chiều kích từ độc lập, nếu điện áp kích từ được duy trì khơng đổi, cĩ thể giả thiết rằng từ thơng động cơ khơng đổi khi momen dộng cơ thay đổi. Khi đĩ ta cĩ: K = constant (4-6) Như vậy theo (4-5), đặc tính cơ của động cơ một chiều kích từ độc lập là một đường thẳng, như vẽ trên hình 4-3. Tốc độ khơng tải của động cơ xác định bởi điện áp cung cấp V và từ thơng kích từ K. Tốc độ động cơ suy giảmkhi momen tải tăng và độ ổn định tốc độ phụ thuộc vào điện trở phần ứng Rư. Trong thực tế, do phản ứng phần ứng, từ thơng động cơ giảm khi momen tăng, dẫn đến tốc độ động cơ suy giảm ít hơn là tính tốn theo cơng thức (4-5). Với momen lớn, từ thơng cĩ thể suy giảm đến mức độ dốc đặt tính cơ trở nên dương dẫn đến hoạt động khơng ổn định. Vì vậy, cuộn bù thường hay được sử dụng để làm LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 18 giảm hiệu ứng khử từ của phản ứng phần ứng. Với động cơ cơng suất trung bình, độ sụt tốc khi tải định mức so với khi khơng tải khoảng 50%. Với động cơ một chiều kích từ nối tiếp, từ thơng  là một hàm của dịng phần ứng. Nếu giả thiết động cơ hoạt động trong vùng tuyến tính của đặc tính từ hĩa, cĩ thể xem là từ thơng tỷ lệ bậc nhất với dịng phần ứng, nghĩa là :  = KktI (4-7) Thay (4-7) vào (4-1),(4-4) và (4-5), ta được : M = KKktI2ư (4-8) kt ư ưkt KK R IKK V  (4-9) kt ư kt KK R M 1 KK V  (4-10) Lưu ý là Rư lúc này là tổng của điện trở mạch phần ứng và điện trở cuộn kích từ. Đặc tính cơ động cơ một chiều kích từ nối tiếp được vẽ trên hình 4.3. Cĩ thể thấy rằng tốc độ động cơ suy giảm nhiều theo momen tải. Tuy nhiên trong thực tế, các động cơ tiêu chuẩn thường được thiết kế làm việc tại các cánh chỏ (knee- point) của đặt tính từ hĩa khi mang tải định mức. Với tải trên định mức, mạch từ động cơ bảo hịa, khi đĩ từ thơng  khơng thay đổi nhiều theo dịng tải Iư dẫn đến đặt tính cơ tiệm cận với đường thẳng. (a) (b) (c) Hình 4.3 Đặc tính cơ các loại động cơ DC M(%Mđm) 100 100  (%đm) (a) Động cơ DC kích từ độc lập (b) Động cơ DC kích từ nối tiếp (c) Động cơ DC kích từ hỗn hợp LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 19 Động cơ một chiều kích từ nối tiếp thích hợp cho các ứng dụng địi hỏi momen khởi động cao và cĩ thể quá tải nặng. Với momen tải tăng, từ thơng động cơ cũng tăng theo. Như vậy với cùng một lượng gia tăngcủa momen như nhau, dịng phần ứng Iư của động cơ một chiều kích từ nố tiếp sẽ tăng ít hơn so với động cơ kích từ độc lập. Do đĩ, trong điều kiện quá tải nặng, sự quá tải của nguồn cung cấp và sự quá nhiệt của động cơ cũng ít hơn so với động cơ kích từ độc lập. Theo cơng thức (4.10) , tốc độ động cơ kích từ nối tiếp tỷ lệ nghịch với căn bậc hai của momen. vận tốc động cơ khi khơng tải cĩ thể tăng lên rất cao, chỉ bị hạn chế bởi từ dư của động cơ và cĩ thể gấp hàng chục lần tốc độ định mức. Điều này là khơng cho phép với máy điện–thường chỉ cho phép hoạt động gấp 2 lần tốc độ định mức. Do đĩ, động cơ kích từ nối tiếp khơng được dùng với các ứng dụng trong đĩ momen tải cĩ thể nhỏ đến mức làm tốc độ động cơ vượt quá mức giới hạn cho phép. Đặc tính của động cơ một chiều kích từ hỗn hợp cĩ dạng như biểu diễn trên hình 4.3. Tốc độ khơng tải của động cơ phụ thuộc vào dịng kích từ qua cuộn song song, trong khi độ dốc đặc tính cơ phụ thuộc vào sự phối hợp giữa cuộn song song và cuộn nối tiếp. Động cơ kích từ hỗn hợp được sử dụng trong những ứng dụng cần cĩ đặc tính cơ tương tự động cơ kích từ nối tiếp đồng thời cần hạn chế tốc độ khơng tải ở một giá trị giới hạn thich hợp. Cũng cần lưu ý các đặc tính cơ đề cập trên hình 4.3 là đặc tính cơ tự nhiên của động cơ, nghĩa là các đặc tính này nhận được khi động cơ hoạt động với điện áp cung cấp và từ thơng định mức, và khơng cĩ điện trở phụ nào trong mạch phần ứng hoặc kích từ. II.Sơ lược về các phương pháp điều khiển động cơ điện một chiều Từ cơng thức (4-5) biểu diễn quan hệ giữa tốc độ–momen động cơ, cĩ thể thấy rằng tốc độ động cơ cĩ thể được điều khiển bằng ba phương pháp sau: 1.Điều khiển điện áp phần ứng 2.Điều khiển từ thơng 3.Điều khiển điện trở phần ứng LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 20 1.Điều khiển điện áp phần ứng Đặc tính cơ tĩnh của động cơ kích từ độc lập và kích từ nối tiếp khi điều chỉnh điện áp cung cấp cho phần ứng động cơ được vẽ trên hình 4.4(a) và (b). Các đặc tính này suy ra từ cơng thức (4-5) với điện áp V thay đổi. Bằng cách thay đổi điện áp phần ứng, động cơ cĩ thể làm việc tại bất kì tốc độ, momen nào nằm giữa đường đặc tính cơ tự nhiên và trục momen. Vì điện áp phần ứng chỉ cĩ thể điều chỉnh dưới định mức, phương pháp này chỉ dùng để điều chỉnh động cơ hoạt động với các đặc tính thấp hơn đặc tính cơ tự nhiên. Tính chất quan trọng của phương pháp này là độ cứng đặc tính cơ khơng thay đổi khi tốc độ động cơ được điều chỉnh. Điều này khiến hệ cĩ khả năng đáp ứng với tải cĩ momen hằng số vì dịng phần ứng cực đại cho phép Iưmax- tương ứng với nĩ là momen tải cực đại cho phép–của động cơ khơng đổi với mọi tốc độ. Điện áp phần ứng động cơ cĩ thể đươc điều khiển bằng cách sử dụng: - Máy phát DC (Hệ Máy phát- Động cơ) - Bộ chỉnh lưu cĩ điều khiển (AC DC) - Bộ Chopper (Bộ biến đổi xung áp) (DC DC) Giảm  V=const Giảm V =const Đặc tính cơ tự nhiên Giảm  V=const Giảm V =const (a)Động cơ kích từ độc lập (b) Động cơ kích từ nối tiếp Hình 4.4 : Các đặc tính cơ khi điều khiển điện áp phần ứng của động cơ DC LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 21 2. Điều khiển từ thơng Điều khiển từ thơng được sử dụng khi cần tăng tốc độ làm việc của động cơ cao hơn tốc độ định mức. Cĩ thể thấy điều đĩ qua cơng thức (4-5). Đặc tính tĩnh của động cơ kích từ độc lập và kích từ nối tiếp khi điều khiển từ thơng được biểu diễn lần lượt trên hình 4.4 (a) và (b) bằng các đường nét đứt. Lưu ý là độ cứng đặc tính cơ giảm nhanh khi giảm từ thơng. Tốc độ cao của động cơ đạt được khi giảm từ thơng bị hạn chế bởi: - Sự khơng ổn định của động cơ gây ra bởi ảnh hưởng của phản ứng phần ứng - Giới hạn về mặt cơ khí của động cơ: các động cơ thơng thường cho phép tốc độ đạt đến 1,5-2 lần tốc độ định mức. Một số động cơ chế tạo đặc biệt cho phép tốc độ cao nhất đạt tới 6 lần định mức.Đối với động cơ DC kích từ độc lập và song song, cơng suất cực đại cho phép của động cơ gần như khơng đổi với mọi tốc độ khi điều khiển từ thơng (xem hình 4.5 ). Cĩ thể thấy điều này nếu giả thiết là dịng cực đại cho phép, I của động cơ khơng thay đổi khi điều chỉnh từ thơng và điện áp cung cấp cho phần ứng, V là định mức. Khi đĩ, sức điện động của động cơ, E = V – RI là hằng số. Vì vậy cơng suất điện từ cực đại cho phép của động cơ là EI, sẽ là hằng số, và momen cực đại cho phép của động cơ sẽ biến thiên tỉ lệ nghịch với tốc độ. Lưu ý là trong thực tế, giả thiết dịng phần ứng cực đại cho phép I khơng thay đổi khi giảm từ thơng chỉ là gần đúng. Tác động của phản ứng phần ứng càng lớn khi từ thơng càng giảm, do đĩ, dịng phần ứng cực đại cho phép cần giảm xuống để khơng sinh ra tia lửa điện quá mức trên cổ gĩp. Điều này dẫn đến việc giá trị thực tế của I sẽ giảm xuống khi tốc độ tăng cao. Với động cơ DC kích từ độc lập, việc điều khiển kích từ được thực hiện bằng cách thay đổi điện áp kích từ với bộ chỉnh lưu cĩ điều khiển hoặc bộ chopper, tuỳ theo nguồn cung cấp được sử dụng là AC hoặc DC. Với động cơ cơng suất nhỏ, cũng cĩ thể nối tiếp biến trở vào mạch kích từ để điều khiển từ thơng. Với động cơ DC kích từ nối tiếp, việc điều khiển từ thơng được thực hiện bằng cách thay đổi điện trở song song với cuộn kích từ. Một số động cơ kích từ nối tiếp cĩ cuộn kích từ nhiều đầu ra, và do đĩ cĩ thể thay đổi từ thơng bằng cách thay đổi số vịng dây cuộn kích từ. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 22 3. Điều khiển hỗn hợp điện áp phần ứng và từ thơng kích từ Phương pháp này được sử dụng khi cần thiết điều chỉnh tốc độ động cơ trong một dải rộng trên và dưới tốc độ định mức. Tốc độ dưới tốc độ định mức được điều khiển bằng cách thay đổi điện áp phần ứng trong khi giữ kích từ ở giá trị định mức. Tốc độ trên định mức được điều khiển bằng cách thay đổi điện áp kích từ. Giới hạn của momen và cơng suất ra khi điều khiển hỗn hợp điện áp phần ứng và từ thơng kích từ được vẽ trên hình 4.5. 4.Điều khiển điện trở phần ứng Hình 4.6 biểu diễn đặc tính cơ của động cơ DC kích từ độc lập và nối tiếp khi điều khiển tốc độ bằng cách thêm điện trở phụ vào phần ứng. Khuyết điểm chính của phương pháp này là cĩ hiệu suất của hệ thống rất kém và độ cứng đặc tính cơ thấp, nhất là khi hoạt động ở tốc độ thấp. Do đĩ, phương pháp này hiện nay ít được sử dụng để điều khiển tốc độ động cơ, trừ các trường hợp: - Khởi động động cơ - Thay đổi tốc độ động cơ trong một thời gian ngắn trong chế độ ngắn hạn hoặc chế độ ngắn hạn lặp lại. Iư P M Mmax đm M Điều khiển Điện áp Phần ứng Điều khiển Từ thơng Hình 4.5 : Giới hạn momen và tốc độ khi điều chỉnh hỗn hợp điện áp phần ứng và từ thơng LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 23 III.Khởi động. Dịng phần ứng của động cơ DC trong quá trình quá độ, như chế độ khởi động, cần được giới hạn để tránh phát sinh tia lửa điện quá mức trên cổ gĩp động cơ. Thơng thường, với động cơ khơng cĩ cuộn bù, dịng này giới hạn ở mức hai lần dịng định mức. Với động cơ cĩ cuộn bù hoặc thiết kế đặc biệt, dịng này cho phép lên đến 3.5 lần dịng định mức. Khi cấp điện áp định mức trực tiếp trong chế độ khởi động, dịng phần ứng động cơ DC cĩ thể lên đến 20 lần dịng định mức. Dịng khởi động này gây ra phát sinh tia lửa điện quá mức trên cổ gĩp và phát nhiệt trong cuộn dây phần ứng. Dịng khởi động động cơ, do đĩ, cần được hạn chế bằng cách giảm điện áp đặt lên phần ứng. Trong thực tế, các bộ biến đổi dùng để điều khiển tốc độ động cơ cũng được sử dụng để hạn chế dịng động cơ khi khởi động. Các bộ biến đổi này thường cĩ khả năng hạn chế dịng điện trong quá trình quá độ. Trong các ứng dụng khơng sử dụng các bộ biến đổi, một bộ điện trở khởi động được thêm vào mạch phần ứng động cơ khi khởi động để hạn chế dịng. Các điện trở trong bộ điện trở khởi động lần lượt được cắt ra(hoặc nối tắt) trong quá trình khởi động, và được tính chọn sao cho dịng qua động cơ được hạn chế ở mức cho phép, trong khi vẫn đảm bảo momen động cơ sinh ra đủ để gia tốc động cơ. Đặc tính cơ tự nhiên Tăng Rphụ (a)Động cơ kích từ độc lập M  o Đặc tính cơ tự nhiên Tăng Rphụ (b)Động cơ kích từ nối tiếp M  o Hình 4.6 :Đặc tính động cơ DC khi thêm điện trở phụ vào phần ứng LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 24 IV.Các trạng thái hãm Trong chế độ hãm, động cơ hoạt động ở chế độ máy phát: nhận năng lượng tải và biến thành điện năng. Tuỳ theo cách tiêu tán năng lượng này, ta cĩ phương pháp hãm khác nhau: 1. Hãm tái sinh 2. Hãm động năng 3. Hãm ngược Trong chế độ hãm tái sinh, động cơ nhận năng lượng từ tải, biến thành điện năng và trả về lưới. Đây là phương pháp hãm cĩ hiệu suất cao nhất. 1.Hãm tái sinh động cơ DC kích từ độc lập: Mạch tương đương và đặc tính cơ của động cơ DC kích từ độc lập trrong chế độ hãm tái sinh được biểu diễn trên hình 4.7 Trong chế độ hãm tái sinh, suất điện động E cần phải lớn hơn nguồn cung cấp V và dịng qua động cơ chảy theo hướng ngược lại so với chế độ động cơ. Khi sử dụng chế độ biến đổi bán dẫn, cần lưu ý là ở chế độ hãm tái sinh, hệ thống Bộ biến đổi(BBĐ)–Động cơ phải cĩ khả năng tải dịng theo cả hai chiều hoặc phải đảo chiều được điện áp ra. Để thực hiện được điều này, BBĐ phải cĩ cấu hình và quy luật điều khiển thích hợp. |E| > |V| V + - + - E Iư (a)Mạch tương đương I II Giảm V  = const Giảm  V = const (b) Đặc tính cơ Hình 4.7 :Hãm tái sinh động cơ kích từ độc lập Rư LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 25 Bằng cách điều khiển điện áp phần ứng, dịng phần ứng và tương ứng là momen hãm cĩ thể được điều khiển theo yêu cầu truyền động. Động cơ DC kích từ nối tiếp: Động cơ kích từ nối tiếp khơng thể dùng ở chế độ hãm tái sinh bằng cách nối mạch đơn giản như động cơ DC kích từ độc lập. Phương pháp thường sử dụng cho động cơ kích từ nối tiếp trong chế độ hãm tái sinh là nối động cơ như một động cơ kích từ song song. Cuộn kích từ này được nối tiếp với điện trở phụ hạn chế dịng kích từ trong một phạm vi an tồn. Một phương pháp khác là sử dụng bộ biến đổi chopper với cấu hình thích hợp và đấu nối lại cuộn kích từ để động cơ hoạt động tương tự như một động cơ kích từ độc lập. 2.Hãm động năng(Dynamic braking) Việc hãm động năng với động cơ DC được thực hiện bằng cách ngắt nguồn cung cấp ra khỏi động cơ và nối phần ứng động cơ qua một điện trở thích hợp. Động cơ lúc này hoạt động như một máy phát tạo ra momen hãm. Sơ đồ đấu dây của động cơ DC khi hãm động năng trình bày ở hình 4.8 cho động cơ kích từ độc lập và hình 4.9 cho động cơ kích từ nối tiếp. Ikt F1 F2 + - - + V E A1 A2 (a) : Chế độ động cơ Iư Ikt F1 F2 + - E A1 A2 (b) : Hãm động năng kích từ độc lập Iư + - A1 Ikt F1 Iư (c) : Hãm động năng tự kích từ A2 + E - F2 Hình 4.8 : Sơ đồ đấu dây khi hãm động năng động cơ kích từ độc lập LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 26 Trong trường hợp hãm động năng kích từ độc lập, đặc tính cơ của động cơ khi hãm cĩ thể tính tốn bằng cơng thức (4-5 ) với V=0 và giá trị thích hợp của Rư (kể đến điện trở hãm trong mạch phần ứng). Trong trường hợp hãm động năng tự kích từ, việc tính tốn đặc tính cơ cần kể đến đặc tính từ hố của động cơ vì đoạn bảo hồ của đặc tính từ hố cĩ ảnh hưởng đến đặc tính cơ khi hãm. Hình 4.10(a) biểu diễn đặc tính cơ của động cơ kích từ đơc lập khi hãm động năng với các giá trị điện trở hãm khác nhau. Lưu ý là trong trường hợp giảm động năng tự kích từ, ứng với một giá trị của điện trở hãm sẽ cĩ một giá trị tới hạn (critical) của tốc độ th , với tốc độ thấp hơn giá trị tới hạn này chế độ máy phát điện của động cơ sẽ khơng xảy ra vì điều kiện tự kích khơng thỏa (th1 , th2 trên hình 4.10). Do đĩ, với tốc độ nhỏ hơn tốc độ giới hạn đã nĩi, momen hãm bằng zero và năng lượng chỉ được tiêu hao bằng ma sát trong hệ truyền động.Với động cơ kích từ nối tiếp, khi hãm động năng cần đảo chiều cuộn kích từ hoặc phần ứng để tránh việc dịng qua động cơ đảo chiều gây khử từ động cơ. Sơ đồ đấu dây như hình 4.9. Đặc tính động cơ khi hãm động năng biểu diễn trên hình 4.10 (b). Đặc tính này cĩ thể tính tốn từ cơng thức (4-4) và (4-5) bằng cách thay giá trị V=0 và Rư là tổng của điện trở phần ứng và điện trở hãm, đồng thời cĩ tính đến đặc tính từ hĩa của động cơ. Theo cơng thức (4-10), trong vùng tuyến tính của đặc tính từ hĩa, tốc độ trở nên độc lập với momen động cơ và cho bởi cơng thức: kt ư th KK R  (4-11) E A1 A2 + - S1 S2 Iư + - (a) : Chế độ động cơ Rh S1 S2 A1 A2 + - (b) : Chế độ hãm động năng tự kích từ E Hình 4.9 : Sơ đồ đấu dây khi hãm động năng động cơ kích từ nối tiếp V LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 27 Đây cũng là tốc độ tới hạn trên đặc tính hãm của động cơ, dưới tốc độ này momen hãm bằng zero. 3.Hãm ngược Đối với động cơ DC kích từ độc lập(hoặc kích từ song song), chế độ hãm ngược xảy ra khi cực tính nguồn hoặc phần ứng động cơ đổi chiều khi động cơ đang hoạt động. Dịng qua động cơ sẽ cĩ chiều ngược với chiều của dịng điện ở chế độ động cơ và sinh ra momen hãm ngược như hình 4.11(a). Đối với động cơ kích từ nối tiếp, việc hãm ngược thực hiện bằng cách đảo cực tính phần ứng hoặc cuộn kích từ như hình 4.11(b). Thơng thường, cần thêm điện trở vào mạch phần ứng để hạn chế dịng hãm ở giá trị cho phép. Đặc tính cơ của động cơ kích từ độc lập và kích từ nối tiếp khi hãm ngược biểu diễn trên hình 4.12. Các đặc tính cơ này nhận được bằng cách thay V bằng –V  th1 th2 M Rh1 Rh2 Rh1>Rh2 (a) : Động cơ kích từ độc lập :Kích từ độc lập :Tự kích từ  th1 th2 M Rh1 Rh2 Rh1>Rh2 (b) : Động cơ kích từ nối tiếp Hình 4.11: Đặc tính cơ của động cơ DC khi hãm động năng E Rh + - Iư A1 A2 F1 F2 + - (a) : Động cơ DC kích từ độc lập + - S1 S2 A2 A1 + - V Iư (b) : Động cơ DC kích từ nối tiếp Hình 4.11 : Hãm ngược động cơ DC E + - LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 28 trong các cơng thức (4-5) hoặc (4-10). Momen hãm  zero khi tốc độ là zero. Khi hãm ngược được dùng để hãm dừng động cơ, cần ngắt nguồn cung cấp khi tốc độ gần bằng zero, nếu khơng động cơ sẽ gia tốc theo chiều ngược lại. Hãm ngược là phương pháp cho hiệu suất thấp, vì năng lượng của tải và nguồn đều tiêu hao hết trên điện trở phần ứng và điện trở hãm. V.Hệ truyền động động cơ DC kích từ độc lập cĩ hãm Phần lớn các hệ truyền động cĩ hãm (multiquarant drive) với các bộ biến đổi bán dẫn thường sử dụng chế độ hãm tái sinh. Hình 4.13 cho thấy cực tính của nguồn V, sức điện động cơ E và chiều dịng phần ứng Iư trong các phần tư làm việc khác nhau. Các đại lượng V, E và Iư được xem là dương khi động cơ hoạt động trong phần tư I (chế độ động cơ). Khảo sát trên cho thấy rằng để hệ thống hoạt động được ở chế độ động cơ và hãm tái sinh theo chiều thuận(phần tư I và II), bộ biến đổi cần cung cấp điện áp dương và cĩ khả năng dẫn dịng theo cả hai chiều. Để hệ thống hoạt động được ở chế độ động cơ theo chiều thuận và hãm tái sinh theo chiều ngược (phần tư I và III) ,bộ biến đổi cần cĩ khả năng cung cấp điện áp theo cả hai chiều mà khơng cần khả năng đảo chiều dịng. Để hệ thống hoạt động được ở cả 4 phần tư, bộ biến đổi cần cĩ khả năng đảo chiều dịng và áp. M  Kích từ Độc lập Kích từ Nối tiếp Hình 4.12 : Đặc tính cơ động cơ DC khi hãm ngược LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 29 + - E V>E + - V Iư Chế độ động cơ theo chiều thuận + - E V<E + - V Iư Chế độ hãm theo chiều thuận + - E |V|<|E| + - V Chế độ hãm theo chiều ngược + - E |V|>|E| + - V Chế độ động cơ theo chiều ngược Momen Tốc độ Hình 4.13 : Dấu của V ,E và chiều Iư trong các chế độ làm việc khác nhau Rư Rư Rư Rư LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 30 CHƯƠNG IV: SƠ LƯỢC HỌ VI XỬ LÝ AT89C51 I-Giới thiệu AT89C51 AT89C51 là một Microcomputer 8 bit, loại CMOS, cĩ tốc độ cao và cơng suất thấp với bộ nhớ Flash cĩ thể lập trình được. Nĩ được sản xuất với cơng nghệ bộ nhớ khơng bay hơi mật độ cao của hãng Atmel, và tương thích với chuẩn cơng nghiệp của 80C51 và 80C52 về chân ra và bộ lệnh. Vì lý do đĩ, kể từ đây về sau ta sẽ dùng thuật ngữ “80C51” (hoặc "8051") Sơ đồ khối của AT89C51 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 31 Những đặc trưng của AT89C51: + Tương thích với các sản phẩm MCS-51 + 4KByte bộ nhớ Flash cĩ thể lập trình lại với 1000 chu kỳ đọc/xố + Hoạt động tĩnh đầy đủ: 0Hz đến 24MHz + Khố bộ nhớ chương trình ba cấp + 128 x 8 bit RAM nội + 32 đường xuất-nhập lập trình được (tương ứng 4 port) + Hai timer/counter 16 bit + Một port nối tiếp song cơng lập trình được + Mạch đồng hồ và bộ dao động trên chip Cấu hình chân của AT89C51 như sau: Như vậy AT89C51 cĩ tất cả 40 chân. Mỗi chân cĩ chức năng như các đường I/O (xuất/nhập), trong đĩ 24 chân cĩ cơng dụng kép: mỗi đường cĩ thể hoạt động như một đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus địa chỉ và bus đữ liệu. Mơ tả chân VCC (chân 40) Chân cấp nguồn. GND (chân 20) Chân nối đất. Port 0 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 32 Port 0 là một port xuất/nhập song hướng cực máng hở 8 bit. Nếu được sử dụng như là một ngõ xuất thì mỗi chân cĩ thể kéo 8 ngõ vào TTL. Khi mức 1 được viết vào các chân của port 0, các chân này cĩ thể được dùng như là các ngõ nhập tổng trở cao. Port 0 cĩ thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu (phần byte thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ chương trình ngồi. Ở chế độ này, P0 cĩ các điện trở pullup bên trong. Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, và xuất ra các byte code khi kiểm tra chương trình. Cần cĩ các điện trở pullup bên ngồi khi thực hiện việc kiểm tra chương trình. Port 1 Port 1 là một port xuất/nhập song hướng 8 bit cĩ các điện trở pullup bên trong. Các bộ đệm ngõ ra của port 1 cĩ thể kéo hoặc cung cấp 4 ngõ nhập TTL. Khi mức 1 được viết vào các chân của port 1, chúng được kéo lên cao bởi các điện trở pullup nội và cĩ thể được dùng như là các ngõ nhập. Nếu đĩng vai trị là các ngõ nhập, các chân của port 1 (được kéo xuống thấp qua các điện trở bên ngồi) sẽ cấp dịng IIL do các điện trở pullup bên trong. Port 2 Port 2 là một port xuất/nhập song hướng 8 bit cĩ các điện trở pullup bên trong. Các bộ đệm ngõ ra của port 2 cĩ thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở pullup nội và cĩ thể được dùng như các ngõ vào. Khi được dùng như các ngõ vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngồi) sẽ cấp dịng IIL do cĩ các điện trở pullup bên trong. Port 2 phát ra byte cao của địa chỉ khi đọc từ bộ nhớ chương trình ngồi và khi truy cập bộ nhớ dữ liệu ngồi dùng các địa chỉ 16 bit (MOVX @DPTR). Trong ứng dụng này, nĩ dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1. Khi truy cập bộ nhớ dữ liệu ngồi dùng các địa chỉ 8 bit (MOVX @RI), port 2 phát ra các nội dung của thanh ghi chức năng đặc biệt P2. Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập trình và kiểm tra Flash. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 33 Port 3 Port 3 là một port xuất-nhập song hướng 8 bit cĩ điện trở pullup nội bên trong. Các bộ đệm ngõ ra của port 3 cĩ thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở pullup nội và cĩ thể được dùng như các ngõ vào. Khi được dùng như các ngõ vào, các chân của port 3 (được kéo xuống qua các điện trở bên ngồi) sẽ cấp dịng IIL do cĩ các điện trở pullup bên trong. Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt kê dưới đây: Chân Tên Các chức năng chuyển đổi P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0 INT1 T0 T1 WR RD Port nhập nối tiếp Port xuất nối tiếp Ngắt 0 bên ngồi Ngắt 1 bên ngồi Ngõ vào Timer/Counter 0 Ngõ vào Timer/Counter 1 Xung ghi bộ nhớ dữ liệu ngồi Xung đọc bộ nhớ dữ liệu ngồi Các chức năng chuyển đổi trên Port 3 - hoặc MOVC. Ngược lại, chân này được kéo lên cao bởi các điện trở pullup "nhẹ". Việc set bit cấm-ALE khơng cĩ tác dụng khi bộ vi điều khiển đang ở chế độ thi hành ngồi. RST (chân 9) - Ngõ vào reset. Một mức cao trên chân này khoảng hai chu kỳ máy trong khi bộ dao động đang chạy sẽ reset thiết bị. ALE/ PROG ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy cập bộ nhớ ngồi. Chân này cũng là ngõ nhập xung lập trình ( PROG ) khi lập trình Flash.Khi hoạt động bình thường, ALE được phát với một tỷ lệ khơng đổi là 1/6 tần số bộ dao động và cĩ thể được dùng cho các mụch đích timing và clocking bên ngồi. Tuy LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 34 nhiên, lưu ý rằng một xung ALE sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngồi.Nếu muốn, hoạt động ALE cĩ thể cấm được bằng cách set bit 0 của SFR tại địa chỉ 8Eh. Nếu bit này được set, ALE chỉ dược hoạt động khi cĩ một lệnh MOVX PSEN PSEN (Program Store Enable) là xung đọc bộ nhớ chương trình ngồi. Khi AT89C52 đang thi hành mã (code) từ bộ nhớ chương trình ngồi, PSEN được kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động PSEN sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngồi. EA /Vpp EA (External Access Enable) phải được nối với GND để cho phép thiết bị đọc code từ bộ nhớ chương trình ngồi cĩ địa chỉ từ 0000H đến FFFFH. Tuy nhiên, lưu ý rằng nếu bit khố 1 (lock-bit 1) được lập trình, EA sẽ được chốt bên trong khi reset. EA phải được nối với Vcc khi thi hành chương trình bên trong. Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đĩ áp lập trình 12V được chọn). XTAL1 và XTAL2 XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại dao động nghịch được cấu hình để dùng như một bộ dao động trên chip (xem Figure 7). Hình. Các kết nối của bộ dao động LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 35 Khơng cĩ yêu cầu nào về duty cycle của tín hiệu xung ngồi,vì ngõ nhập nối với mạch tạo xung nội là một flip-flop chia đơi, nhưng các chỉ định về thời gian high và low, các mức áp tối đa và tối thiểu phải được tuân theo. Các đặc trưng khác sẽ được trình bày một cách chi tiết hơn ở những phần tiếp theo sau đây. II-Tổ chức bộ nhớ 8051/8031 cĩ bộ nhớ theo cấu trúc Harvard: cĩ những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. Như đã nĩi ở trên, cả chương trình và dữ liệu cĩ thể ở bên trong; dù vậy chúng cĩ thể được mở rộng bằng các thành phần ngồi lên đến tối đa 64 Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu. Bộ nhớ bên trong bao gồm ROM và RAM trên chip, RAM trên chip bao gồm nhiều phần : phần lưu trữ đa dụng, phần lưu trữ địa chỉ hĩa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt. Hai đặc tính cần lưu ý là : - Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và cĩ thể được truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác. - Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngồi như trong các bộ vi xử lý khác. Chi tiết về bộ nhớ RAM trên chip: Như ta thấy trên hình ( ), RAM bên trong 8051/8031 được phân chia giữa các bank thanh ghi (00H–1FH), RAM địa chỉ hĩa từng bit (20H–2FH), RAM đa dụng (30H–7FH) và các thanh ghi chức năng đặc biệt (80H–FFH). a) RAM đa dụng: Mặc dù trên hình cho thấy 80 byte RAM đa dụng chiếm các địa chỉ từ 30H– 7FH, 32 byte dưới cùng từ 00H đến 1FH cũng cĩ thể được dùng với mục đích tương tự (mặc dù các địa chỉ này đã cĩ mục đích khác). LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 36 Tĩm tắt các vùng bộ nhớ của 8051. Mọi địa chỉ trong vùng RAM đa dụng đều cĩ thể được truy xuất tự do dùng cách đánh địa chỉ trực tiếp hoặc gián tiếp. Ví dụ, để đọc nội dung ở địa chỉ 5FH của RAM nội vào thanh ghi tích lũy, lệnh sau sẽ được dùng : MOV A, 5FH Lệnh này di chuyển 1 byte dữ liệu dùng cách đánh địa chỉ trực tiếp để xác định “địa chỉ nguồn” (5FH). Đích nhận dữ liệu được ngầm xác định trong mã lệnh là thanh ghi tích lũy A. RAM bên trong cũng cĩ thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua R0 hay R1. Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ như lệnh đơn ở trên : MOV R0, #5FH MOV A, @R0 Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0, và lệnh thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào thanh ghi tích lũy. Bộ nhớ chương trình được chọn qua PSEN FFFF 0000 Bộ nhớ dữ liệu được chọn qua WR và RD FFFF 0000 FF 00 Bộ nhớ trên chip Bộ nhớ mở rộng LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 37 Tĩm tắt bộ nhớ dữ liệu trên chip. 7F 7E 7D 7C 7B 7A 79 78 2F 77 76 75 74 73 72 71 70 2E 6F 6E 6D 6C 6B 6A 69 68 2D 67 66 65 64 63 62 61 60 2C 5F 5E 5D 5C 5B 5A 59 58 2B 57 56 55 54 53 52 51 50 2A 4F 4E 4D 4C 4B 4A 49 48 29 47 46 45 44 43 42 41 40 28 3F 3E 3D 3C 3B 3A 39 38 27 37 36 35 34 33 32 31 30 26 2F 2E 2D 2C 2B 2A 29 28 25 27 26 25 24 23 22 21 20 24 1F 1E 1D 1C 1B 1A 19 18 23 17 16 15 14 13 12 11 10 22 0F 0E 0D 0C 0B 0A 09 08 21 07 06 05 04 03 02 07 1 00 20 Bank 3 1F 18 Bank 2 17 10 Bank 1 0F 08 Bank thanh ghi 0 (mặc định cho R0-R7) 07 00 RAM đa dụng 7F 30 RAM Địa chỉ bit Địa chỉ byte 87 86 85 84 83 82 81 80 80 P0 khơng được địa chỉ hĩa bit 81 SP khơng được địa chỉ hĩa bit 82 DPL khơng được địa chỉ hĩa bit 83 DPH khơng được địa chỉ hĩa bit 87 PCON 8F 8E 8D 8C 8B 8A 89 88 88 TCON khơng được địa chỉ hĩa bit 89 TMOD khơng được địa chỉ hĩa bit 8A TL0 khơng được địa chỉ hĩa bit 8B TL1 khơng được địa chỉ hĩa bit 8C TH0 97 96 95 94 93 92 91 90 90 P1 9F 9E 9D 9C 9B 9A 99 98 98 SCON khơng được địa chỉ hĩa bit 99 SBUF A7 A6 A5 A4 A3 A2 A1 A0 A0 P2 AF – – AC AB AA A9 A8 A8 IE – – – BC BB BA B9 B8 B8 IP E7 E6 E5 E4 E3 E2 E1 E0 E0 ACC D7 D6 D5 D4 D3 D2 – D0 D0 PSW B7 B6 B5 B4 B3 B2 B1 B0 B0 P3 F7 F6 F5 F4 F3 F2 F1 F0 F0 B CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT Địa chỉ byte Địa chỉ bit khơng được địa chỉ hĩa bit 8D TH1 FF LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 38 b) RAM địa chỉ hĩa từng bit : 8051 chứa 210 bit được địa chỉ hĩa, trong đĩ 128 bit là ở các địa chỉ byte 20H đến 2FH, và phần cịn lại là trong các thanh ghi chức năng đặc biệt. Ý tưởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiện lợi của vi điều khiển nĩi chung. Các bit cĩ thể được đặt, xĩa, AND, OR, ... với một lệnh đơn. Đa số các vi xử lý địi hỏi một chuỗi lệnh đọc-sửa-ghi để đạt được hiệu quả tương tự. Hơn nữa, các port I/O cũng được địa chỉ hĩa từng bit làm đơn giản phần mềm xuất nhập từng bit. Cĩ 128 bit được địa chỉ hĩa đa dụng ở các byte 20H đến 2FH. Các địa chỉ này được truy xuất như các byte hoặc như các bit phụ thuộc vào lệnh được dùng. Ví dụ, để đặt bit 67H, ta dùng lệnh sau : SETB 67H Chú ý rằng “địa chỉ bit 67H” là bit cĩ trọng số lớn nhất (MSB) ở “địa chỉ byte 2CH”. Lệnh trên sẽ khơng tác động đến các bit khác ở địa chỉ này. Các vi xử lý sẽ phải thi hành nhiệm vụ tương tự như sau : MOV A, 2CH ; đọc cả byte ORL A, #10000000B ; set MSB MOV 2CH,A ; ghi lại cả byte c) Các bank thanh ghi : 32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi. Bộ lệnh của 8051 hỗ trợ 8 thanh ghi (R0 đến R7) và theo mặc định (sau khi reset hệ thống) các thanh ghi này ở các địa chỉ 00H–07H. Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy : MOV A, R5 Đây là lệnh 1 byte dùng địa chỉ thanh ghi. Tất nhiên, thao tác tương tự cĩ thể được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai : MOV A, 05H Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh tương ứng nhưng dùng địa chỉ trực tiếp. Các giá trị dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 39 Bank thanh ghi tích cực cĩ thể chuyển đổi bằng cách thay đổi các bit chọn bank thanh ghi trong từ trạng thái chương trình (PSW). Giả sử rằng bank thanh ghi 3 được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H : MOV R0, A Ý tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình nhanh và hiệu quả (từng phần riêng rẽ của phần mềm sẽ cĩ một bộ thanh ghi riêng khơng phụ thuộc vào các phần khác). III-Các thanh ghi chức năng đặc biệt Một bản đồ vùng bộ nhớ trên chip được gọi là khơng gian thanh ghi chức năng đặc biệt (SFR) như được trình bày trong bảng. Lưu ý rằng khơng phải tất cả các địa chỉ đều được sử dụng, và các địa chỉ khơng được sử dụng cĩ thể khơng được cung cấp trên con chip. Các hành động đọc đến các địa chỉ này nĩi chung sẽ trả về các dữ liệu ngẫu nhiên, và các hành động viết sẽ cĩ một hiệu ứng khơng xác định. Các phần mềm người dùng khơng nên viết các mức 1 đến những vị trí khơng được liệt kê này, vì chúng cĩ thể được dùng trong các sản phẩm tương lai khi thêm vào các đặc trưng mới. Trong trường hợp này, các giá trị reset hoặc khơng tích cực của các bit mới sẽ luơn là 0. Các thanh ghi nội của 8051 được truy xuất ngầm định bởi bộ lệnh. Ví dụ lệnh “INC A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1. Tác động này được ngầm định trong mã lệnh. Các thanh ghi trong 8051 được định dạng như một phần của RAM trên chip. Vì vậy mỗi thanh ghi sẽ cĩ một địa chỉ (ngoại trừ thanh ghi đếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp, nên khơng lợi lộc gì khi đặt chúng vào trong RAM trên chip). Đĩ là lý do để 8051 cĩ nhiều thanh ghi như vậy. Cũng như R0 đến R7, cĩ 21 thanh ghi chức năng đặc biệt (SFR : Special Function Register) ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH. Chú ý rằng hầu hết 128 địa chỉ từ 80H đến FFH khơng được định nghĩa. Chỉ cĩ 21 địa chỉ SFR là được định nghĩa. Ngoại trừ tích lũy (A) cĩ thể được truy xuất ngầm như đã nĩi, đa số các SFR được truy xuất dùng địa chỉ trực tiếp. Chú ý rằng một vài SFR cĩ thể được địa chỉ hĩa bit LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 40 hoặc byte. Người thiết kế phải thận trọng khi truy xuất bit và byte. Ví dụ lệnh sau : SETB 0E0H sẽ set bit 0 trong thanh ghi tích lũy, các bit khác khơng đổi. Ta thấy rằng E0H đồng thời là địa chỉ byte của cả thanh ghi tích lũy và là địa chỉ bit của bit cĩ trọng số nhỏ nhất trong thanh ghi tích lũy. Vì lệnh SETB chỉ tác động trên bit, nên chỉ cĩ địa chỉ bit là cĩ hiệu quả. a) Từ trạng thái chương trình : Từ trạng thái chương trình (PSW : Program Status Word) ở địa chỉ D0H chứa các bit trạng thái như bảng tĩm tắt sau : * Cờ nhớ : Cờ nhớ (CY) cĩ cơng dụng kép. Thơng thường nĩ được dùng cho các lệnh tốn học : nĩ sẽ được set nếu cĩ một số nhớ sinh ra bởi phép cộng hoặc cĩ một số mượn bởi phép trừ. Ví dụ, nếu thanh ghi tích lũy chứa FFH, thì lệnh sau : ADD A, #1 sẽ trả về thanh ghi tích lũy kết quả 00H và set cờ nhớ trong PSW. Cờ nhớ cũng cĩ thể xem như một thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit. Ví dụ, lệnh sau sẽ AND bit 25H với cờ nhớ và đặt kết quả trở vào cờ nhớ : ANL C, 25H Bit Ký hiệu Địa chỉ Ý nghĩa PSW.7 CY D7H Cờ nhớ PSW.6 AC D6H Cờ nhớ phụ PSW.5 F0 D5H Cờ 0 PSW.4 RS1 D4H Bit 1 chọn bank thanh ghi PSW.3 RS0 D3H Bit 0 chọn bank thanh ghi 00 = bank 0 : địa chỉ 00H–07H 01 = bank 1 : địa chỉ 08H–0FH 10 = bank 2 : địa chỉ 10H–17H 11 = bank 3 : địa chỉ 18H–1FH PSW.2 OV D2H Cờ tràn PSW.1 – D1H Dự trữ PSW.0 P D0H Cờ parity chẵn LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 41 * Cờ nhớ phụ : Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết quả của 4 bit thấp trong khoảng 0AH đến 0FH. Nếu các giá trị được cộng là số BCD, thì sau lệnh cộng cần cĩ DA A (hiệu chỉnh thập phân thanh ghi tích lũy) để mang kết quả lớn hơn 9 vào ?????. * Cờ 0 : Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của người dùng. * Các bit chọn bank thanh ghi : Các bit chọn bank thanh ghi (RS0 và RS1) xác định bank thanh ghi được tích cực. Chúng được xĩa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu cần. Ví dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh ghi R7 (địa chỉ byte 1FH) đến thanh ghi tích lũy : SETB RS1 SETB RS0 MOV A, R7 Khi chương trình được hợp dịch, các đại chỉ bit đúng được thay thế cho các ký hiệu “RS1” và “RS0”. Vậy, lệnh SETB RS1 sẽ giống như lệnh SETB 0D4H. * Cờ tràn : Cờ tràn (OV) được set sau một lệnh cộng hoặc trừ nếu cĩ một phép tốn bị tràn. Khi các số cĩ dấu được cơng hoặc trừ với nhau, phần mềm cĩ thể kiểm tra bit này để xác định xem kết quả cĩ nằm trong tầm xác định khơng. Khi các số khơng dấu được cộng, bit OV cĩ thể được bỏ qua. Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 sẽ set bit OV. Kết quả là một số cĩ dấu 8EH được xem như -116, khơng phải là kết quả đúng (142), vì vậy, bit OV được set. b) Thanh ghi B : Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các phép tốn nhân và chia. Lệnh MUL AB sẽ nhân các giá trị khơng dấu 8 bit trong A và B rồi trả về kết quả 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ chia A cho B rồi trả về kết quả nguyên trong A và phần dư trong B. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 42 Thanh ghi B cũng cĩ thể được xem như thanh ghi đệm đa dụng. Nĩ được địa chỉ hĩa từng bit bằng các địa chi bit F0H đến F7H. c) Con trỏ ngăn xếp : Con trỏ ngăn xếp (SP) là một thanh ghi 8 bit ở địa chỉ 81H. Nĩ chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các lệnh trên ngăn xếp bao gồm các thao tác cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ đọc dữ liệu và giảm SP. Ngăn xếp của 8051/8031 được giữ trong RAM nội và được giới hạn các địa chỉ cĩ thể truy xuất bằng địa chỉ gián tiếp. Chúng là 128 byte đầu của 8051/8031. Để khởi động lại SP với ngăn xếp bắt đầu tại 60H,các lệnh sau đây được dùng : MOV SP, #5FH Trên 8051/8031 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM trên chip là 7FH. Sở dĩ dùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ liệu đầu tiên. Người thiết kế cĩ thể chọn khơng phải khởi động lại con trỏ ngăn xếp mà để nĩ lấy giá trị mặc định khi reset hệ thống. Giá trị mặc định đĩ là 07H và kết quả là ngăn đầu tiên để cất dữ liệu cĩ địa chỉ là 08H. Nếu phần mềm ứng d) Con trỏ dữ liệu : Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngồi là một thanh ghi 16 bit ở địa chỉ 82H (DPL : byte thấp) và 83H (DPH : byte cao). Ba lệnh sau sẽ ghi 55H vào RAM ngồi ở địa chỉ 1000H : MOV A, #55H MOV DPTR, #1000H MOVX @DPTR, A Lệnh đầu tiên dùng địa chỉ tức thời để tải dữ liệu 55H vào thanh ghi tích lũy. Lệnh thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữ liệu 16 bit 1000H vào con trỏ dữ liệu. Lệnh thứ ba dùng địa chỉ gián tiếp để di chuyển dữ liệu trong A (55H) đến RAM ngồi ở địa chỉ được chứa trong DPTR (1000H). LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 43 e) Các thanh ghi port xuất nhập : Các port của 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H. Tất cả các port đều được địa chỉ hĩa từng bit. Điều đĩ cung cấp một khả năng giao tiếp thuận lợi. Ví dụ nếu một motor được nối qua một cuộn dây cĩ transistor lái đến bit 7 của Port 1, nĩ cĩ thể được bật và tắt bằng một lệnh đơn : SETB P1.7 ; bật motor CLR P1.7 ; tắt motor Các lệnh trên dùng dấu chấm để xác định một bit trong một byte. Trình hợp dịch sẽ thi hành sự chuyển đổi cần thiết, vì vậy hai lệnh sau đây là như nhau : CLR P1.7 CLR 97H Trong một ví dụ khác, xem xét giao tiếp đến một thiết bị với một bit trạng thái gọi là BUSY, được set khi thiết bị đang bận và được xĩa khi thiết bị đã sẵn sàng. Nếu BUSY được nối tới P1.5, vịng lặp sau sẽ được dùng để chờ thiết bị trở lại trạng thái sẵn sàng : WAIT : JB P1.5, WAIT Lệnh này cĩ nghĩa là “nếu bit P1.5 được set thì nhảy tới nhãn WAIT”. Nĩi cách khác “nhảy trở lại và kiểm tra lần nữa”. f) Các thanh ghi timer : 8051 chứa hai bộ định thời / đếm 16 bit được dùng cho việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0 : byte thấp) và 8CH (TH0 : byte cao). Timer 1 ở địa chỉ 8BH (TL1 : byte thấp) và 8DH (TH1 : byte cao). Việc vận hành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ 88H. Chỉ cĩ TCON được địa chỉ hĩa từng bit. g) Các thanh ghi port nối tiếp : 8051 chứa một port nối tiếp trên chip dành cho việc trao đổi thơng tin với các thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp với các IC khác cĩ giao tiếp nối tiếp (các bộ chuyển đổi A/D, các thanh ghi dịch...). Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả hai dữ liệu truyền LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 44 và nhận. Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp (SCON) (được địa chỉ hĩa từng bit) ở địa chỉ 98H. h) Các thanh ghi ngắt : 8051 cĩ cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H. Cả hai thanh ghi được địa chỉ hĩa từng bit. i) Thanh ghi điều khiển cơng suất : Thanh ghi điều khiển cơng suất (PCON) ở địa chỉ 87H chứa nhiều bit điều khiển. Chúng được tĩm tắt trong bảng sau : IV-Bảo vệ bộ nhớ Các bit khố bộ nhớ chương trình. Vi điều khiển AT89C51 cĩ 3 bit khố cĩ thể bỏ khơng lập trình (U) hoặc được lập trình (P) để nhận các đặc trưng thêm vào được liệt kê trong bảng dưới đây (với LB1, LB2, LB3 là các bit khĩa tương ứng). 4 – Khơng định nghĩa. 3 GF1 Bit cờ đa dụng 1. 2 GF0 Bit cờ đa dụng 0. 1 PD Giảm cơng suất, được set để kích hoạt mode giảm cơng suất, chỉ thốt khi reset 0 IDL Mode chờ, set để kích hoạt mode chờ, chỉ thốt khi cĩ ngắt hoặc reset hệ thống. Bit Ký hiệu Ý nghĩa 7 SMOD Bit gấp đơi tốc đọ baud, nếu được set thì tốc độ baud sẽ tăng gấp đơi trong các mode 1,2 và 3 của port nối tiếp. 6 – Khơng định nghĩa. 5 – Khơng định nghĩa. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 45 Chế độ LB1 LB2 LB3 Kiểu bảo vệ 1 U U U Khơng khố chương trình 2 P U U Các lệnh MOVC được thi hành từ bộ nhớ chương trình ngồi bị cấm khi lấy các byte mã từ bộ nhớ nội, /EA được lấy mẫu và được chốt lại khi reset và hơn nữa, việc lập trình bộ nhớ Flash là bị cấm. 3 P P U Như chế độ 2 nhưng việc kiểm tra cũng bị cấm 4 P P P Như chế độ 3 nhưng việc thi hành ngồi cũng bị cấm. Khi bit khố 1 được lập trình, mức logic tại chân EA được lấy mẫu và chốt lại khi reset. Nếu thiết bị được bật nguồn mà khơng cĩ reset, việc chốt sẽ được khởi tạo với một giá trị ngẫu nhiên cho đến khi được reset. Giá trị được chốt của EA phải bằng với mức logic hiện tại ở chân đĩ để cho thiết bị làm việc một cách chính xác. V-HOẠT ĐỘNG CỦA PORT NỐI TIẾP 1-Giới thiệu: 8051 cĩ một port nối tiếp trong chip cĩ thể hoạt động ở nhiều chế độ trên một dãi tần số rộng. Chức năng chủ yếu của port nối tiếp là thực hiện chuyển đổi song song sang nối tiếp đối với dữ liệu xuất, và chuyển đổi nối tiếp sang song song với dữ liệu nhập. Truy xuất phần cứng đến port nối tiếp qua các chân TXD và RXD. Các chân này cĩ các chức năng khác với hai bit của Port 3, P3.1 ở chân 11 (TXD) và P3.0 ở chân 10 (RXD). Port nối tiếp cho hoạt động song cơng (full duplex : thu và phát đồng thời), và đệm lúc thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi ký tự thứ hai được nhận. Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được thu được thu đầy đủ thì dữ liệu sẽ khơng bị mất. Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port nối tiếp là : SBUF và SCON. Bộ đệm port nối tiếp (SBUF) ở địa chỉ 99H thật sự là hai LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 46 bộ đệm. Viết vào SBUF để nạp dữ liệu sẽ được phát, và đọc SBUF để truy xuất dữ liệu thu được. Đây là hai thanh ghi riêng biệt : thanh ghi chỉ ghi để phát và thanh ghi chỉ đọc để thu. Sơ đồ khối port nối tiếp. Thanh ghi điều khiển port nối tiếp (SCON) ở địa chỉ 98H là thanh ghi cĩ địa chỉ bit chứa các bit trạng thái và các bit điều khiển. Các bit điều khiển đặt chế độ hoạt động cho port nối tiếp, và các bit trạng thái báo kết thúc việc phát hoặc thu ký tự. Các bit trạnh thái cĩ thể được kiểm tra bằng phần mềm hoặc cĩ thể được lập trình để tạo ngắt. Tần số làm việc của port nối tiếp, cịn gọi là tốc độ baud cĩ thể cố định (lấy từ bộ dao động trên chip). Nếu sử dụng tốc độ baud thay đổi, Timer 1 sẽ cung cấp xung nhịp tốc độ baud và phải được lập trình. 2- Thanh ghi điều khiển port nối tiếp : Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độ port nối tiếp (SCON) ở địa chỉ 98H. Sau đây là các bảng tĩm tắt thanh ghi SCON và các chế độ của port nối tiếp : CLK SBUF Q (chỉ ghi) TXD (P3.1) Thanh ghi dịch D CLK Xung nhịp tốc độ baud (phát) Xung nhịp tốc độ baud (thu) RXD (P3.0) SBUF (chỉ đọc) Bus nội 8051/8031 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 47 Tĩm tắt thanh ghi chế độ port nối tiếp SCON. Các chế độ port nối tiếp. Trước khi sử dụng port nối tiếp, phải khởi động SCON cho đúng chế độ. Ví dụ, lệnh sau : MOV SCON, #01010010B khởi động port nối tiếp cho chế độ 1 (SM0/SM1 = 0/1), cho phép bộ thu (REN = 1) và đặt cờ ngắt phát (T1 = 1) để chỉ bộ phát sẵn sàng hoạt động. 3- Các chế độ hoạt động : Port nối tiếp cĩ 4 chế độ hoat động, cĩ thể chọn được bằng cách viết các số 1 hay 0 vào các bit SM0 và SM1 trong SCON. Cĩ ba chế độ cho phép truyền thơng bất đồng bộ, với mỗi ký tự được thu (nhận) hoặc phát đều được đĩng khung bằng một bit start và 1 bit stop. Ở chế độ thứ tư, port nối tiếp hoạt động như một thanh ghi dich đơn giản. Bit Ký hiệu Địa chỉ Mơ tả SCON.7 SM0 9FH Bit 0 của chế độ port nối tiếp. SCON.6 SM1 9EH Bit 1 của chế độ port nối tiếp. SCON.5 SM2 9DH Bit 2 của chế độ port nối tiếp. Cho phép truyền thơng đa xử lý trong các chế đọ 2 và 3; RI sẽ khơng bị tác động nếu bit thứ 9 thu được là 0. SCON.4 REN 9CH Cho phép bộ thu phải được đặt lên 1 để thu (nhận) các ký tự. SCON.3 TB8 9BH Bit 8 phát, bit thứ 9 được phát trong các chế độ 2 và 3; được đặt và xĩa bằng phần mềm. SCON.2 RB8 9AH Bit 8 thu, bit thứ 9 thu được. SCON.1 TI 99H Cờ ngắt phát. Đặt lên 1 khi kết thúc phát ký tự; được xĩa bằng phần mềm. SCON.0 RI 98H Cờ ngắt thu. Đặt lên 1 khi kết thúc thu ký tự; được xĩa bằng phần mềm. SM0 SM1 Chế độ Mơ tả Tốc độ baud 0 0 0 Thanh ghi dịch Cố định (FOSC /12). 0 1 1 UART 8 bit Thay đổi (đặt bằng timer). 1 0 2 UART 9 bit Cố định (FOSC chia cho 12 hoặc 64). 1 1 3 UART 9 bit Thay đổi (đặt bằng timer). LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 48 a) Thanh ghi dịch 8 bit (chế độ 0) : Chế độ 0 được chọn bằng cách ghi các bit 0 vào SM1 và SM0 của SCON, đưa port nối tiếp vào chế độ thanh ghi dịch 8 bit. Dữ liệu nối tiếp vào và ra qua RXD và TXD xuất xung nhịp dịch. 8 bit được phát hoặc thu với bit đầu tiên là LSB. Tốc độ baud cố định ở 1/12 tần số dao động trên chip. Việc phát đi được khởi động bằng bất cứ lệnh nào ghi dữ liệu vào SBUF. Dữ liệu được dịch ra ngồi trên đường RXD (P3.0) với các xung nhịp được gửi ra đường TXD (P3.1). Mỗi bit phát đi hợp lệ (trên RXD) trong một chu kỳ máy. Trong mỗi chu kỳ máy, tín hiệu xung nhập xuống thấp ở S3P1 và trở về mức cao ở S6P1. Giản đồ thời gian port nối tiếp phát ở chế độ 0 . Việc thu được khởi động khi bit cho phép bộ thu (REN) là 1 và bit ngắt thu (RI) là 0. Qui tắc tổng quát là đặt REN khi bắt đầu chương trình để khởi động port nối tiếp, rồi xĩa RI để bắt đầu hoạt động nhập dữ liệu. Khi RI bị xĩa, các xung nhịp được đưa ra đường TXD, bắt đầu chu kỳ máy kế tiếp, và dữ liệu theo xung nhịp ở đường RXD. Lấy xung nhịp cho dữ liệu vào S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 Một chu kỳ máy OSC ALE Bit dữ liệu hợp lệ Dữ liệu xuất Clock dịch Clock dịch (TXD) D0 D1 D2 D3 D4 D5 D6 D7 Dữ liệu xuất ALE Phĩng to LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 49 port nối tiếp xảy ra ở cạnh dương của TXD. Giản đồ thời gian port nối tiếp thu ở chế độ 0. Một ứng dụng của chế độ thanh ghi dịch là mở rộng khả năng xuất của 8051/8031. IC thanh ghi dịch nối tiếp ra song song cĩ thể được nối vào các đường TXD và RXD của 8051 để cung cấp thêm 8 đường ra. Cĩ thể nối xâu chuỗi thêm các thanh ghi dịch để mở rộng thêm. Chế độ thanh ghi dịch của port nối tiếp. b) UART 8 bit với tốc độ baud thay đổi được (chế độ 1) : Ở chế độ 1, port nối tiếp của 8051/8031 làm việc như một UART 8 bit với tốc độ baud thay đổi được. Một UART (Universal Asynchronous Receiver/Transmitter : Bộ thu/phát bất đồng bộ vạn năng) là một dụng cụ thu và phát dữ liệu nối tiếp với mỗi ký tự dữ liệu đi trước là bit start ở mức thấp và theo sau là bit stop ở mức cao. Đơi khi xen thêm bit kiểm tra chẵn lẻ giữa bit dữ liệu cuối cùng và bit stop. Hoạt động chủ yếu của UART là chuyển đổi song song sang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhập. Ở chế độ 1, 10 bit được phát trên TXD hoặc thu trên RXD. Những bit đĩ là : 1 bit start (luơn luơn là 0), 8 bit dữ liệu (LSB đầu tiên) và 1 bit stop (luơn luơn là 1). Với hoạt động thu, bit stop được đưa vào RB8 trong SCON. Trong 8051 chế Clock dịch (TXD) ALE Một chu kỳ máy D0 D0 D0 D0 D0 D0 D0 D0 Dữ liệu nhập (RXD) Clock Thanh ghi Dữ liệu dịch TXD (P3.1) RXD (P3.0) 8051 Thêm 8 ngõ ra LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 50 dộ baud được đặt bằng tốc độ báo tràn của Timer 1. Tạo xung nhịp và đồng bộ hĩa các thanh ghi dịch của port nối tiếp trong các chế độ 1, 2 và 3 được thiết lập bằng bộ đếm 4 bit chia cho 16, ngõ ra là xung nhịp tốc độ baud. Ngõ vào của bộ đếm này được chọn qua phần mềm Tạo xung nhịp port nối tiếp. Truyền dữ liệu (phát) được khởi động bằng cách ghi vào SBUF, nhưng vẫn chưa thật sự bắt đầu chạy cho đến khi sự thay thế kế tiếp của bộ đếm chia cho 16 cung cấp tốc độ baud cổng nối tiếp. Dữ liệu được dịch ra ngồi trên đường TXD bắt đầu bằng bit start, theo sau là 8 bit dữ liệu và sau cùng là bit stop. Độ rộng (theo thời gian của mỗi bit) là nghịch đảo của tốc độ baud được lập trình trong timer. Cờ ngắt phát (TI) được đặt lên 1 khi xuất hiện bit stop trên TXD. Đặt cờ TI port nối tiếp. Việc thu dữ liệu được khởi động bằng một chuyển trạng thái từ 1 xuống 0 trên RXD. Bộ đếm 16 tức thời được xĩa để đồng bộ số đếm với luồng bit đến. Luồng bit đến được lấy mẫu giữa 16 lần đếm. Bộ thu sẽ phát hiện được bit start sai bằng cách yêu cầu trạng thái 0 ở (bit start) ở lần đếm thứ 8 sau khi cĩ chuyển trạng thái từ 1 xuống 0 đầu tiên. Nếu điều này Xung nhịp tốc độ baud Thanh ghi dịch port nối tiếp  16 16  tốc độ baud bit start bit stop D0 D1 D2 D3 D4 D5 D6 D7 TXD 1 tốc độ baud TI (SCON.1) Ngắt phát (chuẩn bị cho dữ liệu) LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 51 khơng xảy ra, người ta giả sử là bộ thu được kích bởi nhiễu chứ khơng phải do một ký tự hợp lệ. Bộ thu được reset và quay về trạng thái nghỉ (idle), tìm kiếm (đợi) chuyển trạng thái từ 1 xuống 0 kế. Giả sử đã phát hiện được bit start hợp lệ, thì tiếp tục thu ký tự. Bit start được bỏ qua và 8 bit dữ liệu được đưa vào thanh ghi dịch cổng nối tiếp theo xung nhịp. Khi đã cĩ được tất cả 8 bit, điều sau đây xảy ra : 1. Bit thứ 9 (bit stop) được chốt vào RB8 trong SCON. 2. SBUF được nạp với 8 bit dữ liệu. 3. Cờ ngắt bộ thu (RI) được đặt lên 1. Tuy nhiên, những điều này chỉ xảy ra nếu đã cĩ những điều kiện sau : 1. RI = 0 2. SM2 = 1 và bit stop thu được là 1, hoặc SM2 = 0. Địi hỏi RI = 0 để bảo đảm là phần mềm đã đọc ký tự trước (và RI được xĩa). Điều kiện thứ hai hơi phức tạpn nhưng chỉ áp dụng trong chế độ truyền thơng đa xử lý. Điều đĩ hàm ý là “khơng đặt RI lên 1 trong chế độ truyền thơng đa xử lý khi bit dữ liệu thứ 9 là 0). c) UART 9 bit với tốc độ baud cố định (chế độ 2) : Khi SM1 = 1 và SM0 = 0, cổng nối tiếp làm việc ở chế độ 2, như một UART 9 bit cĩ tốc độ baud cố định. 11 bit sẽ được phát hoặc thu : 1 bit start, 8 bit dữ liệu, bit dữ liệu thứ 9 cĩ thể lập trình được và 1 bit stop. Khi phát, bit thứ 9 là bất cứ gì đã được đưa vào TB8 trong SCON (cĩ thể là bit parity). Khi thu, bit thứ 9 thu được sẽ ở trong RB8. Tốc độ baud ở chế độ 2 là 1/32 hoặc 1/16 tần số dao động trên chip. d) UART 9 bit với tốc độ baud thay đổi được : Chế độ này giống như chế độ 2 ngoại trừ tốc độ baud cĩ thể lập trình được và được cung cấp bởi timer. Thật ra, các chế độ 1,2 và 3 rất giống nhau. Các khác biệt là ở tốc độ baud (ccĩ định trong chế độ 2, thay đổi trong các chế độ 1 và 3) và ở số bit dữ liệu (8 trong chế độ 1, 9 trong các chế độ 2 và 3). 4-Khởi động và truy xuất các thanh ghi cổng nối tiếp : a) Cho phép thu : Bit cho phép bộ thu (REN = Receiver Enable) trong SCON phải được đặt lên 1 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 52 bằng phầm mềm để cho phép thu các ký tự. Thơng thường thực hiện việc nàyở đầu chương trình khi khởi động cổng nối tiếp, timer, ... Cĩ thể thực hiện việc này theo hai cách. Lệnh : SETB REN sẽ đặt REN lên 1, hoặc lệnh : MOV SCON, #xxx1xxxxB sẽ đặt REN lên 1 và đặt hoặc xĩa các bit khác trong SCON khi cần (Các x phải là 0 hoặc 2 để đặt chế độ làm việc. b) Bit dữ liệu thứ 9 : Bit dữ liệu thứ 9 cần phát trong các chế độ 2 và 3 phải được nạp vào trong TB8 bằng phần mềm. Bit dữ liệu dữ liệu thứ 9 thu được đặt ở RB8. Phần mềm cĩ thể cần hoặc khơng cần bit dữ liệu thứ 9, phụ thuộc vào đặc tính kỹ thuật của thiết bị nối tiếp sử dụng. (Bit dữ liệu thứ 9 cũng đĩng một vai trị quan trọng trong truyền thơng đa xử lý). c) Thêm 1 bit parity : Thường sử dụng bit dữ liệu thứ 9 để thêm parity vào ký tự. Như đã xét ở các chương trước, bit P trong từ trạng thái chương trình (PSW) được đặt lên 1 hoặc bị xĩa mỗi chu kỳ máy để thiết lập kiểm tra chẵn với 8 bit trong thanh ghi tích lũy. Ví dụ, nếu truyền thơng cần 8 bit dữ liệu cộng thêm kiểm tra chẵn, cĩ thể sử dụng các lệnh sau để phát 8 bit trong thanh ghi tích lũy với kiển tra chẵn thêm vào bit thứ 9 : MOV C, P ; Đặt bit parity chẵn vào TB8 MOV TB8, C ; nĩ trở thành bit dữ liệu thứ 9 MOV SBUF, A ; Chuyển 8 bit từ ACC vào SBUF. Nếu cần parity lẻ thì sửa các lệnh lại như sau : MOV C, P ; Đặt bit parity chẵn vào cờ C CPL C ; Đổi sang parity lẻ MOV TB8, C MOV SBUF, A Dĩ nhiên, việc sử dụng parity khơng bị giới hạn ở các chế độ 2 và 3. Ở chế độ 1, 8 bit dữ liệu được truyền đi cĩ thể bao gồm 7 bit dữ liệu cộng thêm bit parity. Để LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 53 truyền mã ASCII 7 bit với parity chẵn ở bit 8, cĩ thể sử dụng các lệnh sau : CLR ACC.7 ; bảo đảm MSB được xĩa ; parity chẵn ở trong P MOV C, P MOV ACC.7, C ; Đặt parity chẵn vào MSB MOV SBUF, A ; Gởi ký tự đi ; 7 bit dữ liệu cộng prity chẵn. d) Các cờ ngắt : Hai cờ ngắt thu và phát (RI và TI) trong SCON đĩng một vai trị quan trọng trong truyền thơng nối tiếp dùng 8051. Cả hai bit được đặt lên 1 bằng phần cứng, nhưng phải được xĩa bằng phần mềm. Ví dụ, thường RI được đặt lên 1 khi kết thúc việc thu ký tự và báo “bộ đệm thu tràn”. Điều kiện này cĩ thể được kiểm tra trong phần mềm hoặc cĩ thể được lập trình để gây ra một ngắt. Nếu phần mềm muốn nhập một ký tự từ thiết bị được nối vào cổng nối tiếp (cĩ thể là thiết bị đầu cuối hiển thị video), nĩ phải đợi cho đến khi RI được đặt lên 1, rồi xĩa RI và đọc ký tự từ SBUF. Chương trình như sau : WAIT : JNB RI, WAIT ; Kiểm tra RI cho đến khi nĩ = 1 CLR RI ; Xĩa RI MOV A, SBUF ; Đọc ký tự TI được đặt lên 1 ở cuối lúc phát ký tự và báo “ bộ đệm phát trống”. Nếu phần mềm muốn gửi một ký tự đến một thiết bị được nối vào cổng nối tiếp, trước hết nĩ phải kiểm tra xem cổng nối tiếp sẵn sàng chưa. Nĩi cách khác, nếu ký tự trước đã được gởi đi, đợi cho đến khi việc truyền dữ liệu hồn tất trước khi gửi ký tự kế. Các lệnh sau sẽ truyền ký tự trong thanh ghi tích lũy: WAIT : JNB TI, WAIT ; Kiểm tra TI cho đến khi nĩ bằng 1 CLR TI ; Xĩa TI MOV SBUF, A ; Gởi ký tự đi. Các đoạn chương trình trên là một phần của các hàm nhập và xuất ký tự chuẩn. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 54 5-Tốc độ baud port nối tiếp : Như đã nĩi, tốc độ baud cố định ở các chế độ 0 và 2. Trong chế độ 0, nĩ luơn luơn là tần số dao động trên chip được chia cho 12. Thơng thường thạch anh ấn định tần số dao động trên chip của 8051, nhưng cũng cĩ thể sử dụng nguồn xung nhịp khác. Giả sử với tần số dao động danh định là 12 MHz, thì tốc độ baud chế độ 0 là 1 MHz. Các nguồn tạo xung nhịp cho port nối tiếp. Mặc nhiên sau khi reset hệ thống, tốc độ baud chế độ 2 là tần số bộ dao động chia cho 64. Tốc độ baud cũng bị ảnh hưởng bởi một bit trong thanh ghi điều khiển nguồn cung cấp (PCON). Bit 7 của PCON là bit SMOD. Đặt bit SMOD lên 1 làm gấp đơi tốc độ baud trong các chế độ 1, 2 và 3. Trong chế độ 2, tốc độ baud cĩ thể bị gấp đơi từ giá trị mặc nhiên của 1/64 tần số dao động (SMOD = 0) đến 1/32 tần số dao động (SMOD = 1). Vì PCON khơng được định địa chỉ theo bit, nên để đặt bit SMOD lên 1 cần phải theo các lệnh sau : MOV A, PCON ; Lấy giá trị hiện thời của PCON SETB ACC.7 ; Đặt bit 7 (SMOD) lên 1 MOV PCON, A ; Ghi giá trị ngược về PCON.  12 xung nhịp tốc độ baud dao động trên chip a) chế độ 0  32 xung nhịp tốc độ baud dao động trên chip c) các chế độ 1 và 3.  16 SMOD = 0 SMOD = 1  64 xung nhịp tốc độ baud dao động trên chip b) chế độ 2  32 SMOD = 0 SMOD = 1 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 55 Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn của Timer 1. Vì timer hoạt động ở tần số tương đối cao, tràn timer được chia thêm cho 32 (16 nếu SMOD = 1) trước khi cung cấp xung nhịp tốc độ baudcho port nối tiếp. * Sử dụng Timer 1 làm xung nhịp tốc độ baud : nạp lại (chế độ 2) và đặt giá trị nạp lại đúng vào TH1 để cho tốc độ tràn đúng với tốc độ baud. TMOD được khởi động như sau : Xét 8051, cách thơng dụng để tạo tốc độ baud là khởi động TMOD cho chế độ 8 bit tự động MOV TMOD, #0010xxxxB Các x là các bit 1 hoặc 0 cần cho timer. Cũng cĩ thể đạt được các tốc độ baud thấp bằng cách sử dụng timer chế độ 1 với TMOD = 0001xxxxB. Tuy nhiên, tốn thêm phần mềm vì các thanh ghi TH1/TL1 phải được khởi động lại sau mỗi lần tràn. Việc này sẽ được thực hiện trong chương trình phục vụ ngắt. Một chọn lựa khác là cấp xung nhịp cho Timer 1 từ ngồi dùng T1(P3.5). Và luơn luơn tốc độ baud là tốc độ tràn của Timer 1 được chia cho 32 (hoặc cho 16, nếu SMOD = 1). Do việc làm trịn nên cĩ sai số nhỏ trong tốc độ baud. Tổng quát thì cho phép dung sai 5Cơng thức tổng quát để xác định tốc độ baud trong các chế độ 1 và 3 là : Tốc độ baud = Tốc độ tràn của Timer 1  32. Ví dụ, muốn làm việc với tốc độ baud là 1200 baud, thì tốc độ tràn của Timer 1 phải là : 1200  32 = 38.4 KHz. Nếu dùng thạch anh 12 MHz, Timer 1 được cấp xung nhịp 1 MHz hay 1000 KHz. Vì tốc đơ tràn của Timer 1 là 38.4 KHz và timer được cấp xung nhịp 1000 KHz, thì cần tràn sau 1000  38.4 = 26.04 xung nhịp (làm trịn là 26). Vì timer đếm lên và tràn xảy ra khi cĩ sự thay đổi từ FFH xuống 00H ở số đếm. Như vậy giá trị đúng cần nạp vào TH1 là –26. Cách dễ nhất để đặt giá trị nạp lại vào TH1 là : MOV TH1, # –26 Trình hợp dịch sẽ thực hiện chuyển đổi cần thiết. Trong trường hợp này –26 được chuyển thành 0E6H. Như vậy, lệnh trên hồn tồn giống với lệnh : MOV TH1, # 0E6H% trong truyền thơng bất đồng bộ LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 56 (start/stop). Cĩ thể cĩ được tốc độ baud chính xác nếu dùng thạch anh 11.059 MHz. Bảng sau đây tĩm tắt các giá trị nạp lại cho các tốc độ baud thơng dụng nhất, dùng thạch anh 12 MHZ hoặc 11.059 MHz : Bảng tĩm tắt tốc độ baud. VI-CÁC NGẮT 1- Giới thiệu : Một ngắt là sự xảy ra một điều kiện- một sự kiện- mà nĩ gây ra treo tạm thời chương trình trong khi điều kiện đĩ được phục vụ bởi một chương trình khác. Các ngắt đĩng một vai trị quan trọng trong thiết kế và cài đặt các ứng dụng vi điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và giải quyết sự kiện đĩ trong khi một chương trình khác đang thực thi. Một hệ thống được điều khiển bằng ngắt cho ảo giác là làm nhiều việc đồng thời. Dĩ nhiên CPU mỗi lần khơng thể thực thi hơn một lệnh. Nhưng nĩ cĩ thể tạm treo việc thực thi một chương trình để thực thi chương trình khác, rồi quay về chương trình thứ nhất. Theo cách này, nĩ giống như một chương trình con, nhưng cĩ sự khác biệt trong hệ thống được điều khiển bằng ngắt là sự ngắt quãng khơng xảy ra như kết quả của một lệnh (lệnh CALL subroutine), mà là đáp ứng với một “sự kiện” xảy ra bất đồng bộ với chương trình chính. Người ta khơng biết khi nào và ở đâu chương trình chính sẽ bị ngắt quãng. Chương trình giải quyết ngắt được gọi là chương trình phục vụ ngắt (ISR : Interrupt Service Routine) hoặc bộ xử lý ngắt. ISR thực thi khi đáp ứng ngắt va Tốc độ baud 9600 12.000 MHz 1 –7 (F9H) 8923 7% 2400 12.000 MHz 0 –13 (F3H) 2404 0.16% 1200 12.000 MHz 0 –26 (E6H) 1202 0.16% 19200 11.059 MHz 1 –3 (FDH) 19200 0 9600 11.059 MHz 0 –3 (FDH) 9600 0 2400 11.059 MHz 0 –12 (F4H) 2400 0 1200 11.059 MHz 0 –24 (E8H) 1200 0 Tần số thạch anh SMOD Giá trị nạp lại vào TH1 Tốc độ baud thật Sai số LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 57 thơng thượngthưc hiện tác vụ nhập hay xuất với một thiết bị. Khi ngắt xảy ra, chương trình chính tạm thời bị treo và rẻ nhánh đến ISR : ISR thực thi và kết thúc bằng lệnh trở về từ ngắt, chương trình chính tiếp tục thực thi ở chỗ mà nĩ tạm dừng. Thường người ta xem chương trình chính như thực thi ở mức nền (cơ sở) (base - level) và các ISR thực thi ở mức ngắt (interrupt - level). Người ta cũng dùng các thuật ngữ foreground chỉ mức nền và background chỉ mức ngắt. Hình ảnh khái quát của các ngắt được mơ tả trong hình sau : 2-Tổ chức ngắt của 8051 Cĩ 5 nguồn ngắt ở 8051 : 2 ngắt ngồi, 2 ngắt từ timer và 1 ngắt port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho phép từng cái một bằng phần mềm. Khi cĩ hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra trong khi một ngắt khác đang được phục vụ, cĩ cả hai sự tuần tự hỏi vịng và sơ đồ ưu tiên hai mức dùng để xác định việc thực hiện các ngắt. Việc hỏi vịng tuần tự thì cố định nhưng ưu tiên ngắt thì cĩ thể lập trình được. a) Cho phép và cấm các ngắt : Mỗi nguồn ngắt được cho phép hoặc cấm từng ngắt một qua thanh ghi chức năng đặc biệt cĩ định địa chỉ bit IE (Interrupt Enable : cho phép ngắt) ở địa chỉ A8H. Cũng như các bit cho phép riêng biệt cho mỗi nguồn ngắt, cĩ một bit cho phép/cấm tồn bộ được xĩa để cấm tất cả các ngắt hoặc được đặt lên 1 để cho phép tất cả các ngắt. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 58 Tĩm tắt thanh ghi IE. Hai bit phải được đặt lên 1 để cho phép bất kỳ ngắt nào : bit cho phép riêng và bit cho phép tồn bộ. Ví dụ, các ngắt từ Timer 1 được cho phép như sau : SETB ET1 ; Cho phép ngắt từ Timer 1 SETB EA ; Đặt bit cho phép tồn bộ. Cũng cĩ thể sử dụng lệnh sau : MOV IE, # 10001000B Mặc dù hai cách này cĩ cùng hiệu quả sau khi reset hệ thống, nhưng hiệu quả sẽ khác nếu IE được ghi ở giữa chương trình. Cách thứ nhất khơng ảnh hưởng đến 5 bit khác trong thanh ghi IE, trái lại cách thứ hai sẽ xĩa các bit khác. Nên khởi trị IE theo cách thứ hai ở đầu chương trình (nghĩa là sau khi mở máy hoặc reset hệ thống), nhưng cho phép và cấm các ngắt ngay trong chương trình nên dùng cách thứ nhất để tránh ảnh hưởng đến các bit khác trong thanh ghi IE. Bit Ký hiệu Địa chỉ bit Mơ tả (1 = cho phép, 0 = cấm) IE.7 EA AFH Cho phép/cấm tồn bộ. IE.6 – AEH Khơng được định nghĩa. IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052). IE.4 ES ACH Cho phép ngắt port nối tiếp. IE.3 ET1 ABH Cho phép ngắt từ Timer 1. IE.2 EX1 AAH Cho phép ngắt ngồi. IE.1 ET0 A9H Cho phép ngắt từ Timer 0. IE.0 EX0 A8H Cho phép ngắt ngồi 0. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 59 b) Ưu tiên ngắt : Mỗi nguồn ngắt được lập trình riêng vào một trong hai mức ưu tiên qua thanh ghi chức năng đặc biệt được địa chỉ bit IP (Interrupt Priority : Ưu tiên ngắt) ở địa chỉ B8H. Tĩm tắt thanh ghi IP. IP bị xĩa sau khi reset hệ thống để (mặc nhiên) đặt tất cả các ngắt ở mức ưu tiên thấp hơn. Ý tưởng “ưu tiên” cho phép một ISR sẽ bị ngắt bởi một ngắt nếu ngắt cĩ độ ưu tiên cao hơn ngắt đang phục vụ. Điều này thì rõ ràng trên 8051/8031, vì chỉ cĩ hai mức ưu tiên. Nếu một ISR cĩ ưu tiên thấp đang thực thi khi một ngắt cĩ ưu tiên cao xảy ra thì ISR bị ngắt. ISR cĩ ưu tiên cao khơng thể bị ngắt. Chương trình chính thực thi ở mức nền và khơng liên hệ với bất cứ ngắt nào, cĩ thể luơn luơn bị ngắt quãng bất chấp ưu tiên của ngắt. Nếu hai ngắt cĩ độ ưu tiên khác nhau xảy ra đồng thời thì ngắt cĩ độ ưu tiên cao hơn sẽ được phục vụ trước. c) Hỏi vịng tuần tự : Nếu hai ngắt cùng độ ưu tiên xảy ra đồng thời, sự hỏi vịng tuần tự sẽ xác định cái nào được phục vụ trước tiên. Hỏi vịng tuần tự là bên ngồi 0, Timer 0, bên ngồi 1, Timer 1, port nối tiếp và Timer 2. Hình sau minh họa 5 nguồn ngắt, cơ chế riêng biệt và tồn bộ, hỏi vịng tuần tự và các mức ưu tiên. Trạng thái của tất cả các nguồn ngắt khả dụng qua các bit cờ tương ứng trong các SFR. Dĩ nhiên, nếu cĩ bất kỳ ngắt nào bị cấm, ngắt khơng xảy ra, nhưng phần mềm vẫn cĩ thể kiểm tra cờ ngắt. Các ví dụ timer và port nối tiếp trong các mục trước đã sử dụng các cờ ngắt một cách mở rộng mà thật sự khơng dùng ngắt. Bit Ký hiệu Địa chỉ bit Mơ tả (1 = mức cao hơn, 0 = mức thấp hơn) IP.7 – – Khơng được định nghĩa. IP.6 – – Khơng được định nghĩa. IP.5 PT2 BDH Ưu tiên cho ngắt từ Timer 2 (8052). IP.4 PS BCH Ưu tiên cho ngắt port nối tiếp. IP.3 PT1 BBH Ưu tiên cho ngắt từ Timer 1. IP.2 PX1 BAH Ưu tiên cho ngắt ngồi. IP.1 PT0 B9H Ưu tiên cho ngắt từ Timer 0. IP.0 PX0 B8H Ưu tiên cho ngắt ngồi 0. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 60 ` Tổng thể kiến trúc ngắt của 8051. Ngắt port nối tiếp cĩ từ logic OR của ngắt thu (RI) và ngắt phát (TI). Các bit cờ tạo các ngắt được tĩm tắt ở bảng sau : IE0 IT0 1 0 INT0 IE1 IT1 1 0 INT1 TF0 TF1 RI TI Ngắt ưu tiên cao Ngắt ưu tiên thấp Chấp nhận ngắt Cho phép tồn bộ Các cho phép ngắt Tuần tự hỏi vịng ngắt Ngắt Cờ Thanh ghi SFR và vị trí bit Bên ngồi 0 IE0 TCON.1 Bên ngồi 1 IE1 TCON.3 Timer 1 TF1 TCON.7 Timer 0 TF0 TCON.5 Port nối tiếp TI SCON.1 Port nối tiếp RI SCON.0 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 61 3- Xử lý ngắt : Khi ngắt xảy ra và được CPU chấp nhận, chương trình chính bị ngắt quãng. Những hoạt động sau xảy ra : – Lệnh hiện hành hồn tất việc thực thi. – Cất PC vào ngăn xếp. – Trạng thái ngắt hiện hành được cất bên trong. – Các ngắt bị chặn ở mức ngắt. – Nạp vào PC địa chỉ vector của ISR. – ISR thực thi. ISR thực thi và đáp ứng ngắt. ISR hồn tất bằng lệnh RETI (quay về từ ngắt). Điều này làm lấy lại giá trị cũ của PC từ ngăn xếp và lấy lại trạng thái ngắt cũ. Thực thi chương trình chính tiếp tục ở chỗ mà nĩ bị dừng. * Các vector ngắt : Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt. Nĩ là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt. Các vector ngắt được cho ở bảng sau : Các vector ngắt. Vector reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo nghĩa này, nĩ giống ngắt : nĩ ngắt chương trình chính và nạp cho PC giá trị mới. Khi “chỉ đến một ngắt”, cờ gây ngắt tự động bị xĩa bởi phần cứng. Các ngoại lệ là RI và TI với các ngắt port nối tiếp. Vì cĩ hai nguồn cĩ thể cĩ cho ngắt này, khơng thực tế để CPU xĩa cờ ngắt này. Các bit phải được kiểm tra trong ISR để xác định nguồn ngắt và cờ tạo ngắt sẽ được xĩa bằng phần mềm. Thơng thường một rẽ nhánh xảy ra với một phản ứng thích hợp, phụ thuộc vào nguồn ngắt. Vì các vector ngắt ở phần đầu của bộ nhớ chương trình, lệnh thứ nhất của Ngắt Cờ Địa chỉ vector Reset hệ thống RST 0000H Bên ngồi 0 IE0 0003H Timer 0 TF0 000BH Bên ngồi 1 IE1 0013H Timer 1 TF1 001BH Port nối tiếp TI hoặc RI 0023H LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 62 chương trình chính thường là lệnh nhảy qua vùng nhớ này, ví dụ như LJMP 0030H. 4- Thiết kế chương trình dùng các ngắt : Các ví dụ trong các mục trước đã khơng sử dụng các ngắt nhưng đã cĩ các “vịng lặp đợi” để kiểm tra các cờ báo tràn (TF0 hoặc TF1) hoặc các cờ thu và phát port nối tiếp (TI hoặc RI). Vấn đề trong phương pháp này là thời gian thực thi cĩ giá trị của CPU hồn tồn bị tiêu tốn trong việc đợi các cờ. Điều này hồn tồn khơng thích hợp với các ứng dụng cho điều khiển trong đĩ bộ vi điều khiển phải tương tác với nhiều thiết bị nhập và xuất đồng thời. Trong phần này ta sẽ khảo sát cách phát triển chương trình dùng ngắt để điều khiển. Khung đề nghị cho một chương trình độc lập dùng ngắt như sau : ORG 0000H ; Điểm vào reset LJMP MAIN : ORG 0030H ; Điểm vào chương trình chính MAIN : ; Chương trình chính bắt đầu. Lệnh thứ nhất nhảy đến địa chỉ 0030H, vừa trên các vị trí vector mà các ISR bắt đầu. Như được vẽ ở hình sau, chương trình chính bắt đầu ở địa chỉ 0030H. LJMP main 0000H 0029H 0030H FFFFH Chương trình chính Các điểm vào reset và ngắt Bộ nhớ chương trình bên ngồi LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 63 Tổ chức bộ nhớ khi dùng các ngắt. a) Các chương trình phục vụ ngắt cĩ kích thước nhỏ : Các chương trình phục vụ ngắt phải bắt đầu ở gần phần đầu của bộ nhớ chương trình ở các địa chỉ trong bảng Các vector ngắt. Mặc dù chỉ cĩ 8 byte ở giữa các điểm vào ngắt, thường đủ bộ nhớ để thực hiện hoạt động mong muốn và quay về chương trình chính từ ISR. Nếu chỉ cĩ một nguồn ngắt được sử dụng, ví dụ Timer 0, thì cĩ thể sử dụng khung sau : ORG 0000H ; Reset LJMP MAIN ORG 000BH ; Điểm vào Timer 0 T0ISR : ; ISR cho Timer 0 bắt đầu RETI ; Quay về chương trình chính MAIN : ; Chương trình chính Nếu sử dụng nhiều ngắt, phải cẩn thận, bảo đảm là chúng bắt đầu ở vị trí đúng và khơng chạy quá sang ISR kế. Vì chỉ cĩ một ngắt được sử dụng trong ví dụ trên, chương trình chính cĩ thể bắt đầu ngay sau lệnh RETI. b) Các chương trình phục vụ ngắt cĩ kích thước lớn : Nếu ISR dài hơn 8 byte, cĩ thể cần chuyển nĩ tới nơi nào đĩ trong bộ nhớ chương trình hoặc cĩ thể để nĩ đi lố qua điểm vào của ngắt kế. Tiêu biểu là ISR bắt đầu với lệnh nhảy đến vùng nhớ khác ở đĩ cĩ thể mở rộng chiều dài ISR. Ví dụ lúc này chỉ xét Timer 0, cĩ thể sử dụng khung sau : ORG 0000H ; Điểm vào reset LJMP MAIN ORG 000BH ; Điểm vào Timer 0 LJMP T0ISR ORG 0030H ; Các vector ngắt tiếp theo MAIN : : LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 64 T0ISR : ; ISR cho Timer 0 RETI ; Quay về chương trình chính. Để đơn giản, chương trình của chúng ta sẽ chỉ làm một việc lúc đầu. Chương trình khởi động timer, port nối tiếp và các thanh ghi ngắt cho thích hợp và rồi khơng làm gì cả. Cơng việc hồn tồn được làm trong ISR. Sau các lệnh khởi động, chương trình chính chứa lệnh sau : HERE : SJMP HERE hay dạng viết gọn như sau : SJMP $ Khi ngắt xảy ra, chương trình chính bị ngắt quãng tạm thời trong khi ISR thực thi. Lệnh RETI ở cuối ISR trả diều khiển về chương trình chính và nĩ tiếp tục khơng làm gì cả. Trong nhiều ứng dụng điều khiển, nhiều cơng việc thật ra được thực hiện hồn tồn trong ISR. Vì sử dụng ngắt, nên lệnh SJMP $ (HERE : SJMP HERE) cĩ thể được thay thế bằng các lệnh thực hiện các cơng việc khác cần trong ứng dụng. 5- Các ngắt của 8051: a) Các ngắt timer : Các ngắt timer cĩ địa chỉ vector ngắt là 000BH (Timer 0) và 001BH (Timer 1). Ngắt timer xảy ra khi các thanh ghi timer (TLx/THx) tràn và set cờ báo tràn (TFx) lên 1. Chú ý rằng các cờ timer (TFx) khơng bị xĩa bằng phần mềm. Khi cho phép các ngắt, TFx tự động bị xĩa bằng phần cứng khi CPU chuyển đến ngắt. b) Các ngắt cổng nối tiếp : Ngắt cổng nối tiếp xảy ra khi hoặc cờ ngắt phát (TI) hoặc cờ ngắt thu (RI) được đặt lên 1. Ngắt phát xảy ra khi truyền một ký tự vừa được ghi vào SBUF. Ngắt thu xảy ra khi một ký tự đã được nhận xong và đang đợi trong SBUF để được đọc. Ngắt cổng nối tiếp hơi khác với ngắt timer. Cờ gây ra ngắt cổng nối tiếp khơng bị xĩa bằng phần cứng khi CPU chuyển tới ngắt. Nguyên do là cĩ hai nguồn ngắt cổng nối tiếp : TI và RI. Nguồn ngắt phải được xác định trong ISR và cờ tạo ngắt sẽ được xĩa bằng phần mềm. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 65 c) Các ngắt ngồi : Các ngắt ngồi xảy ra khi cĩ một mức thấp hoặc cạnh xuống trên chân INT0 hoặc INT1 của 8051. Đây là các chức năng chuyển đổi của các bit Port 3 : P3.2 (chân 12) và P3.3 (chân 13). Các cờ tạo các ngắt này là các bit IE0 và IE1 trong TCON. Khi quyền điều khiển đã chuyển đến ISR, cờ tạo ra ngắt chỉ được xĩa nếu ngắt được tích cực bằng cạnh xuống. Nếu ngắt được tích cực theo mức, thì nguồn yêu cầu ngắt bên ngồi sẽ điều khiển mức của cờ thay cho phần cứng. Sự lựa chọn ngắt tích cực mức thấp hay tích cực cạnh xuống được lập trình qua các bit IT0 và IT1 trong TCON. Ví dụ, nếu IT1 = 0, ngắt ngồi 1 được kích khởi bằng mức thấp ở chân INT1. Nếu IT1 = 1, ngắt ngồi 1 sẽ được kích khởi bằng cạnh. Trong chế độ này, nếu các mẫu liên tiếp của trên chân INT1 chỉ mức cao trong một chu kỳ và thấp trong chu kỳ kế, cờ yêu cầu ngắt IE1 trong TCON được đặt lên 1. Rồi bit cờ IE1 yêu cầu ngắt. Vì các chân ngắt ngồi được lấy mẫu một lần ở mỗi chu kỳ máy, ngõ vào nên được giữ trong tối thiểu 12 chu kỳ dao động để bảo đảm lấy mẫu đúng. Nếu ngắt ngồi được tác động theo cạnh xuống, nguồn bên ngồi phải giữ chân yêu cầu cao tối thiểu 1 chu kỳ và giữ nĩ ở mức thấp thêm một chu kỳ nữa để bảo đảm phát hiện được cạnh xuống. IE0 và IE1 tự động được xĩa khi CPU chuyển tới ngắt. Nếu ngắt ngồi được tác động theo mức, nguồn bên ngồi phải giữ yêu cầu tác động cho đến khi ngắt được yêu cầu thật sự được tạo ra. Rồi nĩ phải khơng tác động yêu cầu trước khi ISR được hồn tất, nếu khơng một ngắt khác sẽ được lặp lại. Thơng thường khi vào ISR người ta làm nguồn yêu cầu đưa tín hiệu tạo ngắt về trạng thái khơng tác động. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 66 6- Giản đồ thời gian khi xảy ra một ngắt : Các ngắt được lấy mẫu và chốt ở S5P2 của mỗi chu kỳ máy : Lấy mẫu các ngắt ở S5P2. Chúng được hỏi vịng ở chu kỳ máy kế tiếp và nếu một điều kiện ngắt tồn tại, nĩ sẽ được chấp nhận nếu : (*) khơng cĩ ngắt khác cĩ độ ưu tiên bằng hoặc cao hơn đang xảy ra, (**) chu kỳ hỏi vịng là chu kỳ cuối trong một lệnh, (***) lệnh hiện hành khơng là lệnh RETI hoặc bất cứ truy xuất nào đến IE hoặc IP. Trong hai chu kỳ kế, bộ xử lý cất PC vào ngăn xếp và nạp vào PC địa chỉ vector ngắt. ISR bắt đầu thực thi. Lệnh hiện hành khơng phải là lệnh RETI để bảo đảm cĩ tối thiểu một lệnh được thực thi sau mỗi chương trình phục vụ ngắt. Một chu kỳ máy (1s) S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 Các ngắt được lấy mẫu 0.25s 12MHz Chu kỳ 1 Chu kỳ 2 * Chu kỳ 3 Chu kỳ 4 Chu kỳ 5 Các ngắt được lấy mẫu Các ngắt được hỏi vịng Ngắt được chấp nhận (PC được cất vào ngăn xếp) ISR bắt đầu * : phải là chu kỳ máy cuối cùnh của lệnh Hỏi vịng các ngắt. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 67 PHẦN II : THIẾT KẾ MẠCH ĐIỀU KHIỂN ROBOT VÀ CÁC MẠCH I.Khối mạch nguồn 1.Thơng số thiết kế: nguồn cung cấp cho robot cĩ 2 giá trị nguồn 5V và nguồn 12V +Nguồn 12V được lấy trực tiếp từ acquy 12V5Ah. Nguồn 12V cung cấp cho động cơ và mạch điều khiển từ xa.là nguồn 1 chiều tương đối phẳng nên vấn đề lọc bằng các tụ cho nguồn là khơng cần thiết. +Nguồn 5V cấp cho các khối mạch xử lý và khối cảm biến Từ nguồn acquy 12V em điều áp 5V bằng LM7805 Trong khối mạch nguồn sử dụng thêm một số điện trở han dịng cho các Led hiển thị cho các nguồn 12V và 5V J1 ACQUY12V/5Ah 1 2 1 2 10 0 oh m J7 KHOI XU LY 1 2 U3 LM7805 1 3 2 VIN G ND VOUT J6 DOVACH 1 2 10 0 oh m J4 MACH LAI 1 2 J2 DONG CO 1 2 J3 DIEUKHIENTUXA 1 2 J5 CB VAT CAN 1 2 1 2 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 68 II.Khối mạch cơng suất: Khối bao gồm 2 mạch để điều khiển 2 động cơ: SƠ ĐỒ NGUYÊN LÝ MẠCH CƠNG SUẤT NGUYÊN LÝ HOẠT ĐỘNG: Khi cĩ tín hiệu mức 0 ở chân P2.5 v à P2.7 thì 2 động cơ quay thuận. Khi cĩ tín hiệu mức 0 ở chân P2.4 v à P2.6 thì 2 động cơ quay nghịch Khi cĩ tín hiệu mức 1 ở chân P2.4 , P2.5 , P2.6 , P2.7. th ì cả 2 động cơ dừng Trong mạch bao gồm: 1.opto 4N35: nhiệm vụ cách ly mạch điều khiển với khối mạch tải động cơ.và là bộ đệm cho mạch cơng suất.là một thiết bị tích hợp của bộ phototransistor. Nguồn cấp cho đầu vào 5V ->6V dịng là 60mA. nguồn cấp cho đầu ra là Vceo là từ 5v -> 30V,Veb=7V,Vcb=70V, dịng Ic =150mA J4 5V1 2 0 0 D1 LED L1 L2 U3 C1815 0 12V R5 1k K1 RELAY DPDT 3 4 5 6 8 7 1 2 D2 LED J1 chan dieu khien dua den khoi dieu khien 1 2 L2L1 HI R2 10K R1 330 HI J3 12V 1 2 M1 IRF540 L1 U1 4N35 1 6 2 5 4 12V HI R3 330 U2 4N35 1 6 2 5 4 R4 10k 12 V J2 HEADER 2 1 2 D5 1N66501 2 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 69 ( SƠ ĐỒ CHÂN CỦA OPTO 4N35) “ GIÃN ĐỒ THỜI GIAN XUNG KÍCH VÀ ĐÁP ỨNG ĐẦU RA” 2.rơley 2 trạng thái: mục đích là đĩng ngắt điều khiển động cơ chạy thuận và chạy nghịch.Em sử dụng loại rolay 2 trạng thái này nhằm hạn chế MOSFET trong mạch Vì động cơ phải hoạt động liên tục do đĩ yêu cầu đĩng ngắt nhiều nên rể bị cháy MOSFET. Khi sử dụng rơlay 2 trạng thái sẽ hạn chế điều đĩ. Dưới đây là cấu tạo của rơley: Bao gồm 1 cuộn dây và 2 cặp tiếp điểm thường đĩng và thường hở. Nguồn cấp cho cuộn dây là 12V. dịng cấp cho cuộn dây là 16.7mA -> cần điện trở hạn dịng cho cuộn dây là từ 720 ohm -> 1 K Các tiếp điểm của rơley cung cấp cho áp cho động cơ 12V nên được cung cấp áp là 12V. LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 70 “ "SƠ ĐỒ CHÂN CỦA RƠLEY" 3.transistor C1815: nhiệm vụ khuếch đại tín hiệu điều khiển từ opto. Và cấp GND cho cuộn dây của rơley. nguyên nhân chọn C1815 là transistor thuộc họ BJT NPN này chịu áp kích tương đối lớn Vce= 5V -> 50V. Vcb =60V ,Veb=5V.dịng Ic=150mA Ib=50mA.trong sơ đồ mạch cơng suất chỉ dùng ăcquy 12V nên đủ áp kích cho transistor hoạt động. 4.MOSFETS:(METAL-OXIDE-SEMICONDUCTOR ) MOSFET sử dụng từ trường bên trong để điều khiển dịng điện đi qua linh kiện . chúng ta cĩ thể dùng điện áp cực dương hoặc cực âm để điều khiển dịng điện. Cực nền hầu hết thường được nốI đến điện áp phân cực âm nhất của mosfets . trong mosfets 3 cực , cực nền được nốI bên trong tớI chân nguồn. Mosfet kênh N cĩ mũi tên cuả cực nền hướng vào trong .mosfet kênh P mũi tên hướng ra ngồi. Hai loạI mosfets nà đều giống nhau nhưng khác nhau về điện áp phân cực. Q1 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 71 Mosfet khuếch tán: Bao gồm kênh N và kênh P. các kênh tạo nên từ cực cổng khác loạI. Mosfets được sử dụng trong tự động điều chỉnh độ lợI áp AGC Mosfet tăng Trong cấu tạo của nĩ cực máng và cực nền khơng nốI nhau, giống như mosfet bán dẫn . mosfet tăng chỉ làm việc vớI điện áp giữa cực cổng và cực nguồn là âm, MOSFET tăng được sử dụng trong mạch số và mạch LSI 4.1. MOSFET IRF640: nhiệm vụ đĩng mở cổng cấp GND cho động cơ. Mosfet IRF640 là họ BJT NPN kích bằng áp. áp kích cho mosfet khoảng từ 5V tới 200V. với dịng ngưỡng là I=18A. trong mạch cĩ sử dụng một điện trở 10K là để hạn dịng cho mosfet. Dưới đây là sơ đồ chân của mosfet IRF640 “GIÃN ĐỒ THỂ HIỆN PHỤ THUỘC NHIỆT ĐỘ VÀ XUNG KÍCH CỦA MOSFET” Q2 LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 72 “ SƠ ĐỒ BỐ CHÂN VÀ CÁ THƠNG SỐ ÁP DỊNG CỦA MOSFET “ III.Mạch điều khiển Sơ đồ nguyên lý em sẽ trình bày ở phần phụ lục A3 cuối sách. Là mạch điều khiển mọi họat động của robot Các thơng số yêu cầu cần thiết kế như: Mạch được thiết kế với những yêu cầu của đề tài sử lý những khối cảm biến như dị vạch,vật cản, và khối điều khiển từ xa. Mạch được thiết kế với vi xử lý trung tâm là Chip AT89C51,và những IC làm bộ đệm để mở rộng port cho vi xử lý như: IC74HC573,IC74HC245, Trong mạch xử lý ngịai việc xử lý tín hiệu đầu vào là số mức 0 ứng với áp 0V.mức 1 ứng với áp 5V. em cịn thiết kế cho trường hợp đọc tín hiệu đầu vào là tương tự (Analog) dùng IC ADC 0809. IC74HC393 làm nhiệm vụ cung cấp xung nhip cho ADC0809. Thơng số cần thiết kế cho mạch xử lý là: Tất cả IC trong khối mạch xử lý đều phải được cung cấp nguồn là 5V.nguồn 5V này cĩ thể được cung cấp từ khối nguồn riêng đã được thiết kế riêng . họac cĩ thể được điều áp từ nguồn acquy qua mạch điều áp LM7805 trên board điều khiển. Các thơng số của các linh kiện,IC trong đề tài: LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG 73 1.với vi xử lý trung tâm AT89C51 tổng quan về họ vi xử lý này đã được trình bày phần trên. Giao tiếp xuất nhập (input/output) + Port 1 dùng giao tiếp bàn phím +Port 0 dùng cho giao tiếp các khối. Điều khiển từ xa, dị vạch, mạch lái, hiển thi LCD, và mạch vật cản. Port này được kéo lên bằng băng điện trở 4.7K. khối xử lý ADC cũng được giao tiếp qua P0. +port 2 dùng cho việc điều khiển động cơ của robot bằng các chân P2.4,P2.5. P2.6, P2.7. và các

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

  • pdfrobo di dong.pdf