Hiển thị LE D7 đoạn và Loa:

Một phần của tài liệu Tìm hiểu nguyên tắc hoạt động và cấu tạo của robot CleanMate 365 của hãng Metapo,USA (Trang 41)

4.9.1 Hiển thị LED 7 đoạn :

LED 7 đoạn sẽ hiển thị thời gian đặt cho robot hoạt động, chế độ hoạt động.

Khối này sử dụng 4 chân của vi điều khiển qua bộ giải mã BCD-TO-SEVEN- SEGMENT 74LS47 để điều khiển 2 led 7 đoạn và các led đơn. Các thông tin về thời gian, chế độ chạy, trạng thái của pin sẽ được thể hiện trên các led này.

Mỗi led 7 đoạn và nhóm led đơn được refresh với chu kì 5ms bởi phần mềm qua các tín hiệu điều khiển T1, T2, T3 để hiện thị các giá trị khác nhau trên các led.

Hình 34:Sơ đồ hiển thị LED 7 đoạn

4.9.2 Loa :

Loa báo hiệu khi phím được ấn, báo lỗi, báo hết pin. Loa phát âm La tần số 440Hz, tín hiệu điều khiển loađược cung cấp từ vi điều khiến

Hình 35:Sơ đồ ghép nối loa

4.10 Mạch điều khiển động cơ :

Robot sử dụng 2 động cơ DC chổi than, vì vậy ta sử dụng mạch cầu H để điều khiển motor

Sau đây là sơ đồ nguyên lý và nguyên tắc hoạt động của mạch cầu H

Hình 36:Sơ đồ nguyên lý và nguyên tắc hoạt động của mạch cầu H. Ta thấy mạch cầu H điều khiển động cơ bằng 4 khoá S1 S2 S3 S4. Khi S1 và S4 đóng, S2 S3 mở động cơ quay theo chiều kim đồng hồ, còn khi S2 và S3, còn khi Khi S2 và S3 đóng, S1 S3 mở động cơ quay theo chiều ngược chiều kim đồng hồ.S1 và S3 đóng, S2 và S4 mở hoặc S1 và S3 mở, S2 và S4 đóng Motor ở trạng thái phạnh. Các trường hợp S1 S2 cùng đóng hoặc S3 và S4 cùng đóng không được xảy ra, vì khi đó xảy ra hiện tượng đoản mạch dẫn đến mạch bị cháy.

S1 S2 S3 S4 Motor Mở Mở Đóng Đóng Đoản mạch Đóng Đóng Mở Mở Đoản mạch Đóng Mở Đóng Mở Phanh Mở Đóng Mở Đóng Phanh Đóng Mở Mở Đóng Tiến Mở Đóng Đóng Mở Lùi Đóng Đóng Đóng Đóng Ngắn mạch Mở Mở Mở Mở Thả nổi Bảng 11:Trạng thái motor

Trên thực tế trong các mạch cầu H ta có thể thay các khoá S1 S2 S3 S4 bằng rơle hay các loại transistor, tuy nhiên các transistor này phải có công suất tiêu tán nhỏ, chịu được dòng lớn. Hiện nay có rất nhiều loại transistor trường MOSFET có công suất tiêu tán nhỏ tuy nhiên lại chịu được dòng lớn, rất thích hợp cho việc thiết kế mạch cầu H.

Hình 37:Mạch cầu H được thiết kế với transistor trường MOSFET

4.10.2 Điều khiển motor với IC L298:

Để điều khiển motor phát động cho Robot ta hoàn toàn có thể thiết kế 1 mạch cầu H như trên, tuy nhiên cặp motor phát động của

robot có công suất nhỏ thêm nữa hình dáng robot nhỏ nên việc sử dụng mạch cầu H là không cần thiết. Thay vào đó ta sử dụng IC L298 Đây là IC có chứa 2 mạch cầu H hoàn toàn độc lập và có thể ghép song song với nhau, mỗi cầu có khả năng cung cấp dòng 2A – đáp ứng được yêu cầu cho mỗi motor có dòng tiêu thụ tối đa là 1.5A.

Hình 38:Sơ đồ chân IC L298

Chức năng Chân số Tên Chức năng

Nguồn

Chân 4 Vs Điện áp Vmotor cho motor Chân 9 Vss Điện áp 5V cho khối logic Chân 8 GND Chân nối đất

Lối vào Chân 5, 7 Input 1, Input 2 Lối vào TTL của cầu A Chân 10, 12 Input 3, Input 4 Lối vào TTL của cầu B Lối ra

Chân 2, 3 Output 1, Output

2 Lối ra của cầu A Chân 13, 14 Output 3, Output

4 Lối ra của cầu B

