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

đồ án chế tạo máy massage

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 (534.63 KB, 13 trang )

Chương: 1
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
CHƯƠNG I: GIỚI THIỆU VI ðIỀU KHIỂN AT89C51


I/ CẤU TẠO CHUNG:


Hình 1 – sơ ñồ chân con 89c51
1. Cấu tạo bộ nhớ:
♦ Có 4 Kbyte bộ nhớ FLASH ROM bên trong dùng ñể lưu chương trình ñiều khiển.
♦ Có 128 Byte RAM nội.
♦ 4 Port xuất / nhập (Input/Output) 8 bit.
♦ Có khả năng giao tiếp truyền dữ liệu nối tiếp.
♦ Có thể giao tiếp với 64 Kbyte bộ nhớ bên ngoài dùng ñể lưu chương trình ñiều khiển.
♦ Có thể giao tiếp với 64 Kbyte bộ nhớ bên ngoài dùng ñể lưu dữ liệu.
♦ Có 210 bit có thể truy xuất từng bit. Có các lệnh xử lý bit.
2. Cấu trúc các Port:
* Port 0:
- Port 0 là port có 2 chức năng với số thứ tự chân 32 – 39.
Trong các hệ thống ñiều khiển ñơn giản sử dụng bộ nhớ bên trong không dùng bộ nhớ mở
rộng bên ngoài thì port 0 ñược dùng làm các ñường ñiều khiển IO (Input- Output).
Trong các hệ thống ñiều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài thì port 0 có chức
năng là bus ñịa chỉ và bus dữ liệu AD7 - AD0. (Address: ñịa chỉ, data: dữ liệu)
* Port 1:
- Port 1 với số thứ tự chân 1- 8. Port1 chỉ có 1 chức năng dùng làm các ñường ñiều
khiển xuất nhập IO, port 1 không có chức năng khác.
Chương: 2
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
* Port 2:
- Port 2 là port có 2 chức năng với số thứ tự chân 21 – 28.


- Trong các hệ thống ñiều khiển ñơn giản sử dụng bộ nhớ bên trong không dùng bộ nhớ
mở rộng bên ngoài thì port 2 ñược dùng làm các ñường ñiều khiển IO (Input-
Output).Trong các hệ thống ñiều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài thì port
2 có chức năng là bus ñịa chỉ cao A8 - A15.
* Port 3:
- Port 3 là port có 2 chức năng với số thứ tự chân 10 -17. Các chân của port này có
nhiều chức năng, các công dụng chuyển ñổi có liên hệ với các ñặc tính ñặc biệt của
89C51 như ở bảng sau:
Bit Tên Chức năng chuyển ñổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RxD
TxD
0INT
1INT
T0
T1
WR
RD
Ngõ vào nhận dữ liệu nối tiếp.
Ngõ xuất dữ liệu nối tiếp.
Ngõ vào ngắt cứng thứ 0.
Ngõ vào ngắt cứng thứ 1.
Ngõ vào của timer/counter thứ 0.

Ngõ vào của timer/counter thứ 1.
Tín hiệu ñiều khiển ghi dữ liệu lên bộ nhớ ngoài.
Tín hiệu ñiều khiển ñọc dữ liệu từ bộ nhớ ngoài.
3. Các ngõ tín hiệu:
* PSEN Ngõ tín hiệu (Program store enable):
- PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép ñọc bộ nhớ chương trình mở
rộng thường nối ñến chân OE (output enable hoặc RD) của Eprom cho phép ñọc các
byte mã lệnh.
- Khi có giao tiếp với bộ nhớ chương trình bên ngoài thì mới dùng ñến PSEN, nếu
không có giao tiếp thì chân PSEN bỏ trống.
* Ngõ tín hiệu ñiều khiển ALE (Address Latch Enable ) :
- Khi vi ñiều khiển 89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus tải
ñịa chỉ và bus dữ liệu [AD7 – AD0] do ñó phải tách các ñường dữ liệu và ñịa chỉ. Tín
hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu ñ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.
* Ngõ tín hiệu EA (External Access):
- Tín hiệu vào EA ở chân 31 thường nối lên mức 1 hoặc mức 0.
- Nếu nối EA lên mức logic 1 (+5v) thì vi ñiều khiển sẽ thi hành chương trình từ bộ
nhớ nội.
- Nếu nối EA với mức logic 0 (0V) thì vi ñiều khiển sẽ thi hành chương trình từ bộ nhớ
ngoại.
* Ngõ tín hiệu RST (Reset):
Ngõ vào RST ở chân 9 là ngõ vào Reset của 89C51. Khi cấp ñiện cho hệ thống hoặc khi
nhấn nút reset thì mạch sẽ reset vi ñiều khiển. Khi reset thì tín hiệu reset phải ở mức cao
ít nhất là 2 chu kỳ máy, khi ñó các thanh ghi bên trong ñược nạp những giá trị thích hợp
ñể khởi ñộng hệ thống.






