Giới thiệu:
Các thiết bị gia dụng ngày nay như quạt điện, điều hòa nhiệt 
độ, tivi, đầu đĩa CD, tủ lạnh, bình đun nước, đèn ngủ, v.v. 
đều có điều khiển từ xa. Thông thường mỗi thiết bị có một 
điều khiển từ xa riêng. Cùng một loại thiết bị, nhưng các 
hãng sản xuất khác nhau có điều khiển từ xa khác nhau, 
không thể dùng lẫn được.
Điều đó dẫn đến tình trạng có rất nhiều thiết bị điều khiển từ 
xa cùng có mặt trong một gia đình, gây khó khăn cho việc sử 
dụng chúng. Bài báo này trình bày việc chế tạo thành công 
khối giao diện thiết bị gia dụng làm việc với mọi loại thiết bị 
điều khiển từ xa, không phân biệt đó là thiết bị điều khiển từ 
xa cho thiết bị gì và hãng nào sản xuất.
                
              
                                            
                                
            
                       
            
                
14 trang | 
Chia sẻ: tranhoai21 | Lượt xem: 1326 | Lượt tải: 0
              
            Bạn đang xem nội dung tài liệu Chế tạo khối giao diện thiết bị gia dụng làm việc với mọi loại thiết bị điều khiển từ xa, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chế tạo khối giao diện 
thiết bị gia dụng làm việc 
với mọi loại thiết bị điều 
khiển từ xa 
Giới thiệu: 
Các thiết bị gia dụng ngày nay như quạt điện, điều hòa nhiệt 
độ, tivi, đầu đĩa CD, tủ lạnh, bình đun nước, đèn ngủ, v.v. 
đều có điều khiển từ xa. Thông thường mỗi thiết bị có một 
điều khiển từ xa riêng. Cùng một loại thiết bị, nhưng các 
hãng sản xuất khác nhau có điều khiển từ xa khác nhau, 
không thể dùng lẫn được. 
Điều đó dẫn đến tình trạng có rất nhiều thiết bị điều khiển từ 
xa cùng có mặt trong một gia đình, gây khó khăn cho việc sử 
dụng chúng. Bài báo này trình bày việc chế tạo thành công 
khối giao diện thiết bị gia dụng làm việc với mọi loại thiết bị 
điều khiển từ xa, không phân biệt đó là thiết bị điều khiển từ 
xa cho thiết bị gì và hãng nào sản xuất. Thí dụ khi khối giao 
diện thiết bị gia dụng được nối với quạt bàn, có thể dùng thiết 
bị điều khiển từ xa của tivi hoặc của máy điều hòa nhiệt độ 
để điều khiển tốc độ quay của quạt. 
 Hình 1: sơ đồ khối 
