Mạch Thu Phát RF HC-12 SI4463 433MHz 1000m | Hướng dẫn sử dụng, cấu hình AT Commands

Akysu

Module HC-12 là gì?

HC-12 là một module truyền thông nối tiếp không dây hoạt động ở băng tần 433MHz. Nó được thiết kế để truyền dữ liệu nối tiếp (Serial) trong phạm vi lên đến 1.8 km (trong điều kiện lý tưởng) và rất phù hợp để truyền thông giữa các vi điều khiển như Arduino, STM32, ESP8266, v.v.

Mô-đun HC-12 (Nhìn từ trên xuống)
Mô-đun HC-12 (Nhìn từ dưới lên)

Thông số kỹ thuật chính của HC-12:

  • Điện áp hoạt động: 3.2V - 5.5V

  • Dòng tiêu thụ: Khoảng 16mA khi truyền

  • Tốc độ truyền UART: Có thể cấu hình từ 1.2 kbps đến 115.2 kbps

  • Khoảng cách truyền: Tối đa 1.8 km trong điều kiện không vật cản

  • Tần số hoạt động: 433.4 – 473.0 MHz

  • Số kênh: 100 kênh (mỗi kênh cách nhau 400 KHz)

  • Công suất phát: Có thể cấu hình tối đa lên đến 100mW (20dBm)

HC-12 Pinout:

Module HC-12 cung cấp giao tiếp UART mức TTL gồm 5chân:

  • VCC,

  • GND,

  • TXD,

  • GND,

  • Chân thứ 5 là SET, được sử dụng để vào chế độ lệnh ("command" mode) nhằm thay đổi cấu hình của module.

Sơ đồ chân (pin diagram) được minh họa trong hình bên dưới:

Sơ đồ chân HC-12
Chân Ký hiệu Hướng dữ liệu Ghi chú
1 Vcc

Nguồn cấp, 3.2V đến 5.5V DC, dòng tải không dưới 200mA.

Lưu ý: Nếu module truyền dữ liệu trong thời gian dài và điện áp nguồn vượt quá 4.5V, nên nối tiếp diode 1N4007 để tránh quá nhiệt cho IC ổn áp (LDO) trên module.

2 GND Mass chung
3 RXD Ngõ vào (có điện trở kéo lên yếu) Ngõ vào dữ liệu UART mức TTL. Bên trong module có điện trở nối tiếp 1kΩ.
4 TXD Ngõ ra Ngõ ra dữ liệu UART mức TTL. Bên trong module có điện trở nối tiếp 1kΩ.
5 SET Ngõ vào (kèm điện trở kéo lên 10kΩ) Chân điều khiển thiết lập tham số (dẫn xuống mức thấp để vào chế độ lệnh). Bên trong module có điện trở nối tiếp 1kΩ.
6 ANT Ngõ vào/ra Chân kết nối ăng-ten tần số 433MHz
7 GND Mass chung
8 GND Mass chung
9 NC Không kết nối – dùng để cố định cơ học, tương thích với vị trí chân của module HC-11
ANT1 ANT Đầu cắm ăng-ten kiểu IPEX20279-001E-03
ANT2 ANT Lỗ hàn ăng-ten lò xo tần số 433MHz

Tổng quan về Module HC-12

Mô-đun HC-12 hỗ trợ 4 chế độ hoạt động khác nhau để tiết kiệm điện năng (FU1/FU2) , sử dụng cho mục đích chung (FU3) và tầm xa (FU4).

  • FU1: chế độ tiết kiệm điện vừa phải
  • FU2: chế độ tiết kiệm điện năng cực đại
  • FU3: chế độ mục đích chung (mặc định)
  • FU4: chế độ tầm xa (có trong phiên bản 2.3 hoặc mới hơn)

Để biết thêm chi tiết về từng chế độ này và cách thiết lập chúng, hãy xem phần Chế độ .

Có thể sử dụng hai mô-đun HC-12 thay cho hệ thống dây điện vật lý, thay thế cho liên kết truyền thông nối tiếp bán song cộng có dây mang tín hiệu mức TTL , như thể hiện trong hình bên dưới.

Sử dụng HC-12

Thiết bị bên trái ( MCU , PC hoặc thiết bị khác) gửi dữ liệu cổng nối tiếp từ cổng TXD của nó đến cổng RXD trên mô-đun HC-12 , tự động gửi dữ liệu qua không khí bằng sóng vô tuyến. Mô-đun HC-12 bên phải nhận dữ liệu tín hiệu vô tuyến và khôi phục dữ liệu cổng nối tiếp ra khỏi cổng TXD đến cổng RXD trên thiết bị bên phải ( MCU , PC hoặc thiết bị khác). Chỉ có liên kết bán song công khả dụng giữa các mô-đun HC-12 , vì chúng không thể nhận và gửi dữ liệu qua không khí cùng một lúc.

