Project I: truyền nhận dữ liệu giữa 2 vi điều khiển ATMEGA8 sử dụng module thu phát RF

Roc Tò Mò

Moderator Roc
Staff member
3 Tháng tám 2014
34
12
8
Huế
www.facebook.com
Hôm nay, tôi xin hướng dẫn các bạn thực hiện project (mà tôi thấy hiện nay nhiều người quan tâm) là: truyền/nhận dữ liệu sử dụng module RF 433M (315M) giữa 2 vi điều khiển (Atmega8- là 1 dòng của loại VĐK AVR)
I.MODULE RF 433M (315M)
·Module RF được sử dụng trong Project này là module “Thô” (có nghĩa là không cài bộ mã hóa/giải mã bên trong), vì vậy các bạn có thể sáng tạo, phát triển các thuật toán truyền/nhận dữ liệu một cách tùy ý trên module.
Dưới đây là hình ảnh của module phát và modul thu RF:
8083240570_0aa0f08874.jpg

·Vấn đề quan trọng nhất trong truyền/nhận dữ liệu qua RF đó là chống nhiễu. Nhiễu ở đây là nhiễu từ môi trường xung quanh module phát và thu như: sóng điện từ, điện tích, nguồn nhiễu … Do đó dữ liệu bên thu nhận về sẽ không còn nguyên vẹn và có thể bị sai.
èBiện pháp khắc phục: MÃ HÓA/GIẢI MÃ dữ liệu cần truyền.

II. MÃ HÓA/GIẢI MÃ DỮ LIỆU - MÃ HÓA ĐƯỜNG TRUYỀN MANCHESTER

Như đã phân tích ở trên, mã hóa dữ liệu ở module phát và giãi mã dữ liệu nhận được ở module thu nhằm đảm bảo tính ổn định và chính xác của dữ liệu. Có rất nhiều cách mã hóa/giải mã dữ liệu nhưng trong Project này tôi sử dụng phương pháp mã hóa đường truyền Manchester.
Mã hóa đường truyền Manchester sẽ mã hóa:
-Tín hiệu 1 à 10
-Tín hiệu 0 à 01
Ví Dụ:
Chuỗi tín hiệu 10011101 sẽ được mã hóa thành: 1001011010100110

Với phương pháp này, thời gian tồn tại của chuỗi tín hiệu 0 hoặc 1 trên đường truyền sẽ được chia nhỏ nhằm giúp module thu nhận được đúng dữ liệu được truyền (nếu thời gian tồn tại của xung 0 (1) trên đường truyền quá dài thì khi đến module thu sẽ không phải là 0 (1) nữa do phải chịu tác động nhiễu từ môi trường lớn).

III.THỰC HIỆN PROJECT

1.THIẾT KẾ PHẦN CỨNG
Để hoàn thành Project các bạn cần:
-Vi điều khiển Atmega 8.
-Module thu/phát RF 433M (315M).
-LCD1602 (dùng để hiển thị dữ liệu nhận được ở module thu).
-Sử dụng các nút bấm để điều chỉnh tốc độ truyền và dữ liệu phát đi.
-Led tín hiệu.
(Sơ đồ nguyên lý của mạch thu và phát các bạn có thể down về ở cuối bài)

2.THIẾT KẾ PHẦN MỀM
Trong Project này, lập trình phần mềm được chia làm 2 phần là:
-Mã hóa dữ liệu trước khi truyền đi ( theo Manchester).
-Giải mã dữ liệu sau khi nhận về.

·MÃ HÓA (Module phát):
Dữ liệu được đóng vào 1 “khung truyền” gồm:
-3 byte 0xff (để làm sạch khung truyền).
-1 bit start.
-Dữ liệu cần truyền.
-1 bit stop.
8084886133_4f5094a73f.jpg

·GIẢI MÃ (Module thu):
Khi nhận được dữ liệu, bên thu sẽ tiến hành giải mã:
-Kiểm tra 3 byte 0xff.
-Kiểm tra bit start (để xác định đúng khung truyền).
-Đọc dữ liệu.
-Kiểm tra bit stop (để xác định đã hết khung truyền).
Dữ liệu sau khi giải mã sẽ được hiển thị lên LCD1602.

8084883422_d8668dec20.jpg


Sưu tầm:
 
  • Like
Reactions: Lu ROm