1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn vi xử lý đề tài thiết kế điều khiển động cơ encoder

27 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Thiết kế điều khiển động cơ encoder
Tác giả Quách Hải Dương, Trần Nam Khánh, Vũ Minh Hóa
Người hướng dẫn TS. Dương Văn Lạc
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Vi xử lý
Thể loại Bài tập lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 9,68 MB

Nội dung

Trong lĩnh vực điều khiển, từ khicông nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kỹ thuật điềukhiển hiện đại có nhiều ưu điểm hơn so với việc sử dụng các mạch điều khi

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CƠ KHÍ

BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ

ĐỀ

TÀI:

THIẾT KẾ ĐIỀU KHIỂN ĐỘNG CƠ ENCODER

Giảng viên hướng dẫn: TS Dương Văn Lạc

Sinh viên thực hiện: Quách Hải Dương – 20205295

Trần Nam Khánh – 20205493

Vũ Minh Hóa – 20205314 Lớp: Vi xử lý 149639

Hà Nội, 7-2024

Trang 2

Báo cáo BTL Vi xử lý | Điều khiển động cơ encoder

cơ encoder TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CƠ KHÍ

BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ

ĐỀ

TÀI:

THIẾT KẾ ĐIỀU KHIỂN ĐỘNG CƠ ENCODER

Giảng viên hướng dẫn: TS Dương Văn Lạc

Sinh viên thực hiện: Quách Hải Dương – 20205295

Trần Nam Khánh – 20205493

Vũ Minh Hóa – 20205314 Lớp: Vi xử lý 149639

Hà Nội, 7-2024

2

Trang 3

Nhận xét của giáo viên

3

Trang 4

Mục lục

Nhận xét của giáo viên 3

Lời mở đầu 4

Chương I Mô tả đề tài 6

1 Đặt vấn đề 6

2 Phân tích yêu cầu thiết kế 7

Chương II Lập kế hoạch 9

1 Bảng phân tích nhân lực 9

2 Bảng phân công công việc 10

3 Bảng kế hoạch thực hiện 11

Chương III Thiết kế hệ thống 12

1 Thiết kế sơ đồ khối 12

2 Thiết kế sơ đồ khối chi tiết 12

2.1 Khối nguồn 12

2.2 Khối điều chỉnh tốc độ động cơ 13

2.3 Khối hiển thị 14

2.4 Khối động cơ 15

2.5 Khối điều khiển 15

2.6 Linh kiện đi kèm 17

3 Sơ đồ nguyên lý 18

Chương IV Hoàn thành sản phẩm 19

1 Layout mạch in 19

2 Làm mạch, hàn linh kiện 20

3 Đo đạc, kiểm tra, đánh giá chất lượng sản phẩm 22

Chương VI Kết luận 23

1 Đánh giá những điều đã làm được và chưa làm được 23

1.1 Những điều đã làm được 25

1.2 Những điểm còn hạn chế 25

2 Hướng phát triển 24

3 Kết luận 25

Tài liệu tham khảo 26

Phụ lục 1: Source code 28

Phụ lục 2: Hướng dẫn sử dụng 44

4

Trang 5

Lời mở đầu

Với sự phát triển không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện

tử đã được ứng dụng rất nhiều trong công nghiệp Trong lĩnh vực điều khiển, từ khicông nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kỹ thuật điềukhiển hiện đại có nhiều ưu điểm hơn so với việc sử dụng các mạch điều khiển lắpráp bằng các linh kiện rời như kích thước nhỏ, giá thành rẻ, độ làm việc tin cậy,công suất tiêu thụ nhỏ

Ngày nay, trong lĩnh vực điều khiển đã được ứng dụng rộng rãi trong cácthiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hàng ngày của con người như máygiặt, đồng hồ báo giờ… đã giúp cho đời sống của chúng ta ngày càng hiện đại vàtiện nghi hơn

Chúng em đã chọn đề tài “ Điều khiển động cơ encoder ” để hoàn thành bàitập lớn môn Vi xử lý, cũng như để đáp ứng mong muốn tìm hiểu và làm một sảnphẩm điện tử cụ thể từ một dòng Vi điều khiển của bản thân

