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

Arduino Điều khiển động cơ bước, với các nút bấm điều khiển hướng động cơ

16 96 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 đề Arduino Điều Khiển Động Cơ Bước, Với Các Nút Bấm Điều Khiển Hướng Động Cơ
Tác giả Nguyễn Văn Hoài, Quản Văn Hòa
Người hướng dẫn T.s Hoàng Anh
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Khoa Công Nghệ Điện Tử Thông Tin
Thể loại Báo Cáo Đồ Án
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 16
Dung lượng 1,57 MB

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

Nội dung

Các mạch điện tử cơ bản vốn được coi là một trong những kiến thức cơ sở, vì vậy để học tốt kiến thức chuyên ngành thì việc nắm vững đặc điểm và nguyên lí, cách thiết kế và làm mạch thực tế rất quan trọng. Bài thực hành với những kiến thức nền tảng sẽ giúp chúng ta hiểu rõ hơn và sâu hơn về các mạch điện tử cơ bản. Nội dung của Đồ Án 2 này là Điều khiển động cơ bước với Arudino, sử dụng chiết áp để thay đổi tốc độ động cơ (28BYJ48 5v), và hiển thị lên màn hình LCD (1602), và Nhóm có thiết kế thêm 3 nút bấm để điều khiển vị trí của động cơ. Mạch được thiết kế dựa trên sự hướng dẫn của giảng viên môn Đồ án 2, cùng với tìm hiểu, tham gia của các thành viên nhóm và những môn đã học như: Linh kiện điện tử, Thực hành điện tử, Kỹ thuật Vi Xử Lý … Tuy chúng em đã có nhiều cố gắng khi biên soạn và làm báo cáo thực hành nhưng không tránh khỏi những khiếm khuyết. Chúng em hy vọng nhận được sự góp ý của Thầy để Đồ Án 2 được hoàn thiện hơn. Cuối cùng, chúng em xin gửi lời cảm ơn đến Thầy T.s: Hoàng Anh đã hướng dẫn chúng em hoàn thành Báo cáo Đồ Án 2 này.

Trang 1

KHOA CÔNG NGHỆ ĐIỆN TỬ THÔNG TIN

- -BÁO CÁO

Đồ Án 2

Giảng Viên

Nhóm

: T.s Hoàng Anh : 3

Thành viên tham gia : - Nguyễn Văn Hoài

- Quản Văn Hòa

Hà Nội, Ngày 20 Tháng 2 Năm 2023



Trang 2

Lời Mở Đầu

Các mạch điện tử cơ bản vốn được coi là một trong những kiến thức cơ

sở, vì vậy để học tốt kiến thức chuyên ngành thì việc nắm vững đặc điểm và

nguyên lí, cách thiết kế và làm mạch thực tế rất quan trọng Bài thực hành với những kiến thức nền tảng sẽ giúp chúng ta hiểu rõ hơn và sâu hơn về các

mạch điện tử cơ bản

Nội dung của Đồ Án 2 này là Điều khiển động cơ bước với Arudino, sử

dụng chiết áp để thay đổi tốc độ động cơ (28BYJ-48 5v), và hiển thị lên màn

hình LCD (1602), và Nhóm có thiết kế thêm 3 nút bấm để điều khiển vị trí

của động cơ Mạch được thiết kế dựa trên sự hướng dẫn của giảng viên môn

Đồ án 2, cùng với tìm hiểu, tham gia của các thành viên nhóm và những môn

đã học như: Linh kiện điện tử, Thực hành điện tử, Kỹ thuật Vi Xử Lý …

Tuy chúng em đã có nhiều cố gắng khi biên soạn và làm báo cáo thực

hành nhưng không tránh khỏi những khiếm khuyết Chúng em hy vọng nhận

được sự góp ý của Thầy để Đồ Án 2 được hoàn thiện hơn

Cuối cùng, chúng em xin gửi lời cảm ơn đến Thầy T.s: Hoàng Anh đã

hướng dẫn chúng em hoàn thành Báo cáo Đồ Án 2 này

Trang 3

Mục Lục

I Giới Thiệu Về Linh Kiện 4

1.1 Giới thiệu chung 4

1.2 Cấu tạo linh kiện sử dụng 5

