Chếtạokhốigiaodiệnthiếtbịgia
dụng làmviệcvớimọiloại thiết bị
điều khiểntừxa
Giới thiệu:
Các thiếtbịgiadụ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ềukhiểntừ xa. Thông thường mỗithiếtbị có một
điều khiểntừxa riêng. Cùng một loạithiế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ếtbịđiềukhiểntừ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ệcchếtạo thành
công khốigiaodiệnthiếtbịgiadụnglàmviệcvớimọiloạithiếtbịđiềukhiểntừ xa,
không phân biệt đó là thiếtbịđiềukhiểntừxa cho thiếtbị gì và hãng nào sản xuất. Thí dụ
khi khốigiaodiệnthiếtbịgiadụng được nối với quạt bàn, có thể dùngthiếtbịđiềukhiển
từ xa của tivi hoặc của máy điều hòa nhiệt độ để điềukhiển tốc độ quay của quạt.
Hình 1: sơ đồ khối
Sơ đồ khối của khốigiaodiệnthiếtbịgiadụng
như sau:
Trong đó, khối mắt thu hồng ngoại thu tín hiệu từ
thiết bịđiềukhiểntừ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ềukhiển công
suất. Khối các nút nhấn, bảo đảm cho khốigiaodiện
thiết bịgiadụnglàmviệc trực tiếp theo chức năng nút nhấn, không cần điềukhiểntừ xa.
Khối cảm biến nhiệt cho phép khốigiaodiệnthiếtbịgiadụngtự động điềukhiển nhiệt
độ theo chương trình lập sẵn.
Nguyên tắc làmviệc của khốigiaodiệnthiếtbị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ềukhiểntừ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ểntừxa bất kỳ bị hỏng, ta có thể dùngđiềukhiểntừxa khác thay thế.
Để khốigiaodiệnthiếtbịgiadụng có thể hiểu được mã của nhiều loại thiết bịđiềukhiể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ềukhiểntừ 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ềukhiểntừxa của hãng Sony dùng để điềukhiể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
Quạt trần Panasonic F-564RZ có
điều khiểntừxa
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ềukhiểntừ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ềukhiểntừxadùng phương pháp điềuchế vị trí xung PPM cho ra dạng xung
Mark/Space. Độ rộng phần Space không thay đổi, vớiđiềukhiể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ềukhiể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ềukhiể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ềukhiểntừxa hãng Sony có dạng như sau:.
-Phần start bit có độ dài 3T, 2600s mức thế thấp, các bit còn lại được quy định mã hóa
như sau: 500s mức thế thấp + 700s mức thế cao là bit 0 và 500s mức thế thấp
+1300s mức thế cao là bit 1.
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ềukhiể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ềukhiểntừ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:
Mã bắt đầu khác nhau về độ rộng, thường từ
2.5 ms 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 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.
Để 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).
Số bit trong trường dữ liệu là khác nhau với các loạiđiềukhiển khác nhau. Số bit này
thường từ 16 bit 42 bit. Để giải mã được nhiều loạiđiềukhiể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ã.
Mặc dù cách mã hóa bit trong trường này của các loạiđiềukhiển là khác nhau, nhưng
chúng đều có đặc điểm là:
Thời gian ở mức cao > thời gian ở mức thấp bit 1
Thời gian ở mức cao < thời gian ở mức thấp bit 0
Hoặc ngược lại:
Thời gian ở mức cao > thời gian ở mức thấp bit 0
Thời gian ở mức cao < thời gian ỏ mức thấp bit 1
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
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 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.
Mỗ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 0abcdef 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ày
> 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ớichế độ 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ạokhốigiaodiệnthiếtbịgiadụng thành công và thử nghiệm cho thấy
kết quả làmviệc tốt giữa bộ điềukhiểntừxaloại bất kỳ với các thiếtbị 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.
. 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ư. 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