2. THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ROBOT
2.2.1. Sơ đồ tổng quát
Hình 8: Sơ đồ sử dụng các chân vi điều khiển AT89C51 2.2.2 . Mô tả chức năng các chân được sử dụng
Port 1 được sử dụng làm các đường xuất dữ liệu. Các chân được phối ghép với mạch công suất đầu ra thông qua các điện trở thanh kéo lên (pullups) để điều khiển các động cơ của Robot.
- P1.0: làm đường cấp tín hiệu điều khiển động cơ bánh phải tiến. - P1.1: làm đường cấp tín hiệu điều khiển động cơ bánh trái tiến. - P1.2: làm đường cấp tín hiệu điều khiển động cơ bánh phải lùi. - P1.3: làm đường cấp tín hiệu điều khiển động cơ bánh trái lùi. - P1.4, P1.5: làm đường cấp tín hiệu điều khiển động cơ nâng. - P1.6, P1.7: làm đường cấp tín hiệu điều khiển động cơ xoay.
Port 0 được dùng làm các đường nhập dữ liệu. Các chân được phối ghép trực tiếp với mạch công suất đầu vào.
- P0.0: làm đường nhận tín hiệu từ cảm biến dò đường bên phải. - P0.1: làm đường nhận tín hiệu từ cảm biến dò đường bên trái. ð - P0.2: làm đường nhận tín hiệu từ cảm biến dò đường quay góc.
-Thiết kế Robot dò đường theo hình chữ Z -
Các chân còn lại hoặc được nối với mạch theo qui định hoặc bỏ trống do trong thiết kế không dùng:
- Chân XTAL1 và XTAL2 được kết nối đến thạch anh tạo dao động (hình 5.2) - Chân EA được nối với Vcc = +5V vì chỉ sử dụng bộ nhớ chương trình của EPROM bên trong AT89C51.
- Các chân PSEN và ALE bỏ trống vì không sử dụng bộ nhớ chương trình và dữ liệu ngoài.
- Chân RST được nối đến mạch reset. Mạch reset phải được thiết kế sao cho thời gian nạp của tụ C lớn hơn hoặc bằng thời gian cho phép reset bên trong của AT89C51. 2.2.3 Tính toán giá trị điện trở kéo lên.
Các chân cổng của AT89C51 được kết nối với các điện trở thanh kéo lên nguồn +5V. Các điện trở thanh kéo lên này nhằm đảm bảo dòng ngõ ra cho các mạch phối ghép với cổng, ngoài ra còn có mục đích bảo vệ các transitor trường tại các chân cổng tránh tình trạng cấp dòng ngõ ra quá lớn gây hỏng các transitor này (vì theo cấu trúc chân cổng của AT89C51).
Do đó, để đảm bảo dòng cho các cổng (nghĩa là đảm bảo dòng qua các transitor trường) khi các chân cổng hút dòng thì dòng đó không được vượt quá khả năng cho phép. Cụ thể là 1,6mA đối với Port 1 và Port 0 là 3,2mA.
Như vậy, giá trị trở hạn dòng nhỏ nhất cho các chân cổng: Rmin = ≈ mA V 6 , 1 5 3,125KΩ.
Trong thiết kế này, ta chọn điện trở thanh kéo lên nguồn +5V cho các chân Port có giá trị là 4,7KΩ.
2.3. Thiết kế mạch reset
AT89C51 được reset bằng cách giữ chân RST ở mức logic 1 trong khoảng thời gian tối thiểu là hai chu kỳ máy. Để thực hiện reset, ta nối thêm một tụ điện C từ chân RST lên nguồn +5V và một điện trở R xuống mass. Khi được cấp điện từ nguồn nuôi, trong thời gian tụ C được nạp, chân RST được giữ ở mức 1, sau đó chân RST được đưa về mức 0, bộ vi xử lý được đưa về trạng thái ban đầu xác định. Như vậy, khi ta cấp nguồn thì mạch Reset sẽ tự động tác động. Ngoài ra, nếu như ta nối giữa hai đầu tụ điện C một nút nhấn Reset và một điện trở R0 như hình 5.3 thì trong quá trình hoạt động, bất kỳ lúc nào ta cũng có thể nhấn nút Reset cho tụ C xả hết điện tích ở hai đầu tụ qua điện trở R0 để lặp lại quá trình đặt lại và đưa bộ xử lý vào trạng thái ban đầu xác định như bình thường.
Hình 9: Sơ đồ mạch reset
Ta có phương trình nạp của tụ C như sau: Uc = Vcc(1- e ) (*) với Vcc = 5 (V)
Từ biểu thức (*) ta thấy t có thứ nguyên của thời gian nên RC cũng phải có thứ nguyên của thời gian và được gọi là thời gian đặc trưng.
Đồ thị của Uc có dạng như hình 10.
Từ đồ thị, ta nhận thấy rằng: điện áp giữa hai đầu tụ C sẽ tăng dần theo thời gian. Mà: Vcc = Uc + UR = 5 (V) = const.
Để chân RST giữ ở mức logic 1 thì điện áp rơi trên R là UR phải có giá trị khoảng 2,4V ÷ 5V.
Hình 10: Đồ thị thể hiện sự thay đổi điện áp giữa hai đầu tụ điện C Vậy để chân RST giữ ở mức logic 1 thì phải thoả điều kiện sau:
UR ≥ 2,4 (V) ⇒ Uc≤ 2,6 (V) ⇒ 1- e RC t - ≤ 5 2,6 ⇔ e RC t - ≥ 1 - 5 2,6 ⇔ RCt ≤ ln(2,45 ) ⇔ t ≤ 0,7RC (**)
Theo lý thuyết, 1 chu kỳ máy bằng 12 chu kỳ dao động của tín hiệu giữ nhịp, ở đây ta sử dụng mạch dao động thạch anh 12MHz nên tần số máy là: f =
12
12MHz =
1MHz ⇒ 1 chu kỳ máy của AT89C51 là: T = 1µs
Vậy ta cần chọn các giá trị của R và C sao cho thoả mãn biểu thức (**) Với t = 2.T = 2µs.
Trong thiết kế này, ta chọn: C = 10µF , R = 10KΩ , R0 = 100Ω. Điện trở R0 có tác dụng bảo vệ cho tụ C khi ta reset bằng nút nhấn. 2.4. Thiết kế mạch điều khiển công suất.
2.4.1. Mạch công suất đầu vào.a. Đối với các công tắc: a. Đối với các công tắc:
Nút ấn dùng để đóng cắt mạch ở lưới điện hạ áp. Nút ấn thường được dùng để điều khiển các Rơle, công tắc tơ, chuyển đổi mạch tín hiệu, bảo vệ... Sử dụng phổ biến nhất là dùng nút ấn trong mạch điều khiển động cơ để mở hay dừng máy. Nút ấn cũng có kiểu hở và kiểu được bảo vệ kín để chống bụi, nước, chống nổ... và có loại cả đèn báo để báo trạng thái của nút ấn. Ở đây ta sử dụng nút ấn có dạng như hình 11 để làm nút Reset và các công tắc chọn phương án di chuyển của Robot vòng ngoài.
-Thiết kế Robot dò đường theo hình chữ Z -
Hình 11: Nút ấn
Các công tắc hành trình được sử dụng với tiếp điểm thường mở NO. Khi được tác động, tín hiệu sẽ được đưa vào mạch điều khiển dùng để xác định các giới hạn chuyển động của các cơ cấu chấp hành.
Hình 11: Công tắc hành trình
Các công tắc hành trình tác động tin cậy, chắc chắn, ổn định, không tổn hao công suất, giá thành rẻ, dễ dàng thiết kế, sử dụng đơn giản đạt hiệu quả cao. Tuy nhiên chúng có nhược điểm là khi gia công phải đặt cố định một chỗ, chịu tác động trực tiếp của các cơ cấu chuyển động dẫn đến dễ hư hỏng nếu không được bảo vệ chắc chắn.
Đối với đầu vào sử dụng công tắc chọn chương trình và công tắc hành trình, các công tắc ở trạng thái thường mở tương ứng với mức logic 1 (5V) ở các chân. Còn khi các công tắc tác động, đầu vào tương ứng sẽ nhận mức logic 0 (0V). Trong thiết kế này ta chọn các điện trở kéo lên nguồn +5V có giá trị 4.7KW.
2.4.2. Đối với các cảm biến quang:
Thiết bị tiếp nhận thông tin về diễn biến của môi trường và diễn biến của các đại lượng vật lý bên trong hệ thống được gọi là cảm biến, hay nói đơn giản hơn, cảm biến là
thiết bị cho phép ta chuyển đổi các đại lượng cơ thành đại lượng điện mà ta có thể sử dụng để xử lý được.
Trong thực tế có rất nhiều loại cảm biến được sử dụng, nhưng trong thiết kế này chỉ sử dụng cảm biến quang có ký hiệu BR100-DDT-P do hãng Siemens của Đức sản
xuất.
Hình12: Sơ đồ mô tả cách mắc cảm biến quang
Các cảm biến này là các cảm biến được dùng trong công nghiệp nên có độ ổn định, độ chống va đập tốt và tín hiệu đưa ra điều khiển là rất ổn định do khử nhiễu tốt. Tuy nhiên, nó cho các tín hiệu điều khiển sai nếu nguồn cung cấp là không ổn định.
Chú ý: Hình 5.8 là sơ đồ minh hoạ phương pháp nối dây cho loại cảm biến có bốn dây. Còn đối với cảm biến ba dây (không có dây Control) thì ta cũng nối tương tự nhưng không có dây chọn tín hiệu điều khiển (White).
P0.2 3 2 1 4 11 - + LM324 R R BIEN TRO LED LE D P HA T R LE D P HA T R 1 2 J1 NGUON 5V 5 6 7 4 11 - + LM324 R BIEN TRO TRANSITOR THU TRANSITOR THU TRANSITOR THU R LED 10 9 8 4 11 - + LM324 R3 R R BIEN TRO LED P0.0 LE D P HA T R P0.1 P0.1
Hình 13: Mạch công suất đầu vào cho các cảm biến quang
-Thiết kế Robot dò đường theo hình chữ Z -
Đối với đầu vào sử dụng cảm biến quang, cảm biến quang ở trạng thái không nhận vạch sẽ đưa vào mạch công suất 12V không đóng Rơle tạo ra mức logic 1 (5V) trên các chân tương ứng. Còn khi cảm biến quang ở trạng thái nhận vạch sẽ đưa vào mạch công suất 0V làm đóng Rơle tạo ra mức logic 0 (0V) trên các chân tương ứng. Các điện trở kéo lên nguồn +5V cũng được sử dụng ở đây có giá trị 4.7KΩ.ð.
2.4.3. Mạch công suất đầu ra.
Khối điều khiển Rơle làm nhiệm vụ đóng mở tiếp điểm để đóng hoặc ngắt nguồn cấp cho các động cơ nhằm điều khiển hoạt động của Robot. Ở đây ta phải dùng Rơle có tiếp điểm thường hở.
Ta thấy rằng việc tính toán và chọn linh kiện cho mạch công suất đầu ra điều khiển các động cơ là hoàn toàn giống nhau nên ta tiến hành tính toán và chọn linh kiện cho mạch thông qua mạch tiêu biểu như ở hình 14.
Sơ đồ ở hình 14 được thiết kế có cực điều khiển tích cực ở mức logic 0 nhằm tránh hiện tượng tự động đóng tiếp điểm cấp nguồn cho các động cơ hoạt động tại thời điểm vi điều khiển AT89C51 reset .
P1.1 P1.0 3 4 5 6 8 7 1 2 RELAY 1 2 BANH XE 2 1 2 3 4 tra ns itor1 1.4K 1 2 3 4
tra ns itor qua ng1
3 4 5 6 8 7 1 2 RELAY 1 2 BANH XE 1 330 1 2 DONG CO NANG 3 4 5 6 8 7 1 2 RELAY 1 2 3 4 tra ns itor2 1.4K 1 2 3 4
tra ns itor qua ng2 330 P1.4 P1.3 P1.2 1 2 3 4
tra ns itor qua ng3
P1.6 P1.5 1 2 DONG CO QUAY 3 4 5 6 8 7 1 2 RELAY 1 2 3 4 tra ns itor3 1.4K 1 2 3 4
tra ns itor qua ng4 330 P1.7 tra ns itor4 1 2 3 4
tra ns itor qua ng5
1 2
NGUON 12V R18 1.4k 1.4K 330
Hình 14: Sơ đồ tổng quát mạch công suất đầu ra 2.5. Hệ thống Rơle.
Có nhiều cách để thay đổi chiều quay của một động cơ DC như: dùng công tắc đảo chiều trực tiếp (điều khiển bằng tay), điều khiển thông qua các Rơle điện từ, qua các transistor...
Hầu hết các cách tiếp cận việc điều khiển động cơ là đều sử dụng Rơle. Có thể là không hợp lý khi dùng thứ đã lạc hậu và cồng kềnh như Rơle trong các Robot kỹ thuật cao. Hơn nữa Rơle có thể bị hỏng tiếp điểm sau một khoảng thời gian sử dụng, nhưng chúng lại rẻ hơn các phương pháp khác, dễ dàng thực hiện hơn và chiếm ít không gian.
-Thiết kế Robot dò đường theo hình chữ Z -
Trong phần này, ta chỉ quan tâm đến việc thiết kế mạch điều khiển cho các động cơ của Robot vòng ngoài thông qua các Rơle điện từ.
Rơle là loại khí cụ điện tự động dùng để đóng cắt mạch điều khiển, hoặc mạch bảo vệ, dùng để liên kết các khối điều khiển khác nhau, thực hiện các thao tác logic theo một quy trình công nghệ.
Rơle điện từ là loại Rơle đơn giản nhất. Rơle làm việc dựa trên nguyên lý điện từ và về kết cấu, nó tương tự như một công tắc tơ nhưng chỉ đóng cắt mạch điều khiển, không trực tiếp dùng trong mạch động lực.
Hình 15: Nguyên lý kết cấu Rơle điện từ
Hình 15 trình bày nguyên lý kết cấu một Rơle điện từ một chiều kiểu bản lề. Cuộn nam châm điện (1) quấn quanh lõi sắt (2). Hai cuộn dây cuộn (1) nối ra (2) chấu cắm (8). Nắp từ động (3) được lò xo (4) kéo bật lên để tiếp điểm động (5) (tiếp điểm chung COM) tì vào tiếp điểm tĩnh (6) thành tiếp điểm thường đóng NC, còn tiếp điểm tĩnh (7) bị hở mạch (tiếp điểm thường mở NO). Khi cuộn điện từ được cấp điện, nó sẽ hút nắp từ động làm tiếp điểm NO được nối với tiếp điểm COM, tiếp điểm NC bị ngắt khỏi tiếp điểm COM.
Có nhiều cách để kích hoạt Rơle, nhưng ở đây ta quan tâm đến việc kích hoạt Rơle bằng các tín hiệu số. Logic 0 (Low): Rơle đóng, logic 1 (High): Rơle ngắt. Rơle có thể được kích hoạt từ một vài cổng số, từ một máy tính hoặc từ cổng ra của một vi xử lý.
Để điều khiển motor, trong thiết kế này ta sử dụng Rơle có 2 cặp tiếp điểm thường đóng (NC) và thường mở (NO) chịu dòng 5A một chiều. Mạch điện điều khiển là tổ hợp của các cặp tiếp điểm.
2.6. Bố trí cảm biến dò đường.a. Các phương án. a. Các phương án.
Để điều khiển Robot phát hiện và chạy bám theo vạch trắng, ta cần bố trí cảm biến một cách phù hợp để mạch điều khiển Robot thực hiện được các chức năng sau:
- Phát hiện được vạch trắng.
- Điều khiển xoay Robot nằm song song và đối xứng trên vạch trắng. - Điều khiển Robot chạy bám theo vạch trắng.
Ta có thể chỉ cần một cảm biến để phát hiện được vạch trắng, nhưng để điều khiển xoay Robot nằm song song và đối xứng trên vạch trắng thì cần tối thiểu hai cảm biến được bố trí ở những vị trí hợp lý. Robot có thể tiếp cận vạch trắng theo góc nghiêng bất kỳ, do đó nếu bố trí hai cảm biến nằm thẳng hàng ngang như trên hình a, thì có thể cả hai cảm biến đều ở trên vạch trắng, nhưng Robot không nằm song song trên vạch trắng. Để Robot nhận biết được nó nằm song song trên vạch trắng thì cần phải có ít nhất hai cảm biến bố trí theo chiều dọc của Robot. Nếu bố trí hai cảm biến thẳng hàng dọc như trên hình b thì Robot có thể nằm song song nhưng không đối xứng trên vạch trắng. Nếu bố trí hai cảm biến lệch nhau như trên hình c sẽ đảm bảo điều khiển được Robot nằm song song và đối xứng trên vạch trắng.
Các vạch trắng trên sân thi đấu là các đường thẳng cắt nhau. Do sai số ngẫu nhiên của mạch điều khiển Robot, cũng như do quán tính của Robot khi chuyển động nên khi Robot bám theo vạch trắng, nó có xu hướng bị lệch ra khỏi vạch trắng. Để điều khiển Robot chạy bám theo vạch trắng, cần phải bố trí các cảm biến sao cho mạch điều khiển của Robot nhận biết được hướng lệch và tốt hơn là nhận biết được cả độ lệch. Nếu chỉ sử dụng hai cảm biến bố trí như ở trên thì trong khi chuyển động, có thể xảy ra trường hợp Robot bị lắc sang hai bên với biên độ bằng độ rộng của vạch trắng. Hơn nữa, nếu chỉ có hai cảm biến như vậy thì sẽ có trường hợp cả hai cảm biến đều bị lệch ra khỏi vạch trắng, khi đó Robot sẽ mất phương hướng. Để Robot nhận biết được hướng lệch thì cần có ít nhất hai cảm biến bố trí hàng ngang, cách nhau một khoảng gần bằng độ rộng của vạch trắng. Hình d và e cho ta thấy phân bố 3 và 5 cảm biến xác định hướng lệch. Trong đó, cảm biến giữa dùng để dò đường thẳng, hai cảm biến hai bên gần con giữa cho phép xác định độ lệch ít, hai cảm biến ngoài cùng xác định độ lệch nhiều. Từ đó ta đưa ra được thuật toán điều khiển tương ứng.
Để tăng độ ổn định và tốc độ chuyển động cho Robot, ta có thể bố trí 3, 4 hoặc 5 cảm biến trở lên như các hình f, g, h tuỳ vào khả năng kinh tế. Song khi tăng số cảm biến thì độ phức tạp của mạch điều khiển, cũng như giá thành, kích thước và trọng lượng của Robot sẽ tăng lên.
b. Bố trí cảm biến dò đường:
Ta bố trí hai cảm biến bố trí thẳng hàng theo phương ngang phía trước mũi rôbốt,