Đề tài “Điều khiển động cơ encoder” là một đề tài quen thuộc, có thể thựchiện trên rất nhiều dòng VĐK Nhưng đối với chúng em, khi mới tìm hiểu một dòngVĐK mới, và đặc biệt phải thiết kế mạch trên dòng VĐK AVR theo yêu cầu, đócũng là một thách thức và trải nghiệm rất thú vị Do kiến thức còn hạn chế nên đềtài chắc chắn còn nhiều thiếu sót Chúng em rất mong nhận được những ý kiến đónggóp để chúng em hoàn thiện đề tài từ phía thầy cô cũng như các bạn sinh viên

Chúng em xin chân thành cảm ơn thầy Dương Văn Lạc và các nhóm trợgiảng đã giúp đỡ chúng em rất nhiều trong tất cả quá trình, từ lúc mới bắt đầu đếnlúc hoàn thiện sản phẩm!

Trang 6

Chương I Mô tả đề tài

1 Đặt vấn đề

Bài này là một bài tổng hợp nhiều vấn đề ứng dụng AVR bao gồm nhận dữ liệu từ người dùng, điều khiển motor, đọc encoder, hiển thị LCD, cả giải thuật điều khiển PID và mạch công suất cho Motor…Do đó, ít nhất bạn phải nắm được các vấn đề cơ bản như Timer-Counter, TexLCD, mạch cầu H Có 2 phương pháp điều khiển động cơ DC là analog và digital Mục đích chính của chúng ta là dùng AVR điều khiển động cơ DC nên phương pháp số mà cụ thể

là phương pháp điều rộng xung (PWM) sẽ được giới thiệu Ngoài ra, khi nói đến điều khiển động cơ DC có 2 đại lương điều khiển chính là vị trí (số vòng quay) và vận tốc Trong phần ví dụ lập trình cho AVR chúng ta sẽ thực hiện điều khiển vận tốc cho DC Motor Bằng cách này, bạn có thể tự tin để mở rộng ví dụ để điều khiển cho cả 2 đại lượng Vì là điều khiển một cách tự động nên chúng ta cần đọc về đại lượng điều khiển (cụ thể là vị trí hoặc vận tốc motor) và hồi tiếp (feedback) về để “hiệu chỉnh” PWM cấp cho động cơ Chúng ta sẽ dùng incremental optical encoder để đọc số vòng quay và hồi tiếp

về cho AVR Bộ điều khiển PID sẽ được dùng và vận hành bởi AVR

Từ việc phân tích và khảo sát trên đây, nhóm đã đưa ra các vấn đề chính cần giảiquyết của bài toán đặt ra là:

- Tìm hiều kiến thức cơ bàn về VĐK Atmega8, đặc biệt về phần giao tiếp vớiL298n và LCD Tìm hiểu về phần mềm CodeVisionAVR C Compiler đểthực hiện code cho VĐK Atmega8

- Xây dựng sơ đồ khối, từ đó xây dựng mạch nguyên lý và mô phỏng trênphần mềm Proteus

- Thiết kế mạch in trên phần mềm Proteus

- Thực hiện lắp ráp linh kiện trên mạch in Để nạp code cho VĐK nhóm sửdụng phần mềm Progisp và mạch nạp USB ISP

- Viết báo cáo tổng hợp về quy trình thực hiện đề tài

Trang 7

2 Phân tích yêu cầu thiết kế

2.1 Yêu cầu chức năng

Để điều khiển số vòng quay hay vận tốc động cơ thì chúng ta nhất thiết phải đọc được góc quay của motor Một số phương pháp có thể được dùng để xác định góc quay của motor bao gồm tachometer (thật ra tachometer đo vận tốc quay), dùng biến trở xoay, hoặc dùng encoder Trong đó 2 phương pháp đầu tiên là phương pháp analog và dùng optiacal encoder (encoder quang) thuộc nhóm phương pháp digital Hệ thống optical encoder bao gồm một nguồn phát quang (thường là hồng ngoại – infrared), một cảm biến quang và một đĩa có chia rãnh Optical encoder lại được chia thành 2 loại: encoder tuyệt đối (absolute optical encoder) và encoder tương đối (incremental optical encoder) Trong đa số các DC Motor, incremental optical encoder được dùng và mô hình động cơ servo trong bài này cũng không ngoại lệ Từ bây giờ khi tôi nói encoder tức là incremental encoder Hình 2 là mô hình của encoder loại này

Hình 2 Optical Encoder (trích từ [1]).

