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

ĐIỀU KHIỂN THIẾT BỊ ĐIỆN DÙNG HỒNG NGOẠI

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 (310.63 KB, 18 trang )

BÁO CÁO PROJECT II
ĐỀ TÀI
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN DÙNG
HỒNG NGOẠI


MỤC LỤC
I.

GIỚI THIỆU

II.

NỘI DUNG

III.

KẾT LUẬN

IV.

TÀI LIỆU THAM KHẢO

2


I.GIỚI THIỆU
Đề tài của chúng em là :Điều khiển thiết bị điện dùng hồng ngoại
Mục đích là tạo ra một modul : + Nhận tín hiệu hồng ngoại
+ Giải mãtí
n hiệu hồng ngoại nhận được


+ Đưa ra lệnh để điều khiển thiết bị

II.NỘI DUNG
Sơ đồ khối của modul đươc chúng em thiết kế như sau:

Thiết kế cụ thể từng phần như sau:
+Nguồn nuôi 5V:

3


Hai tụ 22 uF có tác dụng làm ổn định nguồn 1 chiều đầu vào vàđầu ra của
7805, giúp tăng chất lượng nguồn, qua đó giúp hệ thống hoạt động ổn định.
Kết quả thực nghiêm khi đo trên Oxilo đã chứng minh sự ổn định này.
+Nguồn phát hồng ngoại được dùng là Điều khiển TiVi SONY
Nhóm em đặt ra các vấn đề:
• Hồng ngoại la gì?
• Dùng hồng ngoại truyền thơng tin như thế nào?
• Tí
n hiệu từ Điều khiển của TiVi SONY như thế nào?

*Hồng ngoại la gì?
Hồng ngoại lànhững sóng điện từ tần số thấp hơn và lân cận tần số sóng ánh
sang
Hồng ngoại có thể phát ra từ nhiều nguồn: cơ thể sống, bếp than, cốc nước
nóng, mặt trời….
4


Vídụ : Mắt người cảm nhận được tần số ánh sang

Tai người cảm nhận được tần số 20-20000 Hz
Da người cảm nhận dược tần số hồng ngoại
** Dùng hồng ngoại truyền thông tin như thế nào?
Một xung vuông chu kỳ xấp xỉ 27s đưa vào cực bazơ của Transistor cóthể
điều khiển 1 LED hồng ngoại để truyền đi

Bạn cóthể bật hoặc tắt tần số này tại đầu phát , đầu thu sẽ chỉ ra khi nào đầu
phát làbật hay tắt

*** Tí
n hiệu từ điều khiển TiVi SONY như thế nào?
Để tránh việc một điều khiển từ xa Philip có thể thay đổi kênh của một TV
Sony..., người ta sử dụng các cách mãhoákhác nhau cho cùng một khoảng
5


tần số đó . Chúng sử dụng các kiểu tổ hợp bít khác nhau để mã hố việc
truyền dữ liệu vàtránh nhiễu.
Sony sử dụng loại mã hóa độ rộng bít, đây là kiểu mãhoá đơn giản cho việc
giải mã.
Hãy xem xét khoảng thời gian nhỏ T cỡ 600s . Mỗi bit truyền đi là sự kết
hợp của -T+T cho bít “0” và -T+2T cho bít ”1” .Vì vậy bit 0 có chiều dài
1200s vàbit 1 cóchiều dài 1800s

Mức lên (+T) trong tí
n hiệu trên có nghĩa là hồng ngoại được truyền đi , mức
xuống (-T) nghĩa là khơng có.
Để tiết kiệm Pin, hầu hết các nhàsản xuất khoảng 5/6 thậm chí3/4 so với
độ rộng xung như lý thuyết . Bằng cách này, pin 500 giờ có thể sử dụng
được tới 600giờ (5/6) hoặc 800 giờ (3/4). Một số nhàsản xuất khác không

quan tâm lắmvề vấn đề này. Họ tăng cường hiệu quả truyền tí
n hiệu bằng
cách mở rộng 1 chút khoảng thời gian sóng mang 36 KHz tí
ch cực vàrút
nhắn khoảng thời gian kia. Như vậy tí
n hiệu tử REMOTE SONY có dạng
sóng như sau:

