Luận văn: Nghiên cứu, lắp đặt mô hình thu thập dữ liệu điện năng bằng Arduino

Khám phá luận văn về mô hình thu thập dữ liệu điện năng ứng dụng Arduino và đồng hồ EM368-C, từ cơ sở lý thuyết đến thi công và phân tích kết quả.

Người đăng

Ẩn danh

Thể loại

Luận văn tốt nghiệp

2021

64
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám Phá Mô Hình Giám Sát Điện Năng Arduino và EM368 C

Trong bối cảnh cuộc cách mạng công nghiệp 4.0, việc tự động hóa và thu thập dữ liệu từ xa trở thành một yêu cầu thiết yếu. Mô hình giám sát điện năng bằng Arduino và EM368-C ra đời như một giải pháp đột phá, giải quyết bài toán kiểm toán năng lượng một cách hiệu quả. Hệ thống này cho phép thu thập các thông số điện năng tiêu thụ từ đồng hồ điện tử chuyên dụng và truyền dữ liệu về một máy chủ trung tâm để theo dõi trực tuyến. Nền tảng của mô hình là sự kết hợp giữa vi điều khiển Arduino, một nền tảng mã nguồn mở mạnh mẽ, và đồng hồ đo điện năng Selec EM368-C, một thiết bị đo lường chính xác thường dùng trong công nghiệp. Dữ liệu được truyền tải thông qua công nghệ GPRS, giúp hệ thống hoạt động độc lập mà không cần mạng Wi-Fi cố định. Nghiên cứu này tập trung vào việc thiết kế và thi công một hệ thống giám sát điện năng hoàn chỉnh, từ phần cứng đến phần mềm, nhằm mục đích tối ưu hóa việc quản lý năng lượng, giảm thiểu chi phí nhân công và tăng độ chính xác trong việc ghi nhận dữ liệu. Giải pháp này không chỉ là một đồ án Arduino mang tính học thuật mà còn có ý nghĩa thực tiễn cao, có thể ứng dụng rộng rãi trong các khu dân cư, nhà máy, xí nghiệp để xây dựng một smart home hoặc hệ thống quản lý năng lượng thông minh.

1.1. Tổng quan về hệ thống giám sát năng lượng IoT

Một hệ thống giám sát năng lượng IoT là một mạng lưới các thiết bị vật lý được kết nối với nhau, bao gồm cảm biến, bộ vi xử lý và phần mềm, cho phép thu thập và trao đổi dữ liệu về việc tiêu thụ điện. Mục tiêu chính là cung cấp thông tin chi tiết, theo thời gian thực về lượng điện năng sử dụng tại các điểm khác nhau. Trong mô hình này, đồng hồ EM368-C đóng vai trò là thiết bị đo lường đầu cuối. Arduino Mega 2560 là bộ não trung tâm, xử lý tín hiệu. Module SIM800A sử dụng GPRS để kết nối Internet. Dữ liệu sau đó được đẩy lên một web server, nơi người dùng có thể truy cập thông qua giao diện web để xem báo cáo, biểu đồ và thực hiện phân tích. Đây là một ví dụ điển hình của hệ thống nhúng ứng dụng trong lĩnh vực năng lượng.

1.2. Vai trò của Arduino và công tơ điện tử EM368 C

Arduino, cụ thể là dòng Mega 2560, được chọn làm vi điều khiển chính nhờ số lượng chân I/O dồi dào, bộ nhớ lớn và cộng đồng hỗ trợ mạnh mẽ. Việc lập trình Arduino dựa trên ngôn ngữ C/C++, rất quen thuộc và dễ tiếp cận, cho phép tùy biến và mở rộng chức năng hệ thống một cách linh hoạt. Trong khi đó, công tơ điện tử DIY sử dụng đồng hồ Selec EM368-C làm thiết bị đo lường cốt lõi. Đồng hồ này có khả năng đo lường đa dạng thông số như công suất tác dụng (kW), điện năng tiêu thụ (kWh), hệ số công suất... và quan trọng nhất là hỗ trợ giao tiếp RS485 qua giao thức Modbus RTU. Sự kết hợp này tạo nên một giải pháp thu thập dữ liệu tin cậy và chính xác, là nền tảng cho việc phân tích và tiết kiệm năng lượng.