Encoder thường có 3 kênh (3 ngõ ra) bao gồm kênh A, kênh B và kênh I (Index) Trong hình 2 bạn thấy hãy chú ý một lỗ nhỏ bên phía trong của đĩa quay và một cặp phat-thu dành riêng cho lỗ nhỏ này Đó là kênh I của encoder Cữ mỗi lần motor quay được một vòng, lỗ nhỏ xuất hiện tại vị trí của cặp phát-thu, hồng ngoại

từ nguồn phát sẽ xuyên qua lỗ nhỏ đến cảm biến quang, một tín hiệu xuất hiện trên cảm biến Như thế kênh I xuất hiện một “xung” mỗi vòng quay của motor Bên ngoài đĩa quay được chia thành các rãnh nhỏ và một cặp thu-phát khác dành cho các rãnh này Đây là kênh A của encoder, hoạt động của kênh A cũng tương tự kênh I, điểm khác nhau là trong 1 vòng quay của motor, có N “xung” xuất hiện trên kênh A N là số rãnh trên đĩa và được gọi là độ phân giải (resolution) của encoder Mỗi loại encoder có độ phân giải khác nhau, có khi trên mỗi đĩa chĩ có vài rãnh nhưng cũng có trường hợp đến hàng nghìn rãnh được chia Để điều khiển động cơ, bạn phải biết độ phân giải của encoder đang dùng Độ phân giải ảnh hưởng đến độ chính xác điều khiển và cả phương pháp điều khiển Không được vẽ trong hình 2,

Trang 8

tuy nhiên trên các encoder còn có một cặp thu phát khác được đặt trên cùng đường tròn với kênh A nhưng lệch một chút (lệch M+0,5 rãnh), đây là kênh B của encoder Tín hiệu xung từ kênh B có cùng tần số với kênh A nhưng lệch pha 90o Bằng cách phối hợp kênh A và B người đọc sẽ biết chiều quay của động cơ Hãy quan sát hình 3.

Hình 3 Hai kênh A và B lệch pha trong encoder (trích từ [1])

Hình trên cùng trong hình 3 thể hiện sự bộ trí của 2 cảm biến kênh A và B lệch pha nhau Khi cảm biến A bắt đầu bị che thì cảm biến B hoàn toàn nhận được hồng ngoại xuyên qua, và ngược lại Hình thấp là dạng xung ngõ ra trên 2 kênh Xét trường hợp motor quay cùng chiều kim đồng hồ, tín hiệu “đi” từ trái sang phải Bạn hãy quan sát lúc tín hiệu A chuyển từ mức cao xuống thấp (cạnh xuống) thì kênh B đang ở mức thấp Ngược lại, nếu động cơ quay ngược chiều kim đồng hồ, tín hiệu

“đi” từ phải qua trái Lúc này, tại cạnh xuống của kênh A thì kênh B đang ở mức cao Như vậy, bằng cách phối hợp 2 kênh A và B chúng ta không những xác định được góc quay (thông qua số xung) mà còn biết được chiều quay của động cơ (thông qua mức của kênh B ở cạnh xuống của kênh A).

Trang 9

Chương II Lập kế hoạch

Quá trình lập kế hoạch giúp chúng em có cái nhìn tổng quan về mục tiêu, nhiệm vụcần thực hiện cũng như phân bố thời gian hợp lí cho toàn bộ quá trình thiết kế sảnphẩm Đây là bước giúp chúng em hiểu hơn về từng thành viên trong nhóm, từngcông việc cụ thể cần phải thực hiện

1 Bảng phân tích nhân lực

Bảng 1 Bảng phân tích nhân lực

Quách Hải Dương

- Kỹ năng sử dụng atmega8 và encoder thành thạo

- Khả năng làm mạch tốt

- Chưa thành thạo cácphần mềm mô phỏng

Trần Nam Khánh

- Thành thạo kỹ năng vẽ mạch

và mô phỏng trên phần mềm proteus

- Kỹ năng thuyết trình tốt

- Hạn chế về code kỹnăng xử lý thuật toáncho vi điều khiển

Trang 10

2 Bảng phân công công việc

Bảng 2 Bảng phân công công việc

Tìm hiểu

đề tài

Xác định đề tài, yêu cầu thiết kế của Mạch

Tìm hiểu kiến thức về Vi điều khiển AVR,

Lập kế hoạch chi tiết, phân công công việc cho quá trình thiết kế sản phẩm Nam Khánh

Thiết kế hệ

thống

Thiết kế chi tiết từng khối Nam Khánh + Hải

Dương

Vẽ mạch nguyên lý và mô phỏng trên