1.2.1 Arduino 5

1.2.2 Động cơ bước (StepMotor 28BYJ-48) 6

1.2.3 Một số linh kiện khác 6

1.3 Ứng Dụng 9

II Thiết kế mạch và chương trình điều khiển động cơ bước với Arduino 9 2.1 Nguyên lí hoạt động 9

2.2 Thiết kế mạch điều khiển động cơ bước với Arduino có sử dụng chiết áp 10

2.3 Lập trình điều khiển động cơ bước và hiển thị thông tin lên màn hình LCD, và Các nút bấm điều khiển vị trí động cơ: 12

III Kết quả thực nghiệm 14

3.1 Mô tả kết quả thực nghiệm 14

3.2 So sánh kết quả thực nghiệm với kết quả dự đoán: 14

3.3 Nhận xét kết quả thực nghiệm 15

IV Kết Luận 15

Trang 4

Danh Mục Hình Ảnh

Hình 1.1: Hình Ảnh Arduino Uno R3 5

Hình 1 2: Hình ảnh động cơ bước 6

Hình 1.3: Hình Ảnh LCD 1608 7

Hình 1.4: Hình Ảnh Module I2c 7

Hình 1.5: DRIVER ULN2003 8

Hình 2.1: Mô Phỏng Mạch Trên Proteus 10 Hình 2 2: Mô Phỏng Trên Pritzing 11

Hình 2.3: Mô Phỏng Trên Circuit 11

Hình 2.4: Mạch Thật 12

Trang 5

I Giới Thiệu Về Linh Kiện

1.1 Giới thiệu chung.

Công nghệ lập trình phát triển mang lại nhiều lợi ích, tiện nghi trong

cuộc sống Những thiết bị máy móc được điều khiển bằng chương trình đã lập trình sẵn, dựa trên các phần mềm nền tảng Với những người làm việc trong

lĩnh vực khoa học máy tính sẽ không quá xa lạ với lập trình Arduino

Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác

Ivrea) tại Ivrea, Italy Vào thời điểm đó các sinh viên sử dụng một "BASIC

Stamp" (con tem Cơ Bản) có giá khoảng $100, xem như giá dành cho sinh

viên Massimo Banzi, một trong những người sáng lập, giảng dạy tại Ivrea

Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của

dự án này thường xuyên gặp mặt Bản thân quán bar này có được lấy tên là

Arduino, Bá tước của Ivrea, và là vua của Italy từ năm 1002 đến 1014

Được giới thiệu vào năm 2005, những nhà thiết kế của Arduino cố

gắng mang đến một phương thức dễ dàng, không tốn kém cho những người

yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả

năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp

hành Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động Đi cùng

với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá

nhân thông thường và cho phép người dùng viết các chương trình cho mạch

bằng ngôn ngữ Arduino, một ngôn ngữ riêng được phát triển dựa trên C/C++

Động cơ bước là một loại động cơ đồng bộ, có khả năng biến đổi các

tín hiệu điều khiển của máy móc dưới dạng các xung điện rời rạc được phát ra

kế tiếp nhau, tạo thành các chuyển động góc quay Đôi khi chính là các

chuyển động của rôto, giúp cho người dùng cố định roto của máy vào trong

các vị trí cần thiết Nói chung, độ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ác của vị trí chúng ta thu được càng lớn

Trang 6

1.2 Cấu tạo linh kiện sử dụng.

1.2.1 Arduino.

- Cấu tạo của Arduino được chia thành 2 loại phần cứng và phần mềm Cụ

thể:

Phần cứng của mã nguồn mở: Một board mạnh điện tử mã nguồn mở

(vi điều khiển) - có thể lập trình được Phần vi mạch có nhiều loại với đặc

điểm khác nhau: Arduino Uno - loại broad mạch đơn giản cho người mới bắt đầu, Arduino Micro thiết kế nhỏ gọn với 20 chân

Phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development

Environment) - nhiệm vụ biên soạn, soạn thảo và nạp chương trình vào

broad

Arduino có rất nhiều loại cũng như mã nguồn mở phong phú: Arduino

Uno, Nano …

Hình 1.1: Hình Ảnh Arduino Uno R3

Trang 7