II. Thách Thức Trong Việc Đo Công Suất Tiêu Thụ Thủ Công

Phương pháp giám sát và thu thập dữ liệu điện năng truyền thống đang bộc lộ nhiều hạn chế lớn, không còn phù hợp với yêu cầu quản lý hiện đại. Việc ghi chép chỉ số từ các đồng hồ cơ học bởi nhân viên không chỉ tốn thời gian, chi phí nhân công mà còn tiềm ẩn nguy cơ sai sót cao do yếu tố con người. Quá trình nhập liệu thủ công vào các file báo cáo như Excel cũng dễ gây ra nhầm lẫn, làm giảm độ tin cậy của toàn bộ hệ thống dữ liệu. Hơn nữa, phương pháp này không thể cung cấp dữ liệu theo thời gian thực. Người quản lý không thể theo dõi biến động phụ tải tức thời, không thể phát hiện các sự cố bất thường như quá tải hay rò rỉ điện một cách nhanh chóng. Việc thiếu dữ liệu liên tục gây khó khăn cho việc phân tích và đưa ra các quyết định đầu tư thiết bị hay các giải pháp tiết kiệm năng lượng một cách khoa học. Theo tài liệu nghiên cứu, "việc theo dõi và thu thập các thông số đo đạt từ các đồng hồ đo điện năng thì được theo dõi một cách thủ công, mất nhiều thời gian để thu thập dữ liệu, số liệu thì còn chưa được chính xác tuyệt đối." Đây chính là động lực để phát triển một hệ thống giám sát điện năng tự động, khắc phục triệt để những nhược điểm cố hữu của phương pháp truyền thống.

2.1. Sai số và độ trễ trong việc thu thập dữ liệu

Việc ghi chép thủ công luôn có một độ trễ nhất định giữa thời điểm tiêu thụ và thời điểm dữ liệu được ghi nhận, xử lý. Dữ liệu thường được thu thập theo chu kỳ hàng tháng, không thể phản ánh được các đỉnh phụ tải xảy ra trong ngày hoặc trong tuần. Sai số có thể đến từ việc đọc nhầm chỉ số trên đồng hồ, ghi chép sai, hoặc lỗi trong quá trình tổng hợp báo cáo. Những sai sót này, dù nhỏ, có thể dẫn đến việc tính toán hóa đơn không chính xác và làm sai lệch bức tranh tổng thể về việc sử dụng năng lượng của một cơ sở.

2.2. Nhu cầu cấp thiết về một giải pháp giám sát tự động

Để quản lý năng lượng hiệu quả, các doanh nghiệp và hộ gia đình cần một giải pháp cho phép đo công suất tiêu thụ liên tục và chính xác. Một hệ thống tự động không chỉ loại bỏ sai sót của con người mà còn cung cấp dữ liệu tức thì, giúp phát hiện sớm các thiết bị tiêu thụ điện bất thường. Dữ liệu này là cơ sở quan trọng để xây dựng các kịch bản sử dụng điện thông minh, lên kế hoạch bảo trì thiết bị và tối ưu hóa chi phí vận hành, hướng tới mục tiêu phát triển bền vững.

III. Hướng Dẫn Xây Dựng Mạch Đo Điện Năng Arduino Chi Tiết

Việc xây dựng phần cứng cho mô hình giám sát điện năng bằng Arduino và EM368-C là bước nền tảng quyết định sự ổn định và chính xác của hệ thống. Nguyên lý hoạt động cốt lõi là vi điều khiển Arduino đóng vai trò là Master, gửi yêu cầu đọc dữ liệu đến các đồng hồ EM368-C (đóng vai trò Slave) thông qua bus giao tiếp RS485. Mỗi đồng hồ được gán một địa chỉ ID Modbus duy nhất để phân biệt. Dữ liệu nhận về từ đồng hồ sẽ được Arduino xử lý và sau đó gửi lên web server thông qua module SIM800A bằng kết nối GPRS. Một màn hình hiển thị LCD 16x2 được tích hợp để hiển thị trạng thái hoạt động của hệ thống tại chỗ. Sơ đồ khối của hệ thống bao gồm: Khối đo lường (Đồng hồ EM368-C), Khối xử lý trung tâm (Arduino Mega 2560), Khối giao tiếp (Module chuyển đổi RS485 sang TTL, Module SIM800A), và Khối hiển thị (LCD). Việc lựa chọn linh kiện chất lượng và thiết kế mạch đo điện năng một cách cẩn thận là yếu tố then chốt. Đặc biệt, việc kết nối và xử lý tín hiệu từ module đo điện năng EM368-C yêu cầu sự hiểu biết về chuẩn giao tiếp RS485 và giao thức Modbus RTU.