Sơ đồ khối của khối giao diện thiết bị gia dụng như sau: 
Trong đó, khối mắt thu hồng ngoại thu tín hiệu từ thiết bị 
điều khiển từ xa gửi về cho vi điều khiển. Vi điều khiển giải 
mã tín hiệu đó và thực hiện chức năng tương ứng thông qua 
mạch điều khiển công suất. Khối các nút nhấn, bảo đảm cho 
Quạt trần Panasonic F-
564RZ có điều khiển từ xa 
khối giao diện thiết bị gia dụng làm việc trực tiếp theo chức 
năng nút nhấn, không cần điều khiển từ xa. Khối cảm biến 
nhiệt cho phép khối giao diện thiết bị gia dụng tự động điều 
khiển nhiệt độ theo chương trình lập sẵn. 
Nguyên tắc làm việc của khối giao diện thiết bị gia dụng. 
Khối này gồm mạch giải mã và điều khiển. Mạch giải mã có 
khả năng hiểu được nhiều loại mã điều khiển từ xa khác nhau 
nhờ chức năng giải mã và lưu lệnh. Nhờ vậy, khi một điều 
khiển từ xa bất kỳ bị hỏng, ta có thể dùng điều khiển từ xa 
khác thay thế. 
Để khối giao diện thiết bị gia dụng có thể hiểu được mã của 
nhiều loại thiết bị điều khiển từ xa, cần nghiên cứu các quy 
luật chung của chúng. Sau đây là một số các vấn đề đó. 
Khung tín hiệu điều khiển từ xa: Có 4 trường như sau: 
Mã bắt đầu Dữ liệu Mã kết thúc Mã kéo dài 
Trường mã bắt đầu báo cho bên thu biết có tín hiệu được 
phát; Trường dữ liệu chia làm hai phần: custom code và key 
data. Phần custom code phân biệt đối tượng điều khiển. Thí 
dụ các thiết bị điều khiển từ xa của hãng Sony dùng để điều 
khiển đầu sony, tivi sony hay đài sony khác nhau ở các brt 
custom code; Các bít key data là dữ liệu tương ứng với phím 
nhấn; Trường mã kết thúc nhằm báo cho bên thu biết đã gửi 
xong một lệnh; Trường mã kéo dài cho bên thu biết nút vừa 
nhấn nhiện vẫn đang được gửi. 
Bây giờ xem xét một khung lệnh của thiết bị điều khiển từ xa 
của hãng Sanyo. Theo khung này ta thấy: Mã bắt đầu, có 
khoảng kéo dài 9ms ở mức thế cao và 4.5ms ở mức thế thấp, 
báo cho nơi nhận chuẩn bị nhận tín hiệu được phát. Sau đó 
đến custom code và là mã địa chỉ. Việc phát custom và cùng 
nhau làm độ dài phần custom code luôn cố định là 43.9 ms. 
Tiếp theo là 8 bit mã lệnh key data. 
Mã dữ liệu: 
Các loại điều khiển từ xa dùng phương pháp điều chế vị trí 
xung PPM cho ra dạng xung Mark/Space. Độ rộng phần 
Space không thay đổi, với điều khiển Sanyo là 0.56ms ở mức 
cao. Độ rộng phần Mark thay đổi theo tín hiệu điều chế, với 
điều khiển Sanyo thì TM2=1.6ms ở mức cao nếu là bit 1 và 
TM1 = 0.56ms ở mức cao nếu là bit 0. 
Sau đó tín hiệu ở mức cao khoảng 23ms để báo kết thúc 1 
lệnh và ở cuối là đoạn mã kéo dài 
Các loại điều khiển khác, các thông số trên nhận những giá 
trị khác. Thí dụ khung dữ liệu của điều khiển từ xa hãng 
Sony có dạng như sau:. 
s mức thế cao là bit 1.s mức thế thấp +1300s mức thế cao 
là bit 0 và 500s mức thế thấp + 700s mức thế thấp, các 
bit còn lại được quy định mã hóa như sau: 500-Phần start 
bit có độ dài 3T, 2600 
Bit start gọi là bit B0 và bit cuối là B11. Với 7 bit đầu là bit 
lệnh, 5 bit cuối là bit địa chỉ. Không có phần mã kéo dài, khi 
nút được nhấn thì điều khiển phát mã của phím đó đi liên 
tiếp. Tín hiệu này bị đảo ngược lại tại bên thu, có dạng như 
sau: 
3. Phương pháp 
giải mã 
Đặc điểm chung 
một khung dữ liệu 
của các loại điều 
khiển từ xa bằng 
hồng ngoại gồm 3 phần như đã nói ở trên. Chúng khác nhau 
ở những điểm sau: 
 1.5 ms ở mức thế thấp, có thể thêm 1 khoảng thời gian 4,5 
ms ở mức thế cao.1,5 ms và mức thế thấp; khác nhau về số 
bit, nghĩa là ngoài khoảng thời gian 2.5 ms Mã bắt đầu 
khác nhau về độ rộng, thường từ 2.5 ms 
Để nhận biết mã bắt đầu, sử dụng ngắt ngoài của vi điều 
khiển, lập ngắt mức thế thấp. Trong chương trình con phục 
vụ ngắt sẽ đo khoảng thời gian tín hiệu ở mức thấp. Nếu thời 
gian này >9 ms thì kết luận mã bắt đầu hợp lệ và tiếp tục đo 
khoảng thời gian tín hiệu ở mức cao. Nếu thời gian này nhỏ 
hơn 1,5 ms thì chứng tỏ mã bắt đầu chỉ có 1 thành phần và 
thực hiện giải mã gữi liệu. Chúng ta sẽ dùng một biến có 
nhãn là j để ghi lại đặc điểm này. Để đo các khoảng thời gian 
nói trên ta sử dụng bộ timer của vi điều khiển. 
Sau khi truyền hết một khung lệnh tín hiệu sẽ ở mức cao một 
thời gian nhỏ hơn 30ms rồi lại truyền tiếp mã kéo dài nếu 
phím bấm vẫn được nhấn. Vì thế sau khi nhận được một 
khung lệnh ta đo khoảng thời gian ở mức cao, nếu nhỏ hơn 
30ms thì tiếp tục giải mã tiếp. Nếu thời gian ở mức cao lớn 
hơn 30ms thì chứng tỏ phím bấm đã được nhả, ta kết thúc 
giải mã. Mỗi lần giải mã được một khung lệnh thì ta tăng 
biến s lên để báo cho chương trình thực hiện lệnh biết là 
phím vừa được nhấn (tạm gọi là chế độ 2) hay đang được giữ 
(tạm gọi là chế độ 1). 
 42 bit. Để giải mã được nhiều loại điều khiển thì ta sẽ lấy 6 
