Tải bản đầy đủ (.doc) (63 trang)

Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển

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.02 MB, 63 trang )

Ket
nối
Camer
a

Lấy dừ
liệu
bức ảnh
thu từ
được
Camera
Các
Đưa ra
thuật
toán để
bức
sai
lệch lớn.
Vì vậy lựa chọn sử dụng một thiêt bị thu nhận ảnh có chât lượng ôn định là
Chương
I. TỔNG
ảnh
nâng
sau QUAN VỀ ĐỀ TÀI
quan
trọng
củanghiên
đề
tài.cúư
một 1.1
trong


bước
quan
trọng
trong việc xử lý ảnh.
cao
khi
1.3 Phương
pháp,
phương
tiện
chất
xửTầm
lýnhững
lượng
Động

bước

các
ứng
dụng liên quan đến động cơ bước ngày nay trở nên
Tên hàm 1.3.1 Phương
Chức năng
pháp.
Số thứ tự
2.1.2
Xửcác
lý sinh
ảnh
quáTìm

quen
thuộc
đổi
viênđược
khốiqua
kỹ Matlab:
thuật,
nhấttừlàđóđối
vớikếnhững
đam
videoinput
Ket
vớivới
Camera
hiếu
vềnối
động

bước
và thu
cách
điều
khiển
chúng,
thiết
sơ đồngười
khối .Sau
2.1.2.1
MatLab.
preview

hình
ảnh
đangsơthu
từđiện,
Camera
mêthiết kếXem
đó
tùng
khối
thành
đồđược
mạch
cuối
chúng
Ngôn
ngữ
lập
trình
Matlab
ngày
càng
trở
nêncùng
phố ghép
biến đối
vớilại
tất thành
cả dânsơ đồ
getsnapshot
Chụp

hình
ảnh
từ
Camera
chế
tạo
máy
móc,
Robot....
Nguyên
nhân

việc
điều
khiến
chúng
khá
đơn
giản tuy
mạch điện cụ thế. Khâu cuối cùng vẽ mạch in và thi công mạch.
imshowkỹ
Hiến
thị
bức
ảnh
trên
màn
hình
nhiên
mang

lạitìm
một
sự là
chính
xác
cao,
vìmatlab
vậy
chọn
động

cho
Đồng
thời
hiểu
xử
lý ảnh
trong

phương
dữbước
liệucho
qua các
lại
thuật.
Đây
dường
như
một
ngôn

ngữ
hỗ
trợnên
hầuviệc
hết lựa
cácpháp
côngtruyền
cụ phục
vụ
imrezise
Thay
đôi
độ
phân
giải
của
hình
ảnh
ứng
dụng
trở
nên
phố
biến.
Nhất

các
ứng
dụng


liên
quan
tới
điều
khiển
vị
trí.
Đối
nhiều
ngành
khác
nhau,
tù'
kinh
tế
cho
đến
kỹ
thuật.
Đặc
biệt
Matlab
mạnh
về
và vi xử
đế cóxám
thể sang
lập trình
khiển.
im2bwgiữa matlab

Chuyển
ảnhlýmức
ảnh điều
đen trắng
vớiNgoài
các
móc
phức
tạp
đòi
hỏi
sựlýchính
xác
của
cơkhác,
khí và
điệnMatlab
tử, bộ
màphận
cụ thế
hơn
công
cụmáy
xử

ảnh
hơn
bất
kỳvi
ngôn

ngữ
lập
trình
nào
lệnh
được
ra
còn
phải
lập
trình
xử
đế

các
tíncả
hiệu
điều
khiến
các
chấp
imcomplement Hoán đổi bức ảnh trắng đen
hình
là cácmột
ứngcách
dụng
có liên
động
hành
chính

xác
vàcủa
ổnđến
định.
bwmorph
Làm
mảnh
biênquan
bức
ảnh cơ, thì việc lựa chọn động cơ bước là một nhu
thành
chủyếu.
yếuBên
dựacạnh
vào đó
tổng
hợp
cácđộng
tập cơ
lệnhServo
của DC,
các tuy
ngônnhiên
ngữ khuyết
khác như
cầu1.3.2
thiết
thì
còn


điểm lớn
Phương tiện.
C,C++,VB....Cấu
trúc
các
hàm

tập
lệnh
khá
đơn
giản,
dế
hiếu,
đặc
biệt
Matlab
nhấtThông
của loại
động
cơliệu
này là về
khó điều
khiến các
chính
xácviết
về mặttruyền
vị trí động
nhungđiện,
về mặt

qua
các cụ
tài
cơ bước,
sách
hổ trợ
mạnh
công
Help,nói
cácvề
ví động
dụ minh
họa trực quan
giúp về
người dùng
có thể tự
tốc khống chế truyền động điện, điện tử công suất, kỹ thuật xung, kỹ thuật số, lập
động
độ vàvicông
thì 8051,
hơn hẳn
động
cơmatlab
bước. và quan trọng nhất là tài liệu về xử lý ảnh
trình
điềusuất
khiển
trình
2.1.2.2
Xử lập

lý ảnh
bằng
matlab.
Nhằm mục đích tìm hiếu và cũng giúp các bạn hiếu nhiều hơn về động cơ bước
trong matlab.
Ảnh sau khi thu được là một bức ảnh ở dạng thô cần phải được xử lý
và cách điều khiến chúng thông qua việc nhúng chúng vào một ứng dụng cụ thế có liên
thông
Chương
II.tới

THUYẾT
quanmột
vịSỞ
trí.LÝ
Chẳng
hạn
như vào
sử dụng
chúng
máyđổiin,bức
máy
qua
vài
bộ
lọc,
nghĩa
là dựa
các thuật
toántrong

đế biến
ảnhphotocopy,
này sang máy
2.1
Ánh

xử

ảnh
trong
Matĩab
CNC...
một muốn
ứng dụng
thực
tế nữa
“vẽ ảnh”,
vậytrong
chúngnhũng
tôi đãbước
lựu chọn
bức
ảnhvà
mong
khác.
Bước
thựclàhiện
này làvìmột
quan đề tài
trọng

trongviệc
kỹ thuật
lý ảnh
ảnh,
nó nhận
quyết
định
đến mứcthông
độ thành
án. và vi
2.1.1
Ánh
và thu
ảnh:
thực hiện
vẽ lạixử
bức
chụp
được
từ Webcam
qua công
giao của
diệndự
matlab
Xử

bức
ảnh
thu
được

phải
thông
qua
các
công
việc
sau:
điều khiển. Thực hiện ứng dụng nhúng này, chúng ta có thế biết nhiều hơn về Matlab
Thông qua các thiết bị ngoại vi thu nhận ảnh như Camera, Webcam...mà

hình ảnh bên ngoài được số hoá, lưu trữ và hiển thị trên màn hình. Một bức ảnh
xử lý ảnh, vi xử lý, truyền thông giữa vi xử lý và Matlab, về động cơ bước, xây dựng
thu vào là tập hợp của 3 ma trận màu cơ bản (RGB) R:red; G:Green; B:Blue.
mô hình cơ khí...Tóm lại ứng dụng điều khiển động cơ bước thông qua một giao diện
Mức
điều của
khiển
từ màu
máy tại
tínhmột
vàotoạ
cácđộứng
cơ là một
xám
mồi
củadụng
mỗi đòi
ma hỏi
trậnđộlàchính
khác xác

nhaucao
tạocủa
nênđộng
những
đề tài cần phải được phát triển trong tương lai.
màu
khác nhau.
1.2Giá
Cơ trị
sở của
lý luận.
mức xám của tòng màu có thế thay đối từ 0 đến 255 (ảnh 8 bit).
Một vài
hàm

bản
trong
công
xử chỉ
lý ảnh
củaqua
Matlab
Vì vậy mà
chúng
taĐối

thể
biếu
diễn
tất

cả cáccụmàu
thông
3 ma đế
trậnthực
này.hiện
1.2.1
tượng
nghiên
cứu.
các
Ánh đen- trắng
là một
trậnđộng
ảnhcớ
2 chiều,
Mạch
điều ma
khiến
bước. giá trị tại mỗi tọa độ chỉ có 2 mức 0 và
trên:
1công
với- việc
0:màu
đen
;
1:
màu
trắng.
Neu như
trị lý