3.1. Lựa chọn linh kiện và thiết bị phần cứng cần thiết

Thành phần chính của hệ thống bao gồm: Arduino Mega 2560, đồng hồ Selec EM368-C, biến dòng 75/5A, module SIM800A, module chuyển đổi TTL sang RS485 sử dụng IC MAX485, và màn hình LCD 16x2. Arduino Mega được chọn vì có nhiều cổng Serial phần cứng, cho phép giao tiếp đồng thời với module SIM và bus RS485 mà không cần dùng đến Serial mềm. Đồng hồ EM368-C là trái tim của việc đo lường, cung cấp các thông số điện chính xác. Module SIM800A là cầu nối để đưa hệ thống lên môi trường IoT, cho phép giám sát từ bất kỳ đâu có sóng di động.

3.2. Sơ đồ kết nối giữa Arduino RS485 và module SIM

Việc kết nối các module đòi hỏi sự chính xác. Module TTL sang RS485 được kết nối với một trong các cổng Serial của Arduino (ví dụ Serial1: chân TX1, RX1). Các chân A và B của module sẽ được nối với các chân tương ứng trên đồng hồ EM368-C. Module SIM800A được kết nối với một cổng Serial khác (ví dụ Serial2: chân TX2, RX2) để gửi và nhận các lệnh AT điều khiển việc truyền dữ liệu GPRS. Màn hình LCD được kết nối qua giao tiếp SPI/I2C để tiết kiệm chân cho vi điều khiển. Nguồn cung cấp cho các module phải được đảm bảo ổn định để hệ thống hoạt động tin cậy.

IV. Phương Pháp Lập Trình Arduino và Thiết Kế Web Server

Phần mềm là linh hồn của hệ thống giám sát điện năng, quyết định khả năng thu thập, xử lý và hiển thị dữ liệu. Quá trình phát triển phần mềm bao gồm hai phần chính: lập trình Arduino để điều khiển phần cứng và thiết kế web server để quản lý và trực quan hóa dữ liệu. Đối với Arduino, chương trình được viết bằng Arduino IDE, sử dụng ngôn ngữ C/C++. Lưu đồ giải thuật chính bao gồm các bước: khởi tạo các thư viện và biến, thiết lập kết nối GPRS, vào vòng lặp chính để định kỳ đọc dữ liệu từ đồng hồ EM368-C thông qua giao thức Modbus RTU, xử lý chuỗi dữ liệu nhận được, và cuối cùng là gửi dữ liệu đã xử lý lên cơ sở dữ liệu trên web server. Việc sử dụng các thư viện có sẵn giúp đơn giản hóa quá trình lập trình, đặc biệt là thư viện EM368-C hoặc các thư viện Modbus Master chung. Về phía web server, cần xây dựng một cơ sở dữ liệu (ví dụ MySQL) để lưu trữ các thông số điện năng theo thời gian. Giao diện người dùng được thiết kế bằng HTML, CSS và PHP để truy vấn dữ liệu từ cơ sở dữ liệu và hiển thị dưới dạng bảng, biểu đồ trực quan, giúp người dùng dễ dàng theo dõi và phân tích.

4.1. Xây dựng code Arduino đo điện năng qua Modbus RTU

