1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LẬP TRÌNH căn bản điện tử PROJECT CUỐI kì điều khiển và đo tốc độ động cơ DC trong thời gian thực bằng encoder

15 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập trình căn bản điện tử project cuối kỳ điều khiển và đo tốc độ động cơ DC trong thời gian thực bằng encoder
Tác giả Phạm Xuân Trung, Lò Công Minh, Duy Ngọc
Người hướng dẫn Lê Minh Huy
Trường học Đại học Phenikaa
Chuyên ngành Điện tử
Thể loại Dự án cuối khóa
Năm xuất bản 2022 – 2023
Thành phố Hà Nội
Định dạng
Số trang 15
Dung lượng 1,96 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHÂN CÔNG VIỆC chú Phạm Xuân Trung - Lập trình mô hình điều khiển và đo tốc độ động cơ DC - Viết báo cáo Lò Công Minh - Lập trình giao diện - Làm Powerpoint - Lắp đặt phần cứng - Lập tr

Trang 1

Năm học 2022 – 2023

KHOA CƠ ĐIỆN TỬ Ô TÔ VÀ NĂNG LƯỢNG

-o0o -

LẬP TRÌNH CĂN BẢN ĐIỆN TỬ

PROJECT CUỐI KÌ

Project: Điều khiển và đo tốc độ động cơ DC trong thời gian thực

bằng encoder

Giảng viên: Lê Minh Huy

1 Phạm Xuân Trung

2 Lò Công Minh

3 Duy Ngọc

Trang 2

PHÂN CÔNG VIỆC

chú

Phạm Xuân

Trung

- Lập trình mô hình điều khiển và đo tốc độ động cơ DC

- Viết báo cáo

Lò Công

Minh

- Lập trình giao diện

- Làm Powerpoint

- Lắp đặt phần cứng

- Lập trình giao diện

- Edit video

Trang 3

3 | P a g e

Mục Lục

Phần 1: Lời mở đầu 4

Phần 2: Tổng quan 4

Phần 3: Chi tiết đồ án 5

1 Giới thiệu tổng quan 5

1.1.Một vài link liên quan 5

1.2.Ý tưởng 5

1.3.Giao diện phần mềm 5

1.4.Phần cứng 6

2 Chi tiết về đồ án 6

2.1 Sơ đồ điều khiển vòng kín 6

2.1.1 Phần code mô hình điều khiển và đo tốc độ 7

2.1.2 Thiết kế và vận hành 11

2.2 Giao diện 13

Phần 4: Thảo luận 14

Phần 5: Tham khảo 15

Trang 4

Phần 1: Lời mở đầu

Lời đầu tiên, chúng em xin trân thành cảm ơn Trường Đại học Phenikaa

đã đưa môn lập trình cơ bản Điện tử vào chương trình giảng dạy Môn học này cung cấp cho chúng em nhiều kiến thức về lập trình điều khiển, phần mềm cũng như phần cứng điều khiển Khóa học này còn giúp chúng em trau dồi nhiều kĩ năng mềm: kỹ năng thuyết trình, kỹ năng viết báo cáo, kỹ năng làm việc

nhóm,…Đây là những kiến thức vô cùng hữu ích cho sinh viên và công việc sau này của chúng em

Chúng em cũng xin gửi lời cảm ơn đến thầy Lê Minh Huy – Giảng viên

bộ môn đã dạy và truyền đạt kiến thức cho chúng em trong suốt thời gian học tập vừa qua

Chúng em đã cố gắng để hoàn thành báo cáo này Tuy nhiên, do kiến thức chúng em còn hạn chế và khả năng tiếp thu thực tế còn lúng túng nên đồ án này của chúng em không thể tránh khỏi sai sót Bọn em mong nhận được góp ý thêm từ Thầy và Bạn đọc để cải thiện dự án của chúng em Xin chân thành cảm ơn!

Phần 2: Tổng quan

Trong đồ án này, chúng em thiết kế 1 bộ điều khiển tốc độ cho động cơ

DC đơn giản Trước tiên, sử dụng bộ điều khiển PID, ứng dụng trên bo mạch vi điều khiển Arudino Uno là nhân điều khiển trung tâm, MATLAB/SIMULINK

là chương trình xử lý trung gian, phần công suất sử dụng Driver tích hợp L298

để điều chỉnh tốc độ động cơ đạt giá trị đặt (setpoint) nhập vào từ trước

Encoder sẽ đưa xung phản ánh tốc độ động cơ về vi điều khiển, sau đó vi điều khiển sẽ tính toán tốc độ hiện tại để hiển thị và thực hiện giải thuật để điều khiển PID để điều chế độ rộng xung (PWM – Pulse Width Modulation) điều khiển thông qua driver L298

Trang 5

5 | P a g e

Phần 3: Chi tiết đồ án

1 Giới thiệu tổng quan

1.1 Một vài link liên quan

Trình bày:

https://drive.google.com/drive/folders/1wi2iG05VW3tXJBbwD1KN7k3P dWtcL6NA?usp=share_link

Phần cứng:

https://drive.google.com/drive/folders/1wi2iG05VW3tXJBbwD1KN7k3Pd WtcL6NA?usp=share_link

1.2 Ý tưởng

Chúng em quyết định chọn đề tài này và phát triển nó theo hướng điều khiển tốc độ động cơ Chúng em muốn chọn một đề tài có liên quan đến ngành học là Cơ điện tử ô tô để chủ động tìm hiểu kiến thức, giúp chúng em nâng cao kiến thức liên quan đến ngành và hiểu hơn về ngành của mình

1.3 Giao diện phần mềm

Pic1 Giao diện Pic1 Giao diện