Lập trình cho Vi điều khiển Atmega8 Hải Dương

Hoàn thành

sản phẩm

Thiết kế mạch in, đặt mạch in Minh HóaMua linh kiện, test nguội mạch in Minh Hóa

Đo đạc, kiểm tra, đánh giá sản phẩm Nam Khánh + Hải

Dương

Trang 11

3 Bảng kế hoạch thực hiện

Bảng 3 Bảng kế hoạch thực hiện

Công việc Thời gian

bắt đầu

Thời gian kết thúc Yêu cầu đạt được Trạng thái

Hoàn thành

Tìm hiểu về Vi

điều khiển AVR,

code cho AVR

01/03 08/03

Hiểu và trình bàyđược những kiến thức

về Vi điều khiểnAVR

Hoàn thành

Thiết kế mạch

Hoàn thành sơ đồkhối chi tiết, mạchnguyên lý

Hoàn thành

Thiết kế mạch in 29/03 12/04

Hoàn thành thiết kếmạch in trên phầnmềm Altium

Hoàn thành

Kiểm tra, hoàn

thiện báo cáo 24/05 14/06

Bản báo cáo Bài tậplớn, video giới thiệusản phẩm

Hoàn thành

Trang 12

Khối báo thức

Khối điều khiển chính

Khối hiển thị Khối động cơ

Khối nguồn

Khối điều chỉnh tốc

độ động cơ

Chương III Thiết kế hệ thống

1 Thiết kế sơ đồ khối

Hình 1 Sơ đồ khối tổng quan mạch điều khiển động cơ

2 Thiết kế sơ đồ khối chi tiết

2.1 Khối nguồn

Trang 13

Hình 2 Adapter 5V – 2A

Mạch sử dụng nguồn lấy từ adapter 5V-2A như trong hình 2 để cung cấp đủ dòng cho toàn bộ các khối

2.2 Khối điều chỉnh tốc độ động cơ

Hình 2.1: Module điều khiển động cơ L298n

L298N là module điều khiển động cơ trong các xe DC và động cơ bước Module có một IC điều khiển động cơ L298 và một bộ điều chỉnh điện áp 5V 78M05 Module L298N có thể điều khiển tối đa 4 động cơ DC hoặc 2 động cơ DC với khả năng điều khiển hướng và tốc độ.

Trang 14

Hình 2.4: Màn hình hiển thị LCD

Trang 16

ATmega8 là vi điều khiển AVR 28 chân Mặc dù có nhiều bộ vi điều khiển tương

tự, nhưng ATMEGA8 phổ biến vì nó là một trong những bộ vi điều khiển rẻ nhất

và có nhiều tính năng với số chân ít hơn

Atmega8 là một lọai Vi điều khiển có nhìều tính năng đặc biệt thíchhợp cho việcgiải quyết những bài tóan điều khiển trên nền vi xử lý

Atmega8 là vi điều khiển 8bit dựa trên kiến trúc RISC Với khảnăng thực hiện mỗilệnh trong vong một chu kỳ xung clock, Atmega16có thể đạt được tốc độ 1MIPStrên mỗi MHz( 1triệu lệnh/s/MHz),các lệnh được xử lý nhanh hơn,tiêu thụ nănglượng thấp

Hình 2.7: Cấu hình chân của atmega8

Trang 17

2.6 Linh kiện đi kèm

Là bộ phận chính trong các mạch khuyếch đại tần số trong các hệ thống liên

hiện đại thế nào cũng phải dùng các bộ tạo dao động tinh thể để điều khiển các bus, xung động xử lý (Hệ thống mạch Arduino).

Hình 2.8 Thạch anh

Tụ gốm 22PF là tụ không phân cực có giá trị nhỏ thường được dùng trong

Hình 2.9 Tụ 22pf

Trang 18

3 Sơ đồ nguyên lí

Hình 3.1 Sơ đồ nguyên lí

Trang 19

Báo cáo BTL Vi xử lý | Điều khiển động cơ encoder

Chương IV Hoàn thành sản phẩm

Quá trình Hoàn thành sản phẩm là bước cuối cùng trong toàn bộ quy trình thiết kế một sản phẩm điện tử

1 Layout mạch in

Hình 4.1 Mạch in PCB 2D

Hình 4.2 Mạch in PCB 3D

Trang 20

2 Làm mạch, hàn linh kiện