mức
xám 0 -> 255 thì đây
Truyền dữ liệu thông qua RS232
giữagiá
vi xử
và Matlab.
không
- Các thuật toán xử lý ảnh trong matlab.
còn được gọi là ảnh trắng đen nữa mà được gọi là ảnh xám. Mồi toạ độ của ma
Dàn
cứu.
trận 1.2.2
này được gọi
là ý1 nghiên
điếm ảnh
(pixel).
- Kích
Lý thuyết
ảnhảnh
và thu
xử lý
ảnhđược
tronggọi
Matlab.
thướcvề
bức
được
là độ phân giải, độ phân giải này
thuyết
về động

cơbức
bước.
càng- lớnLý
nghĩa
là kích
thước
ảnh càng lớn.

- dụ:
Sơ Một
lược bức
về viảnh
xử với
lý (P89V51
độ phân Rx2).
giải 240x320 nghĩa là bức ảnh này có kích thước
240 - Tóm tắt sơ lựơc về nguyên lý hoạt động của từng khối (nêu ra các khối, chức
điếm
năng ảnh
của theo
từngchiều
khối..).
dọc và 320 điếm ảnh theo chiều ngang.
Chất
- Cơ
lượng
sở tính
bứctoán
ảnhthiết
thu kế.

được tùy thuộc nhiều vào các thiết bị thu ảnh, giải thích


MứcD0 D1
0

D D
2 3

D
4

D DD7
5 6

(ooooooooooooo)
u \oooooooooooo/Ư
CHẨN
(Loại
chân)
1
2
3
4
5
6
7
8
9


Stop
p
_

o \oooo/ o