Chương: 3
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
CHƯƠNG II: GIỚI THIỆU VỀ MÁY MASSAGE


I/ GIỚI THIỆU CHUNG:
- Máy massage có nhiều loại như máy massage lưng, máy massage bụng, máy massage
mắt … Còn máy massage của em có chức năng massage bụng.
- Người sử dụng chỉ việc ñeo chiếc máy vào bụng và bật công tắc, thế là máy sẽ phát ra
ñộng năng rung ñộng tác ñộng lên thành bụng với ba cấp ñộ Mid – Low – Hi. Tùy vào
ñiều khiển của người sử dụng. Những rung ñộng của máy chẳng những có tác dụng
làm săn chắc, tóm gọn cơ bụng mà còn giúp bộ máy tiêu hóa ñược hoạt ñộng ổn ñịnh.
II/ CẤU TẠO PHẦN CỨNG:
Chiếc máy của em có các phần chính ñó là Adapter nguồn 2A, vỏ máy, hộp rung,
bộ ñiều khiển.
1. Adapter nguồn:
Là một bộ phận quan trọng nhất vì nó có nhiệm vụ cung cấp nguồn nuôi cho toàn
bộ máy. Bộ adapter này áp dụng công nghệ nguồn xung. Không như biến áp sắt từ cũ vừa
cồng kềnh hiệu suất lại kém. Nguồng xung có ưu ñiểm là nhỏ gọn mà dòng ñiện sho ra lại
lớn. Nguồn ñiện sau khi chỉnh lưu còn ñược ổn áp tự ñộng mà khả năng chống nhiễu lại
rất cao, ñáp ứng ñược hiệu quả kinh tế nhỏ gọn dễ vận chuyển.
* Thông số kỹ thuật:
ðiện áp vào : AC 220 – 250 V
ðiện áp ra: DC 12 V – 2 A
2. Vỏ máy:
Vỏ máy ñược may từ vải tổng hợp nên có ñộ bền cao chịu ñựng ñược mài mòn, va
ñập có chức năng chứa các bộ phận bên trong gồm có hai hộp lắc.























Hình 2 – vỏ máy
Chương: 4
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
3. Hộp rung:
- Hộp rung cũng là một bộ phận quan trọng vì nó là bộ phận phát ra rung ñộng của máy.
- Cấu tạo của hộp rung gồm lớp vỏ làm từ nhựa tổng hợp. Bên trong có chứa một motor
cực khỏe và một cục tạ có hình khối bán trụ lệch tâm và khối trụ lệch tâm có thể tự
quay quanh trục của nó thông qua sợi cua-roa ñược nối với trục motor.
- Chiếc máy có tất cả hai hộp rung. Khi motor quay, trục motor kéo theo cục tạ lệch tâm
quay theo. Theo quán tính cục tạ khi quay sẽ tạo ra một rung ñộng nhất ñịnh tác ñộng

làm cho hộp rung dao ñộng liên hồi tác ñộng vào cơ bụng.

















Hình 3 – hai khoang chứa hai hộp rung


















Hình 4 – hộp lắc




Chương: 5
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân

Hình 5 – Cấu tạo bên trong hộp lắc
1. Motor
2. cục tạ lệch tâm
4. Hộp ñiều khiển:
* Hộp ñiều khiển gồm có 3 nút và 6 ñèn:
- Nút gồm có: Chức năng
+ Nút Power: Cho phép – ngắt hoạt ñộng của máy
+ Nút Mode: Chọn chế ñộ chạy
+ Nút Ivert: ðảo chiều quay của ñộng cơ
- ðèn gồm có: Chức năng
+ ðèn power: Báo rằng máy ñang hoạt ñộng
+ ðèn clockwise: Báo motor quay thuận
+ ðèn unclockwise: Báo motor quay nghịch
+ ðèn low: Báo motor quay chậm
+ ðèn mid: Báo motor quay vừa
+ ðèn hi: Báo motor quay nhanh















Hình 6 – hộp ñiều khiển
Chương: 6
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
III/ CÁCH SỬ DỤNG:
- Hẳn nhìn vào bảng ñiều khiển chắc là các bạn ñã biết cách sử dụng. Nhưng không vì
thế mà mình quên hướng dẫn.
- Cách sử dụng rất dễ bạn chỉ cần ñeo máy vào người (chiếc máy này có may dính với
một miếng vải dài có gắn miếng dán) giống như ñeo thắt lưng vậy. Khi ñeo máy vào
người, chiếc máy ñược cố ñịnh qua hai miếng vài tay dài và khoang máy có thể áp sát
vào bụng hoặc nới lỏng ra tùy người sử dụng.
- Bước tiếp theo là bạn cắm Adapter vào ổ ñiện, cắm jack ñiện từ adapter vào máy.
Nhấn nút Power ñể khởi ñộng máy lúc này chỉ có ñèn power sáng lên. Sau ñó là nhấn
tuần tự nút mode ñể thay ñổi tốc ñộ quay của motor (cứ nhấn nút power tốc ñộ của
motor sẽ tự ñộng ñược thay ñổi theo thứ tự sau: Chậm  vừa  nhanh  lặp lại
- Khi muốn ñảo chiều quay của motor bạn chỉ việc nhấn nút invert thì motor sẽ tự ñộng
ñảo chiều.

















Hình 7 – test máy



















Chương: 7
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
CHƯƠNG III: CHƯƠNG TRÌNH ðIỀU KHIỂN

I/ PWM LÀ GÌ ?
- Nghe thuật ngữ này có lẽ lạ với ña số các bạn nhưng với những bạn ñã học ở trung cấp
rồi thì thuật ngữ này là viết tắt của từ tiếng Anh (pulse with modulator) có nghĩa là ñiều
chế ñộ rộng xung.
- Thực ra thuật ngữ này ám chỉ việc ñiều khiển motor bằng cách tạo ra một chuỗi xung
với thời gian của mức logic 1 và mức logic 0 có thể lệch nhau làm tín hiệu cấp cho
motor. Với quán tính của momen quay thì motor sẽ không bị giật mà sẽ quay với tốc ñộ
chậm hay nhanh tùy vào thời gian on của xung.
- Ở chiếc máy này, motor quay với 3 tốc ñộ nên mình sẽ ñiều chế xung từ vi ñiều khiển
với ba dạng xung.
a. Dạng xung PWM ở chế ñộ low:


Hình 8 – dạng xung ở chế ñộ low
Hình 9 – dạng xung ở chế ñộ mid








Chương: 8
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân

Hình 10 – dạng xung ở chế ñộ hi

II/ PHẦN CỨNG ðIỀU KHIỂN:

Hình 11 – mạch ñiều khiển

III/ CHƯƠNG TRÌNH ðIỀU KHIỂN:

org 0000h
nuton_off bit p1.0
nutmode bit p1.1
nutdao bit p1.2
qthuan bit p1.3
qnghich bit p1.4
d1 bit p3.0
Chương: 9
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
d2 bit p3.1
d3 bit p3.2
dt bit p3.3
dn bit p3.4
don bit p3.5
bienon_off equ 20h
bienmode equ 21h
mov tmod ,#00000001b
mov p1,#00h

mov p3,#00h
mov bienon_off,#0
mov bienmode,#0
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
main: jnb nuton_off,main
jb nuton_off,$
inc bienon_off
kt_tat:
jnb nuton_off,kt_nutmode
jb nuton_off,$
lcall stop
ljmp main
kt_nutmode:
setb don
jnb nutmode,kt_tat
jb nutmode,$
inc bienmode
mov a,bienmode
kt_mode1:
cjne a,#1,kt_mode2
setb d1
clr d2
clr d3
lcall mode1
kt_mode2:
cjne a,#2,kt_mode3
clr d1
setb d2
clr d3
lcall mode2

kt_mode3:
cjne a,#3,kt_cuoi
clr d1
clr d2
setb d3
lcall mode3
kt_cuoi:
cjne a,#4,kt_nuton_off
mov bienmode,#1
clr d3
Chương: 10
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
setb d1
lcall mode1
ljmp kt_nutmode
kt_nuton_off:
jnb nuton_off,kt_nutmode
jb nuton_off,$
inc bienon_off
mov a,bienon_off
cjne a,#2,kt_nutmode
lcall stop
ljmp main
;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmm
mode1:clr qnghich
setb dt
setb tr0
clr dn
m1a: setb qthuan

mov tl0,#0efh
mov th0,#0d8h
jnb tf0,$
clr tf0
clr qthuan
mov tl0,#0bfh
mov th0,#063h
jnb tf0,$
clr tf0
jnb nuton_off,m1a1
ljmp thoat1
m1a1: jnb nutmode,m1a2
ljmp thoat1
m1a2: jnb nutdao,m1a
jb nutdao,$
clr dt
clr qthuan
setb dn
setb tr0
m1b: setb qnghich
mov tl0,#0efh
mov th0,#0d8h
jnb tf0,$
clr tf0
clr qnghich
mov tl0,#0bfh
mov th0,#063h
jnb tf0,$
clr tf0
jnb nuton_off,m1b1

ljmp thoat1
Chương: 11
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
m1b1: jnb nutmode,m1b2
ljmp thoat1
m1b2: jnb nutdao,m1b
jb nutdao,$
ljmp mode1
thoat1: ret

mode2:clr qnghich
setb dt
setb tr0
clr dn
m2a: setb qthuan
mov tl0,#057h
mov th0,#09eh
jnb tf0,$
clr tf0
clr qthuan
mov tl0,#057h
mov th0,#09eh
jnb tf0,$
clr tf0
jnb nuton_off,m2a1
ljmp thoat2
m2a1: jnb nutmode,m2a2
ljmp thoat2
m2a2: jnb nutdao,m2a
jb nutdao,$

clr dt
setb dn
clr qthuan
setb tr0
m2b: setb qnghich
mov tl0,#057h
mov th0,#09eh
jnb tf0,$
clr tf0
clr qnghich
mov tl0,#057h
mov th0,#09eh
jnb tf0,$
clr tf0
jnb nuton_off,m2b1
ljmp thoat2
m2b1: jnb nutmode,m2b2
ljmp thoat2
m2b2: jnb nutdao,m2b
jb nutdao,$
ljmp mode2
thoat2: ret
Chương: 12
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân

mode3:clr qnghich
setb dt
setb tr0
clr dn
m3a: setb qthuan

mov tl0,#0bfh
mov th0,#063h
jnb tf0,$
clr tf0
clr qthuan
mov tl0,#0efh
mov th0,#0d8h
jnb tf0,$
clr tf0
jnb nuton_off,m3a1
ljmp thoat3
m3a1: jnb nutmode,m3a2
ljmp thoat3
m3a2: jnb nutdao,m3a
jb nutdao,$
clr dt
setb dn
clr qthuan
setb tr0
m3b: setb qnghich
mov tl0,#0bfh
mov th0,#063h
jnb tf0,$
clr tf0
clr qnghich
mov tl0,#0efh
mov th0,#0d8h
jnb tf0,$
clr tf0
jnb nuton_off,m3b1

ljmp thoat3
m3b1: jnb nutmode,m3b2
ljmp thoat3
m3b2: jnb nutdao,m3b
jb nutdao,$
ljmp mode3
thoat3: ret
stop:
clr don
clr dt
clr dn
clr d1
clr d2
Chương: 13
GVHD: Nguyễn Duy Kha SVTH: Nguyễn Thế Trọng Nhân
clr d3
clr qthuan
clr qnghich
mov bienmode,#0
mov bienon_off,#0
ret
end








×