Phần code Arduino đo điện năng tập trung vào việc triển khai giao thức Modbus RTU. Arduino sẽ đóng vai trò là Master. Chương trình sẽ tạo một khung tin nhắn truy vấn (query message) bao gồm địa chỉ Slave (ID của đồng hồ), mã hàm (ví dụ: 0x03 để đọc thanh ghi), địa chỉ thanh ghi bắt đầu và số lượng thanh ghi cần đọc. Khung tin này được gửi qua cổng Serial đến module RS485. Sau đó, chương trình sẽ chờ đợi và đọc khung tin nhắn phản hồi (response message) từ đồng hồ. Dữ liệu trong phản hồi sẽ được bóc tách để lấy các giá trị như điện áp, dòng điện, công suất và năng lượng tiêu thụ.

4.2. Thiết kế cơ sở dữ liệu và giao diện web giám sát

Cơ sở dữ liệu được thiết kế với các bảng để lưu thông tin đồng hồ và các bản ghi dữ liệu theo thời gian. Mỗi bản ghi sẽ chứa ID đồng hồ, các thông số đo được và dấu thời gian (timestamp). Giao diện web được lập trình để thực hiện các chức năng: hiển thị danh sách các đồng hồ, xem chi tiết thông số của từng đồng hồ theo thời gian thực, vẽ đồ thị biến động phụ tải và xuất dữ liệu ra file Excel. Việc tích hợp các nền tảng IoT như ThingSpeak hay Blynk App cũng là một hướng đi để đơn giản hóa việc xây dựng giao diện và lưu trữ dữ liệu.

V. Kết Quả Thực Nghiệm Của Mô Hình Giám Sát Điện Năng

Sau khi hoàn thiện việc lắp đặt và lập trình, mô hình đã được đưa vào chạy thử nghiệm để đánh giá hiệu suất và độ tin cậy. Kết quả cho thấy hệ thống giám sát điện năng hoạt động ổn định, dữ liệu từ đồng hồ EM368-C được đọc và cập nhật lên web server một cách chính xác và kịp thời. Giao diện web cho phép người dùng theo dõi các thông số điện năng của từng đồng hồ một cách trực quan. Một trong những tính năng hữu ích được triển khai thành công là khả năng xuất dữ liệu ra file Excel. Điều này cho phép người quản lý dễ dàng lưu trữ, tạo báo cáo và thực hiện các phân tích sâu hơn về xu hướng tiêu thụ năng lượng. Nghiên cứu cũng tiến hành phân tích các yếu tố quan trọng về hiệu năng. Theo kết quả trong tài liệu gốc, "thời gian đo thông số và đưa dữ liệu lên web và app <15s" và "độ chính xác đo thông số, gửi về trung tâm và đưa lên web >95%", cho thấy hệ thống đáp ứng tốt các yêu cầu về mặt thời gian thực và độ tin cậy. Việc phân tích và đánh giá kết quả thực nghiệm là bước quan trọng để khẳng định tính khả thi và hiệu quả của mô hình giám sát điện năng bằng Arduino và EM368-C.

5.1. Phân tích giao diện web và khả năng xuất dữ liệu

Giao diện web được thiết kế đơn giản, thân thiện với người dùng, hiển thị rõ ràng các thông số quan trọng như điện năng tiêu thụ (kWh), công suất tức thời (kW), điện áp (V), dòng điện (A) và hệ số công suất. Người dùng có thể chọn xem dữ liệu của một đồng hồ cụ thể và theo dõi biểu đồ phụ tải theo ngày, tuần hoặc tháng. Chức năng xuất dữ liệu ra Excel giúp tích hợp kết quả vào các hệ thống báo cáo quản trị năng lượng hiện có của doanh nghiệp, tăng cường tính linh hoạt và khả năng phân tích chuyên sâu.

5.2. Đánh giá độ trễ và mức tiêu thụ dung lượng GPRS

Một yếu tố quan trọng đối với các hệ thống IoT di động là độ trễ truyền tin và chi phí dữ liệu. Phân tích thực nghiệm cho thấy thời gian trung bình để một gói tin dữ liệu được gửi từ Arduino lên web server qua mạng GPRS là chấp nhận được cho các ứng dụng giám sát không yêu cầu độ trễ cực thấp. Mức độ tiêu thụ dung lượng GPRS được tối ưu hóa bằng cách chỉ gửi các dữ liệu cần thiết theo một tần suất hợp lý (ví dụ: 5-10 phút một lần), giúp kiểm soát chi phí vận hành hàng tháng cho SIM dữ liệu. Các kết quả này chứng minh tính kinh tế và hiệu quả của giải pháp.

