1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khoá luận tốt nghiệp: Thiết kế và chế tạo bộ AVR bằng phương pháp số

59 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Khoá luận Thiết kế và chế tạo bộ AVR bằng phương pháp số với bố cục gồm 5 chương, cụ thể như sau: Chương 1 Tổng quan về AVR; Chương 2 Lý thuyết về điều khiển PID tương tự và số; Chương 3 thiết kế AVR bằng phương pháp số; Chương 4 Thiết kế phần cứng và chương trình thực hiện;... Mời các bạn cùng tham khảo Đề tài Hoàn thiện công tác quản trị nhân sự tại Công ty TNHH Mộc Khải Tuyên được nghiên cứu nhằm giúp công ty TNHH Mộc Khải Tuyên làm rõ được thực trạng công tác quản trị nhân sự trong công ty như thế nào từ đó đề ra các giải pháp giúp công ty hoàn thiện công tác quản trị nhân sự tốt hơn trong thời gian tới.

package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA ĐIỆN – ĐIỆN TỬ KHOÁ LUẬN TỐT NGHIỆP CHUYÊN NGÀNH : ĐIỆN CÔNG NGHIỆP THIẾT KẾ VÀ CHẾ TẠO BỘ AVR BẰNG PHƯƠNG PHÁP SỐ VŨ ANH TÚ Bình Dương, tháng5/2014 package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA ĐIỆN – ĐIỆN TỬ KHÓA LUẬN TỐT NGHIỆP CAO ĐẲNG NIÊN KHÓA 2011 – 2014 THIẾT KẾ VÀ CHẾ TẠO BỘ AVR BẰNG PHƯƠNG PHÁP SỐ Ngành: CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ Chuyên ngành: ĐIỆN CÔNG NGHIỆP Giáo viên hướng dẫn: ThS NGUYỄN VĂN SƠN Sinh viên thực hiện: VŨ ANH TÚ MSSV: 111C660015 Lớp: C11DT01 Bình Dương, tháng 5/2014 package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } LỜI MỞ ĐẦU Trong giai đoạn công nghiệp hóa đại hóa kinh tế đất nước ngày có nhiều hệ thống điều khiển tự động sử dụng không lĩnh vực sản xuất mà việc phục vụ đời sống sinh hoạt người Do nhu cầu ứng dụng tiến khoa học kỹ thuật nhằm đáp ứng nhu cầu đổi công nghệ, xuất nhiều thiết bị dây chuyền sản xuất tiên tiến sử dụng nhiều thiết bị điều khiển có tính kỹ thuật ngày hồn thiện Trên sở đó, AVR (Automatic Voltage Regulator) phương pháp số đưa nhằm giới thiệu ứng dụng kỹ thuật số vào hệ thống điều khiển máy điện Nội dung đồ án gồm chương: - Chương 1: Tổng quan AVR - Chương 2: Lý thuyết điều khiển PID tương tự số - Chương 3: thiết kế AVR phương pháp số - Chương 4: Thiết kế phần cứng chương trình thực - Chương 5: Kết thực nghiệm Tuy ý cẩn thận trình thực trình độ thời gian có hạn nên đồ án chắn cịn nhiều thiếu sót, em xin chân thành mong q thầy thơng cảm đóng góp ý kiến để đồ án hoàn thiện package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); Chương 1: TỔNG QUAN VỀ AVR } } } public static Connection getConnection() { return con; } } Một nguồn điện có chất lượng cao nguồn điện có thơng số kỹ thuật ổn định có tính liên tục Các thông số kỹ thuật đặc trưng nguồn điện xoay chiều công nghiệp điện áp tần số, điện áp quan trọng Lưới điện cơng nghiệp bị phụ thuộc vào nhiều yếu tố nguồn phát điện (thủy điện, nhiệt điện hay diesel…), phụ tải thay đổi, tính chất phụ tải, chiều dài dây dẫn… nên thường lưới điện cơng nghiệp có điện áp khơng ổn định Điều ảnh hưởng đến tình trạng làm việc thiết bị công nghiệp, tuổi thọ thiết bị điện – điện tử nhiều trường hợp ảnh hưởng đền chất lượng sản phẩm nhà máy, xí nghiệp cơng nghiệp Để có nguồn điện công nghiệp với điện áp ổn định, người ta dùng mạch AVR làm nhiệm vụ ổn định điện áp tự động Trong năm gần đây, điều khiển máy điện có bước phát triển nhảy vọt Đó kết việc tăng cơng suất tính linh kiện điện tử công suất với việc phát triển hoàn thiện cấu điều khiển số có lập trình vi xử lý, vi điều khiển Truyền động điện thông minh dựa kỹ thuật điều khiển số cho phép tạo nên hệ thống truyền động điện công nghiệp chắn, tin cậy, hiệu suất cao, dải điều khiển rộng, đảm bảo chức bảo vệ Những hạn chế kỹ thuật tương tự trôi thông số, làm việc ổn định dài hạn, khó khăn việc thực chức điều khiển phức tạp thúc đẩy việc chuyển nhanh sang công nghệ số năm 70 Sự xuất hoàn thiện vi xử lý mạnh năm 80 cho phép thực điều khiển vectơ, tạo nên hệ truyền động xoay chiều có chất lượng cao Kỹ thuật số cho phép tạo nên thuật toán điều khiển phức tạp mà kỹ thuật tương tự khơng cho phép Ngồi ra, kỹ thuật số cịn có ưu định mặt công nghệ, cấu điều khiển số đóng vai tró giao diện với người vận hành, thực chức chạy, dừng, đổi chiều, dự báo, tư vấn… Mọi chức phức tạp truyền động điện giải cấu điều khiển số Điều khiển số cho phép tiết kiệm linh kiện phần cứng, với vi xử lý, cấu trúc phần cứng dùng cho ứng dụng khác cách thay đổi nội dung nhớ Bộ AVR (Automatic Voltage Regulator) phương pháp số hiệu chỉnh điện tự động cho máy phát điện, cấu trúc xây dựng dựa package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } hiệu chỉnh vi tích phân tỉ lệ PID (Proportional Intergrated Differential) Bộ AVR } } public static Connection getConnection() { return con; } } phương pháp số hoạt động cách lấy điện áp mẫu từ máy phát điện sau đưa vào xử lý tín hiệu số thong qua đổi tương tự - số, xử lý tín hiệu số thực vi điều khiển 89S52 lấy điện áp mẫu so sánh với điện áp đặt, điện áp sai điện áp chênh lệch đưa vào phương trình sai phân để tiến hành lặp điện áp sai khơng, tín hiệu điều khiển nghiệm phương trình sai phân đựa vào chỉnh lưu có điều khiển thơng qua đổi số - tương tự để kích từ máy phát điện, ổn áp điện áp máy phát Hình 1.1 Sơ đồ khối hệ thống điều khiển máy phát điện package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } Chương 2: LÝ THUYẾT VỀ ĐIỀU KHIỂN PID TƯƠNG TỰ VÀ SỐ } } public static Connection getConnection() { return con; } } Một điều khiển vi tích phân tỉ lệ (bộ điều khiển PID - Proportional Integral Differential) chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát sử dụng rộng rãi hệ thống điều khiển công nghiệp – điều khiển PID sử dụng phổ biến số điều khiển phản hồi Một điều khiển PID tính toán giá trị "sai số" hiệu số giá trị đo thông số biến đổi giá trị đặt mong muốn Bộ điều khiển thực giảm tối đa sai số cách điều chỉnh giá trị điều khiển đầu vào Trong trường hợp khơng có kiến thức trình, điều khiển PID điều khiển tốt Tuy nhiên, để đạt kết tốt nhất, thông số PID sử dụng tính tốn phải điều chỉnh theo tính chất hệ thống kiểu điều khiển giống nhau, thông số phải phụ thuộc vào đặc thù hệ thống Giải thuật tính tốn điều khiển PID bao gồm thơng số riêng biệt, đơi cịn gọi điều khiển ba khâu: giá trị tỉ lệ, tích phân vi phân, viết tắt P, I, D Giá trị tỉ lệ xác định tác động sai số tại, giá trị tích phân xác định tác động tổng sai số khứ, giá trị vi phân xác định tác động tốc độ biến đổi sai số Tổng chập ba tác động dùng để điều chỉnh q trình thơng qua phần tử điều khiển vị trí van điều khiển hay nguồn phần tử gia nhiệt Nhờ vậy, giá trị làm sáng tỏ quan hệ thời gian: P phụ thuộc vào sai số tại, I phụ thuộc vào tích lũy sai số khứ, D dự đoán sai số tương lai, dựa vào tốc độ thay đổi Bằng cách điều chỉnh số giải thuật điều khiển PID, điều khiển dùng thiết kế có yêu cầu đặc biệt Đáp ứng điều khiển mơ tả dạng độ nhạy sai số điều khiển, giá trị mà điều khiển vọt lố điểm đặt giá trị dao động hệ thống Lưu ý công dụng giải thuật PID điều khiển khơng đảm bảo tính tối ưu ổn định cho hệ thống Vài ứng dụng yêu cầu sử dụng hai khâu tùy theo hệ thống Điều đạt cách thiết đặt đội lợi đầu không mong muốn Một điều khiển PID gọi điều khiển PI, PD, P I vắng mặt tác động bị khuyết Bộ điều khiển PI phổ biến, đáp ứng vi phân nhạy nhiễu đo lường, trái lại thiếu giá trị tích phân khiến hệ thống khơng đạt giá trị mong muốn package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } Hình 2.1 Sơ đồ khối điều khiển PID 2.1 Cơ vòng điều khiển Một ví dụ quen thuộc vịng điều khiển hành động điều chỉnh vịi nước nóng lạnh để trì nhiệt độ nước mong muốn đầu vịi nước Thường ta phải trộn hai dịng nước, nóng lạnh lại với Và chạm vào nước để cảm nhận ước lượng nhiệt độ Dựa phản hồi này, ta điều chỉnh van nóng van lạnh nhiệt độ ổn định giá trị mong muốn Giá trị cảm biến nhiệt độ nước giá trị tương tự (analog), dùng để đo lường giá trị xử lý biến trình (PV) Nhiệt độ mong muốn gọi điểm đặt (SP) Đầu vào chu trình (vị trí van nước) gọi biến điều khiển (MV) Hiệu số nhiệt độ đo điểm đặt gọi sai số (e), dùng để lượng hóa nước q nóng hay nước q lạnh giá trị Sau đo lường nhiệt độ (PV), sau tính tốn sai số, điều khiển quết định thời điểm thay đổi vị trí van (MV) thay đổi Khi điều khiển mở van lần đầu, mở van nóng tí xíu cần nước ấm, mở hết cỡ cần nước nóng Đây ví dụ điều khiển tỉ lệ đơn giản Trong trường hợp nước nóng khơng cung cấp nhanh chóng, điều khiển tìm cách tăng tốc độ chu trình lên cách tăng độ mở van nóng theo thời gian Đây ví dụ điều khiển tích phân Nếu sử dụng hai phương pháp điều khiển tỉ lệ tích phân, vài hệ thống, nhiệt độ nước dao động nóng lạnh, điều khiển điều chỉnh van nhanh vọt lố bù lố so với điểm đặt package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } Để đạt hội tụ tăng dần đến nhiệt độ mong muốn (SP), điều khiển cần } } public static Connection getConnection() { return con; } } phải yêu cầu làm tắt dần dao động dự đoán tương lai Điều thực phương pháp điều khiển vi phân Giá trị thay đổi lớn sai số tương ứng nhỏ điều khiển có độ lợi lớn dẫn đến vọt lố Nếu điều khiển lặp lại nhiều lần việc thay đổi dẫn đến thường xuyên xảy vọt lố, đầu dao động xung quanh điểm đặt, tăng giảm theo hình sin cố định Nếu dao động tăng theo thời gian hệ thống khơng ổn định, cịn dao động giảm theo thời gian hệ thống ổn định Nếu dao động trì biên độ cố định hệ thống ổn định biên độ Con người khơng để xảy dao động "bộ" điều khiển thích nghi, biết rút kinh nghiệm; nhiên, điều khiển PID đơn giản khơng có khả học tập phải thiết đặt phù hợp Việc chọn độ lợi hợp lý để điều khiển hiệu gọi điều chỉnh điều khiển Nếu điều khiển trạng thái ổn định điểm sai số (PV=SP), thay đổi sau điều khiển phụ thuộc vào thay đổi tín hiệu đầu vào đo khơng đo khác tác động vào trình điều khiển, ảnh hưởng tới đầu PV Các biến tác động vào trình khác với MV gọi nhiễu Các điều khiển thông thường sử dụng để loại trừ nhiễu và/hoặc bổ sung thay đổi điểm đặt Những thay đổi nhiệt độ nước cung cấp nhiễu trình điều khiển nhiệt độ vòi nước Về lý thuyết, điều khiển sử dụng để điều khiển q trình mà có đầu đo (PV), giá trị lý tưởng biết trước cho đầu (SP) đầu vào chu trình (MV) tác động vào PV thích hợp Các điều khiển sử dụng công nghiệp để điều chỉnh nhiệt độ, áp suất, tốc độ dòng chảy, tổng hợp hóa chất, tốc độ đại lượng khác đo lường Xe điều khiển hành trình ví dụ cho việc áp dụng điều khiển tự động thực tế Các điều khiển PID thường lựa chọn cho nhiều ứng dụng khác nhau, lý thuyết tin cậy, kiểm chứng qua thời gian, đơn giản dễ cài đặt bảo trì chúng 2.2 Lý thuyết điều khiển PID Sơ đồ điều khiển PID đặt tên theo ba khâu hiệu chỉnh nó, tổng ba khâu tạo thành biến điều khiển (MV) Ta có: package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } đó: Pout, Iout Dout thành phần đầu từ ba khâu điều khiển PID, xác định 2.2.1 Khâu tỉ lệ Khâu tỉ lệ (đơi cịn gọi độ lợi) làm thay đổi giá trị đầu ra, tỉ lệ với giá trị sai số Đáp ứng tỉ lệ điều chỉnh cách nhân sai số với số KP, gọi độ lợi tỉ lệ Khâu tỉ lệ cho bởi: đó: Pout: thừa số tỉ lệ đầu KP: Độ lợi tỉ lệ, thông số điều chỉnh e: sai số = SP - PV t: thời gian hay thời gian tức thời (hiện tại) Độ lợi khâu tỉ lệ lớn thay đổi lớn đầu mà sai số thay đổi nhỏ Nếu độ lợi khâu tỉ lệ cao, hệ thống không ổn định (xem phần điều chỉnh vòng) Ngược lại, độ lợi nhỏ đáp ứng đầu nhỏ sai số đầu vào lớn, làm cho điều khiển nhạy, đáp ứng chậm Nếu độ lợi khâu tỉ lệ thấp, tác động điều khiển bé đáp ứng với nhiễu hệ thống Hình 2.2 Đồ thị PV theo thời gian, ba giá trị KP (KI KD số) package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } * Droop (độ trượt) } } public static Connection getConnection() { return con; } } Nếu khơng có nhiễu, điều khiển tỉ lệ túy không xác lập giá trị mong muốn nó, trì độ trượt sai số ổn định trạng thái, hàm độ lợi tỉ lệ độ lợi trình Đặc biệt, độ lợi trình khoảng thời gian dài bị trôi thiếu điều khiển, việc làm mát lò nung tới nhiệt độ phòng ký hiệu G giả sử sai số xấp xỉ số, droop-độ trượt xảy độ lợi không đổi thừa số tỉ lệ đầu ra, Pout, với sai số tuyến tính, G = KPe, e = G/KP Khi thừa số tỉ lệ, đẩy vào thông số tới giá trị đặt, bù xác độ lợi q trình, kéo thơng số khỏi giá trị đặt Nếu độ lợi trình giảm, làm lạnh, trạng thái dừng nằm điểm đặt, ta gọi "droop - độ trượt" Chỉ thành phần dịch chuyển (trung bình dài hạn, thành phần tần số khơng) độ lợi trình tác động tới độ trượt dao động ngẫu nhiên thành phần dịch chuyển bị triệt tiêu Độ lợi q trình thay đổi theo thời gian theo thay đổi bên ngồi, ví dụ nhiệt độ phòng thay đổi, việc làm lạnh nhanh chậm Độ trượt tỉ lệ thuận với độ lợi trình tỉ lệ nghịch với độ lợi tỉ lệ, khiếm khuyết tránh điều khiển tỉ lệ túy Độ trượt giảm bớt cách thêm thừa số độ lệch (cho điểm đặt giá trị mong muốn thực tế), sửa đổi cách thêm khâu tích phân (trong điều khiển PI PID), tính tốn độ lệch thêm vào cách hữu hiệu Bất chấp độ trượt, lý thuyết điều chỉnh lẫn thực tế công nghiệp khâu tỉ lệ cần thiết việc tham gia vào q trình điều khiển 2.2.2 Khâu tích phân Phân phối khâu tích phân (đơi cịn gọi reset) tỉ lệ thuận với biên độ sai số lẫn quảng thời gian xảy sai số Tổng sai số tức thời theo thời gian (tích phân sai số) cho ta tích lũy bù hiệu chỉnh trước Tích lũy sai số sau nhân với độ lợi tích phân cộng với tín hiệu đầu điều khiển Biên độ phân phối khâu tích phân tất tác động điều chỉnh xác định độ lợi tích phân, Ki Thừa số tích phân cho bởi: đó: Iout: thừa số tích phân đầu Ki: độ lợi tích phân, thông số điều chỉnh package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } MOV A,R3 MOV R4,A } } public static Connection getConnection() { return con; } } ;E[K-2]=E[K-1] MOV A,R2 MOV R3,A ;E[K-1]=E[K] RET ; -END package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); Chương 5: KẾT QUẢ THỰC NGHIỆM } } } public static Connection getConnection() { return con; } } - Bộ AVR gắn cho máy phát TUCO TG2000 2KVA - Cho động máy phát điện quay từ từ tăng dần - Điều hỉnh biến trở tốc độ động máy phát để kim đồng hồ máy phát điện 220V - Tăng tốc độ động mắc tải vào máy phát, kim đồng hồ máy phát giữ mức 220V, máy phát điện ổn áp Bảng 5.1 Độ ổn định điện áp theo dòng tải Điện áp 220V 220V 218V Dòng tải 0A 5A 10A - Điện trở lối máy phát ∆ V = 220 – 218 = 2V ∆ I = 10A r0 = = 0,2Ω 10 Bảng 5.2 Độ ổn định điện áp theo tần số Điện áp 218V 220V 223V Tần số 45Hz 50Hz 55Hz package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } - Sau số hình ảnh thực tế } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); KẾT LUẬN } } } public static Connection getConnection() { return con; } } Điều khiển số có ưu mặt công nghệ, tiết kiệm linh kiện phần cứng, cho phép tiêu chuẩn hóa; với vi xử lí hay vi điều khiển, cấu trúc phần cứng dung cho ứng dụng, cần thay đổi bổ sung nội dung nhớ Với đa vi điều khiển 89S52, chức AVR cho máy phát điện thực số chức khác đo tần số, điện áp máy phát package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); PHỤ LỤC IC ADC0804 1.1 Sơ đồ chân 1.2 Sơ đồ ứng dụng 1.3 Sơ đồ khối } } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); IC DAC0808 2.1 Sơ đồ chân sơ đồ khối } } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); 2.2 Sơ đồ ứng dụng } } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); IC AT89S52 } } } public static Connection getConnection() { return con; } } 3.1 Đặc điểm - 8KB ROM - Pham vị hoạt động 4V – 5,5 V - 256 byte RAM - port xuất nhập (I/O port) bit - định thời 16 bit - Mạch giao tiếp nối tiếp - Khơng gian nhớ chương trình ngồi 64K - Khơng gian nhớ liệu ngồi 64K - Bộ xử lý bit - 210 vị trí nhớ định địa chỉ, vị trí bit - Nhân/chia 4µs ( với thạch anh dao động 12MHz) package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); 3.2 Sơ đồ chân } } } public static Connection getConnection() { return con; } } package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); 3.3 Sơ đồ khối } } } public static Connection getConnection() { return con; } } 3.4 Chức chân Port Port (các chân từ 32 - 39) ký hiệu P0 – P0 có hai cơng dụng Trong thiết kế có tối thiểu thành phần, port sử dụng làm nhiệm vụ xuất nhập, với thiết kế lớn có nhớ ngồi, port trở thành bus địa bus liệu đa hợp (byte địa thấp) Port package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } Port (các chân từ - 8) có cơng dụng xuất / nhập ký hiệu P1 – P1 } } public static Connection getConnection() { return con; } } dùng để giao tiếp với thiết bị bên ngồi, với chip 8052 ta sử dụng P1 P1 làm đường xuất /nhập làm ngõ vào cho mạch định thời t Port Port (các chân từ 21-28) ký hiệu P2 – P2 có hai công dụng, làm nhiệm vụ xuất/nhập byte địa cao bus địa 16 bit cho thiết kế có nhớ chương trình ngồi thiết kế có nhiều 256 byte nhớ liệu thứ ba Port Port (các chân từ 10 - 17) ký hiệu P3 – P3 có hai cơng dụng Khi khơng hoạt động xuất/nhập, chân port có nhiều chức riêng Bảng PL-1 Chức chân Port Port Bit Tên chân Địa bit Chức P3 RxD B0H Chân nhận liệu port nối tiếp P3 TxD B1H Chân phát liệu port nối tiếp P3 /INT0 B2H Ngõ vào ngắt P3 /INT1 B3H Ngõ vào ngắt P3 T0 B4H Ngõ vào định thời đếm P3 T1 B5H Ngõ vào định thời đếm P3 /WR B6H Điều khiển ghi nhớ liệu P3 /RD B7H Điều khiển đọc nhớ liệu P1 T2 90H Ngõ vào đinh thời đếm P1 T2EX 91H Nạp lại thu nhận định thời ALE Ngõ xuất tín hiệu cho phép chốt địa ALE (address latch enable) dùng để giải đa hợp (demultiplexing) bus liệu bus địa Khi port sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa (byte thấp địa 16 bit) vào ghi ngồi suốt ½ đầu chu kỳ nhớ (memory cycle) Sau điều thực hiện, chân port xuất/nhập liệu hợp hệ suốt ½ thứ hai chu kỳ nhớ Tín hiệu ALE có tần số 1/6 tần số mạch dao động bên chip vi điều khiển package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } public static Connection getConnection() { return con; } } EA Ngõ vào /EA nối với 5V (logic 1) với GND (logic 0) Nếu chân nối lên 5V chip 8051 thực thi chương trình ROM nội Nếu chân nối với GND (và chân /PSEN logic 0) chương trình cần thực thi chứa nhớ ngồi RESET (RST) Ngõ vào RST ngõ vào xóa (master reset) 8051 dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt reset hệ thống Khi ngõ vào treo mức logic tối thiểu chu kỳ máy, ghi bên 8051 nạp lại giá trị thích hợp cho việc khởi động lại hệ thống XTAL1, XTAL2 Mạch dao động chip ghép nối với mạch thạch anh bên hai chân XTAL1 XTAL2, tụ ổn định yêu cầu kết nối, giá tri tụ nhà sản xuất quy định (30p – 40p) package connectDB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectDB { public static Connection = null; private static ConnectDB instance = new ConnectDB(); public static ConnectDB getInstance() { return instance; } public void connect() throws SQLException { String url = "jdbc:sqlserver://localhost:1433;database name=QLNVIEN"; String user = "sa"; String pw = "123"; = DriverManager.getConnection(url, user, pw); if(con != null) { System.out.println("thanh cong"); } } public void disconnect() { if(con != null) { try { con.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); TÀI LIỆU THAM KHẢO } } } public static Connection getConnection() { return con; } } [1] Lê Văn Doanh, Nguyễn Thế Công, Nguyễn Trung Sơn, Cao Văn Thành “Điều khiển số máy điện” – NXB khoa học kỹ thuật, 1999 [2] Pts Nguyễn Thị Phương Hà “Điều khiển tự động 1,2,3” - NXB khoa học kỹ thuật, 1996 [3] Quách Tuấn Ngọc “Xử lý tín hiệu số” – NXB giáo dục, 1997 [4] Văn Thế Minh “Kỹ thuật vi xử lý” – NXB giáo dục, 1997 [5] ThS Trần Sum “Giáo trình điều khiển tự động” – NXB giao thông vận tải, 1999 [6] Ngô Diên Tập “Vi xử lý đo lường điều khiển” – NXB khoa học kỹ thuật, 1999 [7] https://vi.wikipedia.org/wiki/Bộ_điều_khiển_PID

Ngày đăng: 13/07/2023, 13:57

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w