biến có kích thước là 8 bit, có nhãn là a, b, c, d, e, f để lưu trữ 
các bit của trường dữ liệu phục vụ cho việc lưu mã và tìm 
mã.Số bit trong trường dữ liệu là khác nhau với các loại 
điều khiển khác nhau. Số bit này thường từ 16 bit 
Mặc dù cách mã hóa bit trong trường này của các loại điều 
khiển là khác nhau, nhưng chúng đều có đặc điểm là: 
Thời gian ở mức cao > bit 1thời gian ở mức thấp 
Thời gian ở mức cao < bit 0thời gian ở mức thấp 
Hoặc ngược lại: 
Thời gian ở mức cao > bit 0thời gian ở mức thấp 
Thời gian ở mức cao < bit 1thời gian ỏ mức thấp 
Hình 6: Lưu đồ thuật 
toán xác định mã bắt 
đầu và mã kết thúc. 
Hình 7 : Lưu đồ thuật toán 
giải mã giữ liệu 
 600us) thì kết luận bit nhận được là bit 1 ngược lại là bit 0. 
Các bit nhận được sẽ lưu vào biến a. Trong khi đo khoảng 
thời gian tín hiệu ở mức cao mà khoảng thời gian đó lớn hơn 
10ms thì đó là mã kết thúc, chương trình sẽ dừng lại.Ta 
không cần qua tâm bit nhận được là 0 hay 1 mà chỉ cần phân 
biệt sự khác nhau giữa các phím bấm. Như vậy giải mã các 
bit dữ liệu, cần đo các khoảng thời gian ở mức thấp và mức 
cao gần nhau, lưu vào các biến có nhãn là k và t. Sau đó lấy 
trị tuyệt đối của hiệu t-k, nếu hiệu này lớn hơn một số nhất 
định (khoảng 200us 
f và xóa l về 0. Mục đích là để lưu các bit đã nhận được và 
giải phóng biến a để nó có thể tiếp tục nhận các bit mới. Mã 
kết thúc có thể nhận biết bằng cách đo khoảng thời gian tín 
hiệu ở mức cao nếu thời gian nàyedcbaMỗi lần xác 
định được một bit, biến n được tăng lên l để tính số bit đã 
nhận. Khi nhận được 8 bit, cần thực hiện phép dịch 8 bit 0 > 
10 ms thì đó là mã kết thúc và chương trình giải mã dừng lại. 
Khi giải mã xong một khung lệnh, mã lệnh được lưu trong 
các biến a, b, c, d,e ,f và độ dài lệnh trong biến n, công việc 
tiếp theo là gọi hàm thực thi mã. Trước tiên ta cần biết phím 
vừa nhận được nhấn hay đang được gửi phải xem xét biến s. 
Nếu s>1 là phím đang được gửi. Để chặt chẽ hơn phải kiểm 
tra thêm mã kéo dài. Mã kéo dài có thể đã được nhận trước 
đó hay có thể =0. Nếu như mã kéo dài hợp lệ thì thực thi lệnh 
với chế độ là 1 (phím đang được gửi). Nếu s=1 thì chứng tỏ 
phím vừa được nhấn. Công việc tiếp theo là lưu mã đã nhận 
được và độ dài vào EEPROM hay tìm mã từ EEPROM. 
Quyết định làm gì phải dựa vào một nút bấm trên mạch ta có 
thể biết ta cần làm gì. Nếu nút được nhấn tức là có yêu cầu 
lưu lệnh, nếu nút không được nhấn thì phải tìm lệnh trong tập 
lệnh đã lưu trong EEPROM và thực hiện lệnh đó. 
Hình 8: Lưu đồ thuật 
toán giải mã bit 
Hình 9: Lưu đồ thuật toán 
tra cứu và thực thi mã lệnh 
Kết luận: 
Việc thiết kế, chế tạo khối giao diện thiết bị gia dụng thành 
công và thử nghiệm cho thấy kết quả làm việc tốt giữa bộ 
điều khiển từ xa loại bất kỳ với các thiết bị thường dùng 
như quạt, tivi, đầu đĩa,  là một kết quả thú vị, có thể ứng 
dụng rộng rãi.