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

Nghiên cứu, thiết kế bộ điều khiển động cơ bước sử dụng giao diện kết nối máy tính

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 (2.41 MB, 68 trang )

TRƢỜNG ĐẠI HỌC VINH
KHOA ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
NGHIÊN CỨU, THIẾT KẾ BỘ ĐIỀU KHIỂN
ĐỘNG CƠ BƢỚC SỬ DỤNG GIAO DIỆN
KẾT NỐI MÁY TÍNH

Giảng viên hướng dẫn: ThS. Hồ Sỹ Phƣơng
inh viên h

hi n



: Nguyễn Văn Thụ
: 52K - ĐTTT

Mã số sinh viên

: 1151083816

NGHỆ AN - 2016

0


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC VINH


--------------------------BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên:

Nguyễn Văn Thụ

Mã số sinh viên: 1151083816

Ngành:

Điện tử truyền thơng

Khố: 52

Giảng viên hƣớng dẫn:

ThS. Hồ Sỹ Phƣơng

Cán bộ phản biện:
1. Nội dung thiết kế tốt nghiệp:
...............................................................................................................................
...............................................................................................................................
............................................................................................................................. ..
...............................................................................................................................
............................................................................................................................. ..
...............................................................................................................................
............................................................................................................................. ..
2. Nhận xét của cán bộ phản biện:
............................................................................................................................. ..
............................................................................................................................. ..
.............................................................................................................................. .

............................................................................................................................. ..
...............................................................................................................................
............................................................................................................................. ..
...............................................................................................................................
Ngày

tháng

năm

Cán bộ phản biện
(Ký, ghi rõ họ và tên)


MỤC LỤC
LỜI CẢM ƠN ............................................................................................................. 3
MỞ ĐẦU .................................................................................................................... 4
TÓM TẮT ĐỒ ÁN...................................................................................................... 5
ABSTRACT ............................................................................................................... 5
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ..................................................................... 6
DANH MỤC CÁC BẢNG BIỂU ............................................................................... 8
CÁC THUẬT NGỮ VIẾT TẮT ................................................................................. 8
CHƢƠNG 1. CƠ SỞ LÍ THUYẾT .......................................................................... 9
1.1. Giới thiệu về đề tài. ................................................................................. 9
1.2. Tổng quan về Arduino ............................................................................. 9
1.2.1. Arduino Due .................................................................................... 10
1.2.2. Arduino Mega2560 .......................................................................... 12
1.2.3. Arduino Micro ................................................................................. 13
1.2.4. Arduino Leonardo ............................................................................ 14
1.2.5. Arduino Nano R3 ............................................................................. 15

1.2.6. Arduino Esplora ............................................................................... 16
1.2.7. Arduino Uno R3............................................................................... 17
1.2.8. Giới thiệu một số Shield thông dụng cho Arduino .......................... 18
1.3. Động cơ bƣớc ........................................................................................ 23
1.3.1. Giới thiệu chung .............................................................................. 23
1.3.2. Nguyên lý làm việc chung của động cơ bƣớc.................................. 25
1.3.3. Phân loại động cơ bƣớc ................................................................... 28
1.3.4. Ƣu nhƣợc điểm của động cơ bƣớc ................................................... 32
1.3.5.Động cơ bƣớc NEMA size 14-3518X-08 ......................................... 32
1.4. Phần mềm hỗ trợ lập trình ..................................................................... 32
1.4.1. LABVIEW là gì? ............................................................................. 33
1.4.2. Các khả năng chính của LABVIEW ................................................ 33
1.4.3. Mơi trƣờng phát triển LABVIEW ................................................... 33
1.4.4. Các tín hiệu đo đƣợc với LABVIEW .............................................. 34
1.4.5. Phân tích .......................................................................................... 34
1


1.4.6. Hiển thị ............................................................................................ 34
1.4.7. Điều khiển ........................................................................................ 35
1.4.8. Giao tiếp với thiết bị ngoại vi .......................................................... 35
1.5. Tổng kết chƣơng 1. ................................................................................ 35
CHƢƠNG 2. PHÂN TÍCH, THIẾT KẾ HỆ THỐNG ......................................... 37
2.1. Bài toán điều khiển ................................................................................ 37
2.1.1. Ba chế độ điều khiển động cơ bƣớc ................................................. 37
2.1.2. Các đặc trƣng của tín hiệu điều khiển động cơ bƣớc....................... 39
2.1.3. Điều khiển tốc độ của động cơ bƣớc ............................................... 40
2.1.4. Điều khiển chiều quay của động cơ bƣớc ........................................ 41
2.2. Khối điều khiển trung tâm ..................................................................... 43
2.3. Khối giao tiếp máy tính ......................................................................... 45

