Để góp một phần nhỏ vào việc này chúng em đã thực hiện đề tài “Thiết kế, chế tạo bộ điều khiển động cơ bước sử dụng vi điều khiểnSTM32” thông qua đề tài này chúng em sẽ có những điều kiệ
Trang 1TRƯỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
ĐỒ ÁN HỌC PHẦN
KỸ THUẬT ĐIỆN TỬ SỐ VÀ VI XỬ LÝ
TÊN ĐỀ TÀI: THIẾT KẾ, CHẾ TẠO BỘ ĐIỀU KHIỂN
Người hướng dẫn: ThS.Lê Văn ChươngNhóm thực hiện: Nhóm 5
Lớp: Kỹ thuật điện tử số và vi xử lý-LT01Khoá: 63K1 CNKT Điện-Điện tử
NGHỆ AN - 2024
Trang 2
MỤC TIÊU VÀ NHIỆM VỤ MÔN HỌC
Họ tên sinh viên: 1 Nguyễn Văn Lợi
2.Phan Bá Sáng
3.Nguyễn Phúc Huy Hoàng
4.Vi Quốc Cường
5.Trần Anh Tú
NGÀNH: Công nghệ kỹ thuật điện, điện tử
1 Mục tiêu đồ án: Nghiên cứu về các cách điều khiến động cơ bước từ đó
hiểu nguyên lý của mạch điều khiển rồi lựa chọn phương án tối ưu nhất để áp dụng vào đồ án và trong thực tế
2 Nhiệm vụ: Thiết kế, chế tạo bộ điều khiển động cơ bước sử dụng vi điều
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ Độc lập - Tự do - Hạnh phúc
Trang 3PHÂN CÔNG NHIỆM VỤ ĐỒ ÁN MÔN HỌC
Tên đồ án: Thiết kế, chế tạo bộ điều khiển động cơ bước
Ngành: CNKT Điện - Điện tử
Người hướng dẫn: ThS.Lê Văn Chương
STT Họ và tên Mã sinh viên Nhiệm vụ Tự đánh
giá(A,B,C,D)
Kýtên
1 Nguyễn Văn Lợi 225751030110015 Lắp ráp mạch, viết
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ Độc lập - Tự do - Hạnh phúc
Trang 4MỞ ĐẦU
Trong những năm gần đây, nền kinh tế của nước ta phát triển rấtmạnh mẽ và nhanh chóng, để đạt được kết quả như này thì có sự đóng góprất lớn của ngành kĩ thuật điện tử, kỹ thuật vi xử lý
Với sự phát triển như vũ bão như hiện nay thì kỹ thuật điện tử, kĩthuật vi xử lý đang xâm nhập vào tất cả các ngành khoa học – kỹ thuật khác
và đã đáp ứng được mọi nhu cầu của người dân Sự ra đời của các vi mạchđiều khiển với giá thành giảm nhanh, khả năng lập trình ngày càng cao đãmang lại những thay đổi sâu sắc trong ngành kỹ thuật điện tử
Và việc ứng dụng các kỹ thuật này vào thực tế sẽ giúp ích rất nhiềucho mọi người Để góp một phần nhỏ vào việc này chúng em đã thực hiện
đề tài “Thiết kế, chế tạo bộ điều khiển động cơ bước sử dụng vi điều khiểnSTM32” thông qua đề tài này chúng em sẽ có những điều kiện tốt nhất đểhọc hỏi, tích lũy kinh nghiệm quý báu, bổ xung thêm vào hành trang củamình trên con đường đã chọn
Trong suốt quá trình thực hiện đề tài chúng em đã nhận được sựhướng dẫn tận tình của thầy “ Lê Văn Chương” Chúng em xin chân thànhcảm ơn các thầy Tuy nhiên trong quá trình thực hiện đồ án do kiến thứchiểu biết còn hạn hẹp cũng như chúng em chưa có nhiều điều kiện khảo sátthực tế nhiều, thời gian làm đồ án không dài do vậy đồ án của chúng emcũng không thể tránh được những thiếu sót Chúng em rất mong thầy và cáccác bạn đóng góp và bố sung ý kiến để đồ án của chúng em thêm hoànthiện hơn
Xin chân thành cảm ơn!
Trang 5MỤC LỤC
MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN VỀ ĐỘNG CƠ BƯỚC
1.1 GIỚI THIỆU CHUNG VỀ ĐỘNG CƠ BƯỚC 6
1.2 CẤU TẠO CHUNG 6
1.3 MỘT SỐ ỨNG DỤNG SẢN PHẨM ĐỘNG CƠ BƯỚC TRONG THỰC TẾ 7
CHƯƠNG 2:THIẾT KẾ, CHẾ TẠO ĐỘNG CƠ BƯỚC
2.1 PHÂN TÍCH YÊU CẦU THIẾT KẾ 9
2.2 SƠ ĐỒ KHỐI 10
2.3 LỰA CHỌN CÁC LINH KIỆN SỬ DỤNG 11
2.4 SƠ ĐỒ NGUYÊN LÝ 19
2.5 LẬP TRÌNH PHẦN MỀM ĐIỀU KHIỂN 20
2.6 CHẾ TẠO VÀ THỬ NGHIỆM 22
KẾT LUẬN
TÀI LIỆU THAM KHẢO
PHỤ LỤC
Trang 6Hình 2.3: Vi điều khiển STM32F411RE
Hình 2.4: Cấu tạo của STM32
Hình 2.5: Module điều khiển động cơ bước ULN2003
Hình 2.6: Thông số kỹ thuật Module ULN2003
Hình 2.7: Động cơ bước 28BYJ-48
Hình 2.8: Thông số kỹ thuật động cơ bước 28BYJ-48
Hình 2.9: Màn LCD 1602 + Module I2C
Hình 2.10: Sơ đồ điều khiển động cơ bước
Hình 2.11: Lưu đồ thuật toán động cơ bước
Hình 2.13: Một số hình ảnh của mô hình
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ ĐỘNG BƯỚC
1.1 GIỚI THIỆU CHUNG VỀ ĐỘNG CƠ BƯỚC
Động cơ bước (motor bước) là một loại động cơ mà các bạn có thểquy định được tần số góc quay của nó Nếu góc bước của nó càng nhỏthì số bước trên mỗi vòng quay của động cơ càng lớn và độ chính xácchúng ta thu được càng lớn Chúng thực chất là động cơ đồng bộ dùng
để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kếtiếp nhau thành các chuyển động góc quay hoặc chuyển động của roto
có khả năng cố định roto và các vị trí cần thiết
Các góc bước của động cơ có thể đạt cực đại là 90 độ và cực tiểu đến0,72 độ Tuy nhiên, các góc bước của động cơ thường được sử dụngphổ biến nhất là góc 1,8 độ, góc 2,5 độ, góc 7,5 độ và góc 15 độ Động cơ bước có vai trò rất quan trọng trong điều khiển chuyển động
kỹ thuật số, tự động hóa, vì nó là cơ cấu chấp hành trung thành vớinhững lệnh đưa ra dưới dạng số, nó chấp hành chính xác Ta có thểđiều khiển nó quay một góc bất kỳ, chính xác, dừng lại ở một vị trí nào
đó ta muốn Vì vậy nó được ứng dụng nhiều trong tự động hóa và điềukhiển số
1.2 CẤU TẠO CHUNG
Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụngkhác biệt với đa số các động cơ điện thông thường Động cơ bước làloại động cơ điện đặc biệt có thể di chuyển theo từng bước nhỏ, chínhxác và được điều khiển bằng các xung điện
Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loạiđộng cơ: Động cơ một chiều không tiếp xúc và động cơ đồng bộ giảmtốc công suất nhỏ Động cơ bước có thể được mô tả như là một động cơđiện không dung chuyển mạch Cụ thể, các mẫu trong động cơ là rôto
và stato là các nam châm vĩnh cửu hoặc trong trường hợp của động cơ
Trang 8biến từ trở nó là những khối răng làm bằng vật liệu nhẹ có từ tính, chophép chúng quay khá nhanh và với một mộ điều khiển thích hợp chophép chúng khởi động và dừng lại ở bất kỳ vị trí nào ta muốn một cách
dễ dàng
Động cơ bước hoạt động dựa trên nguyên lý tương tác giữa từ trườngquay của stato và các cực từ nam châm trên rotor Khi dòng điện đượccấp vào các cuộn dây trên stato, nó sẽ tạo ra từ trường quay Từ trườngnày sẽ tác động lên các cực từ nam châm trên rotor, khiến rotor quaytheo hướng của từ trường
1.3 MỘT SỐ ỨNG DỤNG SẢN PHẨM ĐỘNG CƠ BƯỚC TRONG THỰC TẾ
Trong điều khiển chuyển động kỹ thuật số, motor bước là một cơ cấuchấp hành đặc biệt hữu hiệu, bởi nó có thể thực hiện trung thành cáclệnh đưa ra dưới dạng số Loại động cơ này hiện đang được ứng dụngnhiều trong ngành tự động hóa, đặc biệt là các thiết bị cần điều khiểnchính xác
Hình 1.1: Ứng dụng của động cơ bước trong thiết bị điều khiển robot
Trang 9
Những ứng dụng cụ thể của động cơ bước trong ngành tự động hóalà: trong thiết bị điều khiển robot, điều khiển định vị trong các quan hệtrắc, điều khiển tiêu cự trong các hệ quang học, bám mục tiêu trong cáckhí tài quan sát, điều khiển các cơ cấu lái phương và chiều trong máybay, điều khiển lập trình trong các thiết bị gia công cắt gọt,
Hình 1.2: Ứng dụng của động cơ bước trong gia công cắt gọt
Trong các ngành công nghệ máy tính, động cơ bước được sử dụngchủ yếu cho các loại ổ đĩa cứng, ổ đĩa mềm hay máy in, Động cơ bướcđược sử dụng rộng rãi trong các ứng dụng điều khiển và đo lường Trong lĩnh vực an ninh bảo mật, động cơ bước đóng vai trò như mộtsản phẩm giám sát mới, đem lại tiến bộ vượt trội cho ngành an ninh Trong lĩnh vực tế, động cơ bước được sử dụng để sản xuất máy quét
y tế, máy lấy mẫu Động cơ bước còn là một bộ phận trong máy chụpảnh nha khoa kỹ thuật số, hay những máy bơm chất lỏng, mặt nạ phòngđộc và các loại máy móc phân tích mẫu máu
Trong lĩnh vực điện tử, động cơ bước ứng dụng trong quá trình chếtạo máy ảnh, đem lại chức năng lấy nét chính xác và sắc sảo cho máyảnh Đồng thời, nó còn có chức năng thu phóng các loại camera kỹthuật số tự động hay các loại máy in 3D
Trang 10CHƯƠNG 2: THIẾT KẾ, CHẾ TẠO ĐỘNG CƠ BƯỚC
2.1 PHÂN TÍCH YÊU CẦU THIẾT KẾ
- Nghiên cứu nguyên lý hoạt động của động cơ bước và vi điều khiểnSTM32
- Lựa chọn vi điều khiển STM32 phù hợp với yêu cầu của hệ thống
- Thiết kế phần cứng của bộ điều khiển, bao gồm mạch giao tiếp với viđiều khiển, mạch điều khiển động cơ bước
- Thiết kế giao diện người dùng để điều khiển và giám sát hoạt động củađộng cơ bước
- Chế tạo và thử nghiệm hệ thống
- Thiết kế phần cứng: Bao gồm việc lựa chọn linh kiện, mạch in, nạpchương trình và kết nối với động cơ bước
- Xác định khả năng chống rung cần thiết cho động cơ bước
- Xác định rõ mục đích sử dụng động cơ bước trong ứng dụng cụ thể
- Lập trình vi điều khiển STM32: Xây dựng các chương trình điều khiểncho động cơ bước, bao gồm xác định hướng quay, tốc độ quay và sốbước
- Kiểm tra và hiệu chỉnh: Thực hiện kiểm tra chức năng, hiệu chỉnh thông
số để đảm bảo hoạt động ổn định và chính xác
Trang 11Hình 2.1: Bảng thông số kỹ thuật
2.2 SƠ ĐỒ KHỐI
Hình 2.2: Sơ đồ khối
- Chức năng của từng khối thiết bị:
+) Khối nguồn: Cung cấp năng lượng cho vi điều khiển STM32F411RE,driver ULN2003 và động cơ bước 28BYJ-48.Cần đảm bảo nguồn điện
có điện áp và dòng điện phù hợp với yêu cầu của từng thiết bị
+) Vi điều khiển STM32F411RE gửi tín hiệu đến driver ULN2003:
• STM32F411RE sẽ tính toán và tạo ra các chuỗi xung theo thứ tự đểkích hoạt các cuộn dây của động cơ bước
• Mỗi chuỗi xung sẽ kích hoạt 2 cuộn dây tại một thời điểm, tạo ra từtrường để quay trục động cơ một bước nhỏ
Trang 12+) Driver ULN2003 khuếch đại tín hiệu điều khiển:
• ULN2003 nhận tín hiệu xung từ STM32F411RE và khuếch đạidòng điện lên mức đủ để kích hoạt các cuộn dây động cơ
• ULN2003 có 4 kênh điều khiển độc lập, cho phép điều khiển 4 cuộndây động cơ bước 28BYJ-48
+) Stepper Motor 28BYJ-48 quay theo các bước:
• Khi các cuộn dây được kích hoạt theo thứ tự, các cực từ của động
cơ sẽ thay đổi, tạo ra lực điện từ để quay trục động cơ
• Thứ tự kích hoạt cuộn dây sẽ quyết định chiều quay của động cơ(theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ)
• Số lượng xung được gửi đến động cơ sẽ quyết định số bước quaycủa động cơ
+) Màn LCD 1602:
• Nhận dữ liệu hiển thị từ vi điều khiển STM32F411RE
• Hiển thị thông tin lên màn hình
+) Đèn Led: Báo hiệu động cơ chương trình đang chạy hay không+) Nút nhấn: Cho phép người dùng điều khiển động cơ bước bằng tay
2.3 LỰA CHỌN CÁC LINH KIỆN SỬ DỤNG
2.3.1 Vi xử lý STM32 Nucleo-64 development Board with STM32F411RE
Vi xử lý STM32 Nucleo-64 Development Board with STM32F411REMCU là một bo mạch phát triển nhúng, được thiết kế để phục vụ việcphát triển và kiểm tra ứng dụng nhúng dựa trên vi xử lý STM32F411RE
Bo mạch này cung cấp một loạt các tính năng và cổng kết nối để tươngtác với vi xử lý và các thiết bị ngoại vi khác
Vi điều khiển STM32 là một dòng sản phẩm vi điều khiển (MCU Microcontroller Unit) được phát triển bởi STMicroelectronics, một trongnhững nhà sản xuất hàng đầu trong lĩnh vực thiết kế và sản xuất linh kiệnđiện tử STM32 sử dụng các lõi xử lý ARM Cortex-M, được tích hợp vớimột loạt các tính năng và chức năng phong phú, bao gồm các giao diệnkết nối, bộ nhớ và các tính năng bảo mật
Trang 13Mạch STM3 là một trong các vi điều khiển (MCU) thuộc dòng sảnphẩm STM32F1 của hãng STMicroelectronics Dựa trên kiến trúc ARMCortex-M3 32-bit, tốc độ xử lý lên đến 72MHz Đây là một trong nhữngMCU phổ biến và được sử dụng rộng rãi trong các ứng dụng nhúng vàIoT.
Hình 2.3: Vi điều khiển STM32F411RE
Vi xử lý STM32 Nucleo-64 với STM32F411RE MCU là một công cụmạnh mẽ dành cho việc phát triển các ứng dụng nhúng Với tính linhhoạt, tính năng phong phú và hiệu suất cao, nó có thể được áp dụngtrong nhiều lĩnh vực từ IoT, điều khiển thiết bị tự động, robotics đến đàotạo và nghiên cứu Sự ổn định và khả năng mở rộng của vi xử lý STM32Nucleo-64 là điểm nhấn đáng chú ý, mang lại những giải pháp sáng tạo
và hiệu quả cho các nhà phát triển và kỹ sư nhúng
Trang 14Hình 2.4: Cấu tạo của STM32
VCC: là chân cấp nguồn, được kết nối đến nguồn cung cấp điện áp
dương
GND (Ground): là chân đất, cực âm của nguồn điện cấp cho STM32.
Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì nhữngchân này phải được nối với nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là
500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
IOREF: điện áp hoạt động của vi điều khiển trên STM32 có thể được
đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không đượclấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải
là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương
đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
Vin (Voltage Input): để cấp nguồn ngoài cho STM32, bạn nối cực
Trang 15dương của nguồn với chân này và cực âm của nguồn với chân GND.
GPIO: GPIOA, GPIOB, GPIOC, GPIOH trên vi điều khiển STM32,
các chân GPIO thường được ký hiệu bằng mã chân như PA0, PA1, PB0,PB1, Với "PA" là viết tắt của GPIOA, "PB" là viết tắt của GPIOB, vàtiếp tục cho các nhóm GPIO khác Đây là cách mà các chân GPIOthường được đặt tên trong mã hóa của các dòng vi điều khiển STM32 và
là cách phổ biến để tham chiếu đến chúng trong mã lập trình
Chân I2C: Chân SDA (Serial Data Line): Đây là chân dùng để truyền
dữ liệu từ và đến thiết bị ngoại vi Trên vi điều khiển STM32, chân SDAthường được gắn vào một chân GPIO cụ thể, ví dụ như PA10, PB7,PB9, Chân SCL (Serial Clock Line): Đây là chân dùng để đồng bộhoá truyền dữ liệu trên chân SDA Cũng giống như chân SDA, chân SCLcũng được gắn vào một chân GPIO cụ thể, ví dụ như PA9, PB6, PB8,
Chân PWM: Chân này được sử dụng để tạo ra tín hiệu PWM, thườngđược sử dụng để điều khiển độ sáng của đèn LED, tốc độ của động cơhoặc các ứng dụng điều khiển động cơ servo Tín hiệu PWM được điềuchỉnh bằng cách thay đổi độ rộng xung xung chu kỳ, do đó, nó thườngđược sử dụng để điều khiển tốc độ của động cơ hoặc độ sáng của đènLED và có thể điều chỉnh độ rộng xung để điều khiển mức điện áp đầura
2.3.2 MODULE điều khiển động cơ bước ULN2003
Module điều khiển động cơ bước ULN2003 là một module được sửdụng để điều khiển và điều chỉnh động cơ bước một cách dễ dàng vàthuận tiện Nó được sử dụng phổ biến trong các ứng dụng điều khiểnđộng cơ bước như các máy in 3D, máy CNC, robot và các thiết bị tựđộng hóa khác
Module điều khiển động cơ bước ULN2003 được tích hợp sẵn mạchULN2003, một bộ khuếch đại dòng điện, giúp tăng cường khả năng đưa
ra xung điều khiển cho các động cơ bước
Trang 16Hình 2.5: Module điều khiển động cơ bước ULN2003
Module này có các chân kết nối đơn giản và dễ sử dụng Thôngthường, nó bao gồm hai dãy chân điều khiển IN1 đến IN4 và OUT1 đếnOUT4 để kết nối với STM32F411RE hoặc bất kỳ bo mạch điều khiểnnào khác Module cũng cung cấp các chân nguồn cấp VCC và GND đểcung cấp điện cho động cơ bước
Mỗi chân đầu ra của module điều khiển ULN2003 có thể điều khiểnmột dây cuộn của động cơ bước Bằng cách đưa các tín hiệu xung điềukhiển đến các chân đầu vào, module sẽ tạo ra các xung điện áp để điềukhiển chính xác các bước chuyển động của động cơ bước
Module điều khiển động cơ bước ULN2003 có thể hoạt động với nguồn cấp điện DC từ 5V đến 12V, tùy thuộc vào yêu cầu cụ thể của động cơ bước được sử dụng
Trang 17Tần số 100Hz
Hình 2.6: Thông số kỹ thuật Module ULN2003
2.3.3 Động cơ bước 28BYJ-48
Động cơ bước sử dụng trong bài toán là động cơ bước 4 pha (thực ra là
2 pha được chia ra làm 2 ở mỗi pha ngay tại vị trí giữa) (gồm 5 dây), 4trong 5 dây này được kết nối với 2 cuộn dây trong động cơ và 1 dây làdây nguồn chung cho cả 2 cuộn dây Mỗi bước của động cơ quét 1 góc5.625 độ, vậy để quay 1 vòng động cơ phải thực hiện 64 bước
Động cơ bước 28BYJ-48 có thể được điều khiển bằng hai phươngpháp chính:Phương pháp xung sử dụng các xung điện để điều khiểnđộng cơ quay theo từng bước Số lượng xung và độ dài xung sẽ quyếtđịnh tốc độ và hướng quay của động cơ; Phương pháp nửa bước là sự cảitiến của phương pháp xung, giúp động cơ quay mượt mà hơn và giảmtiếng ồn Phương pháp này sử dụng các xung điện với độ dài bằng nhau,nhưng được áp dụng cho các cặp cuộn dây khác nhau để tạo ra chuyểnđộng nửa bước