6


Ta thấy:
- Phần đầu tiên được truyền đi gọi là Header( mào đầu) , nó cũng được coi là
bit bắt đầu (START bit ) , phần mào đầu có độ rộng 3T hay 1800s.
- Tiếp theo phần Header bạn sẽ thấy 12 bit liên tiếp được giải điều chế như
sau:

500s im lặng + 700s hồng ngoại = bit 0
500s im lặng +1300s hồng ngoại = bit 1

Bit đầu tiên sau bit START là bit LSB, ta đặt tên nólàbit B0, bit cuối cùng
sẽ làB11
7


B0---B6 : 7 bit mãlệnh
B7---B11 : 5 bit địa chỉ

Trong hình vẽ trên , địa chỉ là02H, mãlệnh là16H . Có32 khả năng địa chỉ
và128 lệnh .Tồn bộ thời gian truyền đi của khung cóthể thay đổi theo thời

gian vì độ rộng của bit 1 > độ rộng của bit 0. Nếu bạn giữ nút bấm, khung dữ
liệu sẽ lặp lại sau mỗi 25ms . Nếu bạn sử dụng mắt nhận hồng ngoại cósẵn
trên thị trường , tất cả dạng sóng trên sẽ bị đảo lại như sau:

Để thu vàgiải mã được tí
n hiệu từ REMOTE SONY, thực tế ta khơng cần
thu tồn bộ 12 bit mãhố. Ta chỉ cần thu 7 bit COMMAND vàcóthể bỏ qua
5bit địa chỉ, bởi với cùng một điều khiển thìtất cả các nút bấm đều phát ra
mã địa chỉ như nhau, chỉ khác nhau mã lệnh. Mã địa chỉ được SONY sử
dụng để phân biệt giữa các MODEL REMOTE SONY khác nhau.

8


MÃ LỆNH ĐIỀU KHIỂN TV SONY
Phí
m

Tín hiệu tới

Mãlệnh (HEXA)

1

00000000B

0

2


00000001B

1

3

00000010B

2

4

00000011B

3

5

00000100B

4

6

00000101B

5

7


00000110B

6

8

00000111B

7

9

00001000B

8

10

00001001B

9

+Khối nhận tín hiệu, vàgiải mãtí
n hiệu dùng loại LED thu bán sẵn trên thị
trường.Lắp LED thu trong mạch như sau:

9


+Khối điều khiển vàthực thi dùng vi xử lí 8051, va rơle điện tử 5V

Mạch 8051 lắp theo sơ đồ sau:

8051 co 4 port 8 bits, các port vàcác bits cóthể độc lập vào ra
Em chọn chân P3.3(13) làm chân nhận dữ liệu từ LED thu:

10


Đo mức điện áp từ chân này, thuật toán như sau:
1. Thiết lập thanh ghi A = 01000000B
2. Khởi đầu bằng cách chờ tín hiệu xuống – Đây sẽ làbit START
3. Chờ cho tín hiệu lên - Đây là khởi đầu của bit
4. Chờ tí
n hiệu đi xuống
5. Chờ khoảng 1000s
6. Đo mức tín hiệu
7. Nếu mức tín hiệu làmức cao (UP) –Bit nhận được làbit 0
- Thiết lập bit nhớ C = 0 (bit mãlệnh thu được)
- Quay phải cónhớ A, như vậy C sẽ được gửi vào MSB của A, LSB của A
gửi vào C.
- Ban đầu, A = 01000000B thìsau khi quay ta có C = 0 vàMSB của A là
bit đầu tiên của mãlệnh.
- Như vậy sau 7 lần quay thìC = 1 và7 bí
t bên trái của A sẽ chứa mãlệnh
- Kiểm tra bit nhớ C, nếu C = 1 nhảy tới bước 9 , nếu C = 0 quay lại bước 3
8. Nếu mức tín hiệu làmức thấp (DOWN) – Bit nhận được là1
- Thiết lập Bit nhớ C = 1 (bit mãlệnh thu được)
- Quay phải cónhớ A
- Kiểm tra bit nhớ C, nếu C = 1 nhảy tới bước 9 , nếu C = 0 quay lại bước 3
9. 7 bit mã lệnh chứa trong 7 bit trái của A :