2.3.1. Cổng USB ........................................................................................ 45
2.3.2. Cấu trúc của giao tiếp USB ............................................................. 48
2.3.3. Các kiểu truyền USB ....................................................................... 50
2.3.4. Giao diện vật lý BUS USB .............................................................. 51
2.4. Mạch lực ................................................................................................ 55
2.5. Khối nguồn ............................................................................................ 56
2.6. Sơ đồ khối hệ thống điều khiển ............................................................. 57
2.7. Tổng kết chƣơng 2 ................................................................................. 57
CHƢƠNG 3. MÔ PHỎNG VÀ THỰC THI HỆ THỐNG .................................. 58
3.1. Phần cứng. ............................................................................................. 58
3.1.1. Sơ đồ khối hệ thống điều khiển động cơ bƣớc ................................ 58
3.1.2 Kết nối điều khiển động cơ bƣớc ..................................................... 58
3.2. Phần mềm điều khiển ............................................................................ 62
3.2.1. Xây dựng giao diện trên máy tính ................................................... 62
3.2.2. Xây dựng chƣơng trình điều khiển .................................................. 63
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI..................................... 65
1. Kết luận ..................................................................................................... 65
2. Hƣớng phát triển ....................................................................................... 65
TÀI LIỆU THAM KHẢO ...................................................................................... 66
2


LỜI CẢM ƠN
Trong quá trình đƣợc học tập, tu dƣ ng và r n luyện tại Khoa Điện Tử - Viễn
Thông, Trƣờng Đại Học Vinh em đã đƣợc trang bị các kiến thức cơ bản, chuyên
môn c ng nhƣ kinh nghiệm thực tế để c thể hoàn thành đồ án tốt nghiệp của mình.
Xuất phát t l ng kính trọng và biết ơn s u sắc, em xin ch n thành cảm ơn các
thầy, cô giáo trong Khoa Điện Tử - Viễn Thông, Trƣờng Đại Học Vinh đã quan
t m, hƣớng dẫn, truyền đạt lại kiến thức và kinh nghiệm cho em trong suốt thời gian
học tập tại trƣờng.

Trong quá trình làm đồ án em đã cố gắng hồn thành nhƣng khơng tránh khỏi
những sai sót, em rất mong nhận đƣợc sự đ ng g p ý kiến của quý thầy cơ và các
bạn để em có thêm kinh nghiệm trong thực tế.
Đặc biệt em xin chân thành cảm ơn thầy giáo ThS. Hồ Sỹ Phƣơng, ngƣời đã
hết sức tận tình chỉ bảo, định hƣớng và bổ sung kiến thức cho em, đã tạo điều kiện
thuận lợi cho em hoàn thành tốt đồ án.
Em xin chân thành cảm ơn!
Nghệ An, tháng 05 năm 2016
Sinh viên thực hiện
Nguyễn Văn Thụ

3


MỞ ĐẦU
Kỹ thuật vi xử lý với tốc độ phát triển nhanh đã và đang mang đến những thay
đổi to lớn trong khoa học và công nghệ c ng nhƣ trong đời sống hằng ngày. Ngày
nay các thiết bị máy m c càng trở nên thông minh hơn, các công việc đƣợc thực
hiện với hiệu quả cao hơn, đ c ng là nhờ vi xử lý, vi điều khiển.
Để g p phần tạo nền tảng ban đầu cho việc học tập, tìm hiểu cơng nghệ mới module
arduino và cách điều khiển các thiết bị bằng arduino, đề tài “NGHIÊN CỨU,
THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ BƢỚC SỬ DỤNG GIAO DIỆN KẾT
NỐI MÁY TÍNH” của em đƣợc nghiên cứu và thực hiện hy vọng c thể triển khai
vào thực tiễn. Nội dung đồ án đƣợc chia thành 3 chƣơng:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích, thiết kế hệ thống
Chương 3: Mô phỏng và thực thi hệ thống
Xin tr n trọng cảm ơn Th . Hồ ỹ Phương đã giới thiệu, cung cấp tài liệu, tận
tình hƣớng dẫn về nội dung và phƣơng pháp, giúp em hoàn thành đồ án này.
Xin ch n trọng cảm ơn các thầy cô giáo trong khoa Điện tử Viễn thông trƣờng Đại học Vinh đã giúp đ em trong suốt thời gian học tập và hồn thành

chƣơng trình đào tạo.
Do kiến thức c n nhiều hạn chế, nên đồ án này không tránh khỏi những sai s t,
em rất mong nhận đƣợc sự đánh giá phê bình của các thầy cơ.
Nghệ An, tháng 05 năm 2016
Sinh viên thực hiện
Nguyễn Văn Thụ

4


TĨM TẮT ĐỒ ÁN
Đồ án này trình bày cách thức để x y dựng và thiết kế hệ thống điều khiển động
cơ bƣớc qua giao tiếp với máy tính qua cổng USB. Giao diện điều khiển và giám sát
đƣợc thiết kế trên máy tính nhờ phần mềm Labview, c chức năng gửi các tín hiệu
điều khiển qua cổng USB của máy tính đến mạch điều khiển, đồng thời nhận các tín
hiệu về trạng thái hoạt động của các thiết bị và hiển thị trên giao diện của phần
mềm. Mơ hình điều khiển đƣợc x y dựng với khối xử lý trung t m sử dụng Arduino
Uno R3 và mạch điều khiển động cơ A3967.

