4. Nội dung nghiên cứu
3.1.2. Bộ thu phát dữ liệu
3.1.2.1. Mạch điều khiển arduino
Tín hiệu số được lấy từ công tơ và đưa về mạch thu thập dữ liệu. Lựa chọn mạch Arduino với vi điều khiển Atmega328. Đây là một mạch điều khiển hoạt động khá ổn định, nhiều tính năng vượt trội như: xử lý tín hiệu số, tương tự, khả năng hỗ trợ lập trình cao với ngôn ngữ lập trình C.
Hình 3.3: Mạch thu thập dữ liệu
Trong phần nghiên cứu của mình, tôi sử dụng bo mạch Arduino Uno R3. Đây là mạch điều khiển dựa trên ATmega328P. Nó có 14 chân kỹ thuật số đầu vào /
đầu ra (trong đó 6 chân có thể được sử dụng như là kết quả đầu ra PWM), 6 đầu vào analog, 16 MHz, kết nối USB, một jack cắm điện, một ICSP và một nút reset. Nó có chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển và chỉ cần kết nối nó với máy tính bằng cáp USB hoặc điện nó với một bộ chuyển đổi AC-to-DC hoặc pin để hoạt động.
Thông số kĩ thuật
Vi điều khiển: ATmega328P
Điện áp hoạt động: 5V
Điện áp đầu vào (đề nghị): 7-12V
Điện áp đầu vào (giới hạn): 6-20V
Kỹ thuật số I / O Pins: 14 (trong đó có 6 cung cấp PWM)
PWM kỹ thuật số I / O Pins: 6
Pins Input Analog: 6
DC hiện tại mỗi I / O Pin 20 mA
DC hiện tại cho 3.3V Pin 50 mA
Bộ nhớ flash: 32 KB (ATmega328P) 0,5 KB sử dụng bởi bộ nạp khởi
động SRAM: 2 KB (ATmega328P) EEPROM: 1 KB (ATmega328P) Tốc độ đồng hồ: 16 MHz Chiều dài: 68,6 mm Chiều rộngL: 53,4 mm Cân nặng: 25 g
Đầu vào và đầu ra
Các chân I/O số của mạch đều nó hoạt động ở 5 volts. Mỗi pin có thể cung cấp hoặc nhận được 20 mA như tình trạng hoạt động đề nghị và có một điện trở kéo lên (ngắt kết nối theo mặc định) của 20-50k ohm. Dòng tối ddacos thể đưa vào các chân này là 40mA.
Nối tiếp: 0 (RX) và 1 (TX). Được sử dụng để nhận (RX) và truyền dữ liệu nối tiếp (TX) TTL. Các chân này được kết nối với các chân tương ứng của ATmega8U2 USB-to-TT.
Ngắt ngoài: 2 và 3. Các chân này có thể được cấu hình để kích hoạt một
ngắt ngoài bằng một giá trị mức thấp theo sường xuống.
PWM: 3, 5, 6, 9, 10, và 11. Cung cấp đầu ra, điều chế độ rộng xung PWM 8-bit.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ SPI
giao tiếp bằng cách sử dụng thư viện SPI.
LED: 13. Có một đèn LED điều khiển bằng kỹ thuật số pin 13. Khi pin là
giá trị cao, đèn LED được bật.
TWI: A4 hoặc SDA pin và A5 hoặc pin SCL. Hỗ trợ giao tiếp TWI sử
dụng thư viện Wire.
Lập trình cho mạch:
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung. Và Wiring lại là một biến thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++. Gọi chung là “ngôn ngữ Arduino”, và đội ngũ phát triển Arduino cũng gọi như vậy. Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu.
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE (Intergrated Development Environment) như hình dưới đây.
Hình 3.5: Phần mềm lập trình cho mạch Arduino
Để đọc tính hiệu từ mạch đếm xung về mạch arduino, sử dụng phương pháp xử lý ngắt ngoài để đọc xung tín hiệu đưa về. Sau một khoảng thời gian cố định (do người lập trình đặt, có thể là 1 giờ, một ngày…) mạch sẽ tính toán ra lượng điện năng (kWh) đã tiêu thụ trong thời khoảng thời gian đó rồi gửi dữ liệu sang mạch
3.1.2.2. Module sim900A
a. Giới thiệu Module Breakout SIM 900A.
Một modem GSM là một modem wireless, nó làm việc cùng với một mạng wireless GSM. Một modem wireless thì cũng hoạt động giống như một modem quay số.
Điểm khác nhau chính ở đây là modem quay số thì truyền và nhận dữ liệu thông qua một đường dây điện thoại cố định trong khi đó một modem wireless thì việc gửi nhận dữ liệu thông qua sóng.
Giống như một điện thoại di động GSM, một modem GSM yêu cầu 1 thẻ sim với một mạng wireless để hoạt động.
Module SIM 900A là một trong những loại modem GSM. Nhưng Module SIM 900A được nâng cao hơn có tốc độ truyền dữ liệu nhanh hơn. Nó sử dụng công nghệ GSM/GPRS hoạt động ở băng tầng GSM 850Mhz, EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, có tính năng GPRS của Sim 900.
Và hỗ trợ GPRS theo dạng đồ thị mã hóa CS-1, CS-2, CS-3 và CS-4.
b. Đặc điểm của module SIM 900A
- Nguồn cung cấp khoảng 3,4 – 4,5V
- Nguồn lưu trữ
- Băng tần: GSM 850Mhz EGSM 900Mhz, DCS 1800 Mhz và PCS
1900Mhz SIM900 có thể tự động tìm kiếm các băng tần.
- Phù hợp với GSM Pha 2/2 + Loại GSM là loại MS nhỏ + Kết nối GPRS 8 lớp điện dung 10 lớp điện dung - Giới hạn nhiêt độ: + Bình thường -30oC tới +80o C + Hạn chế: - 40 oC tới -30 oC và +80 oC tới +85 oC + Nhiệt độ bảo quản: -45 oC tới 90 o
C
- Dữ liệu GPRS:
+ GPRS dữ liệu tải xuống: Max 85.6 kbps + GPRS dữ liệu úp lên: Max 42.8 kbps
+ Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
+ Sim 900 hổ trợ giao thức PAP, kiểu sử dụng kết nối PPP + Sim 900 tích hợp giao thức TCP/IP
+ Chấp nhận thông tin được điều chỉnh rộng rãi
- SMS:
+ MT, MO, CB, Text and PDU mode + Bộ nhớ SMS: Sim card
+ Sim card:
+ Hỗ trợ sim card: 1,8 v ; 3v
- Anten ngoài:
+ Kết nối thông qua anten ngoài 500km hoặc đế anten
- Âm thanh:
+ Dạng mã hòa âm thanh. + Mức chế độ (ETS 06.20) + Toàn bộ chế độ (ETS 06.10)
+ Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80) + Loại bỏ tiếng dội
- Giao tiếp nối tiếp và sự ghép nối:
+ Cổng nối tiếp: 8 Cổng nối tiếp (ghép nối)
+ Cổng kết nối có thể SD với CSD Fax, GPRS và gửi lệnh ATCommand tới module điều khiển
+ Cổng nối tiếp có thể SD chức năng giao tiếp + Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS + Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
+ Cổng hiệu chỉnh lỗi chỉ sử dụng sữa lỗi
- Quản lý danh sách:
+ Hỗ trợ mẫu danh sách: SM, FD, LD, RC, ON, MC
- Đồng hồ thời gian thực:
+ Người cài đặt
- Times function:
+ Kích thước 24mmx24mmx24mm> Nặng 3.4g
Hình 3.6: IC SIM 900A và module SIM 900A
c. Khảo sát sơ đồ chân và chức năng từng chân của Breakout SIM 900A
Sơ đồ nguyên lý:
Hình 3.7: Sơ đồ nguyên lý IC Sim 900A
Sơ đồ chân Breakout:
PWRKEY 1 PWRKEY_OUT 2 DTR 3 RI 4 DCS 5 DSR 6 CTS 7 RTS 8 TXD 9 RXD 10 DISP_CLK 11 DISP_DATA 12 DISP_D/C 13 DISP_CS 14 VDD_EXT 15 NRESET 16 GND 17 GND 18 MIC_P 19 MIC_N 20 SPK_P 21 SPK_N 22 LINEIN_R 23 LINEIN_L 24 ADC 25 VRTC 26 DBG_TXD 27 DBG_RXD 28 GND 29 SIM_VDD 30 SIM_DATA 31 SIM_CLK 32 SIM_RST 33 SIM_PRESENCE 34 PWM1 35 PWM2 36 SDA 37 SCL 38 GND 39 KBR4/GPIO1 40 KBR3/GPIO2 41 KBR2/GPIO3 42 KBR1/GPIO4 43 KBR0/GPIO5 44 GND 45 GND 46 KBC4/GPIO6 47 KBC3/GPIO7 48 KBC2/GPIO8 49 KBC1/GPIO9 50 KBC0/GPIO10 51 NETLIGHT 52 GND 53 GND 54 VBAT 55 VBAT 56 VBAT 57 GND 58 GND 59 RF_ANT 60 GND 61 GND 62 GND 63 GND 64 GND 65 STATUS 66 GPIO11 67 GPIO12 68 U1 SIM900 2 3 5 6 1 GND Vpp VDD RST SIMCARD CLK DATA 7 SIMCARD1 SIMCARD GND GND GND GND GND GND GND GND SIM_VDD SIM_DATA SIM_CLK SIM_RST R11 22 R10 22 R12 22 SIM_CLK SIM_RST SIM_VDD GND SIM_DATA C3 22P C4 104 GND 5 3 4 2 1 E1 ANTENNA GND ANTEN GND NETLIGHT STATUS PWRKEY TXD RXD RI VDD_EXT NRESET DBG_TXD DBG_RXD VBAT Q3 C1815 R7 1K R9 10K NRESET GND RST Q2 C1815 R5 1K R6 10K GND 2 1 SW1 SW PWRKEY PWR_KEY Q1 C1815 R3 1K R4 10K GND NETLIGHT A K LED2 LED R2 3.3K VBAT R1 330K GND A K LED1 LED STATUS 1 2 3 4 5 6 7 8 JP1 JP8 PIN DBG_TXD DBG_RXD TXD RXD RST PWR_KEY !VBAT GND 1 2 3 J1 Jumper 3 RI GND D1 ss34 !VBAT C1 104 C2 10uF/6,3V GND R8 3,3k A K LED3 LED GND VBAT VIT VIT2 1 VIT VIT3 1 GND
Hình 3.8: Sơ đồ chân Breakout SIM900A
- Chân 1: Chân ON/OFF ta cần kích 1 xung có mức tích cực dương vào
khoảng 1s, lúc này đèn status sẽ sáng, sau đó chớp nháy với tần suất nhanh báo hiệu SIM900 đang khởi động và tìm mạng. Sau 10s sau Led Status nhấp nháy chậm báo hiệu SIM900 đã hoạt động bình thường
- Chân 2: Request to send
- Chân 3: đầu ra dùng để chỉ báo mạng kết nối được hệ thống.
- Chân 4: Clear to send.
- Chân 5: đầu vào pin dự phòng cho module.
- Chân 6: Data carrier detection.
- Chân 7:Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
- Chân 8: Ring chân ra loa báo hiệu có cuộc gọi đến.
- Chân 9, 11: Chân loa nghe cuộc thoại
- Chân 13, 15: Chân MIC.
- Chân 10: Chân đầu cuối dữ liệu.
- Chân 12: chân truyền dữ liệu.
- Chân 14: Chân nhận dữ liệu.
- Chân 16: Chân RESET SIM900
- Chân 17, 19: Chân nguồn cấp cho sim hoạt động.
- Chân 18, 20: Chân max.
d. Kết nối và sử dụng trong mô hình
Module sim truyền phát dữ liệu không dây được kết nối với module nhận dữ liệu Arduino qua giao thức RS232. Module này tương đối nhỏ gọn, sử dụng SIM điện thoại để kết nối với mạng GSM, đồng thời được điều khiển thông qua tập lệnh AT Comand. Cú pháp câu lệnh sẽ được gửi từ mạch arduino sang module sim để
Với ứng dụng thu thập giám sát điện năng này, module sim đóng vai trò là phương tiện truyền dẫn dữ liệu từ client lên webserver. Khi cần gửi dữ liệu lên server, module sim sẽ thiết lập một kết nối GPRS với server, và truyền dữ liệu lên server qua giao thức TCP/IP.
Đồng thời module sim còn có tính năng nhận dữ liệu từ server gửi về cũng qua kết nối GPRS. Dữ liệu nhận được sẽ được tự động gửi đến mạch xử lý qua giao thức RS232 để mạch này thu thập và xử lý thông tin.
Như vậy việc sử dụng module sim này có thể thay thế hoàn toàn cho phương pháp truyền dữ liệu hữu tuyến truyền thống. Chi phí thấp, dễ cài lắp đặt, không tốn đầu tư cơ sở hạ tầng mà vẫn đảm bảo được chức năng truyền nhận dữ liệu thông suốt.