Tải bản đầy đủ (.pdf) (43 trang)

BÁO CÁO MÔN HỌC VI ĐIỀU KHIỂN Đề tài: THIẾT KẾ THI CÔNG MÔ HÌNH ĐIỀU KHIỂN VỊ TRÍ TRONG KHÔNG GIAN MỘT CHIỀU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.74 MB, 43 trang )

ĐẠI HỌC LẠC HỒNG
KHOA CƠ ĐIỆN ĐIỆN TỬ
---

BÁO CÁO MÔN HỌC VI ĐIỀU KHIỂN
Đề tài:

THIẾT KẾ THI CƠNG MƠ HÌNH
ĐIỀU KHIỂN VỊ TRÍ TRONG
KHƠNG GIAN MỘT CHIỀU

SVTH: HÀ TRUNG NGHĨA
VÕ ĐIỀN TÍN
HUỲNH XN TÂN
TRẦN CƠNG MINH
GVHD: Th.S NGƠ KIM LONG

Đồng nai, 2021


MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU ................................................................................ 2
1.1 Lý do chọn đề tài. ................................................................................... 2
1.2 Mục tiêu nghiên cứu. .............................................................................. 2
1.3 Phạm vi nghiên cứu. ............................................................................... 2
1.4 Kết quả đạt được. .................................................................................... 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................. 3
2.1 Sơ đồ khối hệ thống. ............................................................................... 3
2.2 Phần cứng................................................................................................ 3
2.2.1 Vi xử lí : STM32F103C6T8 Blue Pill........................................... 4
2.2.2 Động cơ bước và driver TB6600 ................................................... 6


2.2.3 Nút nhấn ....................................................................................... 10
2.2.4 Nguồn tổ ong ................................................................................ 11
2.2.5 Màn hình LCD 2004 ................................................................... 12
2.2.6 Vitme T8 500mm + đai ốc. .......................................................... 15
2.2.7 Thanh trượt tròn và gối đỡ. .......................................................... 16
2.2.8 Thước dây. .................................................................................... 16
2.3 Phần mềm hỗ trợ lập trình. .................................................................... 17
2.3.1 STM32CubeMX: .......................................................................... 17
2.3.2 Keilc V5. ...................................................................................... 17
CHƯƠNG 3: THIẾT KẾ VÀ GIẢI QUYẾT BÀI TOÁN .......................... 18
3.1 Thiết kế. ................................................................................................ 18
3.1.1 Bài toán đặt ra. ............................................................................. 18
3.1.2 Sơ đồ kết nối, mạch in và mạch thực tế. ...................................... 19
3.2 Giải quyết bài toán. ............................................................................... 20
3.2.1 Sơ đồ giải thuật............................................................................. 20


3.2.2 Các bước thực hiện việc cấu hình và code. .................................. 22
3.2.3 Code chương trình. ....................................................................... 23
CHƯƠNG 4: KẾT LUẬN ........................................................................... 37
4.1. Kết quả đạt được. .................................................................................. 37
4.2. Hạn chế. ................................................................................................ 37
4.3. Định hướng phát triển. .......................................................................... 37
TÀI LIỆU THAM KHẢO............................................................................ 38
1.

Giao tiếp LCD với I2C ......................................................................... 38

2.


Kết nối driver với stepper motor........................................................... 38

DANH MỤC BẢNG BIỂU ......................................................................... 39
DANH MỤC HÌNH ẢNH ........................................................................... 40


Chương 1 Mở đầu

CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do chọn đề tài.
 Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, đặc biệt là
thành công của của cuộc cách mạng kĩ thuật 4.0 làm cho thế giới chúng ta ngày
càng thay đổi, cuộc sống trở nên văn minh, hiện đại hơn.
 Vi điều khiển được ứng dụng rất nhiều trong công nghiệp và dân dụng như
điều khiển vị trí robot gắp hàng, điều khiển nâng hạ sản phẩm, ứng dụng vào kho
hàng tự động, bãi đậu xe tự động…Từ đó chúng em muốn ngày càng cải thiện và
tạo ra nhiều sản phẩm tốt hơn.

1.2 Mục tiêu nghiên cứu.
Mục tiêu của bộ sản phẩm:
 Di chuyển đúng khoảng cách được yêu cầu.
 Độ sai số dưới 1mm.

