[Project] Bộ học lệnh điều khiển RF 315MHz 4 kênh với MSP430

Module điều khiển RF 315MHz học lệnh với MP430

Thành phần chính mạch gồm

  • MCU MSP430G2452
  • Module thu RF 315MHz
  • Tay phát RF 315MHz
  • Relay điều khiển

Chức năng của mạch

  • Bật – tắt riêng biệt 4 thiết bị.
  • Hỗ trợ học lệnh từ các loại tay phát RF 315MHz. (Phiên bản này chỉ hỗ trợ tay cầm chạy chip SC2262)
  • Phục hồi trạng thái trước khi mất điện. (Jumper tùy chọn bật – tắt chắc năng này)

Thông số của mạch

  • Điều khiển 4 kênh với 4 relay với dòng tối đa 10A, điện áp 220V.
  • Điện áp hoạt động 5V, dòng tải tối đa 400mA.
  • Tầm xa hoạt động 30 – 50m (Tùy môi trường – tay phát)
  • Cấp nguồn thông qua adapter 5V từ nguồn điện lưới.

Nguyên lý hoạt động

  • Sử dụng tay phát RF 315MHz.
  • Bấm nút Mode, giữ khoảng 2.5s đến khi Led đỏ nháy 2 lần (Mạch đi vào trạng thái học lệnh).
    Nhấn lần lượt từng nút trên tay phát theo thứ tự tương ứng Relay_1, Relay_2, Relay_3, Relay_4.
  • Nếu trong trường hợp bạn chỉ muốn điều khiển ít hơn 4 relay, thì sau khi nhấn cho mạch học xong, nhấn nút Mode đến khi Led đỏ nháy 1 lần (Mạch chuyển sang chế độ chạy).
  • Muốn xóa toàn bộ mã lệnh đã lưu, bạn nhấn nút Mode khoảng 5s đến khi Led đỏ nháy 5 lần (Sau khi Led nháy 5 lần thì toàn bộ lệnh sẽ được xóa sạch. Bạn nên chạy qua chế độ này trước khi cài đặt để việc cài đặt được chính xác).
  • Trên mạch có 1 jumper, kết nối jumper sẽ kích hoạt chế độ lưu trạng thái (Trạng thái trước khi mất điện sẽ được phục hồi khi có điện lại).
    Gỡ jumper nếu như bạn không sử dụng chế độ này. Khi đó, khi có điện lại thì toàn bộ các relay sẽ chuyển về chế độ mở (Không có điện để đảm bảo an toàn cho các thiết bị kết nối vào)
Khuyến cáo: nên chạy chế độ xóa dữ liệu trước khi muốn thay đổi thiết lập để tránh lỗi.

Đo tín hiệu điều khiển từ Remote

Để có thể giải mã được những gì mà tay phát truyền đi, tôi sẽ coi xem tín hiệu thu được từ module thu thông qua phần mềm Audacity (Sử dụng card âm thanh làm Oscilloscope tạm vì ở nhà tôi không có máy đo)

Tiến hành đo tín hiệu đối với từng phím bấm trên tay phát. Tín hiệu thu được như dưới đây:

Dữ liệu thu được tại đầu ra của module thu RF 315MHz

Dữ liệu thu được tại đầu ra của module thu RF 315MHz

MCU sẽ đếm độ rộng xung tín hiệu và giải mã tín hiệu đó về dạng nhị phân để xử lý. Bit đồng bộ sẽ được thêm vào khung truyền nhằm đồng bộ hóa quá trình mã hóa và giải mã. MCU sẽ dựa vào bit này để nhận ra 1 khung truyền.

Trong chế độ học lệnh, dữ liệu sau giải mã được lưu lại vào bộ nhớ và sử dụng lại để so khớp trong chế độ chạy bình thường.

Trên thị trường hiện này, các tay phát sử dụng đa số các loại chip mã hóa như: SC2262, PT2262… và sử dụng mạch dao động nội (Được cấu hình thông qua 1 điện trở) khác nhau dẫn đến độ rộng xung khác nhau. Cộng thêm là phương thức điều chế. Vì vậy cần nghiên cứu kỹ phần này để viết chương trình tốt hơn.

Như hình dưới, có thể đo sơ qua được 1 bit rộng cỡ 21 đoạn mẫu, trong khi chương trình được cấu hình lấy mẫu với tần số 44.1KHz

21/44100 = 476us

Độ rộng xung ứng với 1 bit

Độ rộng xung ứng với 1 bit

Căn cứ vào giá trị này để tính thời gian timer lấy mẫu tín hiệu cho MCU.

Sơ đồ nguyên lý

Sơ đồ nguyên lý

Sơ đồ nguyên lý

Mạch thật

Module thực tế

Module thực tế

Mã nguồn

IDE tôi sử dụng là IAR. Do không có thời gian phát triển thêm nên hiện tại code còn hạn chế. :)

Mã nguồn:

Tải về toàn bộ project

Project RF315MHz – MSP430

Leave a Reply

6 Comments on "[Project] Bộ học lệnh điều khiển RF 315MHz 4 kênh với MSP430"

Notify of
avatar
Sort by:   newest | oldest | most voted
nguyen văn ý
Guest

bạn có thể chia sẻ code lên được không

doan binh
Guest

bạn ơi chia sẻ code cho mình tham khảo với…!!!

Nam
Guest

Chuyển sang STM32 được không bạn

wpDiscuz