Cảm nhận Chân 1, 15 IsA, IsB Dùng để điều khiển dòng tải Bảng 12:Mô tả IC L298

Hai cầu A và B được mắc hoàn toàn tương tự nhau. Các tín hiệu điều khiển từ PIC được nối thông qua các trở hạn dòng tới lối vào In1, 2, 3, 4 của L298 (do dòng tối đa ứng với điện áp vào ở mức cao là 100µA). Lối ra được mắc thêm các diode xung lên nguồn Vmotor và đất để triệt tiêu các xung phản hồi từ motor. Gần các chân nguồn Vs và Vss cần mắc thêm các tụ gốm 100nF để tránh dao động làm ảnh hưởng tới PIC.

Hình 39:Sơ đồ ghép nối với vi điều khiển

4.10.3 Điều khiển Motor chổi quét:

Chổi quét sử dụng một động cơ có dòng tiêu thụ tối đa là 2A. Do chổi quét chỉ xoay theo một chiều nên mạch điều khiển không cần cầu H mà chỉ sử dụng một MOSFET-N là IRF540 làm nhiệm vụ đóng mở thông thường. (adsbygoogle = window.adsbygoogle || []).push({});

Mô tả IRF540

Hình 40:mô tả IRF540

Như vậy, IRF540 có thể tải được dòng khá lớn 33A – đủ để đáp ứng cho motor, điện trở giữa cực nguồn (S) và cức máng (D) khi mở rất nhỏ 44mΩ nên sụt áp trên hai cực DS cũng nhỏ (cỡ 1V). Thêm vào đó, trong IRF540 đã có sẵn một diode Schottky để bảo vệ dòng ngược từ S sang D mà có thể làm hỏng cấu trúc của MOSFET. Lối vào Mo_sing Chức năng motor L Dừng H Xoay L: Low H: High

Hình 41:sơ đồ mạch điều khiển motor quét

Nguồn cung cấp Vmotor được lấy từ lối ra của mạch Switching LM2576. Sơ đồ điều khiển này sử dụng thêm một tầng phụ (dùng C1815) để kích mở IRF540. Điều này có thể không cần thiết nhưng sẽ rất an toàn nếu có sự cố làm hỏng MOSFET cũng không làm ảnh hưởng đến vi điều khiển. Hai cực của motor được nối thông qua jack JP3.

Khi tín hiệu điều khiển Mo_sing từ vi điều khiển ở mức thấp (Low) thì C1815 sẽ cấm, cực G của Q1 nối đất qua điện trở R42, do vậy Q1 cũng cấm và làm motor ở trạng thái dừng. Ngược lại, khi Mo_sing ở mức cao (High), Q2 dẫn, điện áp cực E của Q2 sẽ ở mức cao do R42 có giá trị trở rất lớn và làm Q1 mở, kết quả là có dòng chạy qua motor.

Nhược điểm của mạch: vì IRF540 mở hoàn toàn ở 10V nên với mạch được thiết kế như trên IRF540 mở ở 5V vì vậy trong quá trình hoạt động transistor rất nóng, mặc dù có tản nhiệt nhưng cũng không thể hoạt động được lâu.

4.11 Thiết kế PCB:

4.11.1 Phần mềm thiết kế mạch in PCB DXP Altium Designer:

Cũng giống như Orcad, Protel, Proteus, Altium Designer là một phần mềm tiện công cụ để thiết kế các loại bo mạch điện tử. Altium Designer được phát hành đầu năm 2007 với những tính năng mạnh mẽ, vượt trội so với Orcad và Protel.

Theo các chuyên gia của Altium, thông thường, việc phát triển các sản phẩm điện tử, gồm thiết kế bo mạch, thiết kế FPGA (vi mạch tích hợp, có thể lập trình để thực hiện các chức năng khác nhau và có thể tái lập trình) và phát triển phần mềm nhúng… là các quá trình riêng rẽ, độc lập được tiến hành trong những môi trường riêng biệt.

Altium Designer là một hệ thống phát triển điện tử thống nhất đầu tiên trên thế giới cho phép các kỹ sư thiết kế sản phẩm điện tử từ những khái niệm ban đầu cho đến khi hoàn thành mạch in cuối cùng trong một môi trường đơn nhất.

Altium Designer cung cấp một ứng dụng kết hợp tất cả công nghệ và chức năng cần thiết cho việc phát triển sản phẩm điện tử hoàn chỉnh, như thiết kế hệ thống ở mức bo mạch và FPGA, phát triển phần mềm nhúng cho FPGA và các bộ xử lý rời rạc, bố trí mạch in (PCB)… Altium Designer thống nhất toàn bộ các quá trình lại và cho phép bạn quản lý được mọi mặt quá trình phát triển hệ thống trong môi trường tích hợp duy nhất.