VI. Tương Lai và Hướng Phát Triển Cho Công Tơ Điện Tử DIY

Mặc dù mô hình giám sát điện năng bằng Arduino và EM368-C đã đạt được những kết quả tích cực, vẫn còn nhiều tiềm năng để cải tiến và phát triển trong tương lai. Hướng phát triển đầu tiên là tối ưu hóa phần cứng và phần mềm. Có thể thay thế Arduino Mega và module SIM rời bằng các bo mạch tích hợp sẵn Wi-Fi/GPRS như ESP8266/ESP32 IoT. Các bo mạch này không chỉ nhỏ gọn, tiết kiệm điện năng hơn mà còn có hiệu năng xử lý mạnh mẽ, phù hợp cho việc mở rộng hệ thống với nhiều đồng hồ hơn. Một hướng phát triển quan trọng khác là tích hợp thêm các tính năng điều khiển. Hệ thống không chỉ giám sát mà còn có thể tự động đóng/cắt các thiết bị không cần thiết khi phát hiện phụ tải tăng cao đột ngột hoặc trong giờ cao điểm, góp phần tích cực vào việc tiết kiệm năng lượng. Việc tích hợp vào các hệ sinh thái smart home lớn hơn như Google Home hay Amazon Alexa cũng sẽ nâng cao trải nghiệm người dùng. Tương lai của các công tơ điện tử DIY nằm ở khả năng tích hợp sâu hơn, thông minh hơn và dễ tiếp cận hơn với người dùng phổ thông.

6.1. Hạn chế của mô hình và các giải pháp khắc phục

Một số hạn chế của mô hình hiện tại bao gồm việc phụ thuộc vào chất lượng sóng GPRS, có thể gây gián đoạn dữ liệu ở những khu vực sóng yếu. Giải pháp là thiết kế bộ đệm lưu trữ dữ liệu trên Arduino, tự động gửi lại khi có kết nối. Ngoài ra, giao diện web hiện tại còn ở mức cơ bản. Việc phát triển một ứng dụng di động chuyên nghiệp sử dụng các nền tảng như Blynk App sẽ giúp người dùng tiện lợi hơn trong việc theo dõi và nhận cảnh báo. Vấn đề bảo mật truyền tin cũng cần được chú trọng hơn bằng cách mã hóa dữ liệu trước khi gửi.

6.2. Mở rộng ứng dụng cho Smart Home và quản lý năng lượng

Tiềm năng ứng dụng của mô hình là rất lớn. Trong lĩnh vực smart home, dữ liệu tiêu thụ điện có thể được dùng để xây dựng các kịch bản tự động hóa thông minh. Ví dụ, tự động giảm công suất điều hòa khi không có người trong phòng. Trong công nghiệp, việc phân tích dữ liệu từ nhiều đồng hồ giúp xác định các máy móc, dây chuyền tiêu tốn nhiều năng lượng nhất, từ đó đưa ra quyết định đầu tư, thay thế thiết bị hiệu quả hơn. Mô hình này là một bước đệm quan trọng để xây dựng các giải pháp quản lý năng lượng toàn diện và thông minh hơn trong tương lai.

04/10/2025

Trích đoạn nội dung tài liệu

Chương 1: TỔNG QUAN Hình 1.Tổng quan về mô hình Có ưu điểm sau: - Giảm thời gian, chi phí nhân công để ghi lại dữ liệu từ các đồng hồ cơ. - Giảm được sơ sót trong quá trình thu thập dữ liệu bằng tay, tăng độ chính xác trong đo lường. - Kiểm soát dữ liệu điện năng liên tục tại bất kỳ nơi đâu. - Theo dõi toàn tải của nhà xưởng, hữu ích cho việc lên kế hoạch tiết kiệm.