USB TTL kết nối HC-12

1. Nguyên lý truyền thông

Module HC-12 thay thế kết nối nối tiếp có dây bằng kết nối không dây theo phương thức nửa song công (half-duplex).

Quy trình truyền dữ liệu như sau:
TX của thiết bị gửi → RX của HC-12 → Truyền qua sóng RF → RX của HC-12 bên nhận → TX của thiết bị nhận

Lưu ý: Truyền thông là nửa song công, nghĩa là không thể gửi và nhận cùng lúc.

2. Các chế độ truyền nối tiếp trong suốt (FU1, FU2, FU3, FU4)

Khi module HC-12 xuất xưởng, chế độ truyền thông trong suốt qua cổng nối tiếp mặc địnhFU3. Trong chế độ này, module hoạt động ở trạng thái tốc độ cao hoàn toàn (full-speed) và dòng điện khi chờ khoảng 16mA.

Ở chế độ FU3, module có thể tự động điều chỉnh tốc độ truyền không dây trong không khí dựa trên tốc độ baud của cổng nối tiếp, và mối quan hệ tương ứng được thể hiện trong bảng dưới đây:

Tốc độ Baud UART 1200bps 2400bps 4800bps 9600bps 19200bps 38400bps 57600bps 115200bps
Tốc độ truyền trong không khí 5000bps 15000bps 58000bps 236000bps

Để đạt được khoảng cách truyền xa nhất, tốc độ baud của cổng nối tiếp nên được đặt ở mức thấp.
Ngược lại, nếu cần truyền một lượng lớn dữ liệu trong thời gian ngắn, nên đặt tốc độ baud cao, nhưng khoảng cách truyền sẽ bị giảm tương ứng.

Độ nhạy thu của module ở các tốc độ truyền trong không khí khác nhau được thể hiện trong bảng dưới đây:

Tốc độ truyền trong không khí 5,000bps 15,000bps 58,000bps 236,000bps
Độ nhạy thu -117dBm -112dBm -107dBm -100dBm

Thông thường: Mỗi khi độ nhạy giảm 6dB → khoảng cách truyền giảm một nửa

Mô tả nguyên lý hoạt động:

  • MCU, PC hoặc thiết bị khác kết nối có dây như bình thường.

  • Module HC-12 thay thế dây nối, và trở thành phương tiện giao tiếp không dây.

  • Hệ thống hoạt động theo kiểu bán song công (half-duplex), tức là chỉ truyền hoặc nhận dữ liệu tại một thời điểm.

Khi chân “SET” của module được đưa xuống mức thấp (LOW), chế độ truyền thông trong suốt qua cổng nối tiếp có thể được thiết lập thông qua lệnh AT (xem chi tiết ở chương sau).

  • Chế độ FU1chế độ tiết kiệm điện tương đối, với dòng điện khi chờ khoảng 3.6mA.
    Trong chế độ này, module có thể thiết lập 8 loại tốc độ baud cổng nối tiếp (như trong bảng ở trên), nhưng tốc độ truyền trong không khí là cố định ở mức 250.000bps.

  • Chế độ FU2chế độ tiết kiệm điện năng cao, với dòng điện khi chờ khoảng 80μA.
    Trong chế độ này, module chỉ hỗ trợ các tốc độ baud: 1.200bps, 2.400bps và 4.800bps, và tốc độ truyền trong không khí cũng cố định ở mức 250.000bps.
    Nếu thiết lập module ở tốc độ baud khác ngoài các mức trên, module sẽ không thể giao tiếp bình thường.

  • Đồng thời, khi chuyển sang chế độ FU2 từ FU1 hoặc FU3, nếu tốc độ baud đang lớn hơn 4.800bps, module sẽ tự động giảm xuống còn 4.800bps.

  • Trong chế độ FU2, khoảng thời gian giữa các gói dữ liệu gửi đi không được quá ngắn, nếu không sẽ gây mất dữ liệu.
    Khuyến nghị: khoảng cách giữa các lần gửi dữ liệu nên không nhỏ hơn 1 giây.

So sánh các chế độ FU

Các chế độ hoạt động khác nhau của HC-12 được nêu trong bảng dưới đây có thể được tìm thấy trong HC-12 Datasheet.

