Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều Xây dựng csdl và giao diện giám sát hệ thống chuyển đổi điện 1 chiều sang xoay chiều
TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG KHOA TỰ ĐỘNG KHỐ BÁO CÁO MƠN HỌC ĐO LƯỜNG VÀ ĐIỀU KHIỂN MÁY TÍNH Đề tài: XÂY DỰNG CSDL VÀ GIAO DIỆN GIÁM SÁT HỆ THỐNG CHUYỂN ĐỔI ĐIỆN MỘT CHIỀU SANG XOAY CHIỀU Giáo viên hướng dẫn : Sinh viên thực : Lớp : ĐẶNG VĂN NGỌC HOÀNG DUY HƯNG PHẠM TẤN HẢI CNTĐH K17A Thái Nguyên MỤC LỤC DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU Chương 1: Cơ Sở Lý Thuyết .6 1.1Giới Thiệu Chung Về Hệ Thống 1.2 Các chuẩn sử dụng 1.2.1 Chuẩn RS232 .6 1.2.4 Chuẩn ADC 1.3 UART .11 1.3.1 Truyền thông nối tiếp song song 11 1.3.2 Sơ đồ khối UART .12 1.3.3 Truyền thông UART 13 1.3.4 Giao diện UART 14 1.3.5 Các ứng dụng UART 14 1.3.6 Ưu điểm nhược điểm UART 15 1.4 Ứng dụng sử dụng 15 1.4.1 Giới thiệu ngôn ngữ C# 15 1.4.2 Phần mềm hỗ trợ Arduino IDE: 22 Chương 2: Phân Tích Thiết Kế Hệ Thống .24 2.1 Chức hệ thống 24 2.2 Sơ đồ khối hệ thống 24 2.3 Các thiết bị sử dụng 24 2.3.1 Giới thiệu Arduino 24 2.3.2 Cảm biến dòng điện ACS712 29 2.3.3 Module đo điện AC PZEM-004T 31 2.3.4 Bộ kích điện 12v sang 220v 220w ly-220 33 2.3.5 Relay kênh 5V 34 2.4 Sơ đồ nguyên lý .35 2.5 Nguyên lý hoạt động .35 2.6 Sơ đồ mạch in 35 2.7 Lưu đồ thuật toán 36 Chương 3: Kếp Quả Và Đánh Giá 37 3.1 Xây dựng sở liệu .37 3.2 Xây dựng phần mềm 39 3.3 Kết hệ thống 41 Phụ lục 43 Code Arduino 43 Code Form 46 Code Class 51 DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU Đo lường việc xác định độ lớn khơng đại lượng vật lý mà cịn khái niệm so sánh với Đo lường cung cấp chuẩn mực độ lớn cho giao dịch đời sống Đo lường nói riêng, hay quan sát thí nghiệm nói chung, bước quan trọng nghiên cứu khoa học (khoa học tự nhiên khoa học xã hội) Trong vật lý công nghệ, đo lường thực cách so sánh đại lượng vật lý cần đo với đại lượng vật lý thể loại, điều kiện tiêu chuẩn (thường không thay đổi theo thời gian) gọi đơn vị đo Việc đo đem lại số thể mối liên hệ độ lớn đại lượng cần đo đơn vị đo Đồng thời, có thể, đo lường cho biết sai số số (sai số phép đo) Đo công suất giúp ta có thơng tin giá trị điện cách tương đối xác để từ lựa chọn thiết bị điện Đo công suất giúp ta lựa chọn tiết diện dây dẫn đảm bảo an toàn kỹ thuật, giúp tiết kiệm kinh tế Sau nhận đề tài: “xây dựng csdl giao diện giám sát hệ thống chuyển đổi điện chiều sang xoay chiều”, hướng dẫn trực tiếp thầy giáo Thạc sĩ Đặng Văn Ngọc với nỗ lực nhóm, chúng em hồn thành xong khối lượng kiến thức mà thầy hướng dẫn Trong trình làm đề tài chúng em tích lũy số kiến thức để nâng cao kiến thức cách chắn Tuy nhiên với thời gian kiến thức có hạn cho dù em cố gắng song khó tránh khỏi thiếu sót Chúng Em mong nhận góp ý thầy cô để báo cáo chúng em hoàn thiện Chúng em xin trân thành cảm ơn! Chương 1: Cơ Sở Lý Thuyết 1.1Giới Thiệu Chung Về Hệ Thống Hệ thống giám sát giúp theo dõi thay đổi bất thường biến động thông số hệ thống chuyển đổi điện gúp kỹ thuật viên đưa đánh biện pháp kỹ thuật để bảo trì sửa chữa hệ thống Hệ thống ngưng hoạt động nguồn cấp không đủ nguồn không đảm bảo Hệ thống giám sát chuyển đổi điện hữu ích phù hợp cho nhà máy lượng mặt trời, nguồn dự phịng hệ thống máy móc hay cho hộ gia đình dụng nguồn điện tích trữ dự phịng Hệ thống có sở liệu lưu trữ lại thông tin điện áp hệ thống hoạt động 1.2 Các chuẩn sử dụng 1.2.1 Chuẩn RS232 Vấn đề giao tiếp PC vi điều khiển quan trọng ứng dụng điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 kỹ thuật sử dụng rộng rãi để ghép nối thiết bị ngoại vi với máy tính Nó chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều thiết bị, chiều dài kết nối lớn cho phép để đảm bảo liệu 12.5 đến 25.4m, tốc độ 20kbit/s tốc độ 115kbit/s với số thiết bị đặc biệt Ý nghĩa chuẩn truyền thông nối tiếp nghĩa thời điểm có bit gửi dọc theo đường truyền Có hai phiên RS232 lưu hành thời gian tương đối dài RS232B RS232C Nhưng phiên RS232B cũ dùng cịn RS232C dùng tồn thường gọi tên ngẵn gọn chuẩn RS232 Các máy tính thường có cổng nối chuẩn RS232C gọi cổng Com Chúng dùng ghép nối cho chuột, moden, thiết bị đo lường Trên main máy tính có loại chân lại 25 chân tùy vào đời máy main máy tính Việc thiết kế giao tiếp với cổng RS232 tương đối dễ dàng, đặc biệt chọn chế độ hoạt động không đồng tốc độ truyền liệu thấp Ưu điểm giao diện nối tiếp RS232 Khả chống nhiễu cổng nối tiếp cao Thiết bị ngoại vi tháo lắp máy tính cấp điện Các mạch điện đơn giản nhận điện áp nguồn ni qua cơng nối tiếp Những đặc điểm cần lưu ý chuẩn RS232 Trong chuẩn RS232 có mức giới hạn (logic 1) +-12V Hiện cố định trở kháng tải phạm vi từ 3000 ôm 7000 ôm Mức logic có điện áp nằm khoảng -3V đến -12V, mức logic từ +-3V đến 12V Tốc độ truyền nhận liệu cực đại 100kbps (ngày lớn hơn) Các lối vào phải có điện dung nhỏ 2500pF Trở kháng tải phải lớn 3000Ώ phải nhỏ 7000Ώ Độ dài cáp nối máy tính thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m Các giá trị tốc độ truyền liệu chuẩn hay dùng: 9600, 19200, 28800, 38400, 56600, 115200 bps Các mức điện áp đường truyền RS232 sử dụng phương thức truyền thông không đối xứng, tức sử dụng tín hiệu điện áp chênh lệch dây dẫn đất Do từ đời mang vẻ lỗi thời chuẩn TTL, sử dụng mức điện áp tương thích TTL để mô tả mức logic Ngoài mức điện áp tiêu chuẩn cố định giá trị trở kháng tải đấu vào bus phận trở kháng phát Mức điện áp tiêu chuẩn RS232C (chuẩn thường dùng bây giờ) mô tả sau: Mức logic : +3V, +12V Mức logic : -12V, -3V Các mức điện áp phạm vi từ -3V đến 3V trạng thái chuyển tuyến Chính từ - 3V tới 3V phạm vi không định nghĩa, trường hợp thay đổi giá trị logic từ thấp lên cao từ cao xuống thấp, tín hiệu phải vượt qua quãng độ thời gian ngắn hợp lý Điều dẫn đến việc phải hạn chế điện dung thiết bị tham gia đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài dây dẫn Đa số hệ thống hỗ trợ với tốc độ 19,2 kBd Cổng RS232 PC Hầu hết máy tính cá nhân trang bị cổng Com hay cổng nối tiếp RS232 Số lượng cổng Com lên tới tùy loại main máy tính Khi cổng Com đánh dấu Com 1, Com 2, Com Trên có loại đầu nối sử dụng cho cổng nối tiếp RS232 loại chân (DB9) 25 chân (DB25) Tuy hai loại đầu nối có song song hai loại đầu nối phân biệt cổng đực (DB9) cổng (DB25) Quá trình truyền liệu Truyền liệu qua cổng nối tiếp RS232 thực không đồng Do nên thời điểm có bit truyền (1 kí tự) Bộ truyền gửi bit bắt đầu (bit start) để thơng báo cho nhận biết kí tự gửi đến lần truyền bit Bit ln bắt đầu mức Tiếp theo bit liệu (bits data) gửi dạng mã ASCII (có thể 5,6,7 hay 8bit liệu) Sau Parity bit (Kiểm tra bit chẵn, lẻ hay không) cuối bit dừng - bit stop 1, 1,5 hay 2bit dừng Tốc độ Baud Đây tham số đặc trưng RS232 Tham số đặc trưng cho trình truyền liệu qua cổng nối tiếp RS232 tốc độ truyền nhận liệu hay gọi tốc độ bit Tốc độ bit định nghĩa số bit truyền thời gian giây hay số bit truyền thời gian giây Tốc độ bit phải thiết lập bên phát bên nhận phải có tốc độ (Tốc độ vi điều khiển máy tính phải chung tốc độ truyền bit) Ngồi tốc độ bit cịn tham số để mơ tả tốc độ truyền tốc độ Baud Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa liệu sử dụng để diễn tả bit truyền cịn tốc độ bit phản ánh tốc độ thực tế mà bit truyền.Vì phần tử báo hiệu mã hóa bit nên hai tốc độ bit tốc độ Baud phải đồng Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200, …Trong thiết bị họ thường dùng tốc độ 19200 Khi sử dụng chuẩn nối tiếp RS232 yêu cầu sử dụng chuẩn thời gian chuyển mức logic không vượt 4% thời gian truyền bit Do vậy, tốc độ bit cao thời gian truyền 1bit nhỏ thời gian chuyển mức logic phải nhỏ Điều làm giới hạn tốc Baud khoảng cách truyền Bit chẵn lẻ hay Parity bit Đây bit kiểm tra lỗi đường truyền Thực chất trình kiểm tra lỗi truyền liệu bổ xung thêm liệu truyền để tìm sửa số lỗi q trình truyền Do chuẩn RS232 sử dụng kỹ thuật kiểm tra chẵn lẻ Một bit chẵn lẻ bổ sung vào liệu truyền thấy số lượng bit "1" gửi khung truyền chẵn hay lẻ Một Parity bit tìm số lẻ lỗi chả hạn 1, 3, 5, 7, Nếu bit chẵn mắc lỗi Parity bit trùng giá trị với trường hợp không mắc lỗi khơng phát lỗi Do kỹ thuật mã hóa lỗi khơng sử dụng trường hợp có khả vài bit bị mắc lỗi 1.2.4 Chuẩn ADC Bộ chuyển đổi ADC gì: Vi điều khiển có khả đọc tín hiệu nhị phân: nút bấm có nhấn hay khơng? Đây tín hiệu kỹ thuật số Khi vi điều khiển cấp nguồn từ vơn, hiểu vơn (0V) vôn (5V) Tuy nhiên, thực tế không đơn giản Nếu tín hiệu 2,72V sao? Đó hay 1? Chúng ta thường cần đo tín hiệu khác nhau; chúng gọi tín hiệu tương tự Cảm biến tương tự 5V xuất 0,01V 4,99V giá trị May mắn thay, gần tất vi điều khiển có thiết bị tích hợp cho phép chuyển đổi điện áp thành giá trị mà sử dụng chương trình để đưa định điều khiển Dưới số chủ đề khái niệm bạn muốn biết trước đọc hướng dẫn này: Điện áp, Dòng điện, Điện trở Analog vs Digital Bộ chuyển đổi ADC gì? Bộ chuyển đổi tương tự sang kỹ thuật số (ADC) tính hữu ích giúp chuyển đổi điện áp tương tự sang số kỹ thuật số Bằng cách chuyển đổi từ giá trị tương tự sang giá trị kỹ thuật số, bắt đầu sử dụng thiết bị điện tử để giao tiếp với giới tương tự xung quanh Hình 1.1 Chân Analong in Khơng phải chân vi điều khiển có khả thực chuyển đổi từ tương tự sang kỹ thuật số Trên board Arduino, chân có chữ ‘A’ phía trước (A0 đến A5) biết chân đọc điện áp tương tự ADC khác nhiều vi điều khiển ADC Arduino ADC 10bit có nghĩa có khả thực 1.024 (2 ^ 10) mức tương tự rời rạc Một số vi điều khiển có ADC 8bit (2 ^ = 256 mức rời rạc) số có ADC 16 bit (2 ^ 16 = 65,536 mức rời rạc) Cách thức hoạt động ADC phức tạp Nhưng kỹ thuật phổ biến sử dụng điện áp tương tự để sạc tụ điện bên sau đo thời gian phóng điện qua điện trở bên Bộ vi điều khiển giám sát số chu kỳ xung trôi qua trước tụ điện phóng điện Số chu kỳ số trả lại sau ADC hoàn tất Mối liên hệ giá trị ADC với điện áp – Bộ chuyển đổi ADC ADC thể giá trị tỷ lệ Điều có nghĩa ADC giả định 5V 1023 thứ nhỏ 5V có tỷ lệ 5V 1023 Chuyển đổi tương tự sang kỹ thuật số phụ thuộc vào điện áp hệ thống Vì chủ yếu sử dụng ADC 10bit Arduino giá trị điện áp 5V, chúng tơi đơn giản hóa phương trình chút: 10 Bước 2: Kéo thả toolbox đặt tên cho toolbox Hình 2.25 Kéo thả Label, Textnox, Button, DataGridView Bước 3: Liên kết với SCDL Chọn bindingSource/Add Project Data Source/DataBase/Next/Dataset/Next Hình 2.26 BingdingSource properties 42 Chọn New Connection/chọn Server name/chọn database name Hình 2.27 Kết nối CSDL Sau nhấn NEXT tích tồn object cuảng Database Hình 2.28 Liên kết dataGridView với bảng 43 Chương 3: Kếp Quả Và Đánh Giá 3.1 Kết hệ thống Hình ảnh sản phẩm Hình 3.13 Hình ảnh thực tế Giao diện giám sát Hình 3.13 Giao diện giám sát hệ thống 44 Hình 3.14 Dữ liệu nhận Dữ liệu lưu vào sql Hình 3.15 Dữ liệu SQL 3.2 Đánh giá Ưu điểm Hệ thống hoạt động ổn định Độ xác đo cảm biến tốt Giao diện dễ sử dụng Nhược điểm 45 Mạch cịn to Linh kiện cơng suất nhỏ nên bị giới hạn công suất Cảm biến nhiều thời gian để thu thâp liệu Hệ thống cịn dạng mơ hình nên cịn nhiều thiếu sót để áp dụng vào thực tế nên 46 Phụ lục Code Arduino #include #include #include "ACS712.h" ACS712 sensor(ACS712_20A, A0); PZEM004Tv30 pzem(2,3); int zero; float I; float I_TB; float tong; float vol_out; float Adc = 0; float Vdc = 0; float v ; float c ; float p ; float e ; float f ; float pf ; int relay = 4; void setup(void) { Serial.begin(9600); pinMode(relay, OUTPUT); zero = sensor.calibrate(); digitalWrite(relay,HIGH); delay (2000); } 47 void loop(void) { delay(500); v = pzem.voltage(); c = 1000 * pzem.current(); p = pzem.power(); e = pzem.energy(); f = pzem.frequency(); pf = pzem.pf(); for (int i=0; i