Đề tài tập trung chủ yếu vào ph n tích và x y dựng chƣơng trình điều
khiển động cơ bƣớc trên phần mềm Labview kết hợp với bộ điều khiển
Arduino.
Ph n tích ƣu, nhƣợc điểm của động cơ bƣớc và cách điều khiển động cơ
này tối ƣu h a để ứng dụng vào thực tiễn trong hệ thống máy CNC.
ABSTRACT
This thesis presents the method to build and design Stepper Motor cotrol system
by communicating through USB computer gate. Control background and
supervising was designed on computer through Labview Software, their function
are send control data through USB computer gate to Control Circuit and receive
operating status datas of equipments, display on software screen. Controlling model

was built with a center analysis block using Arduino Uno R3 and A3967 motor
driver circuit.
The project mostly focuses on analysis and to build up the Stepper Motor Control
Programing based on Labview Software combines with Arduino Controller.
Analyzing the advantages and disadvantages of Stepper Motor and optimal
control to apply to CNC system.

5


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
STT

Chú thích

Trang

Hình 1.1

Những thành viên khởi xƣớng Arduino

10

Hình 1.2

Board Arduino Due

12

Hình 1.3


Board Arduino Mega2560

13

Hình 1.4

Board Arduino Micro

13

Hình 1.5

Board Arduino Leonardo

14

Hình 1.6

Board Arduino Nano R3

15

Hình 1.7

Board Arduino Esplora

16

Hình 1.8


Module Arduino Uno R3

17

Hình 1.9

Board Arduino ProtoShied

18

Hình 1.10

Board Arduino Joystic Shield

19

Hình 1.11

Nokia N5110 LCD module

20

Hình 1.12

Board Arduino Motor Shield

20

Hình 1.13


Board Arduino Ethernet Shield

22

Hình 1.14

Một số loại động cơ bƣớc

23

Hình 1.15

Bên trong động cơ bƣớc

23

Hình 1.16

Cấu tạo của động cơ bƣớc

24

Hình 1.17

Một xung tƣơng ứng với một bƣớc của Roto ( 1 xung – 1 bƣớc ) 24

Hình 1.18

Mơ tả tƣơng quan giữa q trình điện và q trình cơ của động 25

cơ bƣớc.
Sơ đồ nguyên lý động cơ bƣớc m pha với Roto 2 cực và các lực 26

Hình 1.19

điện t khi điều khiển bằng xung 1 cực
Hình 1.20

Đơng cơ bƣớc nam ch m vĩnh cửu

27

Hình 1.21

Động cơ bƣớc t trở biến thiên

28

Hình 1.22

Động cơ bƣớc ba pha có t trở biến thiên

28

Hình 1.23

Cấu trúc động cơ bƣớc t trở biến thiên

29


Hình 1.24

Động cơ bƣớc kiểu hỗn hợp với m = 2, 2p = 6

30

Hình 1.25

Cấu tạo động cơ bƣớc hỗn hợp

30

Hình 1.26

Động cơ NEMA size 14-3518X-08

31

6


Hình 1.27

Khả năng hiển thị của phầm mềm labview

34

Hình 1.28

Khả năng giao tiếp của phần mềm


34

Hình 2.1

Giãn đồ nguyên lý các lực điện khi điều khiển ở chế độ vi bƣớc. 36

Hình 2.2

Sơ đồ nguyên lý của ARDUINO UNO

42

Hình 2.3

Biểu tƣợng của bus usb (a), cáp và cổng kết nối (b)

45

Hình 2.4

Mơ hình kết nối Bus của USB

46

Hình 2.5

Sơ đồ kết nối sao một bus USB

46


Hình 2.6

Kết nối USB theo hình sao qua các Hub

51

Hình 2.7

Cable USB

49

Hình 2.8
Hình 2.9

Đầu cắm USB kiểu A trên máy tính và đầu cắm kiểu B trên 49
thiết bị
Đánh số các ch n nối ổ cắm USB và cab nối kiểu A và B
49

Hình 2.10

Kết nối USB và Cable

50

Hình 2.11

Kết nối với thiết bị USB Full – Speed


51

Hình 2.12

Kết nối với các thiết bị USB Low – Speed

52

Hình 2.13

Các ch n chức năng của A3967

55

Hình 2.14

Sơ đồ nguyên lý khối nguồn.

56

Hình 2.15

IC ổn áp LM7805

56

Hình 2.16

Sơ đồ hệ thống điều khiển động cơ


58

Hình. 3.1

Sơ đồ khối hệ thống điều khiển động cơ bƣớc NEMA

58

Hình. 3.2

Sơ đồ đấu nối hệ thống điều khiển động cơ bƣớc NEMA

58

Hình. 3.3

Sơ đồ nguyên lý của ARDUINO UNO.

59

Hình. 3.4

Các khối cơ bản của Arduino

59

Hình. 3.5

Khối init


60

Hình. 3.6

Khối close.

61

Hình. 3.7

Các khối cơ bản của khối low level.

61

Hình. 3.8

Các khối cơ bản của khối sensor.

62

Hình. 3.9

Sơ nguyên lý mạch A3967

63

Hình. 3.10

Giao diện điều khiển trên máy tính


64

Hình. 3.11

Chƣơng trình điều khiển

65

7


DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1. Trạng thái cấp điện của động cơ 4 pha
Bảng 2.2. ARDUINO UNO sử dụng chip ATMEGA328
Bảng 2.3. So sánh giao diện USB với các giao diện thơng dụng trên máy tính
Bảng 2.4. Các lớp thiết bị hỗ trợ theo hệ điều hành
Bảng 2.5. Các dây dẫn trong USB
CÁC THUẬT NGỮ VIẾT TẮT
CLK
HLVDC

Clock
High/Low Voltage Detect Control

I2C
I/O
LCD
MSSP
MSSP

PWM
RAM
SCL
SDA
SDI
SDO
SPI
I
SPP
SPPCFG
SPPCON
SRAM
SS
UADDR
UCFG
UCON
UEIE
UEIR

Inter-Intergrated Circuit
Input/ Output
Liquid Crystal Display
Master Synchronous Serial Port
Master Synchronous Serial Port
Pulse Width Modulation
Random Access Memory
Serial Clock
Serial Data
Serial Data In
Serial Data Out

Serial Peripheral Interface
Serial Peripheral Interface
Streaming Parallel Port
Streaming Parallel Port Configure
Streaming Parallel Port Control
Static random-access memory
Slave Select
USB Address registers
USB Configure
USB Control
USB Error Interrupt Enable Register
USB Error Interrupt Status Register

UIE
UIR
USART

USB Interrupt Enable
USB Interrupt Status Register
Universal Synchronous &
Asynchronous Receiver/Transmitter
Universal Serial Bus
USB Status Transmission
Human Interface Device
Personal Compute

USB
USTAT
HID
PC


Bộ tạo xung
Điều khiển phát hiện điện áp
cao/thấp
Mạch tích hợp
Đầu vào/ Đầu ra
Màn hình tinh thể lỏng
Cổng nối tiếp đồng bộ chủ
Cổng giao tiếp đồng bộ chủ
Điều chế độ rộng xung
Bộ nhớ truy cập ngẫu nhiên
Xung nhịp nối tiếp
Dữ liệu nối tiếp
Dữ liệu vào nối tiếp
Dữ liệu ra nối tiếp
Giao diện ngoại vi nối tiếp
Giao diện ngoại vi nối tiếp
Luồng cổng song song
Cấu hình cổng song song
Điều khiển cổng song song
Bộ nhớ truy cập ngẫu nhiên tĩnh
Chọn tớ
Thanh ghi địa chỉ USB
Cấu hình USB
Điều khiển USB
Thanh ghi cho phép ngắt lỗi
Thanh ghi trạng thái ngắt lỗi
USB
Cho phép ngắt USB
Thanh ghi trạng thái ngắt USB

Bộ truyền/ nhận dữ liệu đồng bộ
và không đồng bộ
Bộ Bus nối tiếp
Trạng thái truyền USB
Thiết bị giao diện ngƣời dùng
Máy tính cá nhân

8


CHƢƠNG 1. CƠ SỞ LÍ THUYẾT
1.1. Giới thiệu về đề tài.
Cùng với xu hƣớng phát triển công nghệ trong thời kì cơng nghiệp hóa hiện đại
h a đất nƣớc thì vai trò của lĩnh vực điều khiển tự động là rất quan trọng trong xu
thế phát triển của nền công nghiệp nƣớc ta hiện nay. Có thể n i điều khiển tự động
là lĩnh vực khoa học đ ng vai tr quan trọng quyết định đến sự phát triển về công
nghiệp c ng nhƣ về cuộc sống của một quốc gia. Và vì những lí do trên em đã lựa
chọn cho mình một đề tài để nghiên cứu và phát triển đ là “NGHIÊN CỨU,
THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ BƢỚC QUA GIAO DIỆN MÁY TÍNH”.
Với đề tài này của em đƣợc nghiên cứu và thực hiện với hy vọng c thể triển khai
vào thực tiễn.
1.2. Tổng quan về Arduino
Arduino thực sự đã g y s ng gi trên thị trƣờng ngƣời dùng DIY (là những ngƣời
tự chế ra sản phẩm của mình) trên tồn thế giới trong vài năm gần đ y, gần giống
với những gì Apple đã làm đƣợc trên thị trƣờng thiết bị di động, số lƣợng ngƣời
dùng cực lớn và đa dạng với trình độ trải rộng t bậc phổ thông lên đến đại học đã
làm cho ngay cả những ngƣời tạo ra chúng phải ngạc nhiên về mức độ phổ biến.

Hình 1.1. Những thành viên khởi xướng Arduino
Arduino là gì mà c thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các

trƣờng đại học danh tiếng nhƣ MIT, Stanford, Camegie Mellon phải sử dụng; hoặc

9


