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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘ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 – 20205314Lớ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ơ encodercơ encoder

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘ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

Trang 4

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.1Khối nguồn 12

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

2.3Khối hiển thị 14

2.4Khối động cơ 15

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

2.6Linh kiện đi kèm 17

3Sơ đồ 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

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ệntử đã đượ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ó 2phương pháp điều khiển động cơ DC là analog và digital Mục đích chính củachú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òngquay) 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ậntố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ếpvề 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ócquay của motor bao gồm tachometer (thật ra tachometer đo vận tốc quay), dùngbiến trở xoay, hoặc dùng encoder Trong đó 2 phương pháp đầu tiên là phươngpháp analog và dùng optiacal encoder (encoder quang) thuộc nhóm phương phápdigital Hệ thống optical encoder bao gồm một nguồn phát quang (thường là hồngngoạ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à encodertương đối (incremental optical encoder) Trong đa số các DC Motor, incrementaloptical encoder được dùng và mô hình động cơ servo trong bài này cũng khôngngoạ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ầnmotor 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ạitừ 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êncảm biến Như thế kênh I xuất hiện một “xung” mỗi vòng quay của motor Bênngoài đĩa quay được chia thành các rãnh nhỏ và một cặp thu-phát khác dành chocá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ênkê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ãnhnhư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 đườngtrò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ủaencoder 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ãyquan 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ệchpha 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ồngngoạ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éttrường hợp motor quay cùng chiều kim đồng hồ, tín hiệu “đi” từ trái sang phải Bạnhã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ứccao 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án

cho 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ảiDươngVẽ 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ànhsả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ảiDươngBáo cáo bài

tập lớn

Hoàn thành nội dung báo cáo Word, video

giới thiệu sản phẩm Minh Hóa + Nam Khánh Thuyết trình, báo cáo trước giảng viên 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ệcThời gianbắt đầu

Thời gian

kết thúcYêu cầu đạt đượcTrạng thái

Xác định đề tàiđiều khiển động cơencoder

19/02 26/02

Xác định được yêucầu thiết kế về chứcnăng và phi chứcnăng của mạch

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ứcvề 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

Viết Code, môphỏng mạch trênProteus

30/03 14/03

Mô phỏng và chạyđúng với yêu cầuthiết kế trên phầnmềm mô phỏngProteus

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

Hoàn thành, kiểmtra, đánh giá sảnphẩm

26/04 24/05

Sản phầm hoànthành, chạy đúng yêucầu thiết kế đề ra

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ểnchính

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

Khối nguồnKhố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.2: Công tắc đóng mở

2.3 Khối hiển thị

Khối hiển thị sử dụng LCD 16*2 LCD có 16 chân Ta cấp nguồn cho LCD thôngqua các chân 1 (VSS) và 2 (VDD) Điều chỉnh đố sáng của LCD thông qua các chân3 (Contrast Voltage), 15 (Backlight Anode) và 16 (Backlight Cathode) Các chân 7đến 14 là các chân dữ liệu được nối với VĐK, với đề tài ta chỉ sử dụng các chân dữliệu từ 11 đến 14.

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

Trang 15

2.4 Khối động cơ

Encoder hay còn gọi là Bộ mã hóa quay hoặc bộ mã hóa trục, là một thiết bị cơđiện chuyển đổi vị trí góc hoặc chuyển động của trục hoặc trục thành tín hiệu đầura analog hoặc kỹ thuật số Encoder được dùng để phát hiện vị trí, hướng dichuyển, tốc độ… của động cơ bằng cách đếm số vòng quay được của trục.

Hình 2.5: Động cơ encoder

2.5 Khối điều khiển

Hình 2.6: VĐK Atmega8

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ươngtự, nhưng ATMEGA8 phổ biến vì nó là một trong những bộ vi điều khiển rẻ nhấtvà 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ó saisố 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.1Nhữ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 Đâylà 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.

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