Dec 06, 2018 Để lại lời nhắn

Thiết kế hệ thống điều khiển động cơ để điều khiển robot

Thiết kế phần mềm 2 hệ thống

Kiến trúc 2.1μC / OS-II

μC / OS-II là một ROM hệ điều hành đa nhiệm thời gian thực di động, có thể cắt được, có thể cắt xén, có hiệu suất thực thi cao, dấu chân nhỏ, hiệu năng thời gian thực tốt và khả năng mở rộng. Các tính năng, hạt nhân nhỏ nhất có thể được biên dịch thành 2KB. C / OS-II được viết bằng ngôn ngữ C và hợp ngữ. Hầu hết các mã được viết bằng C. Chỉ một số mã liên quan chặt chẽ đến bộ xử lý được viết bằng ngôn ngữ lắp ráp. C / OS-II chỉ bao gồm các chức năng cơ bản như lập lịch tác vụ, quản lý tác vụ, quản lý thời gian, quản lý bộ nhớ, giao tiếp giữa các tác vụ và đồng bộ hóa.

Phân công nhiệm vụ theo hệ thống 2.2μC / OS-II

Sau khi chuyển thành công hệ thống μC / OS-II sang STM32F107, lập trình dựa trên μC / OS-II được thực hiện bằng cách chia một ứng dụng lớn thành các tác vụ tương đối độc lập. Mức độ ưu tiên của từng tác vụ được xác định và lịch trình nhân μC / OS-II và quản lý các tác vụ này.

Ý tưởng thiết kế phần mềm là cung cấp tốc độ động cơ và vị trí lái của bánh lái thông qua cổng nối tiếp theo hoạt động thực tế của robot. Tốc độ của động cơ được so sánh với giá trị đặt của bộ mã hóa tăng dần và điều khiển vòng kín được thực hiện bằng thuật toán PID tốc độ. Vị trí của bánh lái chủ yếu là bộ mã hóa giá trị tuyệt đối cung cấp lại vị trí hiện tại và tốc độ của bánh lái được điều chỉnh theo yêu cầu thời gian hành động. Các chức năng được thực hiện bởi phần mềm hệ thống điều khiển động cơ của robot xử lý này như sau:

◆ Máy phía trên cho tốc độ động cơ, góc lái và thời gian hành động;

◆ Yêu cầu điều chỉnh liên tục tốc độ động cơ và hiệu suất tĩnh và động tốt. Tốc độ không được tính bằng thuật toán PI.

◆ Yêu cầu thiết bị lái phải nhanh chóng đạt được góc đã chỉ định và phản hồi vị trí được sử dụng làm điều chỉnh tốc độ cho trước của thiết bị lái;

◆ Có chức năng bảo vệ lỗi nhất định. Khi động cơ bị chặn, dòng điện quá lớn và bánh lái chạm vào công tắc giới hạn, cần phải dừng mô-đun ổ đĩa.

Đối với các chức năng trên được triển khai, thiết kế ứng dụng có thể được chia thành các tác vụ sau:

1 Bắt đầu nhiệm vụ. Khởi tạo hệ thống, tạo trạng thái động cơ ban đầu, sau đó xóa chính nó và bắt đầu tác vụ để ngủ.

2 nhiệm vụ bảo vệ động cơ và thiết bị lái. Nó được sử dụng để đáp ứng với ngắt ngoài khi công tắc quá dòng hoặc giới hạn được kích hoạt. Khi trạng thái ngắt được nhập, semaphore nhiệm vụ được gửi. Chương trình nhiệm vụ phát hiện ra rằng semaphore là hợp lệ và đáp ứng với nhiệm vụ và dừng xuất. Ưu tiên nhiệm vụ được đặt thành cấp 0.

3 máy chủ lưu trữ nhiệm vụ. Nó được sử dụng cho máy phía trên để điều khiển động cơ và thiết bị lái, và mức độ ưu tiên của nhiệm vụ được đặt thành cấp 1. Khi thanh ghi đầu vào dữ liệu của máy chủ được tạo, một ngắt sẽ được tạo ra, sẽ gửi byte nhận được vào đệm và giải phóng semaphore của nhiệm vụ nhất định của máy tính chủ; khi semaphore được phát hiện, tác vụ sẽ bắt đầu thực thi và byte tương ứng sẽ được thực thi. Thông tin được phân tích thành tốc độ động cơ tương ứng và thông tin vị trí bánh lái để gán giá trị cho các biến tương ứng.

4 nhiệm vụ điều khiển tốc độ động cơ. Đối với quy định tốc độ vòng kín của động cơ, mức độ ưu tiên của nhiệm vụ được đặt thành mức 2.