Trang 6

1.4 Phần cứng

2 Chi tiết về đồ án

2.1 Sơ đồ điều khiển vòng kín

+

Setpoint

Bộ điều khiển

Motor Encoder

Nhánh phản hồi Pic2 Phần cứng

Trang 7

7 | P a g e

2.1.1 Phần code mô hình điều khiển và đo tốc độ

Dưới đây là sơ đồ khối chính mô hình điều khiển và đo tốc độ

Chúng ta sẽ đặt một giá trị (setpoint), quy ước giá trị là rpm, tức là

vòng/phút Sau đó, bộ điều khiển PID sẽ tiến hành tính toán để có được giá trị đầu ra Gía trị đầu ra sẽ điều khiển động cơ Encoder sẽ được sử dụng để đọc

tốc độ của động cơ, trả về hệ thống để tính toán ra sai số Từ sai số này, chúng

ta sẽ tính toán ra tín hiều điều khiển để điều khiển động cơ Nó sẽ lặp đi lặp lại đến khi nào sai số nhỏ nhất để đáp ứng hệ thống hoạt động chính xác

Sử dụng khối Matlab System để tạo ra khối Encoder (code Encoder ở

Pic4b) Chúng ta sẽ thiết lập kết nối kênh A với chân số 2 và kênh B với chân

số 3 Encoder này có 30 xung ở mỗi kênh A và B, đối với khối Encoder này nó

sẽ đọc xung về khi tín hiệu thay đổi, tức là từ 0 đến 1 và từ 1 về 0 nên số xung khi quay hết 1 vòng là 120 xung

Pic3 Sơ đồ khối chính

Pic4a Thiết lập chân tín hiệu phản hồi từ Encoder

Trang 8

Dưới đây là phần code của encoder

Pic4b Phần code của Encoder

Pic5 Khối tính toán tốc độ động cơ

Trang 9

9 | P a g e

Ở phần tính toán như Pic5, Sử dụng các khối như là Delay, constant,

Product, Gain Sau khi nhận tín hiệu trả về từ encoder, khối sẽ thực hiện tính

toán và đưa về tốc độ đã quy ước chung là rpm Ta thiết lập độ dài trễ là 10

Nhiễu nguồn xung là một vấn đề thường hay xảy ra, vì vậy, để lọc nhiều, Sử dụng một khối hàm truyền (Transfer Function) với các thông số có sẵn như

Pic6

Ở Pic7 Ta sử dụng khối Slider kết nối với khối constant để có thể dễ dàng

điều khiển tốc độ

Pic6 Hàm lọc nhiễu tín hiệu

Pic7 Thiết lập giá trị tốc độ ban đầu

Pic8 Bộ điều khiển PID

Trang 10

Về bộ điều khiển PID, nó sẽ giúp sai số xảy ra sẽ được giảm đến mức tối

thiểu nhất bởi ảnh hưởng của tác động tỉ lệ, ảnh hưởng của tác động tích

phân và được làm rõ bởi một tốc độ đạt được với tác động vi phân số liệu trước

đó ta có 3 thông số: kp, Ki, Kd tương ứng là tỉ lệ, tích phân và đạo hàm

Kp: Độ lợi tỉ lệ

Ki: Độ lợi tích phân

Kd:Độ lợi vi phân

Để chọn ra thông số này, ta áp dụng phương pháp Ziegler-Nichols thứ 2, ban đầu để kp = 2, ta tiếp tục tăng cho đến khi tín hiệu bắt đầu dao động điều hòa thì

giá trị đạt kp = 10 như Pic8a bên dưới

Với Kp = 10 tín hiệu bắt đầu giao động điều hòa, với Tth = 0.1s Xác định thông số Kth = 10, Tth = 0.1(s)

Pic8a

Trang 11

11 | P a g e

Với: 𝑇𝑖 = 𝐾𝑝/(𝐾𝑖): Thời gian khâu vi phân

Td = Thời gian khâu tích phân

Áp dụng công thức tính bộ điều khiển theo:

R(s) = Kp(1 + 1

𝑇𝑖.𝑆+ 𝑇𝑑 𝑠)

2.1.2 Thiết kế và vận hành

Các thành phần để hoàn thiện phần cứng:

Trang 12

Các linh kiện điện tử được sử dụng:

Pic9 Linh kiện

Trang 13

13 | P a g e

Hoàn thành phần cứng:

2.2 Giao diện

Giao diện giúp người dùng có thể dễ dàng điều khiển động cơ

Pic10 Phần cứng

Pic11 Giao diện

Trang 14

Phần code cho giao diện:

Phần 4: Thảo Luận

Về mô hình điều khiển tốc độ động cơ này, bộ PID giúp sai số đạt đến mức thấp nhất Nhưng trên thực tế, sai số do tác động bên ngoài và nhiễu xung cũng khiến kết quả không như mong muốn Thông số của của PID và của hàm lọc xung cũng mang tính tương đối Dự án này bắt đầu từ nhũng kiến thức cơ bản về Matlab/Simulink, trong quá trình tìm hiểu kiến thức, cũng có những sai sót dẫn đến sản phẩm chưa được tốt nhất Do đó, để làm cho nó tốt hơn trong tương lai, bọn em sẽ tiếp tục nghiên cứu sâu thêm và áp dụng được trong những hoàn cảnh khác nhau khiến sản phẩm trở nên tốt nhất

Pic12 Code giao diện

Trang 15

15 | P a g e

Phần 5: Tham khảo

[1] MATLAB_Stephen J Chapman - MATLAB programming for engineers-Thomson (2008)

Ngày đăng: 18/12/2022, 18:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w