1.2.2 Động cơ bước ( StepMotor 28BYJ-48)

Cấu tạo của động cơ bước gồm: Rotor và Stato

Rotor thực ra chính là một dãy các lá nam châm vĩnh cửu, chúng được

sắp xếp chồng lên nhau một cách kỹ lưỡng, cẩn thận Trên các lá nam châm này lại được chia thành các cặp cực sắp xếp đối xứng với nhau

Stato được cấu tạo bằng sắt từ, chúng được chia thành các rãnh nhỏ để

đặt cuộn dây

Hình 1 2: Hình ảnh động cơ bước

1.2.3 Một số linh kiện khác

LCD 1602 :

LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân

điều khiển (RS, RW, EN)

5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2

Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu

Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi

Trang 8

Hình 1.3: Hình Ảnh LCD 1608

Moudle giao tiếp I2C

Hình 1.4: Hình Ảnh Module I2c

Trang 9

Driver điều khiển ULN2003 :

ULN2003 là một IC 16 chân, bao gồm 7 cặp darlington (mỗi cặp được bảo vệ bằng supression diode) và do đó có khả năng xử lý tối đa 7 tải (có thể

cảm ứng)

Nói một cách dễ hiểu, chúng ta có 7 driver trong một chip ULN2003 và

do đó có thể kiểm soát tối đa 7 tải

Hình 1.5: DRIVER ULN2003

Và 1 số Linh Kiện Khác:

Chiết áp

Nút nhấn

Điện trở

Breadbroad

Jump cắm

Trang 10

Arduino ra đời từ rất lâu tại ý, được mở rộng phát triển và sử dụng rộng rãi cho đến ngày nay Tính ứng dụng của mã nguồn mở lập trình Ard khá lớn,

cụ thể như:

Lập trình robot bằng mã nguồn mở - trong đó, mã nguồn mở này đóng

vai trò quan trọng trong trung tâm xử lý điều khiển của robot

Arduino được ứng dụng trong lập trình máy bay không người lái, một

xu hướng trong tương lai đang được tiếp tục nghiên cứu

Arduino được sử dụng để lập trình game tương tác Trong đó, mã

nguồn mở có thể tương tác với Joystick, màn hình… để chơi nhiều game sáng tạo

Arduino ứng dụng trong điều khiển thiết bị và hệ thống ánh sáng với

cảm biến tốt Lập trình bảng mạch điều khiển tín hiệu đèn giao thông, hiệu

ứng đèn nháy, biển quảng cáo…

Arduino còn được sử dụng trong máy in 3D, thiết bị cắt CNC và nhiều thiết bị sáng tạo khác

II Thiết kế mạch và chương trình điều khiển động cơ

bước với Arduino

2.1 Nguyên lí hoạt động.

Mạch sử dụng chiết áp điều khiển tốc độ động cơ bước với Arduino và hiển thị ra LCD 1602 sử dụng nguyên lý điều khiển tốc độ động cơ bước bằng cách điều chỉnh độ rộng xung (pulse width) được gửi đến động cơ

Độ rộng xung được gửi đến động cơ bước được điều khiển bởi một

mạch điều khiển động cơ bước Mạch này sử dụng IC ULN2003 để chuyển

đổi tín hiệu điều khiển từ Arduino sang dòng điện lớn hơn để điều khiển động

cơ bước

Mạch điều khiển động cơ bước nhận tín hiệu điều khiển từ Arduino

Trang 11

xung Giá trị độ rộng xung được điều chỉnh bằng cách xoay biến trở, và được đọc bởi board Arduino thông qua chân analog input

Sau khi giá trị độ rộng xung được đọc, Arduino sẽ tính toán tốc độ

động cơ bước dựa trên giá trị độ rộng xung và hiển thị kết quả lên màn hình

LCD 1602

2.2 Thiết kế mạch điều khiển động cơ bước với Arduino có sử dụng chiết áp

Mô phỏng mạch trên phần mềm Proteus

Hình 2.1: Mô Phỏng Mạch Trên Proteus

Mô phỏng trên Fritzing

Trang 12

Hình 2 2: Mô Phỏng Trên Pritzing

Mô phỏng trên Circuit

Trang 13

Mạch thật:

Hình 2.4: Mạch Thật

2.3 Lập trình điều khiển động cơ bước và hiển thị thông tin lên màn

hình LCD, và Các nút bấm điều khiển vị trí động cơ:

#include <LiquidCrystal_I2C.h>

#include <Stepper.h>

#include <Wire.h>

LiquidCrystal_I2C lcd(0x27,16,2);

const int stepsPerRevolution = 2048;

Stepper myStepper = Stepper(stepsPerRevolution, 10, 8, 9, 11); // Cài

đặt động cơ bước và cấu hình chân cắm

int potentiometer = A0; // Khởi tạo chân tín hiệu của chiết áp

int Val_Analog, MotorSpeed;

int FPB = 2; // forward push button

int Stop = 3; //Stop push button

Trang 14

int Speed;

void setup()

{

pinMode(FPB, INPUT);

pinMode(Stop, INPUT);

pinMode(RPB, INPUT);

lcd.begin(2, 16);

lcd.backlight();

}

void loop()

{

Val_Analog = analogRead(A0);

MotorSpeed = map(Val_Analog, 0, 1023, 0, 19);

Speed = map(Val_Analog, 0, 1023, 0, 100);

lcd.setCursor(0,0);

lcd.print("Speed:");

lcd.print(Speed);

lcd.print("%");

if(digitalRead(FPB) == HIGH)

Status =1;

else if(digitalRead(RPB) == HIGH )

Status = 2;

else if(digitalRead(Stop) == HIGH)

Status =3;

if(Status ==1)

{

Trang 15

lcd.print(" Clockwise ");

}

else if(Status ==2)

{

myStepper.setSpeed(MotorSpeed);

myStepper.step(-1);

lcd.setCursor(0,1);

lcd.print(" AntiClockwise");

}

else

{

myStepper.step(0);

lcd.setCursor(0,1);

lcd.print(" Stop ");

}}

III Kết quả thực nghiệm

3.1 Mô tả kết quả thực nghiệm

Động cơ quay theo hướng lập trình, với tốc độ và số vòng quay tương ứng khi sử dụng chiết áp để điều chỉnh

Động cơ bước được điều khiển bởi Arduino chạy ổn định và chính xác ở

các tốc độ khác nhau và các chế độ quay khác nhau Khi động cơ quay theo

chiều kim đồng hồ, tốc độ quay đạt 256 vòng/phút Khi động cơ quay ngược

chiều kim đồng hồ, tốc độ quay đạt 250 vòng/phút Kết quả cho thấy rằng

chương trình điều khiển động cơ bước với Arduino là hoạt động chính xác và

ổn định

Trang 16

chạy theo kết quả dự đoán

3.3 Nhận xét kết quả thực nghiệm

Kết quả thực nghiệm cho thấy rằng hệ thống điều khiển động cơ bước

với Arduino có thể đáp ứng yêu cầu và giữ được tốc độ của động cơ trong

khoảng thời gian dài Tuy nhiên, khi tăng tốc độ động cơ lên mức cao hơn, hệ thống sẽ bắt đầu bị rung và không thể giữ được tốc độ mong muốn.Chương

trình có thể hoạt động tốt ở mức độ trung bình hoặc thấp

IV Kết Luận

- Hiểu được nguyên lý hoạt động của mạch

- Mô phỏng được mạch

- Hoàn thiện được mạch thực

Lời Kết: Trong quá trình thiết kế chúng em có tham khảo đến tài liệu của

môn học cũng như đề tài mà chúng em đã trình bày Trong quá trình hoàn

thiện đồ án cũng như báo cáo, chúng em làm rất còn nhiều thiếu sót do trình

độ chuyên môn chưa cao Tuy vậy chúng em cũng đã góp ý làm hết sức có thể của mình, mong nhận được sự góp ý kiến chân thành từ cô để đề tài hoàn

thiện hơn Qua đó chúng em có thêm phần hiểu biết trong quá trình học tập

tiếp theo

Cảm ơn Thầy đã hướng dẫn tận tình chúng em để chúng em có thể hoàn

thiện được Đồ Án 2 này

Chúng em xin chân thành cảm ơn.

Ngày đăng: 17/04/2023, 19:40

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

w