5 nhiệm vụ điều khiển thiết bị lái. Nó được sử dụng để điều khiển thiết bị lái để đạt đến vị trí được chỉ định trong thời gian quy định và mức độ ưu tiên của nhiệm vụ được đặt thành cấp 3.

2.3 Bắt đầu nhiệm vụ

Trong chương trình chính, trước khi gọi các tác vụ khác của C / OS-II, trước tiên hãy gọi hàm khởi tạo hệ thống OSInit () để khởi tạo tất cả các biến và cấu trúc dữ liệu của μC / OS-II; đồng thời, thiết lập tác vụ nhàn rỗi OS_TaskIdle (), tác vụ này luôn ở trạng thái sẵn sàng; gọi hàm OSTaskCreate () để thiết lập tác vụ khởi động; gọi OSStart (), chuyển điều khiển sang kernel μC / OS-II, bắt đầu chạy đa nhiệm.

Tác vụ khởi động được tạo trong chương trình chính, có ba chức năng chính:

1 cho khởi tạo hệ thống (mô-đun đầu ra PWM, cổng nối tiếp, mô-đun ADC, chức năng ngắt mức đầu vào, bộ hẹn giờ).

2 Thiết lập lượng tín hiệu được sử dụng bởi hệ thống.

3 thiết lập các nhiệm vụ khác của hệ thống.

Cuối cùng, gọi OSTaskDel (OS_PRIO_SELF) để tự xóa và bắt đầu tác vụ để ngủ. Luồng nhiệm vụ chương trình chính được hiển thị trong Hình 4.

Nhiệm vụ điều khiển tốc độ động cơ 2.4

Mỗi khi bộ mã hóa gia tăng tạo ra một ngắt ngoài, semaphore tác vụ được phát ra ở trạng thái ngắt. Chương trình nhiệm vụ phát hiện ra rằng semaphore là hợp lệ và đáp ứng với nhiệm vụ. Nhiệm vụ thực hiện điều khiển vòng kín bằng cách đo tốc độ động cơ hiện tại và so sánh tốc độ đã cho. Luồng công việc điều khiển tốc độ động cơ được hiển thị trong Hình 5.

Nhiệm vụ điều khiển bánh lái 2.5

Điều khiển servo tạo thời gian tham chiếu bằng bộ hẹn giờ, gửi một semaphore mỗi lần cố định và tác vụ sẽ được thực hiện một lần. Nhiệm vụ điều khiển servo so sánh vị trí được đo bởi bộ mã hóa tuyệt đối với vị trí đã cho và điều chỉnh tốc độ của servo theo thời gian còn lại. Luồng nhiệm vụ điều khiển servo được hiển thị trong Hình 6.

Giao diện cơ điện 3 hệ thống.

Thiết bị lái của robot bao gồm hộp giảm tốc 30: 1 được kết nối với động cơ DC. Bộ mã hóa vị trí tuyệt đối được kết nối với bánh lái và gửi tín hiệu góc của bánh lái tới bảng điều khiển ổ đĩa. Hai trục của bánh trước của robot được kết nối bằng một thanh truyền. Một trong các trục được nối với bánh lái bằng đai truyền, để khi bánh lái quay, đai truyền động sẽ truyền thanh truyền để đảm bảo hai bánh trước có thể quay đồng bộ. Động cơ dẫn động cầu sau là động cơ DC, được kết nối trực tiếp với bộ mã hóa gia tăng. Sau khi tỷ lệ giảm được giảm bởi bộ giảm tốc 25: 1, bánh sau được điều khiển bởi vi sai cơ học. Các tín hiệu từ bộ mã hóa gia tăng cũng được gửi đến bảng điều khiển ổ đĩa. Cấu trúc của hệ thống cơ điện được thể hiện trong Hình 7.

Phần kết luận

Trong bài báo này, thiết kế phần cứng bộ điều khiển động cơ và servo của robot xử lý được thực hiện. Hệ điều hành thời gian thực C / OS-II được nhúng thành công trên STM32F107 và thử nghiệm vòng kín tốc độ của động cơ và thiết bị lái đã hoàn tất. Sử dụng các đặc điểm của hiệu suất thời gian thực đa tác vụ của bộ điều khiển lõi Cortex-M3 và hệ thống μC / OS-II, nó cung cấp nền tảng phần mềm và phần cứng để theo dõi và điều hướng video hình ảnh robot tiếp theo. Nếu thuật toán PI hiện tại được cải thiện và tốc độ và điều khiển vòng kín kép hiện tại có thể được nhận ra, các đặc điểm của động cơ robot sẽ tốt hơn và triển vọng ứng dụng của robot xử lý sẽ rộng hơn.



Gửi yêu cầu

whatsapp

teams

Thư điện tử

Yêu cầu thông tin