1.3 Phạm vi nghiên cứu.
Phần cứng:
 Đấu nối các thiết bị ngoại vi với vi xử lý trung tâm.
 Xử lí các vấn đề do phần cứng phát sinh
 (Nhiễu).Phần mềm:
 Nghiên cứu, đưa ra giải pháp lập trình.


1.4 Kết quả đạt được.
 Thiết kế được hệ thống điều khiển vị trí trong mặt phẳng.
 Độ chính xác cao và ổn định.

Trang 2


Chương 2 Cơ sở lý thuyết

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Sơ đồ khối hệ thống.

Hình 2.1: Sơ đồ khối hệ thống.

Nguyên lý hoạt động các khối:
 Khối nguồn: cấp nguồn cho hệ thống.
 Khối nút nhấn: đọc tín hiệu của ngõ vào.
 Khối xử lí trung tâm: phân tích và giải quyết bài toán.
 Khối hiển thị: hiển thị thông tin cần thiết.
 Khối động lực: điều khiển động cơ.

2.2 Phần cứng.
Với đề tài điều khiển vị trí này, phần cứng mà em sử dụng bao gồm:
 Kit STM32F103C8T6 Blue Pill
 Động cơ bước size 42 step 1.8 và driver

Trang 3


Chương 2 Cơ sở lý thuyết


 Thanh trượt
 LCD
 Button
 Trục vitme
2.2.1 Vi xử lí : STM32F103C6T8 Blue Pill.

Kit phát triển STM32F103C8T6 Blue Pill ARM Cortex-M3 là loại được sử
dụng để nghiên cứu về ARM nhiều nhất hiện nay do có mức giá rẻ đồng thời có thể
nạp bootloader Blue Pill để giao tiếp và lập trình với phần mềm Arduino một cách
dễ dàng, kit có chất lượng gia cơng tốt, độ bền cao.
Thông số của KIT STM32F103C8T6 Blue Pill như sau:
 Điện áp hoạt động: 3.3V – 5V.
 Tích hợp thạch anh ngoại 8Mhz.
 Tích hợp cổng USB để nạp Bootloader hoặc sử dụng ngoại vi USB.
 Led tích hợp vào chân PC13.
 Sử dụng chuẩn mạch nạp: SWD cho các loại mạch nạp ST-link, J-link.
 Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,..
 Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC.

Hình 2.2: Sơ đồ chân của STM32.
Trang 4


Chương 2 Cơ sở lý thuyết

Hình 2.3: Kit STM32F103C8T6 Blue Pill.

Mạch Nạp STM8 STM32 ST-Link V2.


Hình 2.4: Mạch Nạp ST-Link V2.

 Mạch nạp STM8 STM32 ST-Link V2 được sử dụng để nạp chương trình và
debug cho Vi điều khiển STM32 và STM8 của ST, mạch nạp có kích thước nhỏ
gọn, chi phí thấp, độ bền cao.
 Hỗ trợ đầy đủ các STM8 giao diện SWIM nạp và gỡ lỗi (Hỗ trợ môi trường
phát triển phổ biến như IAR, STVD hoặc tương đương); Phiên bản phần mềm hỗ
trợ như sau:

Trang 5


Chương 2 Cơ sở lý thuyết

+ ST-LINK Utility 2 trở lên
+ STVD 4.2.1 trở lên
+ STVP 3.2.3 trở lên
+ IAR EWARM V6.20 trở lên
+ IAR EWSTM8 v1.30 trở lên
+ Keil RVMDK V4.21 trở lên

 Kết nối chân từ mạch nạp ST-LINK V2 với linh kiện điện tử STM32 theo
thứ tự sau:
+ RST–NRST
+ SWCLK — TCK
+ SWDIO — TMS
+ GND — GND
+ 3.3V — 3.3V

 Đối với những bạn làm việc với linh kiện điện tử STM8. Kết nối chân từ

mạch nạp ST-LINK V2 với STM8 theo thứ tự sau:
+ RST–NRST
+ SWIM– SWIM
+ GND — GND
+ 3.3V — 3.3V
2.2.2 Động cơ bước và driver TB6600
 Động cơ bước hay còn gọi là Step Motor là một loại động cơ chạy bằng điện