Chế độ Dòng điện khi chờ Tốc độ Baud hỗ trợ (bps) Ghi chú
FU1 3.6mA 1200bps, 2400bps, 4800bps, 9600bps, 19.200bps, 38.400bps, 57.600bps, hoặc 115.200bps Chế độ tiết kiệm điện trung bình. Tốc độ truyền trong không khí cố định là 250.000bps.
FU2 80μA 1200bps, 2400bps, 4800bps Chế độ tiết kiệm điện cao. Tốc độ truyền trong không khí cố định là 250.000bps. Khuyến nghị khoảng cách thời gian giữa các gói dữ liệu không dưới 1 giây.
FU3 16mA 9600bps Chế độ mặc định. Sử dụng chung, tốc độ cao.
FU4 16mA 1200bps Dùng để đạt khoảng cách truyền xa nhất, lên đến 1.8km. Tốc độ truyền trong không khí giảm còn 500bps để tăng cường khả năng truyền xa. Mỗi gói dữ liệu nên dưới 60 byte. Khuyến nghị khoảng cách thời gian giữa các gói dữ liệu không dưới 2 giây để tránh mất dữ liệu.

Cài Đặt Tham Số Module Bằng Lệnh AT

Module HC-12 sử dụng các lệnh AT, tương tự như các modem cũ, thông qua chân SET để thay đổi chế độ mặc định từ nhà máy (FU3) sang một chế độ mới.

(1) Cách vào chế độ lệnh (Command Mode)

  1. Cấp nguồn cho module HC-12.

  2. Kéo chân số 5 (SET) xuống mức thấp (LOW).

  3. Chờ khoảng 40ms để module chuyển sang chế độ lệnh.

Lưu ý: Chân SET có điện trở kéo lên nội tại 10kΩ, do đó có thể điều khiển chân này bằng ngõ ra collector hở (open-collector) từ các thiết bị như vi điều khiển (MCU) hoặc bộ chuyển đổi USB-to-Serial.

Thoát khỏi chế độ lệnh

  • Thả chân SET (để nó trở lại mức HIGH) hoặc chủ động đưa nó lên mức HIGH.

  • Chờ thêm 80ms, module sẽ thoát khỏi chế độ lệnh.

Lưu ý khi thay đổi chế độ

Khi chế độ được thay đổi và thoát khỏi chế độ lệnh, các thông số mới sẽ được lưu trữ vào bộ nhớ flash không mất điện (non-volatile flash) bên trong MCU, nên sẽ không bị mất khi ngắt nguồn.

(2) Các Lệnh

①. AT

  • Chức năng: Lệnh kiểm tra.
  • Ví dụ: Gửi lệnh "AT" đến module, module sẽ trả về "OK".

② AT+Bxxxx

  • Chức năng: Thay đổi tốc độ baud của cổng nối tiếp.
  • Giá trị: Tốc độ baud có thể được đặt là 1200, 2400, 4800, 9600, 19200, 38400, 57600 và 115200 bps.
  • Giá trị mặc định: 9600bps.
  • Ví dụ: Để đặt tốc độ baud cổng nối tiếp của module thành 19200bps, gửi lệnh "AT+B19200" đến module, module sẽ trả về "OK+B19200" .

③ AT+Cxxxx

  • Chức năng: Thay đổi kênh truyền thông không dây.
  • Giá trị: Kênh có thể chọn từ 001 đến 127 (đối với kênh vượt quá 100, khoảng cách truyền thông có thể không được đảm bảo).
  • Giá trị mặc định: 001, tần số làm việc là 433.4MHz.
  • Bước kênh: 400KHz, tần số làm việc của kênh 100 là 473.0MHz.
  • Ví dụ: Để đặt module làm việc ở kênh 21, gửi lệnh "AT+C021" đến module, module sẽ trả về "OK+C021". Sau khi thoát khỏi chế độ lệnh, module sẽ làm việc ở kênh 21, với tần số làm việc là 441.4MHz.
  • Lưu ý: Do độ nhạy thu không dây của module HC-12 tương đối cao, khi tốc độ baud cổng nối tiếp lớn hơn 9600bps, nên sử dụng các kênh cách nhau ít nhất 5 đơn vị. Khi tốc độ baud cổng nối tiếp không lớn hơn 9600bps, trong phạm vi giao tiếp gần (dưới 10m), cũng nên sử dụng các kênh cách nhau ít nhất 5 đơn vị.

④ AT+FUx

  • Chức năng: Thay đổi chế độ truyền dữ liệu nối tiếp trong suốt của module.
  • Giá trị: x có thể là 1, 2 hoặc 3, tương ứng với FU1, FU2 và FU3.
  • Giá trị mặc định: FU3.
  • Yêu cầu: Hai module muốn giao tiếp với nhau phải được đặt ở cùng một chế độ truyền dữ liệu trong suốt.
  • Ví dụ: Gửi lệnh "AT+FU1" đến module, module sẽ trả về "OK+FU1".