('oooooV

dựa
vào cổng
sự
chuyển
của
xung(
như
tăng
hoặc
giảm(thu
của và
sường
Nơilạinhận
Như
nối
vậyKÝ
tiếp
tađối
đã
cócó
đặc
được

tínhmột
hoạt
bức
động
ảnhsong
như TẦ
công
mong
muốn,
công
phát xung).
đồng
việc còn
thời),

là bộ
VÀO/RA

CHẦN
HIỆU
dùng
sự
chuyến
xung
quyết
định
nàođiều
đọc
các trong
bitcho

truyền
tới.
xử
đệm
lý tọa
nhận
độ
của
(thu bức
)đối
choảnh
phép
đếđếmột
tạo
ra
kí các
tụ’
được
dữkhi
liệu
nhận
và khiến
giữ
bộ
thiết
đệm
bị trong
ngoại khi
vi, đó
(Loại

25
9
Trong
trình thu.
truyền
chỉCPU
truyền
không
hiệu
đồng
bộhai
cáckí tụ’
thứ quá
hai được
Neu
đọcdata,
kí tự’
thú' cần
nhấtthêm
trướctínkhi
kí tự’
thú’
chán)
dữvào
được
liệu này sẽ được gởi qua thiết bị thông qua chuấn giao tiếp RS232.
8
DCD Lôi vào Data Carrier Detect
chuỗi
nênthìtốc

nhanh.bịNhưng
nhận data
đầy đủ
dữđộ
liệutruyền
vẫn không
mất. phải thêm kênh thứ hai để truyền
3 Việc
Lốichọn
vào cống
Rcceive
Datahiện
Tómtruyền
lạiRXD
nhóm
đã
Matlab
đế thực
án có
liên
quan
xử nghĩa

tín
dữ liệu
qua
COM
được
tiếnđồ
hành

theo
cách
nốitới
tiếp,
2làViệc thu nhận
TXDvà xử
Lối
Transmit
Datasơ đồ khối sau:
ảnh.
lý ra
ảnh được
diễn tả qua
Load/Shift\
Input
Read/Shift\
Output
20
DTR
ra đi nối
DataTcrminal
Ready
các bit dữ liệu
đượcLối
truyền
tiếp nhau trên
một đường dẫn. Phương thức
7truyền dữ liệu
GND
Thu

Nối
nhận
đất
ảnhnhững
tĩnh thông
này có khả năng
dùng
cho
ứng dụng có yêu cầu truyền dữ
qua
lớnvào
bởi vìData
các khả
gây nhiễu là nhở hơn nhiều so với
6liệu trên khoảng
DSRcách
Lôi
Sct năng
Ready
việc
truyền
dữ
liệu
qua
cổng
song
song.
4
RTS Lôi ra
Request to Scnd

5
CTS Lôi vào TiềnClear
toảnh
Scnd
xửhệlýthống
bức
Cống
COM
không
phải

một
busảnh
chothu
phép dễ dàng tạo ra liên kết
22
RI
Lôi vào Ring lndicator
được
dưới hình thức điểm với điếm giữa hai thiết bị cần trao đổi thông tin với nhau,
(lộc nhiễu, làm trơn ảnh...)
một
Hình
2.2.1.1Sơ
đò
truyền
đồng
bộ đối
nối thông
tiếp. tin này.

thành viên thú’ ba không thế
giađộ
vào
Xửtham
lý toạ
bứcviệc
ảnhtrao
đổ đưa
ra
❖ CácTruyền
chân và
dẫn
mô tả như sau:
các
2.2.1.2
bấtđường
đồng bộ
nốiđược
tiếp.
1
13
dừ liệu điều khiến cho thiết bị 1________5
Trong truyền bất đồng bộ nổi, dữ liệuchấp
không bao gồm đường xung clock, bởi
vì mỗi điểm đầu cuối của liên kết đã có xung clock cho riêng từng thiết bị. Mồi
thiết
bị2.1.2.2
truyền Sơ
nhận
sẽ cần

phải
cùngthu
một
tần số xung clock hoặc chỉ khác
Hình
đồ thực
hiện
xử có
lý ảnh
được
nhau
25 đi bao gồm một bit
6 Start 9đế đồng bộ
một vài % 14
nhỏ. Mỗi byte dữ liệu truyền
2.2 Matlab và truyền
thông
nối
tiếp
RS232
Loại 25 chân
Loại
9
xung
2.2.1 GIỚI THIỆU
PHƯƠNG
THỨC
TRUYỀN
DỮ
LIỆU

NỐI
TIẾP.
chân
clock và một hoặc hai bit Stop là tín hiệu báo kết thúc việc truyền dữ liệu.
(Trong
trường
hợp
nếu
nơi
nhận
đòi
hỏi
phải

một
thời
gian
kiếm
tra
dữ
liệu
nhận
Trong truyền dữ liệu nối tiếp, nơi gửi sẽ gửi từng bit dữ liệu nối tiếp nhau
trênđuợc,
truyền
sẽ kéoMột
dài liên
độ rộng
của tiếp
bít Stop

ra hai
nhiều
bit,bịcóthìthể
là 1,5
mộtnơi
đường
truyền.
kết nối
chỉ có
thiết
phải
có hoặc
đường2).dẫn
Việc
truyền
dữ
liệu
bất
đồng
bộ
cho
phép
truyền
ngẫu
nhiên
không
dành cho mỗi chiều truyền hoặc là nó chỉ có một đường dẫn được chia sẻcần
bởitruyền
cả
liên

tục.
Phải
thêm
vào
trước
mỗi

tự'
một
bit
START

phía
sau
1
hoặc
2 bit
hai thiết bị với thoả thuận của hai thiết bị này. Khi mà có nhiều hơn hai thiết bị,
STOP
nên
tốc
độ
truyền
chậm
nhưng
đơn
giản

kinh
tế

hơn.
Tốc
độ
75,110,
tất
-10V
cả các thiết
bị này thường dùng chung một đường dẫn, thì giao thức Mức
mạng1quyết
định xemMark
thiết bị- nào có quyền truyền nhận dữ liệu.
Start L
Pai
rly
+10V
bit dữkhiến
liệu bởi tín hiệu
bít xung clock. Nơi
Việc truyền nhận dữ liệu được8 điều
truyền
Hình 2.2. ỉ.2 Sơ đồ truyền bất đồng bộ nổi tiếp.
và nơi nhận dùng xung clock để quyết định khi nào gửi và khi nào nhận dữ liệu.
Có hai dạng truyền dữ liệu: truyền đồng bộ và truyền bất đồng bộ, và mồi phương
thức truyền sử dụng các xung clock khác nhau.
2.2.2
GIAO TIẾP VỚI MÁY TÍNH BẰNG CỔNG NỐI TIẾP.
Hình 2.2.2.
l.a —cổng
Sơ đồCOM.
chân và chức năng từng chan của công COM

. 2.2.1.1
Giới thiệu
Truyền
đồng bộ nối
tiếp.
2.2.2truyền đồng bộ nối tiếp, sự đồng bộ được thực hiện bởi một xung
Trong
clock
được phát ra bởi một thiết bị hoặc từ một nguồn xung ngoài. Xung clock có thể


Việc truyền dữ liệu xảy ra trên hai đường dẫn. Qua chân cắm TXD từ máy
tính
gửi dữ liệu đến Kit Vi điều khiến(VĐK) ( Các thiết bị nhận), trong khi đó các dữ
liệu mà máy tính nhận được lại được gửi trên chân RXD các tín hiệu khác đóng
vai trò như là tín hiệu hỗ trợ khi trao đổi thông tin vì thế không phải trong mọi
trường hợp ta đều sử dụng hết các chân của nó.
Trong thực tế người ta thường sử dụng cổng COM1 (DB9) cho việc truyền dữ
liệu nối tiếp, các cổng COM khác được dùng vào những ứng dụng khác nhau.
❖ Quá trình truyền nhận dữ liệu được thực hiện như sau:
—’ Đầu dữ liệu sẵn sàng DTR: khi thiết bị đầu cuối (máy tính và VĐK) được
bật thì sau khi tự kiểm tra nó gửi một tín hiệu DTR báo rằng nó sẵn sàng cho
truyền thông. Neu có trục trặc với cổng COM thì tín hiệu này không được kích
hoạt. Đây là tín hiệu tích cực mức thấp và có thế được dùng đế báo cho Kit VĐK
(modem) biết rằng máy tính đang hoạt động và đang sẵn sàng truyền thông.
— Đầu dữ liệu sẵn sàng DSR: khi DCE( data communication equipment)

được
bật lên và đã chạy xong chương trình tự kiểm tra thì nó đòi hỏi DSR đế báo rằng
đã sẵn sàng cho truyền thông. Do vậy, nó là đầu ra của DCE và là đầu vào của

DTE. Đây là tín hiệu tích cực mức thấp.
—’ Yêu cầu gửi RTS: DTE sẽ gửi tín hiệu RTS đến DCE khi nó có một byte
dữ
liệu cần gửi. RTS là đầu ra tích cực mức thấp.
—’ Tín hiệu xóa để gửi CTS: DCE sẽ gửi tín hiệu này đến DTE đế báo rằng

có thể nhận dữ liệu. Tín hiệu đầu vào này tới DTE dùng đế khởi động việc truyền
dữ liệu.
— Phát hiện tín hiệu mang dữ liệu DCD: Modem yêu cầu tín hiệu DCD báo
cho DTE biết rằng đã phát hiện tín hiệu mang dữ liệu hợp lệ và rằng kết nổi giữa
nó có thế nhận dữ liệu.

Tốc độ truyền: còn gọi là tốc độ Bau-rate, được xác định như tông số lần
thay đổi tín hiệu trong một giây . Neu tín hiệu truyền đi là nhị phân thì tốc độ
truyền tương ứng với số Bit truyền trong một giây. Các kênh thông tin được
đánh giá bằng tốc độ truyền. Neu tín hiệu truyền đi ngoài khả năng của kênh
truyền sẽ xảy ra lỗi, bên thu sẽ nhận không đúng thông tin mà bên truyền gửi.

Thiết bị được sử dụng trong truyền thông nối tiếp:ƯART(Universal
Asynchronous Receiver Transmitter)
UART là một phần không thể thiếu trong việc điều khiển truyền thông nối
tiếp.



Hàm

Chức năng
OOh
Khởi tạo khối ghép nối tiếp

Olh
Gửi một kí tự
02h
Nhận một kí tụ’
Đọc trạng thái của khối ghép nối tiếp
03h
04h
Khởi tạo cống
tiếptruyền
mở
rộng
• nối Một
Bộ
dữ
liệuUART
: UnTX
có haiđổi
thanh
ghi :nhận
thanhđược
ghi chứa
chiều
khác,
chuyển
dữ liệu
dạng dữ
dữ liệu
liệu và
05h
Điều khiển truyền nối

thong của cổng nổi tiếp mở rộng
thanhĐịa
ghichỉ
truyềnsởserial ra ngoài
thông
qua
chân TXD
cứng
IRQ
Khối ghcp nối
tiếpcơthành
dạng dữ Ngắt
liệu song
song
cho CPU có thế đọc vào bus hệ
3F8h
IRQ4
COM1

Bộ nhận dữ liệu : UnRX IRỌ3
gồm có hai thanh ghi là thanh ghi chứa dữ liệu
2F8h
COM2
IRQ4
COM3
và thanh3E8h
ghi truyền serial. Dữ liệu
nhận vào ở chân RXD sẽ đẩy vào thanh ghi
truyền serial rồi đua vào thanh ghi nhận dữ liệu.
Trong PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết

nối
tiếp mà không cần phải hiểu rõ chi tiết cấu trúc UART. Đế mở liên kết, ứng dụng
lựa chọn một tần số dữ liệu hoặc là thiết lập khác hoặc cho phép truyền thông tại
các cống. Đe gửi 1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cống
được
lựa chọn, và UART gửi dữ liệu này, tùng bit một, trong định dạng yêu cầu, thêm
bit Start, bit Stop, bit chẵn lẻ khi cần. Trong một cách đơn giản, byte nhận được
tự’
động được lun trữ trong bộ đệm. UART có thể dùng nhanh một ngắt để báo cho
CPU và các ứng dụng biết dữ liệu đang nhận được và các sự kiện khác .
7r

♦> Giói thiêu INT 14h của Bios

Fig 56. LPC2300 UARTO, 2 and 3 block diagram
Hình 2.2.2. ỉ.b - Sơ đồ khối của UART
Nhìn vào sơ đồ khối ta có thể thấy UART gồm có 4 bộ chính :
• Bộ Interrupt: điều khiến việc interrupt, lun trữ status và khi nào có
Bios có thế điều hành tối đa bốn khối ghép nối tiếp có tên từ COM1
interrupt sẽ đưa dữ liệu ra chân UnlNTR
đến
COM4 với các địa chì:__________________________________________

Bộ điều khiển Clock UnBRG điều khiển việc sinh ra CLK từ hai dữ
liệu
vào là UnDLL và UnDLM


COM4
2.2.2.1


2E8h

IRQ3

Chuẩn giao tiếp RS232.

aLịch sử RS232.
Để thuận lợi cho việc giao tiếp giữa các thiết bị truyền thông với máy tính
2.2.2.1.

qua
cổng nối tiếp, vào năm 1960 Hiệp hội công nghiệp điện tử (electronics
industries
asociation) đã đua ra chuẩn giao tiếp RS232 (RS = Recommended Standard);
đây
là chuẩn giao tiếp đuợc sử dụng rỗng rãi trong truyền thông nối tiếp.
Có hai phiên bản RS232 được lưu hành trong thời gian tương đổi dài là
RS232B và RS232C. Cho đến nay, RS232B là phiên bản đã cũ, nay đã ít được sử
dụng. Còn RS232C hiện vẫn còn tồn tại và thường được gọi là chuẩn RS232.
.b Đặc điểm chuẩn RS232.
Chuẩn RS232 quy định mức logic 1 ứng với điện áp từ -3V đến -25V (mark),
mức logic 0 ứng với điện áp từ 3V đến 25V (space) và có khả năng cung cấp
dòng
từ 10 mA đến 20 mA.
Ngoài ra, tất cả các ngõ ra đều có đặc tính chống chập mạch.
Chuẩn RS232 cho phép truyền tín hiệu với tốc độ đến 20.000 bps nhưng
nếu
cáp truyền đủ ngắn có thể lên đến 115.200 bps.
Chuấn RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử

dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Các cổng của RS 232

ngưỡng điện áp qui ước là -15V tới -3V, và 3V tới 15V (hoặc -5V, +5V, sự khác
biệt giữa hai giá trị 3V, và 5V này được gọi là noise magin ( biên độ dao động của
nhiễu).
• Tín hiệu có áp lớn +3V được coi là mức logic 0 hoặc có giá trị cao (H).
• Tín hiệu có áp nhở hơn -3 V được coi là mức logic 1 hoặc giá trị thấp (L).
• Điện áp từ -3V tới +3V là mức điện áp không có ý nghĩa.
Chính vì tù' - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp
thay đối giá trị logic tù' thấp lên cao hoặc tù' cao xuống thấp, một tín hiệu phải
vượt
qua quãng quá độ trong một thời gian ngắn hợp lý. Điều này dẫn đến việc phải
hạn
chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ truyền
dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ
hồ trợ với tốc độ 19,2 kBd (chiều dài cho phép 30 - 50 m).
2.2.2.1


o

M
A
X
2
3
2

Obj
A

Precision
Mode

Các mạch
có tính
năng như vậy
gọi là mạch lái đườngValue,...)
dây, Cáctạo
ICracómột
tínhcổng
năng
+ obj
= serial(fportf,
'PropertyNameProperty
vcc
C1
+
này
MAX232,
MCI488,
MC1489,
DS275.
nối tiếp mới với tên cống, thuộc tính và giá trị thuộc tính đuợc chỉ rõ. Neu
v+
tên
GND
mạch
Max232
hãng
vi thì

mạch
chuyên
dùng
trong
giao
hayVimột
trong
những của
thuộc
tínhMAXIM
của nó bịlàsai
cống
nối tiếp
không
đuợc
C1
tiếp
TI
mở.
nối
qua lại giữa các mức tính
Ví tiếp
dụ: với máy tính.- Nó có nhiệm vụ chuyến đổiOUT
hiệu
Tên đối tượng
(tên cống)
s2 = serial ('COM2',
'Baudrate', 9600, 'DataBits',8,
C2
RI IN'StopBits',1)

và RS232.
Dữ liệu dạngTLT
Decimal
tự’ động đối sang Binary khi truyền
+ cổng nối tiếp để kết nổi tới thiết
RI bị truyền thông.
❖ Chuẩn mở
RS232.
+ fopen(serial)
Số Bit được gởi thông
thấp bộ
(logic
0) có
trị bộ
số từ +3v đến +25v
Ví dụ:
C2 bất
Mở rộng chức năngMức
gởi
đồng
hay
đồng
OUT
MứcsÌ=serial('COMl’);
cao (logic
1)

trị
số
từ

-3v
đến
-25V
TI IN
fopen(sl)
+ fclose(serial)
tiếpdóng
đế kết
thiết bị truyền thông.
Hìnhđóng
2.2.2.cống
l.b- nối
Dạng
góinối
củatớiMAX232
Ví dụ:
sÌ=serial('COMl');
2.2.3 GIAO TIẾP
VI ĐIỀU KHIỂN ỴỚI MÁY TÍNH BẰNG MATLAB
fopen(sl);
2.2.3.1
Matlab trong truyền thông nối tiếp.
fclose(sl);
Cũng như các phần mềm của Microsoft (Visuall basic , c ,c++)... thì Matlab
dữ liệu
( kết
nốihỗcác
cổng truyền
nối tiếp.
cũng là một Truyền

trong nhũng
phần
mềm
trợđối
đầytượng
đủ các) qua
tính năng
thông qua
Sau
khi
đã
mở
cổng
nối
tiếp,
ta
tiếp
hành
kết
nổi
máy
tính
với
bị truyền
cổng nối tiếp. Với Matlab ta có thể thiết kế giao diện điều khiến dễthiết
dàng,
thiết
thông,
thực
hiện

quá
trình
trao
đối
thông
tin.
lập
các thuộc tính cho cống nổi tiếp tương đối đơn giản.
+ fwrite (serial)
truyền
cáccủa
giáMatlab
trị binary
tới truyền
các thiết
bị truyền
thông.
2.2.3.2
Các hàm
cơ bản
trong
thông
nổi tiếp.

pháp:
Sau đây là một sổ hàm cơ bản của Matlab trong truyền thông nối tiếp.
fwrite(obj,A)
❖ Chuẩn
TLT.
fwrite(obj,A,'precision')

Ngõ
vào:
+ obj = serialCport’) tạo một cổng nối tiếp mới, nếu cổng không được mở
fwrite(obj,A,'mode')
Mức
thấpsử(logic
Ov đếnta +0.8v
hay nó đang
được
dụng0)thìlà chúng
không thế kết nối nó tới thiết bị
Mức
cao
(logic
1)

+2v
đến
+5v
truyền
Miền giữa 0.8v đến +2 V không hợp lệ
thông.
Ngõ ra:
Ví dụ:
Mức('COM1')
thấp (logic
0)cổng
là Ov
đến 2.5v
» sl = serial

//tạo
COM1
(logicSeriaỉ-COMI
1) là +2.7v đến +5v
SerialMức
Portcao
Object:
Ví dụ :
fwrite(s 1,254) // truyền giá trị nhị phân của số 254 qua cổng sl.
Communication Settings
+ fprintf
Port:(serial) truyền
CO MI các giá trị dạng ASCII tói các thiết bị truyền
thông
BaudRate:
Đọc dữ liệu9600
(truy
vấn các thiết bị) qua cống nối tiếp.
Communication
State
Các hàm hay dùng trong giao tiếp
nối tiếp:
Status:
cỉosed
+fread(serial)ỉ đọc dữ liệu dạng Binary, hiển thị dạng số Decimal từ port nối tiếp
RecordStatus:
off
Ví dụ:



Data=fread(sl);
Dữ liệu đọc vào và lưu vào biến Data giá trị tù' port nối tiếp.
+fscanf(serial): đọc dữ liệu dạng ASCII từ port nổi tiếp.
ByíesToOutpuí: số byte hiện thời trong bộ đệm phát dữ liệu của máy tính.
BytesAvailable : số byte hiện có trong bộ đệm nhận dữ liệu.
+OutputBufferSỉze\ Dung lượng của bộ đệm phát, mặc định là 512 byte.
+InputBufferSize: Dung lượng của bộ đệm nhận, mặc định là 512 byte.
+ Timeout :thời gian chờ để đọc hay gởi dữ liệu ra port nối tiếp, mặc định là
10(giây). Het thời gian timeout mà không có dữ liệu truyền, nhận thì Matlab sẽ
báo lỗi.
+ ValuesSent: Tổng số byte đã gởi qua cổng nối tiếp.
+ ValuesReceỉved\ Tổng số byte đã nhận qua cống nổi tiếp.
Một số hàm quan trọng trong giao tiếp:
+BytesAvailableFcnCount: So sánh số byte trong bộ đệm nhận nếu giá trị này
giá trị được thiết lập trong hàm thì sẽ tạo ra một sự kiện trong port nối tiếp.
Dựa
vào sự kiên này ta sẽ thực hiện một vài chức năng mong muốn.
+BytesAvaiIableFcnMode: Dạng dữ liệu trong bộ đệm nhận để tạo ra sự kiện.
Dạng dữ liệu thường được chọn là ‘Byte’.
+BytesAvaiIableFcn: Đây là một Hàm đáp ứng sự kiện ở port nối tiếp. Hàm này
sẽ được gọi khi có sự kiện xảy ra ở port nối tiếp. Nghĩa là có dữ liệu được
truyền
tới máy tính.
Ví dụ: Viết chưong trình gởi xuống một dữ liệu dang Binary sau đó dữ liệu này
được gởi lên lại cũng ở dạng Binary.
Code:
fopen(s);
fwrite(s,10);
s.BytesAvailableFcnCount
s.BytesAvailableFcnMode = 'byte';


=

1;

s.BytesAvailableFcn = {@data_Callback,handles};
íunction
data_Callback(hObject,
global s
data_in=fread(hObject
);
save
data;
if data_in==10;

eventdata,

handles)


set(handles.editl,'StringVDa
nhan
du
lieu’);
else
set(handles.editl,'StringVChưa co du lieu');
end;
fclose(s);
delete(s);
Như vậy có 2 cách đế thực hiện đọc một dữ liệu từ port nối

tiếp
Cách 1:
Đọc dữ liệu dựa vào timeout, nghĩa là Matlab sẽ chờ trong một khoảng thời
gian cố định đế đọc hay truyền dữ liệu. Cách này không được khả dụng cho
những ứng dụng mang tính tức thời.
Cách 2:
Đọc dữ liệu dựa vào sự kiện của port nổi tiếp, nghĩa là hàm đáp ứng sự kiện
của port. Cách hay được dùng vì rất thích hợp cho những ứng dụng phức tạp đòi
hỏi tốc độ đồng bộ nhanh giữa 2 thiết bị.
Tới đây là công việc điều khiển cơ bản đã hoàn thành, vấn đề còn lại ta sẽ
thi công các phần tử chấp hành các tín hiệu điều khiển này. Cụ thể ở đây là Motor
bước trong mô hình cơ khí, do vậy chúng ta bắt đầu tìm hiểu đến động cơ bước và
mạch điều khiển chúng.
2.3 Động cơ bước
-

Động cơ bước là một loại động cơ DC, động cơ này quay theo từng bước
cố
định theo một góc nào đó. Góc bước giới hạn trong phạm vi từ 0.9° đến
90°. Trên thực tế, động cơ bước là thiết bị cơ khí dùng để chuyển đổi các
xung điện thành chuyển động cơ học tương ứng.

-

Trục quay của động cơ xoay tròn tăng dần số bước khi các xung điều
khiến cấp vào mạch theo thứ tự’ hợp lí.

-

Động cơ bước đặc biệt sử dụng trong các ứng dụng điều khiến vì ta có thế

biết chính xác vị trí của trục động cơ (motor shaft) mà không cần sử dụng
các thiết bị cảm ứng. Chúng cho phép điều khiển bất kỳ sự chuyến động
nào với sự chính xác cao bằng việc đếm số bước của động cơ. Góc bước
được xác định bởi số cực rotor và stator.

-

Động cơ bước thường được chia thành 3 loại: động cơ bước nam châm
vĩnh


Động cơ nam châm vĩnh cửu hay còn gọi là động cơ bước kiểu tác dụng
sử
dụng nam châm vĩnh cửu làm Roto. Hình 2.3.1.1 minh hoạ động cơ bước
nam châm vĩnh cửu đơn giản:

HỊB '
\
Stator
conaists
I|*« pe>«of
Hình 2.3.1.1 Cấu tạo động cơ bước nam châm vĩnh cửu

-

Hoạt động của loại động cơ này như sau: giả thuyết rằng rotor đang nằm ở
vị trí với cực nam của nam châm quay lên trên. Khi cuộn dây Stator 1
được
cấp điện, cực nam của Rotor bị hút về phía nó. Sau đó, ngắt điện cuộn 1 và
tiếp tục cung cấp điện vào cuộn Stator 2, do lực hút giữa tù’ trường của

nam
châm và từ trường của cuộn dây Stator, Rotor lại thắng hàng với cuộn
Stator 2. Như vậy, Rotor sẽ quay 90° mỗi bước cho mỗi lần kích liên tiếp
theo trình tự của các cực Stator. Ta có thế đảo chiều động cơ nếu thay đối
trình tụ’ kích các cực Stator.

-

Một đặc tính của loại động cơ này là Rotor luôn có khuynh hướng thẳng
hàng với Stator ngay cả khi không cấp điện cho Stator. Ta có thế cảm nhận
được lực kéo của tù' trường khi xoay nhẹ Rotor bằng tay, nó gọi là lực
hãm.
Một ưu điểm của động cơ bước là nó có thể sử dụng trong điều khiển vòng


Cấp
điện
la+ lb-

Vị trí

2a+ 2bla- lb+

2
3

2a- 2b+

4


1

Cấp điện

-

Trong kiểu điều khiển này, 2 cuộn dây được kích cùng lúc. Điều này sẽ tạo
la
nhiều momen xoắn hơn kiểu điều khiển một bước. Tuy nhiên, dòng cung
Vị cho
trí động cơ sẽ tăng gấp 2 lần và việc điều khiến khó 1khăn hơn so với
cấp

o 1’— pháp
o l điều
b khiển một bước.
la+ lb-và 2a+ 2b- l a phương
2a
2 2b 2
4
- Cả hai phương pháp trình bày ở trên gồm 4 bước điều khiển (quay 4 bước
o2b
la- lb+và2a+ 2b- 2a o vQ_P_Q_Q_y
2’
trên 1 vòng). Bằng cách kết hợp 2 phương pháp trên, động cơ quay lần
3
la- lb+và 2a- 2b+
3’
lượt
lb

la+ lb- và 2a- 2b+
đến4’các vị 2.3.1.2
trí 1, r,Động
2, 2’,cơ
3, 3’, 4,nam
4’, 1, r,2...đây
gọi là
phương
pháp điều
vĩnh
cửu
2điện
pha
lưỡng
Neu đọc Hình
bảng trên theo
trình bước
tự’ tù' trênchâm
xuống,
chuồi
áp
lần cực
luợt cung
khiến theo kiếu nửa bước (hafl step). Khi điều khiến theo phương pháp
cấpVịvào
Cấp điện
trí các cuộn dây sẽ làm cho động cơ quay ngược chiều kim đồng hồ
- Động cơ bước 2 pha lưỡng cực có 2 cuộn dây nhưng có 4 cực từ.
này,
(CCW). Nguợc lại, nếu đọc từ dưới lên trên, chuỗi điện áp lần lượt cung

la+ lb-và2a- 2b- - Động
1 cơ bước nam châm vĩnh cửu 2 pha lường cực được sử dụng trong
động cơ chạy 8 bước trên một vòng. Phương pháp điều khiến theo kiếu
cấp vào các cuộn dây sẽ làm cho động cơ quay theo chiều kim đồng hồ
thực tế có sơ đồ như Hình 2.3.1.2. Trong Hình 2.3.1.2, cuộn dây 1 gồm 2
1 a+ 1 b- và 2a+ nửa
360°r = 200 bước ở chế độ wave drive. Khi điều khiến bằng phương
(CW).
kích
2bcực 1.8°
la và lb nằm đối diện nhau đế khi cấp điện qua cuộn 1 với cực tính
la- 1 b- và 2a+ 2b-Phương 2pháp này gọi là phương pháp điều khiến theo kiểu 1 bước (wave
+ la half-step
-lb, cực la(nửa
và lbbước),
lần lượt
đóngphải
vai trò
từ trường
bắc và
trường
pháp
ta cần
kíchlà 400
bước với
góctừquay
0.9°.
dirve).
Ngoài
ra

đế
điều
khiển
động

2
pha
lường
cực,
ta

thể
kích
vào
la- lb+và2a+ 2b2’2.3.1.4
nam,
tạo lựcsẽhút
và đấy
sắp thằng
hàng
(vị trí 1). Cách đơn giản nhất
Hình
minh
hoạ rotor
cho phương
pháp
half-step.
2 cuộn dây cùng một lúc. Trong chế độ này, rotor được hút tới giũa 2 cực
đế điều
la- lb+và2a- 2b3 khiến động cơ loại này là cấp điện vào lần lượt hoặc cuộn 1 hoặc

kế bên gần nhất. Phương pháp này gọi là phương pháp điều khiển theo kiếu
cuộn 2 của stator. Neu muốn động cơ quay ngược chiều kim đồng hồ
bước
la- lb+và 2a- 2b+
3’đủ (full drive). Bảng sau và Hình 2.3.1.3 sẽ minh hoạ cho chuồi điện
(CCW) tù’ vị trí 1, tiếp tục cấp điện cho cuộn 2 với cực tính +2a -2b, lúc
áp kích theo phương pháp này:
này4
la- 1 b- và 2a- 2b+
la+ lb-và 2a- 2b+

lực từ trường sẽ tạo lực hút rotor quay đến vị trí 2. Ke tiếp, ta tiếp tục cấp
4’
điện vào cuộn 1 nhưng lần này đảo cực tính của 2 cực la và lb: -la +lb, tù'
trường làm rotor quay đến vị trí 3. Thuật ngũ' lưỡng cực được sử dụng vì

sự đảo cực tính 2 cực của mỗi cuộn (dòng điện lần lượt chảy theo 2 chiều
trên mỗi cuộn). Chuỗi điện áp cung cấp đế quay động cơ được minh hoạ

Hình 2.3.1.3


Step

la

2a

lb


2b

1

1
0

0
1

0
0

0
0

2
3
4
Step
1
2
3
4
Step
1
2
3
4
5

6
7
8

Các pha
động

namlàchâm
vĩnh
cửubước
thường
bước
- 0 Bốn
đơn
loại động
được
dụng
phổnhỏ.
biếnViệc
nhất.giảm góc
0 cực
1 cơ
0 cósửgóc
bước cơ
củabước
động
cơ được
cáchcótăng
số 6cực
như

- 0 Động
châm0thực
vĩnh hiện
cửu bằng
đơn1 cực
5 hay
đầucủa
dâyrotor
thường
0 nam
la

Hình
dùng

2a
lb
2b
2.3.1.5
sau:

đồ như
Hình 2.3.1.7 có kết nối giữa cho mỗi dây. Khi sử dụng các kết

1 nối giữa của1cuộn dây thường
0 được cấp0vào nguồn dương và hai đầu của
mỗi cuộn dây được nối xuống đất, tuỳ thuộc vào đầu vào nối đất ta sẽ xác
0
1
1

0
định chiều quay rotor. Gọi là động cơ 4 pha vì động cơ có 4 cuộn dây
0 đượcGiản
0xung ở Giản
1 dây
Hình
đồ1 dây
xungtương
ở cácứng:
đầu
tương
ứng: la, lb, 2a, 2b
Hình 2.3.1.8
đồ 2.3.1.9
các đầu
la, lb,
2a, 2b
cung cấp điện một cách độc lập và thuật ngữ đơn cực được sử dụng vì
- Bằng
cách xen kẽ0các bước trong
độ điều
một bước và bước đủ,
0 2 chế
1 khiến
- 1 Việc điều khiển
động cơ bước
4 pha đơn
cực thì đơn giản hơn động cơ
ta có thế điều khiển động cơ quay với góc bước nhỏ hơn 2 lần góc bước
bước 2 pha lưỡng cực. Mạch

la driver cho động cơ bước 4 pha đơn cực đơn
la
2a
lb
2b
danh định của nó. Bảng sau sẽ minh hoạ cho kiếu điều khiến half-step
giản là đóng và ngắt các cực của Stator một cách tuần tự, nó không phải
này:
1 đảo cực tính0 của cuộn dây 0Stator. Tuy nhiên,
0 động cơ bước 2 pha lưỡng
1 cực
1
0
0
tạo nhiều momen xoắn hơn do có lực đấy và kéo ở cùng một lúc.
0Góc bước của động
1
0 tính như sau:0
cơ này được
- Lực xoắn của động cơ bước 4 pha đơn cực có thế được tăng lên nếu 2
3 60°
0 4cuộn
0
Stator có
cực => Góc1 giữa 2 cực gần1 nhau: — = 90°
-0 dây
Cáchkềđơn
giản
để điều
độnglượng

cơ bước
cung cấp
nhau
cungkhiển
cấp1năng
cùng
mộtđơn
lúc,cực
tạo là
momen
làmđiện
cho
0được
04 pha

360^
Rotor có 6rotor
cựcmột
=>GÓC
giữa
2
cực
gần
nhau:

= 60°
cho
pha
tại
một

thời
điếm
theo
trình
tự’
nhất
định
(phương
quay đến nằm giữa 2 cực của 2 cuộn
dây.
Tuy
nhiên,
cách pháp
này sẽwave
tiêu
0
0
1
1
6
drive).
hao
dòng điện gấp 2 lần so với động cơ bước 2 pha lưỡng cực nhưng cũng
Vậy động

quay
90°-60°
=30°
mỗi
bước.

0 xoắn
0 hoạ cho
1 sau
-0 chỉ
Bảng
điều
khiển
sau
sẽ
minh
quáBảng
trình
điều
mộtphương
bước:
làm
momen
tăng
khoảng
40%.
sẽkhiển
minh kiểu
hoạ cho
12.3.1

.b Động
cơ bước nam
0
0 châm vĩnh cửu
1 4 pha đơn cực.

A

B

Hỉnh 2.3.1.6 Động cơ nam châm vĩnh cửu đơn cực


Dựa vào cấu tạo của động cơ bước 2 pha lưỡng cực và 4 pha đơn cực, ta
thấy rằng có thế chuyển chế độ dùng động cơ 4 pha đơn cực thành 2 pha
lưỡng cực và ngược lại bằng cách :
+ Neu muốn chuyển thành động cơ 4 pha từ động cơ 2 pha, ta có thể lấy
ra ở mỗi cuộn 1 đầu dây chung (common), đầu dây chung này được
nối
vào điếm giữa 2 cực của mỗi cuộn dây. Hai đầu dây common (2 và 5)
được kết nối như Hình 2.3.1.10:

+ Nếu muốn sử dụng ở chế độ 2 pha lưỡng cực thì 2 đầu dây common (2
và 5) không dùng.
Ngày nay, hầu hết các động cơ bước nam châm vĩnh cửu có góc bước rất
nhỏ. Những loại động cơ có góc bước nhỏ này được làm bằng cách ghép
chồng hai rotor đa cực như Hình 2.3.1.11:


2.3.2

Động cơ bước có tù’ trở biến thiên (động cơ bước biến tù’ trở).

- Động cơ biến từ trở hay còn gọi là động cơ phản kháng. Rotor của loại
động cơ này không sử dụng nam châm vĩnh cửu, thay vào đó nó sử dụng
một bánh răng bằng sắt. Vì không sử dụng nam châm vĩnh cửu-không đòi

hỏi rotor phải tù' ho á- nên rotor có thế chế tạo với nhiều hình dạng khác
nhau. Vì được làm bằng sắt nên mồi răng rotor sẽ bị hút về phía cực stator
được cấp điện gần nhất nhưng với lực hút yếu hơn loại nam châm vĩnh
cửu.
Điều này làm cho momen xoắn của động cơ biến từ trở nhỏ hơn momen
xoắn của động cơ nam châm vĩnh cửu.

(a) Symbol

(b) Construcbon

Hình 2.3.2.1 Động cơ bước biến từ trở loại 3 pha


Động cơ biến từ trở thông thường có 3 hoặc 4 pha. Hình 2.3.2.1 minh hoạ
cho loại động cơ biến từ trở 3 pha. Sator của loại động cơ này có 3 mạch
từ: ệ\, Ộ2 và 03. Mỗi mạch từ gồm 4 cực từ . Như vậy Stator của động cơ
như hình 3 có 12 cực từ. Chú ý, rotor có 8 răng trong khi stator có tất cả
12
răng. Đây là cấu tạo đặc biệt của động cơ này. Bởi vậy, răng cuả rotor sẽ
không bao giờ thẳng hàng tòng đôi 1-1 với răng của sator, điều này đóng
vai trò quan trọng trong hoạt động của loại động cơ này.
Hoạt động của loại động cơ này như sau:

(a) Pote 01 energized

(b) Pote 02 energized

Hình 2.3.2.2 Động cơ bước biến từ trở 3 pha 15°
+ Khi mạch từ ộ\ được cung cấp năng lượng, răng A của rotor sẽ di chuyến

đến thẳng hàng với cực của ộ\.
+ Ke tiếp, khi Ộ2 được cấp điện, răng B gần nhất sẽ di chuyển về phía nó.
+ Nếu tiếp tục cấp điện cho Ộ2, rotor sẽ tiếp tục quay 15° theo hướng
ngược chiều kim đồng hồ bằng cách hút răng c thắng hàng với Ộ3>.
Góc bước của động cơ bước biến tù’ trở là hiệu số giữa góc 2 cực rotor
gần
nhất và góc 2 cực stator gần nhất. Góc bước của động cơ được minh hoạ
như hình 3 đươc xác đinh là:

= 45° -30° =15°


Bằng cách sử dụng lối thiết kế này, động cơ bước biến từ trở có thể đạt
được những góc bước rất nhỏ, thậm chí nhỏ hơn 1°. Góc bước càng nhỏ
giúp cho việc điều khiển vị trí càng chính xác hơn.
-

Động cơ bước biến từ trở có sự khác biệt so với động cơ nam châm vĩnh
cửu. Vì rotor của động cơ bước biến từ trở không được từ hoá nên lực
xoắn
của nó yếu hơn lực xoắn của động cơ nam châm vĩnh cửu có cùng góc
bước. Mặc dầu vậy, nó sẽ không có lực xoắn hãm (detent torque) khi tắt
nguồn như động cơ nam châm vĩnh cửu. Có góc bước nhỏ và không có lực
xoắn hãm nên động cơ biến từ trở dễ bị mất bước. Đây là vấn đề cần được
xem xét khi động cơ đang vận hành ở chế độ vòng hở. Vì thế, nên dùng
các
bộ điều khiển vòng kín cho loại động cơ này.

2.3.3
-


Động cơ bước hỗn hợp (động cơ bước dạng ghép).

Trong các loại động cơ bước kế trên thì động cơ bước hỗn hợp được sử
dụng nhiều hơn cả vì loại động cơ này kết hợp những ưu điếm của loại
động cơ bước nam châm vĩnh cửu và động cơ bước biến tù’ trở.

-

Rotor có các răng cho phép động cơ quay với góc bước nhỏ (có loại quay
với góc bước 1.8°) và nó có một nam châm vĩnh cửu tạo lực xoắn hãm nhỏ
ngay cả khi không cấp điện cho động cơ.

-

Chúng ta thấy rằng việc từ hoá các cực rotor của động cơ bước nam châm
vĩnh cửu tương đối khó khăn nên góc bước của loại động cơ này thường bị
hạn chế. Neu như động cơ bước biến từ trở có góc bước nhỏ nhờ rotor
được
cấu tạo bởi bánh răng bằng sắt thì lực quay và lực xoắn hãm của nó lại yếu
hơn động cơ bước nam châm vĩnh cửu. Động cơ bước hỗn hợp tù' hoá một
cách hợp lý các cực của rotor và như vậy nó sẽ có những ưu điếm của


Nam châm vinh cửu

Hình 2.3.3.1 Cấu tạo động cơ bước hỗn hợp (hybrid stepper motor)
-

Động cơ bước hỗn họp có cấu tạo tương đổi phức tạp hơn động cơ nam

châm vĩnh cửu. Rotor bao gồm 2 vòng bánh răng và một nam châm vĩnh
cửu được đặt ở giữa 2 vòng bánh rănh này-một vòng bánh răng ở cực bắc
và vòng còn lại ở cực nam của nam châm vĩnh củu. Với mỗi bước, 2 răng
đối nhau trên bánh răng nằm ở cực bắc sẽ bị hút tới 2 cực nam của cuộn
dây Stator và 2 răng đối nhau trên bánh răng nằm ở cực nam sẽ bị hút tới 2
cực bắc của cuộn dây Stator. cấu tạo bên trong tương đối phức tạp song
việc điều khiến lại đơn giản hơn động cơ nam châm vĩnh cửu và biến từ
trở.

-

Theo lý thuyết hoạt động của động cơ bước hồn hợp cũng giống như hoạt
động của động cơ biến từ trở, rotor và stator có số răng khác nhau, trong
mỗi bước khi cực của stator được cấp điện thì răng rotor gần nhất sẽ quay
xếp thẳng hàng với cực này. Tuy nhiên, do nguyên lý của lực từ trường mà
trong bất kì lúc nào một nửa số cực của stator là cực bắc, nửa số cực còn
lại
là cực nam. Đe cân bằng lực từ, mồi cực của stator cần có khả năng


-

Ảnh hưởng của tải.

-

Vì điều khiển theo kiểu vòng hở nên đòi hỏi mỗi bước phải thật chính xác,
nhưng nếu tải quá lớn, động cơ không đủ momen để quay bước. Khi có
xung điều khiển đặt vào, rotor chỉ quay nhẹ rồi bị kéo trở lại vị trí gốc,
hiện

tượng này gọi là ‘bị kẹt’ (stalling).

-

Trong mỗi bước, momen luôn thay đối bởi vì step motor phụ thuộc vào
góc
của trục, thật vậy, khi rotor hướng thẳng hàng với cuộn dây được kích từ
thì

Hình 2.3.4.1 Sự thay đổi momen theo góc quay

- Vấn đề này dẫn đến một trạng thái là rotor có thể bị dừng tại một vị trí nào
đó mà tại đó momen quay cân bằng với momen cản. Neu tải vượt quá
momen cực đại của động cơ sẽ làm động cơ bị trượt nhanh. Hình 1.4 cho
ta
hai vấn đề khi ta cho rotor trễ đi một xung kích hay cho xung kích tới sớm
hơn như ở hình 1.4 b. vấn đề thứ nhất là tại đây có momen rất nhỏ hoặc


không có momen sinh ra, vấn đề thứ hai là tại đây rotor sẽ bị cân bằng và
ta
không biết chắc rằng rotor sẽ quay trái hay quay phải.

n

n

(a)

(b)


Hình 2.3.4.2 Minh họa vấn đề xảy ra khi cho rotor trễ một xung so với xung
-

Do đó bản thân rotor không cho phép trễ quá 1/2 kích thước một bước.
Trong thực tế, momen động (dynamic torque : là momen có ích khi động

quay) chỉ bằng một nửa momen giữ (holding torque: momen giúp giữ rotor
khi dừng).

Kết luận:
-

Từ những đặc điếm phân tích ở trên, ta thấy được những un điếm lớn của
step motor , thứ nhất là điều khiển vòng hở, thứ hai là xác định vị trí theo
góc bước một cách chính xác. vấn đề ở đây là phải tính toán momen quay
sao cho phù hợp với tải, đế khi điều khiến không xảy ra hiện tượng trượt
bước.
Công thức tính momen tông quát: momen=lực*tay đòn.


Công thức tính mo men xoắn đối vối động co bước:
T= - h sin( ((lĩ /2) / S)0 ).
Trong đó:
T—momen xoăn.
h—momen xoắn giữ
s—góc bước (tính bằng radian)
0—góc trục.
- Với đề tài này, ta không chọn động cơ DC vì thứ nhất cần phải có hồi tiếp
về khi hệ thống hoạt động, khi đó ta phải dùng encorder, do đó sẽ phát

sinh
chi phí thiết kế, thứ hai là khi dừng, động cơ DC không dừng một cách tức
thời như step motor, khi đó đòi hỏi ta phải có một phương pháp điều khiến
họp lí, vì trong đề tài của ta vấn đề vị trí của tòng điếm rất quan trọng nên
tính chất dừng tóc thời của step motor rất phù họp.

2.4 Vi điều khiển AT89C51
2.4.1
Giới thiệu.

Hình 2.4.1.1 Vi điều khiển AT89C51
- Vi điều khiến viết tắt của từ micro- controller, là mạch tích hợp trên chip có
thể lập trình, được dùng để điều khiển một hệ thống hoạt động theo mong


muốn của mình. Hệ thống bao gồm cả phần cứng lẫn phần mềm, phần
cứng
và phần mềm phải có quan hệ với nhau; vi điều khiển có tập lệnh, khi
nguời
lập trình nạp vào vi điều khiển, vi điều khiến tiến hành đọc chương trình,
lưu trữ chương trình, xử lí chương trình, đo thời gian tiến hành đóng mở
một cơ cấu nào đó.
Vi điều khiển được sử dụng trong các tivi, máy giặt, lò vi-ba, điện
thoại.....trong lĩnh vực tự động hóa thì vi điều khiển cũng được sử dụng
khá phô biến như trong robot, trong các băng chuyền, các bộ điều khiến tự
động, và vi điều khiến còn ứng dụng trong nhiều thiết bị khác nữa.
Do họ MCS-51TM đã trở thành chuấn công nghiệp nên có rất nhiều hãng
sản xuất ra nó, điển hình là ATMEL Corporation. Hãng này đã kết hợp rất
nhiều tính năng dựa trên nền tảng kỹ thuật của mình đế tạo ra các vi điều
khiến tương thích với MCS-51TM nhưng mạnh mẽ hơn.

AT89C51 cung cấp những đặc tính chuẩn như sau: 4 KB bộ nhớ chỉ đọc có
thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2
TIMER/COETNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port
nối tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động
ON-CHIP. Thêm vào đó, AT89C51 được thiết kế với logic tĩnh cho hoạt
động đến mức không tần số và hỗ trợ hai phần mềm có thế lựa chọn nhũng
ché độ tiết kiệm công suất, chế độ chờ (IDLE MODE) sẽ dừng CPU trong
khi vẫn cho phép RAM, timer/counter, port nối tiếp và hệ thống ngắt tiếp
tục hoạt động. Chế độ giảm công suất sẽ lưu nội dung RAM nhưng sẽ treo
bộ dao động làm mất khả năng hoạt động của tất cả những chức năng khác
cho đến khi Reset hệ thống.
Các đặc điếm của 89C51 được tóm tắt như sau:
+ 4 KB bộ nhớ có thế lập trình lại, có khả năng tới 1000 chu kỳ ghi xoá.
+ 2 bộ Timer/counter 16 Bit.


+ 128 Byte RAM nội.
+ 4 Port xuất /nhập 1/0 8 bit.
+ Giao tiếp nối tiếp.
+ 64 KB vùng nhớ dữ liệu ngoại.
+ Xử lý Boolean (hoạt động trên bit đơn)
+ 210 vị trí nhớ có thể định vị bit.
Sơ đồ chân và sơ đồ khối của VĐK AT89C51
T3T
□vcc
P1.0C
1

P
P1.1 c 2

O.
P1.2C 3
O
P1.3C 4
(A
P1.4C 5
D
P1.5C 6
O)
P1.6C 7
P1.7C 8

P0
RSTC 9
.1
□ (A
P
(RXD)P3.0
S
C 10

N

P
(TXD) P3.1
2.
c
11
7
{ỈNTÕ)P3.

(
2C
12
A
(ÌNTĨ) P3.3

2.4.2

Hình 2.4.2.1 Sơ đồ chânAT89C51


Bit

Tên

P3.
0
P3.
1
P3.
2
P3.
3
P3.
4
P3.
5
P3.
6
P3.

7

Rx
D
Tx
D
INT
0\
INT
1\
TO
TI
WR
\
RD\

Địa
Chức năng
chỉ
BOH
Thu dữ liệu của port nối tiếp
B1HPhát dữ liệu của port nối tiếp
B2HNgõ vào ngắt ngoài 0
*9í*w?
nt-n.r
- Port 1 ( 1 - 8 ) : Là một port I/O-xuất nhập dữ liệu. Sử dụng hoặc không sử
B3HNgõ vào ngắt ngoài 1
dụng bộ nhớ ngoài.
B4HNgõ vào của bộ định thời/đếm 0
- Port 2 (21 - 28): Là một port có 2 chúc năng vừa làm port I/O khi không sử

B5HNgõ vào của bộ định thời/đếm 1
dụng bộ nhớ ngoài, vừa là 8 bit cao Address Bus khi sử dụng bộ nhớ ngoài.
B6HĐiều khiển ghi vào RAM ngoài
- Port 3 (10 - 17): Là một port có 2 chức năng vừa là port xuất nhập dữ liệu
B7HĐiều khiển đọc vào RAM ngoài
khi không sử dụng bộ nhớ ngoài vừa là các tín hiệu điều khiển khi sử dụng
bộ nhớ ngoài hoặc thực hiện những chức năng đặc biệt.

-

PSEN (Program Store Enable), (chân 29): Là tín hiệu điều khiển đế cho
phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE
(output enable) của một EPROM để cho phép đọc các byte mã lệnh.

-

PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh. Các mã

lệnh của chương trình được đọc từ EPROM qua bus dữ liệu và được chốt
2.4.3vào thanh
Chức
chân
AT89C51.
ghinăng
lệnhcácbên
trong
8951 đê giải mã lệnh. Khi 8951 thi hành
-

chương

ROMápnội
PSEN sẽ ở mức logic 1 .
Chân
40:trình
Cungtrong
cấp điện
Vcc.

-

ALE 20:
(Address
Latch
Chân
Chân nối
đất.Enable), (chân 30): Khi 8951 truy xuất bộ nhó' bên
ngoài,
port -039):
có chức
năngport
là bus
địa chỉ
và bus
liệu Bus
do đó&phải
các
Port
0 (32
Là một
2 chức

năng
8 bitdữData
8 bittách
thấp
đường dữ
liệukhi
vàcó
địabộchỉ.
Tínmở
hiệu
ra ALE
ở chân
30 xuất
dùngnhập
làm tín
Address
Bus
nhớ
rộng.
Khi port
0 làthứ
port
dữ hiệu
liệu
phải sử dụng điện trở kéo lên bên ngoài.


điều khiển đế giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng
với IC chốt.
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai

trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động. Các xung tín hiệu
ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng
làm tín hiệu clock cho các phần khác của hệ thống. Chân ALE được dùng
làm ngõ vào xung lập trình cho Eprom trong 8951.
EA (Extemal Access), (chân 31): Tín hiệu vào EA nếu ở mức cao thì thực
hiện chuông trình từ ROM nội. Neu ở mức thấp, chưong trình chỉ được thi
hành tù’ bộ nhó' mở rộng.
RST (reset), (chân 9): 8951 sẽ được reset khi RST ở mức cao.
Hoạt động reset:
5V
100

10uF
JML
-o o

RST

> 8.2K

Hình 2.4.3.1 Reset tổng hợp
( Reset bằng tay và reset khi cấp
nguồn )
Khi ngõ RST này được đưa lên cao (trong ít nhất hai chu kì máy), các
thanh ghi bên trong AT89C51 được tải những giá trị thích hợp đế khởi


RAM dụn£
đa
Các

ngõ vào
bộ dao động
19):
XTAL1 và XTAL2 là hai ngõ vào
+ RAM
đa dụng-đa
chức(chân
năng 18,
(30H
- 7FH)
F
7F
chức
năng
biệt đại
(80H
gồm:
và ghi
ra của
một
bộ đặc
khuếch
dao-FFFH)
động bao
nghịch
được cấu hình đế dùng như
7F7E7D7C7B7A797S - Các thanh
7776757473727170
ACC
một bộ dao động trên chip.

6F6E6D6C6B6A696S
0 trình PSW:
+ Thanh ghi từ trạng thái chương
67 66656463626160
5F5E5D5C5B5A595S
E
PS\V
5756555453525150
30
4F4E4D4C4B4A494S
D XTAL2
2
4746454443424140
F
IP
3F3E3D3C3B3A393S
B
2
3736353433323130
2
A
2F2E2D2C2B2A2928
2
P3
XTAL1
2726252423222120
2
A
1F1E1D1C1B1A1918
2

17 16151413121110
29
9
0FOEODocOBOA09os
IE
9
28
0706050403020700
GND
27
Bank 3
9
26
P2
2
8
5
Bank 2
SBU
F
24
Bank ỉ
9
2 Note: C1, C2 = 30 pF ± 10 pF for
Crystals
3
= 40 pF ± 10 pF for
Ceramic
Resonators
0

SCO
Bankthanhghi
22
< mâc
đinh cho
RO-R7Ì
21
N
Thanh ghi
Trạng thái
20
Hỉnh
2.4.3.2
Kết
nối
bộ
tạo
dao
động
1
Bộ đếm chương
0000 H
F
8
trình
P1
3
A
00 H
17

8
Tổ H
chức bộ nhớ.
102.4.4
B
00
2
0
Sỉ
THI
PSW
H
- Gồm có00
4Kbyte
ROM
nội,
128
bytetrên
RAM
nội và có thể mở rộng tối đa
Hỉnh
2.4.1
Bộ
nhớ
dữ
liệu
AT89C51
+ Cờ nhớ
SP
64Kbyte07bộHnhớ chương trình và 64Kbyte bộ nhớ dữ liệu.

RAM nội:
Cờ nhó'
(CY)
công dụng
kép. Thông
thườngphân
nó được
DPTR
0000
H có RAM
- Theo Hình
2.4.1,
bên trong
8951 được
chia dùng
giữa cho
các các
bank
+ lệnh
Banktoán
thanh
(00H
- 1FH):
trợ số
8 thanh
ghi ra
(RO
R7), các
họcghi
: nó

sẽ được
set 8951
nếu cóhồmột
nhớ sinh
bởi- phép
cộng
Port 0^3
FFH
thanh
lệnh
ghi bởi
RO phép
- R7 trừ.
thì sẽ
hơnthanh
các lệnh
tương
hoặc
códùng
một thanh
số RAM
mượn
Ví ngắn
dụ,
ghi RAM
tích
lũyđaứng
chứa
IP
xxxooooo

B
ghi
(00H-1FH),
địa chỉ
hóa từng
bitnếu
(20H-2FH),
dụng
IE
Các thanh ghi định
thời
SCON
SBUF
PCON (HMOS)
PCON (CMOS)

nhưng
chỉ A,
trực
Các
trị dữ
dùng
0FFH,
thìdùng
lệnh
ADD
#1tiếp.
sẽ trả
vềgiá
thanh

ghiliệu
tíchđược
lũy kết
quảthường
00H và
oxxooooo
Bđịa
nên
dùng
một trong các thanh ghi này. Bank thanh ghi tích
setxuyên
cờ 00
nhớ
PSW.
Htrong
cực

thê
đôi băng
cáchthanh
thay đôi
chọn
00cũng
H chuyên
Cờ
nhớ
có thể xem
như một
ghi các
1 bitbitcho

cácbank
lệnh thanh
luận lý
thighi trong PSW.
00 H
+ hành
RAMtrên
địa bit.
chỉ hóa từng bit (20H - 2FH)
oxxxxxx B
oxxxoooo B


+ Cờ nhớ phụ
Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết quả của 4
bit thấp trong khoảng OAH đến 0FH. Neu các giá trị được cộng là
số
BCD, thì sau lệnh cộng cần có DA A (hiệu chỉnh thập phân thanh
ghi tích lũy) để mang kết quả lớn hơn 9 vào nibble cao.
+ Cờ 0 Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của người
dùng.
+ Các bit chọn bank thanh ghi
Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghi
được tích cực. Chúng được xóa sau khi reset hệ thống và được thay
đối bằng phần mềm nếu cần. Ví dụ, ba lệnh sau cho phép bank
thanh
ghi 3 và di chuyến nội dung của thanh ghi R7 (địa chỉ byte 1FH)
đến
thanh ghi tích lũy :
SETB RS1

SETB RSO
MOV A, R7
Khi chương trình được hợp dịch, các địa chỉ bit đúng được thay thế
cho các ký hiệu “RS1” và “RSO”. Vậy, lệnh SETB RS1 sẽ giống
như lệnh SETB 0D4H.
+ Cờ tràn
Cờ tràn (OV) được set sau một lệnh cộng hoặc trừ nếu có một phép
toán bị tràn. Khi các số có dấu được cộng hoặc trừ với nhau, phần
mềm có thể kiểm tra bit này đế xác định xem kết quả có nằm trong
tầm xác định không. Khi các số không dấu được cộng, bit ov có thể


×