ngay cả Google c ng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng
để phát triển các ứng dụng Android tƣơng tác với cảm biến và các thiết bị khác?
Arduino thật ra là một bo mạch vi xử lý đƣợc dùng để lập trình tƣơng tác với các
thiết bị phần cứng nhƣ cảm biến, động cơ, đ n hoặc các thiết bị khác. Đặc điểm nổi
bật của Arduino là môi trƣờng phát triển ứng dụng cực kỳ dễ sử dụng, với một ngơn
ngữ lập trình c thể học một cách nhanh ch ng ngay cả với ngƣời ít am hiểu về điện
tử và lập trình. Và điều làm nên hiện tƣợng Arduino chính là mức giá rất thấp và
tính chất nguồn mở t phần cứng tới phần mềm. Chỉ với khoảng $30, ngƣời dùng đã
c thể sở hữu một board Arduino c 20 ngõ I/O c thể tƣơng tác và điều khiển
ch ng ấy thiết bị.
Arduino ra đời tại thị trấn Ivrea thuộc nƣớc Ý và đƣợc đặt theo tên một vị vua
vào thế kỷ thứ 9 là King Arduin. Arduino chính thức đƣợc đƣa ra giới thiệu vào
năm 2005 nhƣ là một công cụ khiêm tốn dành cho các sinh viên của giáo sƣ
Massimo Banzi, là một trong những ngƣời phát triển Arduino, tại trƣờng Interaction
Design Instistute Ivrea (IDII). Mặc dù hầu nhƣ không đƣợc tiếp thị gì cả, tin tức về
Arduino vẫn lan truyền với tốc độ ch ng mặt nhờ những lời truyền miệng tốt đẹp
của những ngƣời dùng đầu tiên. Hiện nay Arduino nổi tiếng tới nỗi c ngƣời tìm
đến thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra Arduino.
1.2.1.

Arduino Due

Arduino Due là board phát triển sử dụng nh n ARM đầu tiên của series board
arduino. Arduino Due là board sử dụng nh n ARM 32bit cortexM3 và đƣợc nạp
bootloader tƣơng thích code nhƣ các board arduino khác.

Arduino Due c 54 ch n Digital I/O ( với 12 ch n c thể sử dụng chức năng
PWM), 12 ngõ vào tín hiệu Analog, 4 UARTs ( cổng truyền nối tiếp), xung clock sử
dụng lên đến 84MHZ, baord tích hợp 1 cổng USB OTG, 2 bộ chuyển đổi DAC
(digital to Analog), 2 TWI, một jack cấp nguồn, 1 jack SPI, một jack chuẫn Jtag,
một nút reset, và một nút x a chƣơng trình. Arduino Due c n c những tính năng
đặt biệt khác đang chờ khám phá.

10


Hình 1.2: Board Arduino Due
Để sử dụng trình biên dịch c thể nạp chƣơng trình đƣợc cho board Arduino Due
chúng ta cần sử dụng trình biên dịch Arduino IDE 1.5 trở lên hoặc bản 1.0.1 trở lên.
Vì board Arduino Due chạy nh n ARM Atmel SA3MX8E, nên bị hạn chế điện
áp vào của các ch n I/O là 3.3V. Nhƣng các Shield Arduino đa phần là sử dụng I/O
là 5V nên việc kết nối với Arduino Due phức tạp hơn một chút. Đa số các Shield
thiết kế chuẩn theo arduino Uno nên chúng ta phải cẩn thận khi sử dụng shield với
Arduino Due.
Arduino Due không giống nhƣ các board khác, Arduino Due chỉ hoạt động ở
điện áp 3.3V nên khi cắm 5V vào các ch n I/O c thể g y hỏng baord Arduino Due.
Tính năng của board:
Microcontroller:

AT91SAM3X8E

Operating Voltage:

3.3V

Recommended Input Voltage:


7-12V

Min-Max Input Voltage:

6-20V

Digital I/O Pins:
Analog Input Pins:
Analog Outputs Pins:

54 (of which 12 provide PWM output)
12
2

Total DC Output Current on all I/O lines: 130 mA
DC Current for 3.3V Pin:

800 mA

DC Current for 5V Pin:

800 mA

Flash Memory:

512 KB all available for the user applications

SRAM:


96 KB (two banks: 64KB and 32KB)

Clock Speed:

84 MHz

11


1.2.2.

Arduino Mega2560

Hình 1.3. Board Arduino Mega2560.
Arduino là một mã nguồn mở các nền tảng máy tính vật lý dựa trên một bảng i/o
đơn giản và một môi trƣờng phát triển thực hiện ngôn ngữ xử lý/d y. Arduino c
thể đƣợc sử dụng để phát triển các đối tƣợng tƣơng tác độc lập hoặc c thể đƣợc kết
nối với phần mềm trên máy tính của bạn (ví dụ nhƣ Flash, chế biến, MaxMSP). IDE
mã nguồn mở c thể đƣợc tải về miễn phí (hiện nay cho hệ điều hành Mac OS X,
Windows và Linux).
Arduino Mega2560 là một board vi điều khiển dựa trên ATmega2560. Board
này có 54 chân I/O (14 ch n PWM ), 16 analog đầu hàng vào, 4 UARTs (phần
cứng cổng tuần tự), sử dụng thạch anh 16 MHz, kết nối cổng USB, một Jack cắm
điện, ch n ICSP, và một nút reset. Board c tất cả mọi thứ cần thiết để hỗ trợ vi điều
khiển.
Chỉ cần kết nối Arduino Mega2560 với một máy tính bằng cáp USB hoặc cấp
nguồn với một adapter AC sang DC hoặc pin để bắt đầu. Arduino Mega2560 tƣơng
thích với hầu hết các shield mở rộng đƣợc thiết kế cho Arduino Duemilanove hoặc
Diecimila hay Arduino Uno R3.
Thông số Arduino Mega2560:

Microcontroller:

ATmega2560

Operating voltage:

5V

Input voltage (recommended):

7-12 V

12


Digital I/O pins:

70 (of which 15 provide PWM output)

Analog input pins:

16

DC current per I/O pin:

40 mA

DC current for 3.3V pin:

50 mA


Flash memory:

256 KB of which 8 KB used by bootloader

SRAM:

8 KB

EEPROM:

4 KB

Clock speed:
1.2.3.

16 MHZ
Arduino Micro

Hình 1.4. Board Arduino Micro.
Arduino Micro dùng vi xử lý ATmega32u4, phiên bản Arduino micro đƣợc sản
xuất với sự hợp tác giữa Arduino và Adafruit.
Board gồm c 20 ch n Input / Output (7 ch n PWM, 12 ch n Analog), sử dụng
thạch anh 16MHZ, Micro USB, Ch n ICSP, và nút reset. Board c tất cả các chức
năng của vi xử lý.
Arduino Micro gần giống nhƣ board Aruino Leonardo cùng sử dụng chip vi xử lý
ATmega32u4 tích hợp chuẩn kết nối USB, khơng cần sử dụng đến chip USB khác.
Board c thể sử dụng các chức năng đặc biệt nhƣ giả lập bàn phím, chuột vitual
Serial/ COM port mà các board thông dụng nhƣ Uno hay Mega không c .
Thông số cơ bản:

Microcontroller:

ATmega32u4

Operating Voltage:

5V

13


Input Voltage (recommended):

7-12V

Input Voltage (limits):

6-20V

Digital I/O Pins:

20

PWM Channels:

7

Analog Input Channels:

12


DC Current per I/O Pin:

40 mA

DC Current for 3.3V Pin:

50 mA

Flash Memory:

32 KB (ATmega32u4) of which 4 KB used by bootloader

SRAM:

2.5 KB (ATmega32u4)

EEPROM:

1 KB (ATmega32u4)

Clock Speed:

16 MHz

Length:

48 mm

Width:


18 mm

Weight:

13 g

1.2.4.

Arduino Leonardo

Hình 1.5. Board Arduino Leonardo.
Board Arduino Leonardo là board nhúng đầu tiên tích hợp chức năng chuyển
USB. Arduino Leonardo sử dụng chip Atmega32u4 làm chip vi xử chính nên c
giá thành rẻ hơn các board khác, vì chip 32U4 tích hợp sẵn USB convert, nên
Arduino Leonardo c thể dễ dàng mô phỏng thành bàn phím, chuột, và rất nhiều

14


các loại thiết bị khác c chuẩn USB-HID với thƣ viện c sẵn do đội ng Arduino
phát triển.
Arduino Leonardo c 20 ch n digital Input/Output với 7 ch n c chắc năng sử
dụng PWM và 12 ch n c chức năng Analog inputs. Arduino Leonardo sử dụng
thạch anh 16MHZ, kết nối bẳng cổng Micro USB, nguồn jack 3.5mm, ch n ICSP,
và nút reset. Board c đầy đủ chức năng của 1 board vi điều khiển.
Tính Năng Của Board:
-

ATmega32u4 Microcontroller


-

Input Voltage: 7-12V

-

20 Digital I/O Pins

-

7 PWM Channels

-

12 ADCs

-

16MHz Clock Speed

-

32 KB Flash Memory

1.2.5.

Arduino Nano R3

Hình 1.6. Board Arduino Nano R3

Arduino Nano là bản thu nhỏ của các bản arduino khác, Arduino Nano

đƣợc

thiết kế để sử dụng với breadboard nhƣng vẫn đầy đủ chức năng nhƣ 1 board
arduino bình thƣờng khác.

15


Arduino Nano

nhỏ gọn, đầy đủ, và tiện dụng khi sử dụng với breadboard.

Arduino Nano sử dụng chip Atmega328-AU nên còn có thêm 2 chân Analog A6 và
A7 mà các board sử dụng chip Cắm khơng hề c .Trên board tích hợp opamp tự
động chuyển nguồn khi c điện áp cao hơn vào board nên board không cần sử dụng
công tắc chọn nguồn.
Trên board Arduino Nano sử dụng chíp chuyển COM To UART là chip FTDI
FT232RL chứ không dùng chip giả lập COM nhƣ các board arduino khác, vì vậy
việc truyền UART sẽ đơn giản hơn so với các board dùng chip giả lập COM.
Thông số kỹ thuật :
Microcontroller

Atmel ATmega328

Operating Voltage (logic level)

5V


Input Voltage (recommended)

7-12 V

Input Voltage (limits)

6-20 V

Digital I/O Pins

14 (of which 6 provide PWM output)

Analog Input Pins

8

DC Current per I/O Pin

40 mA

Flash Memory

32 KB (of which 2KB used by bootloader)

SRAM

2 KB

EEPROM


1 KB

Clock Speed

16 MHz

Dimensions

0.70” x 1.70”

1.2.6.

Arduino Esplora

Hình 1.7. Board Arduino Esplora.

16