có nguyên lý và ứng dụng khác biệt với đa số các động cơ điện thông thường.
Chúng thực chất là một độ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
các chuyển động của rơto có khả năng cố định roto vào các vị trí cần thiết.
 Với yêu cầu điều khiển vị trí như đề tài ta chọn động cơ Stepper NEMA 17.

Trang 6


Chương 2 Cơ sở lý thuyết

Thông số của động cơ NEMA-17.
+ Bước góc: 1,8 độ
+ Số bước : 200
+ Số pha: 2
+ Loại Đơn cực
+ Điện áp định mức: 12v
+ Momen giữ 0.26Nm ( ở I = 1A)
+ Sai số: +/- 5%
+ Nhiệt độ làm việc: -50 độ - 20 độ
+ Cơng suất 14W
+ Điện áp : 3.96V

+ Dịng điện: 0.9A
+ Kích thước trục: 5mm
+ Momen xoắn; 0.34NM
+ Kích thước” 42 x 42 x 40

Hình 2.5: Stepper motor.

Driver TB6600.
Mạch điều khiển động cơ bước TB6600 ( driver stepper motor TB6600) sử
dụng IC TB6600HQ/HG, dùng cho các loại động cơ bước: 42/57/86 2 pha hoặc 4
dây có dịng tải là 4A/42VDC.

Trang 7


Chương 2 Cơ sở lý thuyết

Thông số kỹ thuật.
+ Nguồn đầu vào là 9V – 42V.
+ Dòng cấp tối đa là 4A.
+ Ngõ vào có cách ly quang, tốc độ cao.
+ Có tích hợp đo q dịng q áp.
+ Cân nặng: 200G.
+

Kích thước: 96 * 71 * 37mm.

Hình 2.6: Hình ảnh thực tế driver TB6600

Cài đặt và ghép nối:

+ DC+: Nối với nguồn điện từ 9 – 40VDC
+ DC- : Điện áp (-) âm của nguồn
+ A+ và A -: Nối vào cặp cuộn dây của động cơ bước
+ B+ và B- : Nối với cặp cuộn dây còn lại của động cơ
+ PUL+: Tín hiệu cấp xung điều khiển tốc độ (+5V)
+ PUL-: Tín hiệu cấp xung điều khiển tốc độ (-)
+ DIR+: Tín hiệu cấp xung đảo chiều (+5V)
+ DIR-: Tín hiệu cấp xung đảo chiều (-)
+ ENA+ và ENA -: khi cấp tín hiệu cho cặp này động cơ sẽ khơng có lực
momen giữ và quay nữa
+

Có thể đấu tín hiệu dương (+) chung hoặc tín hiệu âm (-) chung

Trang 8


Chương 2 Cơ sở lý thuyết

I(A)

SW4

SW5

SW6

4.0

1


1

1

3.5

0

1

1

3.0

1

0

1

2.5

0

0

1

2.0


1

1

0

1.5

0

1

0

1.0

1

0

0

0.5

0

0

0


Bảng 2.1: Cài đặt cường độ dịng điện.

Sơ đồ kết nối:

Hình 2.7: Cách kết nối driver với động cơ Step Motor

Trang 9


Chương 2 Cơ sở lý thuyết

Micro

Pulse/rev

SW1

SW2

SW3

OFF

0

0

0


0

1

200

0

0

1

1/2A

400

0

1

0

1/2B

400

0

1


1

1/4

800

1

0

0

1/8

1600

1

0

1

1/16

3200

1

1


0

OFF

0

1

1

1

Bảng 2.2: Cài đặt vi bước cho driver.

2.2.3 Nút nhấn

Sử dụng nút nhấn DS-213 1 trạng thái, không giữ để thiết lập và điều khiển
động cơ bước.
Thông số kỹ thuật:
+ Lỗ lắp ốc: 10mm
+ Phi nút bấm: 8mm
+ Số chân: 2 chân
+ Công suất làm việc: 125VAC 2A
+ Tuổi thọ: 20.0000 Lần
+ Trọng lượng: 2g

Trang 10


Chương 2 Cơ sở lý thuyết


Hình 2.8: Nút nhấn

2.2.4 Nguồn tổ ong