Sau khi có mạch in và các linh kiện đầy đủ, ta sẽ tiến hành lắp ráp thànhmạch hoàn chỉnh Sử dụng mạch nạp và phần mềm nạp để kết nối giữa máy tính vàmạch đã lắp ráp Tùy từng mạch nạp mà có phần mềm nạp riêng Sau khi nạp xongchúng ra có thể test mạch thử và cung cấp nguồn cho mạch hoạt động

Hình 18 Kiểm tra mạch trên board

Hình 19 Mạch in đã hàn linh kiện

Trang 21

Hình 20 Hình ảnh mạch thực tế đang hoạt động

Trang 22

3 Đo đạc, kiểm tra, đánh giá chất lượng sản phẩm

Việc đo nguội là quá trình đo đạc, kiểm tra trước khi cấp nguồn cho mạch.Việc này nhằm kiểm tra kết nối giữa cách đường đi dây, các kết nối trên mạch in,các mối hàn

Sau khi đo nguội mà không có lỗi, ta sẽ cấp nguồn cho mạch hoạt động (Chú

ý : cấp nguồn sau cùng khi lắp ráp mạch và ngắt nguồn đầu tiên khi tắt mạch)

Kiểm tra các chức năng hoạt động của encoder, LCD hiển thị, chức năng cácphím nhấn, có hoạt động tốt không

Khi mạch đã hoạt động ổn định, ta cần đo sai số của mạch Nếu mạch có sai

số lớn hơn mức cho phép, cần điều chỉnh lại code Chúng em đã kiểm tra và đođược sai số trong tốc độ là 0.1m/s và 2 độ khi quay góc 180 độ

Trong quá trình hoạt động, cần đánh giá nhiệt độ của mạch để có biện phápđiều chỉnh giúp mạch tản nhiệt tốt, bảo vệ linh kiện và hoạt động ổn định hơn

Trang 23

Chương VI Kết luận

1 Đánh giá những điều đã làm được và chưa làm được

1.1 Những điều đã làm được

Nhìn chung, sản phẩm hoàn thành đã đạt được yêu cầu thiết kế đã đề ra:

- Động cơ encoder hoạt động tốt, điều chỉnh được góc quay và tốc độ theo ýmuốn

- Sản phẩm đơn giản, gọn nhẹ, dễ dàng sử dụng

- Ngoài việc áp dụng những kiến thức đã được học trong môn vi xử lí,chúng em còn được làm quen và thực hành với Vi điều khiển AVR Atmega8 Đây

là những kiến thức nền tảng, phục vụ cho ngành học điện tử sau này

Chúng em được làm quen và sử dụng các phần mềm mô phỏng Proteus, phầnmềm lập trình CodeVisionAVR C Compilier cho vi điều khiển AVR, phần mềmthiết kế mạch in Altium và thực hiện ráp mạch thực tế Đây là những kỹ năng rấtquan trọng trong quá trình học tập, đặc biệt đối với sinh viên ngành điện tử

Trong quá trình hoàn thành thiết kế sản phầm điều khiển động cơ encoder ,chúng em đã học hỏi được thêm rất nhiều kiến thức và kinh nghiệm về điện tử.Chúng em được thực hành, vân dụng các kiến thức đã học để thiết kế nên một sảnphẩm theo đúng quy trình thiết kế sản phẩm điện tử chuyên nghiệp

1.2 Những điểm còn hạn chế

Ngoài các chức năng đã đạt được đề tài còn một số hạn chế sau:

- Mạch nhìn còn thô, tính thẩm mĩ chưa cao

- Các nút bấm còn chưa nhạy, chưa có nút reset mạch (phải reset mạch bằngcách rút nguồn)

Trang 24

- Mạch chạy thời gian dài còn tỏa nhiều nhiệt, ảnh hưởng tới độ bền của linh kiện và độ chính xác của sản phẩm.

2 Hướng phát triển

Đề tài có thể được tiếp tục phát triển một số chức năng sau:

- Có thể điều khiển nhiều động cơ hơn

- Thêm phần đo thời gian sử dụng động cơ

- Hệ thống chuống báo khi động cơ quay không như ý

Chúng em xin được gửi lời cảm ơn chân thành tới thầy TS Dương Văn Lạc

đã giúp đỡ chúng em rất nhiều trong các quá trình thiết kế và hoàn thành sản phẩm

Ngày đăng: 01/07/2024, 11:32

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

TÀI LIỆU LIÊN QUAN

w