Khả năng đó kết hợp với khả năng quản lý dữ liệu thiết kế hiện đại cho phép người sử dụng Altium Designer tạo ra nhiều hơn những sản phẩm điện tử thông minh, với chi phí sản phẩm thấp hơn và thời gian phát triển ngắn hơn.

Altium Designer quản lý dữ liệu theo các project. Đầu tiên ta phải khởi tạo project, sau đó tạo file schematic để tạo ra môi trường vẽ mạch nguyên lý. Altium hỗ trợ hầu hết thư viện footprint cho các linh kiện điện tử, như PIC16F877A, Led7 đoạn, các loại điện trở và tụ điện, IC người thiết kế không phải tự tạo thư viện footprint vì vậy việc thiết kế mạch được thực hiện khá nhanh và thuận lợi.

Sau khi hoàn thành việc thiết kế mạch nguyên lý ( schematic ) ta chuyển thành PCB. Đầu tiên ta sắp linh kiện vào vị trí nhất định trên bản mạch, khối số được sắp gần nhau, khôi tương tự được sắp ra 1 phần, điều này giúp giảm nhiễu trên mạch. Altium Designer hỗ trợ tính năng đi dây tự động ( auto ruote ). Sau khi đi dây tự động ta chỉnh lại các phần đi dây tự động chưa hợp lý.

4.11.3 Kết quả và nhận xét:

Mạch điện tử cơ bản đã đáp ứng được yêu cầu của bài toán. Nhận xét:

• Tuy nhiên vì tất cả các khối được đặt trên cùng 1 bo mạch nên việc sửa chữa và nâng cấp là rất khó khăn.

• Khối điều khiển motor phát điộng tuy đã đáp ứng được việc thực hiện các tác vụ của robot, tuy nhiên do sử dụng IC tích hợp, nên khi yêu cầu thay động cơ có công suất cao hơn vào thì không đáp ứng được.

• Phần điều khiển motor quét chưa tốt. Khi vận hành 1 thời gian dài transistor có hiện tượng nóng.

• Sensor cảm nhận độ cao hoạt động còn hạn chế, ví dụ như không nhận dạng được nhiều loại mặt sàn.

Chương 5: Phần mềm điều khiển Robot.

5.1 Lập trình cho hệ thống thời gian thực:

Khái niệm về điều khiển thời gian thực:

RTOS( real time operation system ) một hệ điều hành đa nhiệm dành cho các ứng dụng thời gian thực. Như trong các ứng dụng hệ thống nhúng, robotics, điều khiển tự động.

Một hệ thống real-time được hiểu là một hệ thống làm việc với các sự kiện tức thời (real-time). Tuy nhiên, không phải mọi hệ thống đều có thể thực hiện được những quyết định tức thời hay đáp trả lại sự kiện một cách tức thời như chúng ta mong muốn. Khi xây dựng các ứng dụng phần mềm chúng ta luôn mong muốn thời gian trễ để đưa ra một lệnh hay một quyết định là nhỏ nhất, hay khi xây dựng các ứng dụng phần cứng chúng ta lại muốn thời gian đưa ra một tín hiệu đáp trả một sự kiện là phải gần như tức thời, các hệ thống đáp ứng sự kiện bao giờ cũng có một thời gian trễ nhất định. Khái niệm "hệ thống thời gian thực" ở đây được hiểu ngầm như là một hệ thống đáp ứng sự kiện với một thời gian trễ chấp nhận được.

Như vậy, một hệ thời gian thực là một hệ thống mà sự hoạt động tin cậy của nó không chỉ phụ thuộc vào sự chính xác của kết quả, mà còn phụ thuộc vào thời điểm đưa ra kết quả, hệ thống có lỗi khi yêu cầu về thời gian không được thoả mãn.

Hình 42:ví dụ về đáp ứng của hệ thống thời gian thực Một hệ thống thời gian thực có các đặc điểm tiêu biểu sau: (adsbygoogle = window.adsbygoogle || []).push({});

• Tính bị động: Hệ thống phải phản ứng với các sự kiện xuất hiện vào các thời điểm thường không biết trước. Ví dụ, sự vượt ngưỡng của một giá trị đo, sự thay đổi trạng thái của một thiết bị quá trình phải dẫn đến các phản ứng trong bộ điều khiển.

• Tính nhanh nhạy: Hệ thống phải xử lý thông tin một cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời. Tuy tính nhanh nhạy là một đặc điểm tiêu biểu, nhưng một hệ thống có tính năng thời gian thực không nhất thiết phải có đáp ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu cầu, tác động bên ngoài.

• Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự kiện diễn ra. Có thể, cùng một lúc một bộ điều khiển được yêu cầu thực hiện nhiều vòng điều chỉnh, giám sát ngưỡng giá trị nhiều đầu vào, cảnh giới trạng thái làm việc của một số động cơ.

• Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các phản ứng. Nếu một bộ điều khiển phải xử lý đồng thời nhiều nhiệm vụ, ta phải tham gia quyết định được về trình tự thực hiện các công việc và đánh giá được thời gian xử lý mỗi công việc. Như vậy người sử dụng mới có cơ sở để đánh giá về khả năng đáp ứng tính thời gian thực của hệ thống.

Xử lý thời gian thực:

Trong các hệ thống điều khiển, khái niệm tác vụ (task) cũng hay được sử dụng bên cạnh quá trình tính toán. Có thể nói, tác vụ là một nhiệm vụ xử lý thông tin trong hệ thống, có thể thực hiện theo cơ chế tuần hoàn hoặc theo sự kiện.

Trong một hệ thống với nhiều đầu vào, và đáp ứng ở đầu ra thì số lượng công việc phải xử lý là khá lớn. Vì vậy ta phải chia khối công việc đó thành nhiều tác vụ nhỏ ( task ) nhỏ hơn đơn giản hơn. Mỗi tác vụ xử lý một công việc nhất định, có thể là quét bàn phím, đọc sensor, điều khiển motor v.v… Tại một thời điểm vi xử lý chỉ thực hiện 1 tác vụ, nhưng với thời gian chuyển đổi rất nhanh giữa các tác vụ ta có thể coi như các tác vụ được thực hiện đồng thời.

Có hai kỹ thuật phổ biến cho lập trình hệ thống đa nhiệm là: trạng thái máy ( state machine ) và lập lịch ( time slicing ).

State machine chia các tác vụ thành các trạng thái ( state ). Tại mỗi thời điểm sẽ xác định 1 trạng thái và chỉ chuyển sang trạng thái khác khi có một điều kiện nào đó xảy ra.

Time Sciling gán cho mỗi tác vụ 1 chu kì thời gian nào đó. Khi thực hiện xong tác vụ này, vi xử lý sẽ chờ để nhảy sang thực hiện tác vụ khác. Các tác vụ cứ thế được thực hiện tuần tự.

Để điều khiển robot đi theo 1 quỹ đạo nào đó, ví dụ như di chuyển theo 1 đường cong nào đó thực chất là ta thay đổi tỉ lệ tốc độ 2 bánh xe của robot.

Gọi tỉ lệ tốc độ quay giữa 2 bánh xe là R:

• = R 

L

V V

R với VLlà tốc độ bánh xe bên trái,VRlà tốc độ bánh xe bên phải. Khoảng cách giữa 2 bánh xe là L.

• Với R=1, robot tiến thẳng.

• Với 0 < R < 1, robot đi theo hình tròn ngược chiều kim đồng hồ với đường kính là D, sao cho:

      + = L - D L D R

• Với 0 < R < 1, robot đi theo hình tròn thuận chiều kim đồng hồ với đường kính là D, sao cho:

      + = L - D L D R

• Với R= 0 hoặc R= ∞, robot quay tròn với tâm là bánh trái nếu R= 0, và tâm là bánh phải nếu R= ∞.

• Với R= -1 , 2 bánh xe quay ngược chiều và đồng tốc, robot quay tròn tại chỗ, tâm là điểm giữa 2 bánh xe.

Tổ hợp các quỹ đạo cơ bản ở trên lại với nhau ta có thể cho robot di chuyển theo 1 hình dạng bất kì nào nó.

5.3 Tránh vật cả và độ cao:

Vành dò vật cản và hệ thống sensor dưới gầm cho ta biết robot có gặp vật cản hay độ cao hay không. Sau đây là thuật toán tránh vật cản và độ cao của robot :

• Bước 1: Kiểm tra trạng thái sensor. Nếu không có vật cản hay độ cao tiếp tục bước 1. Nếu có vật cản hoặc độ cao thực hiện bước 2.

Tác vụ kiểm tra trạng thái sensor được thực hiện theo chu kì ngắt timer của vi xử lý.

5.4 Tìm chỗ sáng:

Robot sử dụng một quang trở để cảm nhận sáng tối, vì vậy robot chỉ có biết vị trí hiện thời là tối hơn hay sáng hơn vị trí lúc trước của nó. Sau đây là thuật toán tìm chỗ sáng của robot: (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Tìm hiểu nguyên tắc hoạt động và cấu tạo của robot CleanMate 365 của hãng Metapo,USA (Trang 41)