Arduino Esplora là board đƣợc thiết kế nhằm chuyên dụng cho việc điều khiển
robot đƣợc thiết kế dƣa trên board arduino Leonardo. Những ƣu điểm của board
Arduino Esplora c đ là cảm biến gia tốc tích hợp, các cảm biến hỗ trợ điều khiển
và rf giúp kết nối không d y với các board Arduino khác, board phù hợp cho các
bạn mới học làm robot mà không biết cách nối d y quá nhiều khiến việc làm baord
điều khiển trở nên quá rắc rối.
Arduino Esplora tích hợp sẵn loa và led, một số cảm biến, kết hợp joystic, một
biến trở gạt, càm biến nhiệt độ, cảm biến gia tốc, micro phone, và cảm biến ánh
sáng. C n c cả socket cho màn hình LCD TFT touch quá đỉnh cho 1 tay cầm điều
khiển thực thụ.
Arduino Esplora giống nhƣ board Arduino Leonardo c ng dùng chip vi xử lý là

Atmega32U4 với tần số xung là 16MHZ, với ngõ USB là Micro USB. Ƣu điểm của
board Arduino Esplora là c thể kết nối với máy tính nhƣ thiết bị chuột bàn phím,
nên c thể chơi game nhƣ Joystic Shield trên máy tính nhƣ đang chơi gamepad thực
thụ.
Mô tả thông tin board:
Microcontroller:

ATmega32u4

Operating Voltage:

5V

Flash Memory:

32 KB of which 4 KB used by bootloader

SRAM:

2.5 KB

EEPROM:

1 KB

Clock Speed:

16 MHz

1.2.7.


Arduino Uno R3

Hình 1.8. Module Arduino Uno R3.

17


Bo mạch Arduino sử dụng d ng vi xử lý 8-bit mega AVR của Atmel với hai chip
phổ biến nhất là ATmega328 và ATmega2560. Các d ng vi xử lý này cho phép lập
trình các ứng dụng điều khiển phức tạp do đƣợc trang bị cấu hình mạnh với các loại
bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đ c nhiều ngõ c
khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa
dạng nhƣ UART, SPI, TWI (I2C).
Các thông số chi tiết của Arduino Uno:
Vi điều khiển:

ATmega328 (họ 8bit)

Điện áp hoạt động:

5V – DC (chỉ đƣợc cấp qua cổng USB)

Tần số hoạt động:

16 MHz

D ng tiêu thụ:

30mA


Điện áp vào khuyên dùng:

7-12V – DC

Điện áp vào giới hạn:

6-20V – DC

Số ch n Digital I/O:

14 (6 ch n PWM)

Số ch n Analog:

6 (độ ph n giải 10bit)

D ng tối đa trên mỗi ch n I/O:

30 mA

D ng ra tối đa (5V):

500 mA

D ng ra tối đa (3.3V):

50 mA

Bộ nhớ flash:


32 KB (ATmega328) với 0.5KB dùng bởi bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

1.2.8.

Giới thiệu một số Shield thông dụng
cho Arduino

1.2.8.1.

Arduino ProtoShied

18


Hình 1.9. Board Arduino ProtoShied.
Proto Shield (hay Breadboards Shield) là mạch khá tiện lợi cho việc thực hiện
nhanh một dự án mà không cần phải mất công làm mạch in, giải pháp để làm mạch
chức năng nhanh ch ng thì Proto Shield cho một cách nhanh ch ng nhất.
ProtoShields tƣơng thích hầu nhƣ các board Arduino, bạn c thể hàn các ic hay
các linh kiện chức năng phù hợp, ngoài ra trên board c n tích hợp các linh kiện:
-


Nút reset tích hợp trên shield

-

Chân ICSP (SPI)

-

Rất nhiều chân GND và +5V tiện lợi cho
việc lấy nguồn ni

-

Tích hợp sẵn chân cắm IC tiện cho việc
sử dụng IC.

-

Tích hợp Chân IC dán SOIC 14 chân
dạng hẹp và rộng.

-

Có thể sử dụng thêm với breadboard nhỏ
và loại v a
Tích hợp sẵn 2 led với điện trở hạn dòng

và thêm 2 nút nhấn tiện lợi.
1.2.8.2.


Arduino Joystic Shield

Hình 1.10: Board Arduino Joystic Shield.

19


Joystic Shield arduino là module rất thích hợp cho những ứng dụng điều khiển
chiếc robot của bạn thông qua điều khiển RF NRF24L01 và c thể cùng hiển thị dữ
liệu qua màn hình graphic Nokia 5110.

Hình 1.11. Nokia N5110 LCD module.
Với Joystic Shield Arduino bạn c thể thỏa thích sáng tạo game nhƣ game Mario
huyền thoại, hoặc c thể kết nối qua RF NRF24L01 để làm hàng ngàn ứng dụng
khác.
Trên Joystic Shield arduino gồm c 7 nút nhấn:
-

4 nút điều khiển lớn

-

2 nút điều khiển nhỏ

-

Và 1 cần điêu khiển joystic 2 trục

Lƣu ý: nếu khi sử dụng Joystic Shield arduino với màn hình LCD graphic N5110

phái chuyển sang sử dụng nguồn cấp là 3.3V vì màn hình chỉ hoạt động ở mức điện
áp 3.3V, nếu chúng ta sử dụng điện áp arduino mặc định là 5V thì c thể sẽ làm
hỏng module LCD graphic N5110.
1.2.8.3.

