1
NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO
CÁC HỆ CƠ ĐIỆN TỬ
Ks. Mai Thị Phương Thảo, Ks. Chu Ngọc Liêm
Ks. Phan Minh Tân, TSKH. Phạm Thượng Cát
Phßng c«ng nghÖ Tù §éng Hãa - ViÖn C«ng NghÖ Th«ng Tin
Tel: 84-4-8363484, Fax: 84-4- 8363485 e-mail:
Tóm tắt:
Sự ra đời của Hiệp hội dữ liệu hồng ngoại (Infrared Data Association) và nhu cầu kết nối không dây khoảng cách
ngắn và chi phí thấp đã và đang kích hoạt sự phát triển của các thiết bị thu phát hồng ngoại. Với mục tiêu nội địa
hoá và giảm giá thành sản phẩm bằng cách ứng dụng công nghệ hiện đại PSoC, phòng công nghệ tự động hoá của
viện Công nghệ thông tin đã nghiên cứu chế tạo được thiết bị thu pháp sử dụng công nghệ IrDA với độ tin cậy cao,
gọn nhẹ và giá thành hạ. Thiết bị thu phát này có thể được ứng dụng rộng rãi trong nhiều lĩnh vực như công nghiệp,
quốc phòng, và đặc biệt là trong các ứng dụng dân dụng, các sản phẩm gia dụng cơ điện tử.
Research and Development of Infrared Remote Control Device for Mechatronic Systems
Abstract:
The formation of Infrared Data Association and the need of low-cost, short-range wireless data link continue booting
up the development of Send/Receive IrDA devices. Aiming to build Vietnamese devices and to reduce production cost
by using new technology PSoC, Department for Automation and Technology of Institute of Information Technology
has researched and developed sucessfully send/receive IrDA devices, which are reliable, light weight, and low cost.
These IrDA devices can be use broadly in industry, defence and security, and especially in consumer and
mechatronics products.
IrDA, Hãng Cypress đã cung cấp 2 user module
IrDATX và IrDARX trong chip PSoC
(Programmable System on Chip) để hỗ trợ các ứng
dụng truyền và nhận tín hiệu hồng ngoại. Sử dụng các
user module này, hai bảng mạch đã được phát triển,
một hoạt động để nhận tín hiệu (sẽ được gắn trong
thiết bị được điều khiển), một hoạt động trong vai trò
là bộ điều khiển từ xa (remote control), gửi tín hiệu
đến bảng mạch thứ nhất để điều khiển hoạt động của
thiết bị đó.
3 Nguyên lý hoạt động
3.1 Bộ điều khiển từ xa hồng ngoại (remote
control):
Module phát được thiết kế (như hình 1) bao gồm:
! Bàn phím: gồm 13 phím bấm để nhận lệnh
điều khiển từ người sử dụng
2
! Màn hình hiển thị LCD: hiển thị các lệnh
đang được thực hiện
! Transitor (NPN C2383, độ khuyếch đại 114)
và IrLED để truyền tín hiệu hồng ngoại.
! Chíp PSoC để nhận lệnh từ người sử dụng,
xử lý và phát lệnh đến dụng cụ được điều
khiển.
Chíp đặc trưng PSoC được thiết kế sử dụng 4 user
module là: Counter8, LCD,
phần module phát, tạo điều kiện cho việc đồng bộ
giữa bộ phận thu và phát.
3Hình 2: Sơ đồ mạch thu
3.3 Phần mềm
Chương trình vận hành của module thu và nhận được
viết bằng ngôn ngữ lập trình C,
dịch và chạy trên môi trường PSoC Designer cung
cấp bởi Cypress.
Module phát
4
Hình 6: Lưu đồ của module phát
Trong module phát này, Chương trình main chỉ làm
nhiệm vụ scan keyboard (khi mà keycode bằng 0) và
gọi hàm hiển thị các phím đã được ấn (khi đó
keycode sẽ khác 0).
Hàm keyscan() là hàm có nhiệm vụ quét bàn phím để
kiểm tra xem người sử dụng có ấn phím nào không.
Sau khi cmdSend đã được gán giá trị, hàm
IrDASend() sẽ được gọi để phát đi giá trị của nó trên
kênh hồng ngoại. ở đây, có một lưu ý nhỏ là: tuy
cmdSend chỉ chứa có 2 byte giá trị, ta cần khai báo nó
là một mảng gồm 3 byte vì hàm IrDASend() chỉ dừng
phát tín hiệu khi nó pointer của mảng là bằng NULL
(mặc định nếu như ta định nghĩa một string). Byte
thứ 3 của cmdSend sẽ có giá trị là 0 để hàm
IrDASend không bị
lỗi. Hình 9 là một đoạn trong hàm IrDASend, kiểm
tra giá trị của con trỏ để quyết định xem có tiếp tục
gửi dữ liệu đi không.
5
Hình 9: Giải thuật của hàm IrDASend Ví dụ ở bộ điều khiển xa hồng ngoại cho máy lạnh,
khi muốn gửi đi giá trị của Giờ và Phút sau khi đã gửi
lệnh BEFORE_HAND, ta phải định nghĩa 1 mảng
gồm 3 byte time[3]. Khi time[0] = 1, module nhận sẽ
đọc giá trị của time[1] là giờ, và nếu time[0] = 2 thì
module nhận sẽ đọc giá trị của time[1] là phút. Giá trị
của time[2] luôn luôn bằng 0 để ngăn chặn việc hàm
IrDASend gửi đi các mã lệnh ngoài ý muốn.
Module thu
lệnh BEFORE_HAND (0xA1). Trong
trường hợp này, ta sẽ phải đợi để đọc thêm
dữ liệu về giờ và phút (mỗi lần đặt giờ hoặc
phút sẽ có 2 byte dữ liệu gửi đến) 4 Kết luận
Sử dụng chip PSoC với công nghệ hồng ngoại IrDA,
ta có thể chế tạo thiết bị thu phát điều khiển từ xa với
độ tin cậy cao, gọn nhẹ và giá thành thấp. Ứng dụng
của thiết bị thu phát là rất nhiều trong lĩnh vực công
nghiệp, dân dụng và an ninh quốc phòng bởi nó cung
cấp cho người sử dụng độ linh động cao rất phù hợp
trong thời điểm hiện nay.