Thiết kế bảng cơ sở dữ liệu

Một phần của tài liệu Ứng dụng công nghệ m2m phát triển hệ thống tự động hóa quá trình đo lường, thu thập số liệu và tính cước cho ngành điện (Trang 46)

4. Nội dung nghiên cứu

2.4.Thiết kế bảng cơ sở dữ liệu

2.4.1. Bảng người dùng: user

Hình 2.4: Bảng người dùng

Hệ thống giám sát điện năng

Thu thập và xử

lý dữ liệu Gửi thông báo cước

Quản lý người dùng

Bảng này lưu trữ thông tin về UserName/Password của người dùng do người quản trị hệ thống cung cấp. Bao gồm các trường như sau:

- id: mã của người sử dụng, dạng text 10 ký tự.

- ten: tên đăng nhập hệ thống của người dùng, dạng text 15 ký tự.

- matkhau: mật khẩu sử dụng, dạng text 15 ký tự.

- ngaythang: Ngày bắt đầu đăng ký sử dụng hệ thống, dạng date

2.4.2. Bảng thông tin khách hàng: thong_tin_KH

Hình 2.5: Bảng thông tin khách hàng

Bảng này lưu trữ thông tin của khách hàng, bao gồm các trường: - id: mã của khách hàng sử dụng, dạng text 10 ký tự.

- hoten: Họ và tên của khách hàng, dạng text 50 ký tự.

- sdt: lưu trữ số điện thoại của khách hàng, dạng text 15 ký tự.

- diachi: lưu trữ thông tin về địa chỉ của khách hàng, dạng text 50 ký tự. Dưới đây là ví dụ về bảng lưu trữ thông tin khách hàng

Hình 2.6: Bảng danh sách khách hàng

2.4.3. Bảng tiêu thụ điện năng dien_nang

Bảng thông tin tiêu thụ điện năng hàng tháng của khách hàng bao gồm các trường sau:

- jan, feb, ..., dec: lưu trữ số lượng điện năng từ tháng 1 đến tháng 12 trong năm của khách hàng, dạng text 15 ký tự.

Hình 2.7: Bảng điện năng

Dưới đây là ví dụ về bảng thông tin sử dụng điện năng của các khách hàng theo các tháng từ tháng 1 đến tháng 12.

2.4.4. Bảng tiền điện sử dụng tien_dien

Hình 2.9: Bảng tiền điện

Bảng thông tin tiền điện năng hàng tháng của khách hàng bao gồm các trường sau:

- id: Mã của khách hàng, dạng text 10 ký tự.

- jan, feb, ..., dec: lưu trữ tiền điện khách hàng phải trả từ tháng 1 đến tháng 12 trong năm của khách hàng, dạng text 15 ký tự.

Dưới đây là ví dụ về bảng giá cước tiền điện hàng tháng của khách hàng

Hình 2.10: Bảng giá cước tiền điện hàng tháng

Việc xây dựng cơ sở dữ liệu khách hàng một cách khoa học sẽ tạo điều kiện thuận lợi cho việc quản lý khách hàng, thu thập dữ liệu và hiển thị các thông tin trên (adsbygoogle = window.adsbygoogle || []).push({});

Chương 3

XÂY DỰNG HỆ THỐNG

Dựa vào những phân tích cụ thể đã nêu ở phần chương 2, trong chương 3 này đi vào tập trung vào xây dựng hệ thống thực tế để mô phỏng cho các chức năng của một hệ thống M2M thu nhỏ. Chương này sẽ tập trung nghiên cứu, lắp ráp các thiết bị phần cứng và viết chương trình cho hệ thống đảm bảo các chức năng theo yêu cầu của một hệ thống M2M.

3.1. Xây dựng phần cứng

3.1.1. Công tơ điện tích hợp mạch đếm xung

Với việc chế tạo một mô hình M2M giám sát, thu thập điện năng. Lựa chọn công tơ điện một pha là loại cơ, có thông số là 900 vòng/1kWh. Tức là đĩa quay quay 900 vòng sẽ được một số điện. Đây là loại đồng hồ khá phổ biến trên thị trường hiện nay, giá thành hợp lý, độ nhạy và độ chính xác cao, dễ dàng quan sát. Tuy nhiên với việc sử dụng loại công tơ này sẽ gặp khó khăn trong việc lấy dữ liệu từ công tơ ra để đưa về bộ mạch xử lý tính toán. Hiện nay ngành điện lực cũng đã sản xuất ra loại công tơ điện tử khá tiện lợi cho việc đọc dữ liệu ra để xử lý, tuy nhiên loại công tơ này còn khá mới mẻ và chưa phổ biến trong việc sử dụng để đo đếm điện năng.

Để khắc phục những nhược điểm của công tơ cơ, tôi đã lợi dụng cơ cấu hoạt động của đĩa quay bên trong công tơ để đo đếm và đọc số liệu về mạch xử lý tín hiệu.

Hình 3.1: Công tơ điện một pha

Cụ thể là sử dụng thêm một mạch đếm xung có nhiệm vụ đếm số vòng quay của đĩa quay. Mạch đếm xung sử dụng cảm biến thu phát hồng ngoại gắn bên trong công tơ.

Mỗi khi đĩa quay của công tơ quay được 1 vòng thì mạch cảm biến sẽ tạo ra 1 xung tín hiệu và đưa về mạch thu thập dữ liệu.

Như vậy, khi nhận được 900 xung tức là công tơ đo được 1kWh (hay 1 số điện).

Với cách làm như vậy, chúng ta hoàn toàn có thể có được một bộ công tơ đo điện năng một pha đồng thời có thể lấy được tín hiệu điện về các mạch xử lý tín hiệu giống công tơ điện tử. Cách làm này vừa đơn giản, hiệu quả mà lại tiết kiệm được chi phí.

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 (adsbygoogle = window.adsbygoogle || []).push({});

Đầ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 (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

 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

Một phần của tài liệu Ứng dụng công nghệ m2m phát triển hệ thống tự động hóa quá trình đo lường, thu thập số liệu và tính cước cho ngành điện (Trang 46)