Để cung cấp nguồn điện cho mạch hoạt động ổn định, ta sử dụng nguồn tổ
ong 12v 10A
Thông số kỹ thuật:
+ Điện áp đầu vào: 180V-240V
+ Tần số hoạt động: 47 ~ 63HZ
+ Công suất: 60W
+ Điện áp đầu ra: 12V
+ Dòng điện tối đa: 10A
+ Điện áp điều chỉnh: ± 10%
+ Hiệu suất ≥ 85%
+ Điều chỉnh điện áp (Đầy tải) ≤ 0.3%
+ Bảo vệ quá tải 105% —- 150% công suất định mức, phục hồi tự động
+ Chức năng bảo vệ ngắn mạch tự động
+ Bảo vệ quá áp 105% —- 150% điện áp định mức
+ Nhiệt độ làm việc: -20 ℃ ~ 60 ℃
+ Nhiệt độ bảo quản -40 ℃ ~ 85 ℃
+ Kích thước: 110 * 78 * H36 (mm)
Trang 11


Chương 2 Cơ sở lý thuyết

Hình 2.9: Nguồn tổ ong

2.2.5 Màn hình LCD 2004


Màn hình text LCD2004 xanh dương, có khả năng hiển thị 4 dòng với mỗi
dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử
dụng thíchhợp cho những người mới học và làm dự án.
Thông số kỹ thuật:
+ Điện áp hoạt động là 5 V
+ Kích thước: 98 x 60 x 13.5 mm
+ Chữ đen, nền xanh dương
+ Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với

Breadboard.
+ Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối,

đi dâyđiện.
+ Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử

dụng ítđiện năng hơn.
+ Có thể được điều khiển với 6 dây tín hiệu
+ Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm

HD44780datasheet để biết thêm chi tiết.

Trang 12


Chương 2 Cơ sở lý thuyết

Bảng 2. 3: Mô tả các chân của màn hình LCD 2004.

Hình 2.10: Màn hình LCD2004.


Trang 13


Chương 2 Cơ sở lý thuyết

Tổng quan về module LCD I2C PCF8574.
 Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD
20×4, …), hầu hết các loại LCD character hiện nay.

 Module PCF8574 cũng đươc thiết kế để hàn một cách nhanh chóng vào các
loại LCD16x2, 20×4… Khiến việc đấu nối trở nên dễ dàng hơn rất nhiều

Thông số kĩ thuật:
+ Điện áp hoạt động: 2.5-6V DC.
+ Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
+ Giao tiếp: I2C.
+ Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân
A0/A1/A2).
+ Tích hợp Jump chốt để bật/tắt đèn nền LCD

+ Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

Hình 2.11:Module I2C PCF8574.

Cách kết nối với LCD và vi điều khiển
Để kết nối với vi điều khiển, Ta chỉ sử dụng các chân SDA và SCL và 2
đường nguồn là được. Cấp điện 5V cho module sẽ khiến LCD sáng rõ ràng hơn.

Trang 14



Chương 2 Cơ sở lý thuyết

Hình 2.12: Cách kết nối LCD với module I2C

2.2.6 Vitme T8 500mm + đai ốc.

Thanh vitme có độ chính xác cao với chi phí hợp lý.
Thơng số kĩ thuật:
+ Đường kính vitme: 8mm
+ Chiều dài: 500mm
+ Số đầu mối: 4
+ Bước ren vitme: 2mm
+ Chất liệu trục vitme: thép không gỉ
+ Chất liệu đai ốc: đồng

Hình 2.13: Trục vitme T8.

Trang 15


Chương 2 Cơ sở lý thuyết

2.2.7 Thanh trượt tròn và gối đỡ.

 Đường kính: 8mm
 Chiều dài: 500mm
 Chất liệu trục: Thép không gỉ, mạ crom
 Chất liệu gối đỡ: Hợp kim nhơm


Hình 2.14: Thanh trượt trịn và gối đỡ.

2.2.8 Thước dây.

Kiểm tra thiết bị chạy đúng theo yêu cầu hay khơng.

Hình 2.15: Thước dây.

Trang 16


Chương 2 Cơ sở lý thuyết

2.3 Phần mềm hỗ trợ lập trình.
2.3.1 STM32CubeMX:

STM32CubeMX là một cơng cụ hỗ trợ cấu hình và tạo code cho MCU
STM32. Tất cả các cơng việc cấu hình, nâng cấp đều được thực hiện qua giao diện
đồ họa. Việc này giúp cho việc lập trình trên STM32 dễ dàng hơn, rút ngắn được
thời gian nghiên cứu và phát triển.

Hình 2.16: Phần mềm Stm32CubeMx.