Một số ứng dụng của mô hình Mô hình có thể được ứng dụng cho những nơi có tập trung nhiều đồng hồ điện năng để thu thập như khu dân cư, nhà máy sản xuất,. SVTH: Nguyễn Tấn Phát 10 Chương 1: TỔNG QUAN Hình 1. Tủ điện chứa nhiều công tơ 1. Bố cục đề tài Đề tài “nghiên cứu, lắp đặt mô hình thu thập dữ liệu điện năng ứng dụng arduino và đồng hồ EM368-C” bao gồm các chương sau: Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Thi công lắp ráp mô hình Chương 4: Kết luận và hướng phát triển SVTH: Nguyễn Tấn Phát 11 Chương 2: CƠ SỞ LÍ THUYẾT CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2.

Khái niệm Arduino là một mạch vi xử lý dùng để tương tác lập trình với các linh kiện điện tử, phần cứng như động cơ, đèn, cảm biến,. Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng dễ dàng, dễ sử dụng. Mạch dùng ngôn ngữ lập trình C nên rất gần gũi với sinh viên, có thể nhanh chóng nắm bắt và lập trình ứng dụng. Là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứng dụng điện tử, Arduino gồm có board mạch có thể lập trình được (thường gọi là vi điều khiển) và các phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development Environment) dùng để soạn thảo, biên dịch code và nạp chương trình cho vi điều khiển.

Arduino trong thực tế 2. Lịch sử hình thành Arduino Arduino được ra đời tại thị trấn Ivrea, nước Y và được đặt tên theo tên của một vị vua và thế kỷ 19 là King Arduin. Arduino được chính thức giới thiệu vào năm 2005 như là một công cụ cho sinh viên học tập của giáo sư Massimo Banzi, một trong những người phát triển Arduini tại trường Interaction Design Instisture Ivrea (IDII). SVTH: Nguyễn Tấn Phát 12 Chương 2: CƠ SỞ LÍ THUYẾT 2.1 Các dòng Arduino hiện nay Hình 2.

Arduino Uno và Arduino Yun Hình 2. Arduino Tre và Arduino Robot Hình 2. Arduino Due và Arduino Mega SVTH: Nguyễn Tấn Phát 13 Chương 2: CƠ SỞ LÍ THUYẾT Hình 2. Arduino Leonado và Arduino Redboard Về mặt chức năng, các board Arduino được chia làm hai loại: loại mạch chính có IC Atmega và loại mở rộng thêm chức năng cho bo mạch chính (thường được gọi là shield).

Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth. Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho mạch chính ví dụ như kết nối Ethernet, Wireless,.2 Arduino Mega 2560 Hình 2. Arduino Mega 2560 SVTH: Nguyễn Tấn Phát 14 Chương 2: CƠ SỞ LÍ THUYẾT Bảng 2.

Đặc điểm kỹ thuật Arduino Mega 2560 Arduino Mega2560 Thông số kỹ thuật Vi điều khiển chính Atmega2560 IC nạp và giao tiếp UART Atmega16U2 Nguồn nuôi mạch 5VDC từ cổng USB hoặc jack tròn DC Dòng tiêu thụ I/O 20mA Số chân Digital I/O 54 Số chân Analog 16 Bộ nhớ EEPROM 4 KB 256 KB trong đó có 8KB dùng Bộ nhớ Flash Bootloader Điện áp ngõ ra 7-12VDC Kích thước mạch 101.3 mm Dòng tiêu thụ 50mA SRAM 8KB Ngõ ra PWM 15 Clock Speek 16 MHz Bảng 2. Chức năng của các chân STT Tên chân Kiểu Chức năng 1 3.3V Nguồn Cho ra điện áp DC 3.3V 2 5v Nguồn Cho ra điện áp DC 3.3V 3 GND Nguồn Nối mass 4 A0 đến A15 I/O Ngõ vào tín hiệu tương tự 5 D0 đến D53 I/O Ngõ vào ra tín hiệu số SVTH: Nguyễn Tấn Phát 15 Chương 2: CƠ SỞ LÍ THUYẾT 6 2-13 và 44,45,46 I/O PWM 7 2 Ngắt Ngắt 0 8 3 Ngắt Ngắt 1 9 21 Ngắt Ngắt 2 10 20 Ngắt Ngắt 3 11 19 Ngắt Ngắt 4 12 18 Ngắt Ngắt 5 13 0 Serial 0 Chân RX 14 1 Serial 0 Chân TX 15 18 Serial 1 Chân TX1 16 19 Serial 1 Chân RX1 17 16 Serial 2 Chân TX2 18 17 Serial 2 Chân RX2 19 14 Serial 3 Chân TX3 20 15 Serial 3 Chân RX3 Bảng 2. Chân ICSP Tên chân ICSP Kiểu Chức năng MISO I/O Master in, slave out VCC Đầu ra Cấp nguồn SCK Đầu ra Tao xung MOSI I/O Master out Slave in RST Đầu vào Reset GND Nguồn Nối đất - Các chân tín hiệu số: Arduino Mega 2560 có 54 ngõ vào/ra tín hiệu số. Các chân làm việc với điện áp tối đa là 5V.