⑤ AT+Px

  • Chức năng: Đặt công suất phát của module.

  • Giá trị: x có thể từ 1 đến 8, công suất phát tương ứng như bảng sau:

    Giá trị x 1 2 3 4 5 6 7 8
    Công suất phát (dBm) -1 2 5 8 11 14 17 20
  • Giá trị mặc định: 8. Công suất phát càng cao, khoảng cách truyền thông càng xa. Khi đặt mức công suất là 1, công suất phát là thấp nhất. Thông thường, giảm 6dB công suất phát sẽ làm giảm một nửa khoảng cách truyền thông.

  • Ví dụ: Gửi lệnh "AT+P5" đến module, module sẽ trả về "OK+P5". Sau khi thoát khỏi chế độ lệnh, công suất phát của module là +11dBm.

⑥ AT+Ry

  • Chức năng: Lấy thông tin của một tham số cụ thể của module.
  • Giá trị: y có thể là B (baud rate), C (communication channel), F (FU mode) hoặc P (transmitting power).
  • Ví dụ 1: Gửi "AT+RB", nếu module trả về "OK+B9600", tốc độ baud cổng nối tiếp là 9600bps.
  • Ví dụ 2: Gửi "AT+RC", nếu module trả về "OK+C001", kênh truyền thông là 001.
  • Ví dụ 3: Gửi "AT+RF", nếu module trả về "OK+FU3", chế độ FU là 3.
  • Ví dụ 4: Gửi "AT+RP", nếu module trả về "OK+RP: +20dBm", công suất phát là +20dBm.

⑦ AT+RX

  • Chức năng: Lấy thông tin của tất cả các tham số của module.
  • Giá trị trả về: Chế độ FU, tốc độ baud, kênh truyền thông và công suất phát theo thứ tự.
  • Ví dụ: Gửi "AT+RX", module trả về:
    OK+FU3\r\n
    OK+B9600\r\n
    OK+C001\r\n
    OK+RP: +20dBm\r\n
    ("\r\n" là ký tự xuống dòng)

⑧ AT+Uxxx

  • Chức năng: Đặt số bit dữ liệu, bit kiểm tra chẵn lẻ và bit dừng của cổng nối tiếp.
  • Giá trị:
    • Bit dữ liệu: 5, 6, 7 hoặc 8.
    • Bit kiểm tra: N (không kiểm tra), O (kiểm tra lẻ), E (kiểm tra chẵn).
    • Bit dừng: 1 (một bit dừng), 2 (hai bit dừng), 3 (1.5 bit dừng).
  • Ví dụ: Để đặt định dạng cổng nối tiếp là 8 bit dữ liệu, kiểm tra lẻ, 1 bit dừng, gửi lệnh "AT+U8O1", module sẽ trả về "OK+U8O1".

⑨ AT+V

  • Chức năng: Lấy thông tin phiên bản firmware của module.
  • Ví dụ: Gửi lệnh "AT+V", module có thể trả về "HC-12_V1.1".

⑩ AT+SLEEP

  • Chức năng: Đưa module vào chế độ ngủ sau khi thoát khỏi chế độ AT.
  • Đặc điểm: Dòng điện làm việc khoảng 22μA, chế độ này không cho phép truyền dữ liệu nối tiếp. Khi vào lại chế độ cài đặt AT, module sẽ tự động thoát khỏi chế độ ngủ.
  • Ví dụ: Khi không cần truyền dữ liệu không dây để tiết kiệm năng lượng, gửi lệnh "AT+SLEEP", module sẽ trả về "OK+SLEEP".

⑪ AT+DEFAULT

  • Chức năng: Đặt lại tốc độ baud cổng nối tiếp, kênh truyền thông và chế độ truyền dữ liệu trong suốt về giá trị mặc định.
  • Giá trị mặc định: Tốc độ baud 9600bps, kênh C001, chế độ FU3.
  • Ví dụ: Gửi lệnh "AT+DEFAULT", module sẽ trả về "OK+DEFAULT" và các giá trị mặc định được khôi phục.

⑫ AT+UPDATE

  • Chức năng: Đưa module vào trạng thái chờ cập nhật phần mềm.
  • Hành động sau lệnh: Sau khi gửi lệnh, module sẽ không phản hồi bất kỳ lệnh nào khác cho đến khi được cấp lại nguồn.
  • Hướng dẫn: Sau khi gửi lệnh, vui lòng đóng phần mềm hỗ trợ cổng nối tiếp và mở phần mềm HC-1X updater để tiến hành cập nhật phần mềm. Tham khảo hướng dẫn "cập nhật phần mềm" chi tiết hơn.

Đăng nhận xét

0Nhận xét

Đăng nhận xét (0)

#buttons=(Ok!) #days=(20)

Trang web của chúng tôi sử dụng cookie để nâng cao trải nghiệm của bạn. Kiểm tra ngay
Ok, Go it!