2.3.2 Keilc V5.

 Hiện nay có khá nhiều trình biên dịch ngơn ngữ C cho 8051 như Mikro C,
IAR, SDCC, Reads 51 … µVision là mơi trường phát triển tích hợp (IDE:
Integrated Devel- opment Environment, trình soạn thảo ngơn ngữ C, trình biên
dịch và debug) của công ty Keil Software, và thường được gọi là Keil C.



Keil C là môi trường phát triển khá mạnh và được sử dụng rộng rãi hiện nay.

Nó hỗtrợ ta viết chương trình cho các chip vi điều khiển lõi 8051 và ARM của tất cả
các hãng trên thế giới.

Hình 2.17: Phần mềm KeilC Version5.
Trang 17


Chương 4 Giải quyết bài toán

CHƯƠNG 3: THIẾT KẾ VÀ GIẢI QUYẾT BÀI TỐN
3.1 Thiết kế.
3.1.1 Bài tốn đặt ra.
 Thiết kế thi cơng bộ điều khiển vị trí và hiển thị kết quả thơng tin lên LCD.
Nhập vị trí ( độ dài móng muốn di chuyển) thơng qua nút nhấn.
 Như vậy, vi điều khiển STM32 sẽ nhận tín hiệu (Digital) từ nút nhấn gửi về,
xử lí, và hiển thị trạng thái lên màn hình LCD. Ta sẽ tiến hành nhập khoảng cách
mong muốn bằng nút nhấn ( giới hạn 300mm), vi điều khiển sẽ xuất tín hiệu cho
động cơ bước quay sao cho đúng khoảng cách cần di chuyển.
 Dựa vào số lượng thiết bị, ta sẽ cấu hình số ngõ vào ngõ ra để phù hợp với
các thiết bị ngoại vi.
PORT

PIN

Cấu Hình


GPIOA

Pin 1, 2, 3

INPUT_

GPIOB

Pin 6, 7

OUTPUT

GPIOC

Pin 1,2

OUTPUT

Bảng 3.1: Cấu hình IN-OUT cho vi điều khiển
Ta có sơ đồ nối chân giữa vi điều khiển và cá thiết bị ngoại vi như sau:
 PORTA đọc tín hiệu digital từ Button :
+ PA1, PA2, PA3 – 3 nút nhấn MODE , START, RESET
+ Sử dụng điện trở kéo xuống
 PORTB Điều khiển LCD
+ PB6 – SCL
+ PB7 – SDA
 PORTC Điều khiển Driver
+ PC1 – DIR
+


PC2 – PUL

Trang 18


Chương 4 Giải quyết bài toán

3.1.2 Sơ đồ kết nối, mạch in và mạch thực tế.

Hình 3.1: Sơ đồ kết nối.

Hình 3.2: Sơ đồ mạch in.
Trang 19


Chương 4 Giải quyết bài tốn

Hình 3.3: Mạch thực tế

3.2 Giải quyết bài tốn.
3.2.1 Sơ đồ giải thuật.

Hình 3.4: Sơ đồ giải thuật.

Trang 20


Chương 4 Giải quyết bài tốn

Hình 3.5: Sơ đồ giải thuật chi tiết.


Trang 21


Chương 4 Giải quyết bài toán

3.2.2 Các bước thực hiện việc cấu hình và code.
 Đầu tiên, ta mở phần mềm STM32CubeMxleen, mở một Project mới, chọn
dịngchip STM32F103C8.

Hình 3.6: Phần mềm CubeMx.

 Tiếp theo ta cấu hình các cổng IN/OUT, RCC:

Hình 3.7: Phần mềm CubeMx
Trang 22


Chương 4 Giải quyết bài tốn

 Sau đó đặt tên dự án, chọn thư mục lưu và chọn phiên bản KeilC, cuối cùng
nhấnGenerate Code để sinh code.

Hình 3.8: Thơng tin dự án và sinh code.

-

Tiến hành cài đặt cho driver TB6600:
Micro


Pulse/rev

SW1

SW2

SW3

1/4

800

1

0

0

3.2.3 Code chương trình.
Giải thích

CODE

- Khai báo thư viện của vi điều

#include "main.h"

khiển đang dùng

#include "stdio.h"


- Khai báo thư viện dùng cho

#include "i2c-lcd.h"

LCD

Trang 23


×