D6D5D4D3D2D1D00

A =

- Quay phải A được 7 bí
t phải của A chứa mã lệnh :
0D6D5D4D3D2D1D0

A =

Code chương trình:
Version 1.0
ORG 00h

11


MOV P1,#0
MOV P2,#00000111B
LCALL LONG_DELAY
LJMP MAIN
ORG 40H
MAIN:
SETB P3.3

MOV A,#01000000B

RP1:

JB P3.3, RP1


RP2:

JNB P3.3, RP2

RP3:

JB P3.3, RP3

LCALL DELAY
MOV C,P3.3
JC BIT0
SETB C
RRC A
JC END_SIGNAL

SJMP RP2
BIT0:
CLR C

12


RRC A
JC END_SIGNAL

SJMP RP3
END_SIGNAL:
LCALL LONG_DELAY


RR A
MOV P1, A

KEY_1:
CJNE A,#00000000B,KEY_2
;---KEY = 1--CPL P2.0
SJMP MAIN
;------------KEY_2:
CJNE A,#00000001B,KEY_3
;------------;---KEY = 2--CPL P2.1
SJMP MAIN
;------------KEY_3:
CJNE A,# 00000010B,KEY_4

13


;------------;---KEY = 3--CPL P2.2
SJMP MAIN
;------------KEY_4:
CJNE A,#00000011b,KEY_5
;------------;---KEY = 4--CPL P2.3
SJMP MAIN
;------------KEY_5:
CJNE A,# 00000100b,KEY_6
;------------;---KEY = 2--CPL P2.4
LJMP MAIN
;------------KEY_6:
CJNE A,# 00000101B,KEY_7
;------------;---KEY = 6--CPL P2.5

LJMP MAIN
;-------------

14


KEY_7:
CJNE A,#00000110B,KEY_8
;------------;---KEY = 7--CPL P2.6
LJMP MAIN
;------------KEY_8:
CJNE A,#00000111B,OTHER_KEY
;------------;---KEY = 8--CPL P2.7
LJMP MAIN
;----------------------------------OTHER_KEY:
LJMP MAIN
;----------------------------------; Chuong trinh con
;----------------------------------DELAY:

;tre 1ms

PUSH 07h ; save R7 to stack
MOV R7, #250d ; 250 decimal to R7 to count 250 loops
LOOP_1_MILLI: ; loops 250 times
NOP ; inserted NOPs to cause delay
NOP ;
DJNZ R7, LOOP_1_MILLI ; decrement R7, if not zero loop back

15



POP 07h ; restore R7 to original value
RET ; return from subroutine
;----------------------------------LONG_DELAY:
MOV R5,#50
REPEAT:
MOV R6,#255
HERE:
DJNZ R6,HERE
DJNZ R5,REPEAT
RET
END
;------------------------------------------------------------------------------------------Version1.1, 1.2 chạy ổn định hơn nhiều ,do em đã khắc phục được lỗi để
chương trình chính vào vùng vector ngắt của 8051
Hiện nay,mạch đang chạy theo chương trình version 1.2
Phần thiết kế mạch in cũng mất khánhiều thời gian tì
m hiểu của thành viên

III.Kết luận
Qua Project 2 chúng em đã học được học thêm nhiều kĩ năng:làm mạch, vẽ
mạch, lập trình, phát triển ý tưởng…
Em xin chân thành cám ơn Thầy Đặng Quang Hiếu đã tận tì
nh chỉ bảo
chúng em hồn thành bài tập lớn này.

16


IV.TÀI LIỆU THAM KHẢO
1.Lập trì

nh Asemblly cho 8051-Nguyễn Tăng Cường,Phan Quốc Thắng
2.Kế thừa Chương trình con Delay 1ms, 1s của một nhóm nghiên cứu nước
ngồi

17


18



×