Arduino Motor Shield

20


Hình 1.12. Board Arduino Motor Shield.
Arduino Motor Shield là một phần board mở rộng cho các board arduino, dùng
để điều khiển các loại động cơ DC, Stepper Motor. Arduino Motor Shield đƣợc
thiết kế gọn gàng, đẹp mắt và tƣơng thích hoàn toàn với các board Arduino: arduino
uno r3, arduino leonardo, arduino mega2560, giúp bạn c thể sử dụng và điều khiển
một cách dễ dàng và nhanh ch ng.
Arduino Motor Shield sử dụng 2 IC cầu H L293D hoàn chỉnh với các chế độ bảo
vệ và 1 IC logic 74HC595 để điều khiển các động cơ.
Arduino Motor Shield c thể điều khiển nhiều loại motor khác nhau nhƣ step
motor, servo motor, motor DC, với mức áp lên đến 36V, d ng tối đa 600mA cho
mỗi kênh điều khiển.
Cụ thể là điều khiển đƣợc số lƣợng motor nhƣ sau:
2 jack cắm điều khiển 2 động cơ RC

servo.

4 ngõ ra điều khiển đến 4 động cơ DC

độc lập.
-


2 động cơ step motor

loại đơn cực

(unipolar) hoặc lƣ ng cực (bipolar)
Mạch tích hợp điện trở nối GND giúp cho không tự chạy khi khởi động board.
Các chân mà Arduino Motor Shield sử dụng là:
-

Ch n điều khiển 2 RC servo đƣợc kết nối
với chân số 9 và 10. Nguồn cung cấp đƣợc lấy trực tiếp t board Arduino.

21


-

Motor 1 nối với chân 11

-

Motor 2 nối với chân 3

-

Motor 3 nối với chân 5

-


Motor 4 nối với chân 6

-

Ch n 4, 7, 8, 12 dùng điều khiển motor
thông qua IC 74HC595

Ngoài ra để tiện cho việc sử dụng nguồn cắm ngoài, trên Arduino Motor Shield
sử dụng 1 jumper PWR mục đích để lấy nguồn ngồi thơng qua jack DC của board
arduino để cung cấp nguồn cho motor hoạt động. Nếu trong trƣờng hợp chúng ta
không sử dụng jumper này thỉ phải cấp 1 nguồn riêng vào ch n EXT_PWR để cấp
nguồn cho motor hoạt động.
1.2.8.4.

Arduino Ethernet Shield

Hình 1.13. Board Arduino Ethernet Shield
Arduino Ethernet Shield sử dụng nhằm giúp arduino c thể kết nối với internet.
N đƣợc dựa trên chip Wiznet W5100, ethernet phát triển cả 2 chuẩn giao tiếp c
khả năng cả 2 chuẩn TCP và UDP. Arduino Ethernet Shield hỗ trợ tối đa bốn thiết
bị đồng thời kết nối. Sử dụng thƣ viện Ethernet c sẵn để kết nốivới internet thông
qua một jack RJ45.
Phiên bản shield này c tích hợp khe cắm thẻ micro SD, c thể đƣợc sử dụng để
lƣu trữ các tập tin phục vụ qua mạng. Arduino Ethernet Shield tƣơng thích với
Arduino Uno và Mega (sử dụng Ethernet Thƣ viện). Bạn c thể truy cập vào khe

22


cắm thẻ trên board và sử dụng thƣ viện SD đƣợc bao gồm tích hợp trong bộ thƣ

viện c sẵn trong trình biên dịch arduino.
Arduino giao tiếp với cả hai module W5100 và thẻ SD bằng cách sử dụng chuẩn
SPI (thông qua cổng ICSP), trên các ch n 11, 12, và 13 của board arduino Uno R3
và ch n 50, 51 và 52 của board arduino mega 2560, ch n số 10 đƣợc sử dụng để
chọn W5100 và ch n số 4 cho SD card. Các ch n không thể đƣợc sử dụng cho chức
năng i/o . nếu sử dụng cả 2 module cùng lúc thì ch n số 10 trên board arduino Uno
R3 phải đƣợc để trống, và ch n số 53 trên board arduino mega2560 nếu khơng thì
board sẽ khơng thể hoạt động đƣợc.
Lƣu ý rằng bởi vì W5100 và SD card sử dụng chung chuẩn truyền SPI, vì vậy
một thiết bị duy nhất c thể đƣợc hoạt động tại một thời điểm. Nếu bạn đang sử
dụng cả hai thiết bị ngoại vi trong chƣơng trình của bạn, điều này cần đƣợc xử lý
bởi các thƣ viện tƣơng ứng.
1.3. Động cơ bƣớc
1.3.1. Giới thiệu chung

Hình 1.14. Một số loại động cơ bước.
Các hệ truyền động rời rạc thƣờng đƣợc thực hiện nhờ động cơ chấp hành đặc
biệt gọi là động cơ bƣớc. Động cơ bƣớc là một loại động cơ điện có nguyên lý và
ứng dụng khác biệt với đa số các loại độ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
Rotor và có khả năng cố định Rotor vào những vị trí cần thiết.

23


×