Mỗi chân có thể cung cấp hoặc nhận dòng điện 20 mA và có điện trở kéo lên khoảng 20-50 kΩ. Các chân có thể được sử dụng làm đầu vào hoặc đầu ra, sử dụng các hàm pinMode(), digitalWrite() và digitalRead(). SVTH: Nguyễn Tấn Phát 16 Chương 2: CƠ SỞ LÍ THUYẾT - Các chân giao tiếp UART: Các bộ giao tiếp chân nhận RX và truyền TX này được sử dụng để truyền dữ liệu nối tiếp TTL. Các chân RX và TX được kết nối với các chân tương ứng của IC nối tiếp USB với TTL.

- Các chân PWM: Mỗi chân này cung cấp tín hiệu điều chế độ rộng xung 8 bit. Tín hiệu PWM có thể được tạo ra bằng cách sử dụng hàm analogWrite(). - Các chân ngắt: Khi chúng ta cần cung cấp một ngắt ngoài cho bộ xử lý hoặc bộ điều khiển khác thì ta có thể sử dụng chân này. Các chân này có thể sử dụng để cho phép ngắt INT0 và INT1 tương ứng bằng cách sử dụng hàm attachInterrup().

- Các chân giao tiếp SPI: Khi không muốn dữ liệu được truyền đi không đồng bộ, có thể sử dụng các chân ngoại vi nối tiếp này. Các chân này hỗ trợ giao tiếp đồng bộ với SCK. Mặc dù phần cứng có tính năng này nhưng phần mềm Arduino không có. Vì vậy, phải sử dụng thư viện SPI.

- Các chân ngõ vào/ra tương tự: Arduino Mega có 16 đầu vào tương tự, được đánh dấu A0 đến A15. Điều này có nghĩa là có thể kết nối 16 kênh đâu vào tương tự để xử lý. Mỗi chân tương tự này có một ADC có độ phân giải 1024 bit (do đó nó sẽ cho giá trị 1024). - Các chân giao tiếp I2C: Khi giao tiếp SPI cũng có những nhược điểm của nó như cần 4 chân và giới hạn trong một thiết bị.

Đối với truyền thông đường dài, cần sử dụng giao thức I2C. Giao thức này hoạt động chỉ với hai dây. Một cho xung (SCL) và một cho dữ liệu (SDA). Để sử dụng tính năng I2C này, chúng ta cần phải nhập một thư viện có tên là thư viện Wire.

- Chân AREF: Điện áp tham chiếu cho đầu vào dùng cho việc chuyển đổi ADC. - Chân RESET: Đây là chân reset mạch khi chúng ta nhấn nút trên board. SVTH: Nguyễn Tấn Phát 17 Chương 2: CƠ SỞ LÍ THUYẾT 2. Phần mềm Arduino IDE 2.1 Phần mềm viết và biên dịch chương trình IDE Hình 2.

Phần mềm Arduino IDE Aruino sử dụng phần mềm Arduino IDE để lập trình, ngôn ngữ lập trình dựa vào nền tảng ngôn ngữ C. Ngoài ra chương trình còn biên dịch và nạp chương trình vào board. Muốn cho mạch Arduino hoạt động thì ta cần phải viết chương trình rồi nạp vào Arduino thông qua cáp USB. Arduino lập trình trên nền tảng C và C++ nên rất quen thuộc đối với sinh viên kỹ thuật.

Và quan trong hơn là số lượng code thư viện được viết sẵn và chia sẻ rộng rãi miễn phí trên cộng đồng Arduino thế giới và Việt Nam (nguồn mở). SVTH: Nguyễn Tấn Phát 18 Chương 2: CƠ SỞ LÍ THUYẾT Hình 2. Màn hình làm việc của Arduini IDE Arduino IDE là phần mềm dùng để lập trình cho Arduino hoàn toàn miễn phí. Phần mềm này chạy trên hầu hết các hệ điều hành máy tính hiện nay nên rất dễ dàng sử dụng.

Ngôn ngữ lập trình cho Arduino có thể được mở rộng thông qua thư viện C. Và do ngôn ngữ lập trình này dựa trên nền tản của ngôn ngữ của AVR nên ta có thể thêm code viết bằng AVR vào chương trình. Phần mềm Arduino IDE có thể tải từ trang chủ của Arduino http://arduino. SVTH: Nguyễn Tấn Phát 19 Chương 2: CƠ SỞ LÍ THUYẾT Hình 2.

Chọn board và nạp chương trình 2. Cấu trúc chương trình Một chương trình Arduini cần tối thiểu hai phần là Void setup và Void loop: Void setup() { } Void loop() { } 2. Đồng hồ điện tử SELEC EM368-C SVTH: Nguyễn Tấn Phát 20 Chương 2: CƠ SỞ LÍ THUYẾT Hình 2. Đồng hồ đo năng lượng Selec EM368-C Đồng hồ Selec EM368-C có các tính năng: đo công suất tác dụng (active power kW), điện năng tác dụng (active energy kWh), công suất phản kháng (reactive energy kVAR), điện năng phản kháng (kVARh), điện năng biểu kiến (kVAh), hệ số công suất, có khả năng lập trình hệ số biến dòng (CT), hệ số biến áp (PT), truyền thông RS485,.

Thông số kỹ thuật: - Hiển thị 8 số LCD. - Ngõ vào 3 pha 4 dây và 1 pha 2 dây. - Giám sát hệ số công suất 3 pha. - Giám sát điện năng (Tác dụng, Phản kháng, biểu kiến).

- Lập trình được tỉ số biến dòng, tỉ số biến áp. - Truyền thông RS485. - Chức năng xuất xung. - Đồng hồ này sử dụng kèm với 3 biến dòng đo lường và biến áp đo lường.

Sơ đồ chân đồng hồ EM368-C - Sử dụng giao tiếp RS485 (MODBUS Protocol). Giao tiếp RS485 có 2 ngõ (+) và (-). Để giao tiếp giữa Arduino và EM368-C cần có IC trung gian là IC MAX485. SVTH: Nguyễn Tấn Phát 21 Chương 2: CƠ SỞ LÍ THUYẾT Bảng 2.

Địa chỉ thanh ghi vùng nhớ giao thức Modbus của EM368C Hex Length Data Address Parameter Address (Register) Structure 30000 0x00 Active Energy 2 Float 30002 0x02 Apparent Energy 2 Float 30004 0x04 Reactive Energy 2 Float 30006 0x06 Power Factor Phase 1 2 Float 30008 0x08 Power Factor Phase 2 2 Float 30010 0x0A Power Factor Phase 3 2 Float 30012 0x0C Average PF 2 Float 30014 0x0E Total kW 2 Float 30016 0x10 Total kVAr 2 Float - Các kiểu nối dây cho đồng hồ: SVTH: Nguyễn Tấn Phát 22 Chương 2: CƠ SỞ LÍ THUYẾT Hình 2. Sơ đồ nối dây 1 pha – 2 dây Hình 2. Sơ đồ nối dây 2 pha – 3 dây Hình 2. Sơ đồ nối dây 3 pha – 3 dây SVTH: Nguyễn Tấn Phát 23 Chương 2: CƠ SỞ LÍ THUYẾT Hình 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