Trong nhiều lĩnh vực sản xuất công nghiệp hiện nay, nhất là ngành công nghiệp luyện kim, chề biến thực phẩm… vấn đề điều khiển nhiệt độ đặc biệt được chú trọng đến vì nó là một yếu tố quyết định chất lượng sản phẩm.
Sv : Lê Thanh Tùng LỜI NÓI ĐẦU Trong nhiều lĩnh vực sản xuất công nghiệp nay, ngành công nghiệp luyện kim, chề biến thực phẩm… vấn đề điều khiển nhiệt độ đặc biệt trọng đến yếu tố định chất lượng sản phẩm Nắm tầm quan trọng vấn đề em tiến hành nghiên cứu thiết kế hệ thống điều khiển số nhiệt độ, với mong muốn giải yêu cầu trên, lấy làm đề tài tốt nghiệp cho Những kiến thức lực đạt trình học tập trường đánh giá qua đợt bảo đồ án cuối khóa Vì em cố gắng tận dụng tất kiến thức học trường với tìm tịi nghiên cứu, để hoàn thành tốt đồ án Những sản phẫm kết đạt ngày hơm khơng có lớn lao Nhưng thành năm học tập Là thành công em trước trường Mặt dù em cố gắng để hoàn thành tập đồ án thời hạn, nên khơng tránh khỏi thiếu sót mong q thầy thơng cảm Em mong đón nhận ý kiến đóng góp Cuối xin chân thành cảm ơn q thầy bạn sinh viên Sinh viên thực Lê Thanh Tùng Sv : Lê Thanh Tùng BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC DÂN LẬP HẢI PH ÒNG KHOA ĐIỆN _ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP_ TỰ DO _HẠNH PHÚC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên thực : Lê Thanh Tùng Lớp : ĐC 1001 Ngành : Điện công nghiệp dân dụng 1.Tên đề tài : Nghiên cứu thiết kế hệ thống điều khiển số nhiệt độ Các số liệu ban đầu : Cơng suất lị: (KW) Dải nhiệt độ đo: 300-1200 (độ C) 3.Các yêu cầu thiết kế : +Thiết kế 8051 +Xây dựng sơ đồ cấu trúc có điều khiển mềm bên VXL: -Bộ PID -Tổng hợp thiết bị bù nối tiếp bù hồi tiếp -Thực hồi tiếp trạng thái tính tốn hệ số hồi tiếp trạng thái +Mơ hình hố hệ thống Matlab Simulink +Viết chương trình tổng hợp hệ thống C++ +Thơng báo kết đạt mơ hình 4.Giáo viên hướng dẫn : Ths.Nguyễn Trọng Thắng Ngày giao nhiệm vụ : 6.Ngày hoàn thành nhiệm vụ : Giáo viên hướng dẫn Thông qua môn Ngày _tháng _năm _ Chủ nhiệm môn Sv : Lê Thanh Tùng MỤC LỤC Chƣơng 1: Giới thiệu chung 1.1.Giới thiệu hệ thống điều khiển………………………………… …6 1.2.Hệ điều khiển số……………………………………………………….9 1.3.Lò điện……………………………………………………….……… 11 Chƣơng 2:Thiết kế phần cứng hệ thống điều khiển số 16 2.1.Thiết kế mạch ghép nối với PC………………………………………16 2.1.1.Sơ đồ khối ghép nối……………………………………………….16 2.1.2.Giới thiệu thiết bị tổ chức phối ghép………………………18 2.2 Phân tích hệ thống điều khiển số……………………………… ……38 2.2.1.Kiểm tra tính điều khiển tính quan sát hệ thống 40 2.2.2.Xét ổn định đối tượng………………………………… 40 2.2.3.Xét ổn định hệ thống kín chưa có điều khiển……… 41 2.3 Tổng hợp hệ thống……………………………………………………43 2.3.1.Tổng hợp hệ thống dùng điều khiển PID……………………….43 2.3.2 Tổng hợp hệ thống dùng hồi tiếp trạng thái ………………… … 50 Chƣơng 3: Thiết kế phần mềm…………………………………….…59 3.1.Thuật toán điều khiển hệ thống…………………………………59 3.2.Phương án xây dựng chương trình điều khiển giao diện………… 60 3.3.Kết chạy chương trình ………………………………………… 62 3.4.Mã nguồn chương trình……………………………………………63 KẾT LUẬN Sv : Lê Thanh Tùng CHƢƠNG 1: GIỚI THIỆU CHUNG 1.1 Giới thiệu hệ thống điều khiển Ngày hệ thống điều khiển tự động sử dụng nhiều lĩnh vực có nhiều ứng dụng khác Hệ thống điều khiển nhiều nhà máy đại có chứa nhiều mạch điều khiển, nhiều số chúng có tác động qua lại với Trong nhà máy hệ thống điều khiển đại vậy, việc truyền xử lý số liệu khâu hệ thống giữ vai trò quan trọng Công việc thực tiện lợi hiệu hệ thống điều khiển số, đặc biệt hệ thống điều khiển số có trợ giúp máy tính 1.1.1 Hệ liên tục: Là hệ thống tín hiệu tác động hệ hàm liên tục theo thời gian 1.1.2 Hệ gián đoạn: Là hệ thống mà có nhiều phần tử nhận thông tin vào hay xuất thông tin hàm rời rạc theo thời gian 1.1.3.Các phần tử hệ thống điều khiển tự động: Hệ thống điều khiển tự động hệ thống xây dựng từ ba phận sau đây: - Thiết bị điều khiển - Đối tượng điều khiển - Thiết bị đo lường Các tín hiệu tác động lên hệ thống: x(t) tín hiệu đầu vào hệ thống (tín hiệu chủ đạo) y(t) tín hiệu đầu hệ thống u(t) tín hiệu điều khiển tác động lên đối tượng fn(t x(t) e(t) Bộ điều u(t) ) Đối tượng y(t) khiển Gc(s) G0(s) z(t) Đo lường Sơ đồ hệ thống điều khiển tự động Sv : Lê Thanh Tùng e(t) sai lệch điều khiển, z(t) tín hiệu phản hồi, fn(t) nhiễu tác động lên đối tượng Thiết bị điều khiển phận quan trọng, tạo tín hiệu điều khiển u(t) tác động vào đối tượng điều khiển nhằm điều khiển đầu đối tượng- y(t) thoả mãn yêu cầu, mục đích tốn nghĩa phải đáp ứng tiêu kinh tế, kỹ thuật đề Bộ điều khiển thiết bị kỹ thuật mà xây dựng người ta xây dựng cấu trúc cài đặt theo luật điều khiển ( P, PI, PID) nhằm mục đích tạo tín hiệu điều khiển u(t) tín hiệu thoả mãn yêu cầu tiêu kỹ thuật Trong thực tế điều khiển thường xây dựng luật điều khiển : - Luật điều khiển tỉ lệ P : u(t) = KP e(t) ; với KP hệ số khuếch đại tỉ lệ - Luật điều khiển tích phân I : t Ti u(t) = e(t ).dt ; với Ti số thời gian tích phân - Luật điều khiển vi phân D : u(t) = Td de(t ) ; dt với Td số thời gian vi phân - Luật điều khiển tỷ lệ - tích phân PI : u(t) = Kp {e(t) + Ti t e(t ).dt } - Luật điều khiển tỷ lệ - vi phân PD : u(t) = Kp{e(t) + Td de(t ) } dt - Luật điều khiển tỉ lệ - vi phân - tích phân PID : u(t) = Kp{e(t) + Td de(t ) + Ti dt t e(t ).dt } Ngày phát triển mạnh mẽ kỹ thuật máy tính cơng nghệ phần mềm tạo tảng cho phát triển điều khiển số Các điều khiển số xây dựng sở luật điều khiển trên: Bộ điều khiển số PID có cấu trúc sau : u(k) = Kp {e(k) + Ts Ti i e( k ) k Td e(k ) e(k 1) } Ts Trong : Các tín hiệu u(k), e(k) đại lượng rời rạc số, Td thời gian lấy mẫu 1.1.4 Hê thống điều khiển PID: Mặc dù điều khiển tỉ lệ - tích phân PI, tỉ lệ vi phân PD đáp ứng tương đối đầy đủ yêu cầu kỹ thuật, tiêu chất lượng nhiều trường hợp cịn có nhược điểm Để thoả mãn yêu cầu chất Sv : Lê Thanh Tùng lượng điều khiển thực tế người ta thường sử dụng tổ hợp điều khiển tỉ lệ tích phân - vi phân (PID) Bộ điều khiển PID áp dụng rộng rãi hệ thống điều khiển tự động có hàm trễ lớn đồng thời lại có tất ưu điểm điều khiển P, PI, PD Hàm truyền đạt dạng: Gc(s)= U ( s) = KP(1+ +Td.s) Ti s E ( s) fn(t) x(t) e(t) Bộ điều khiển PID u(t) Đối tượng y(t) G0(s) z(t) Đo lường Sơ đồ cấu trúc hệ thống với điều khiển PID: Trong hoạt động điều khiển PID, phận điều khiển tích phân có tác dụng loại trừ truyền tín hiệu tăng theo tỉ lệ đặc biệt truyền tăng theo tỉ lệ nhiễu lớn cách hiệu chỉnh liên tục hồi tiếp đầu thiết bị điều khiển Tác động điều khiển vi phân có khuynh hướng dự phịng trước thay đổi tín hiệu sai lệch làm giảm khuynh hướng dao động Tác động vi phân đáp ứng với tốc độ thay đổi đầu nên gọi tác động tốc độ, thời gian vi phân Td gọi tốc độ xuất hệ số khuếch đại kd khoảng thời gian Td mà có tác động vi phân hình thành điều khiển tỉ lệ sớm Các dạng cấu trúc điều khiển PID: - Mắc nối tiếp hai điều khiển PI PD: Gc(s)= U ( s) = KP(1 + )(1 + Td.s) Ti s E ( s) - Bộ điều khiển PID thực: Gc(s)= T s U ( s) = KP(1 + + d ) Ti s Td s E ( s) - Nếu đặc tính tần số PID đặc tính tiệm cận hàm truyền có dạng: Gc(s)= T s U ( s) = KP(1 + )( d ) Ti s Td s E ( s) - Bộ điều khiển PID số: Gc(z) = Kp.( Td z T z s ) Ts z T z - Phương trình sai phân có dạng: u(k.Ts) = Kp Td se (k 1)Ts e(k.Ts ) Ts Ts Ti n e(k Ts ) k Sv : Lê Thanh Tùng 1.2 Hệ thống điều khiển số Do phát triển hệ thống điều khiển công nghiệp phức tạp, ngày lớn yêu cầu tiêu kỹ thuật, chất lượng ngày cao nên việc ứng dụng điều khiển số cần thiết Các hệ thống điều khiển số đời đem lại hiệu kỹ thật kinh tế vô lớn Kỹ thuật điều khiển số vừa công cụ vừa tảng để phân tích tổng hợp hệ thống điều khiển Các hệ thống điều khiển số ứng dụng phổ biến trình sản xuất như: điều khiển robot, máy công cụ, điều khiển hệ thống thông tin liên lạc, hệ thống thu thập liệu, điều khiển giám sát trình công nghệ Hệ thống điều khiển số (DCS) hệ thống điều khiển mà khâu có tín hiệu tác động dạng tín hiệu số Hệ thống điều khiển số có ưu điểm so với hệ thống điều khiển tương tự truyền thống là: - Làm dễ dàng, thuận lợi cho việc thu thập quản lý số liệu, trao đổi thông tin với hệ ngồi - Có tính mềm dẻo thay đổi cấu trúc tham số điều khiển nói riêng hệ thống điều khiển nói chung Đặc biệt chúng thực phần mềm nên hệ thống điều khiển số cho phép thực luật điều khiển phức tạp Kết nâng cao chất lượng điều khiển toàn hệ thống - Dữ liệu hệ thống điều khiển số mã hố nên việc trao đổi truyền tin bị mát, có tính chống nhiễu cao Hệ thống điều khiển số có nhược điểm: - Chỉ trao đổi thông tin thời điểm gián đoạn nên nguyên tắc cho độ xác so với hệ thống điều khiển tương tự - Phải có biến đổi ADC , DAC làm phức tạp hệ thống - Có trễ chu kỳ lấy mẫu Thực tế DCS, đối tượng điều khiển ta thường q trình kỹ thuật có tính chất liên tục, cịn phần điều khiển xử lý tín hiệu phần tử xung số Do sơ đồ khối DCS chung sau: y(t) u Phần tử xung số Phần liên tục Do DCS có phần liên tục số, nên phương pháp nghiên cứu ta số hoá phần liên tục hệ thống để hệ thống số tuý (chỉ số hoá phần liên tục để nghiên cứu, hệ thống thực gồm hai phần: liên tục số) Sv : Lê Thanh Tùng 1.2.1 Số hố tín hiệu: Số hố tín hiệu bước cần phải thực hệ thống điều khiển số Việc số hố tín hiệu thực trước hết việc lấy mẫu khoảng thời gian T, sau tín hiệu lấy mẫu mã hoá thành dạng số nhờ mạch chuyển đổi ADC Để số hố phần liên tục, ta phải qua hai bước là: rời rạc hoá biến đổi sang dạng số Để không mắc phải sai số q trình số hố ta phải tn theo định lý lấy mẫu Shannon * Định lý lấy mẫu Shannon: Giả sử có tín hiệu liên tục x(t), qua q trình rời rạc hố ta tín hiệu x(kT), với T chu kỳ lấy mẫu: x(kT) = x(t)*s(t); với (t kT ) , t > k s(t) = , t < Tín hiệu x(t) có biến đổi Fourier X(j ) Tín hiệu x(kT) có biến đổi Fourier Xa(j ) Để tính X(j ) từ Xa(j ), có nghĩa mẫu x(kT) đặc trưng hồn tồn cho tín hiệu x(t) ta phải tuân theo định lý lấy mẫu Shannon: Định lý: Nếu phổ X(j ) tín hiệu x(t) đồng khơng ngồi miền giới nội với chu kỳ lấy mẫu Ta Ta ảnh X(j ) x(t) suy từ Xa(j ) x(kT) cách lấy phổ Xa(j ) chu kỳ 1.2.2 Biến đổi Z: Trong hệ tuyến tính liên tục, phép biến đổi Laplace giữ vai trò quan trọng Trong hệ thống số phép biến đổi Z đóng vai trị có chức tương tự Nếu ta có tín hiệu liên tục x(t) tín hiệu rời rạc x(iT), với T chu kỳ lấy mẫu, là: n x(iT) = x(t ) * (i iT ) ; i Biến đổi Laplace tín hiệu liên tục x(t) là: X(p) = x(t )e pt dt ; với p = +j Biến đổi Z tín hiệu rời rạc rạc x(iT) là: x(iT ) * Z i ; X(Z) = i Như X(Z) phụ thuộc vào giá trị rời rạc x(iT), tức giá trị x(t) thời điểm t=iT Chu kỳ lấy mẫu T phải đảm bảo thông tin nhận tin cậy phải đảm bảo cho q trình khơi phục tín hiệu Sv : Lê Thanh Tùng 1.2.3 Máy tính hệ thống điều khiển số: Trong hệ thống điều khiển số máy tính - hệ vi xử lý phận khơng thể thiếu Nó đóng vai trị vơ to lớn việc thu thập, xử lý thông tin, lưu trữ, hiển thị điều khiển đồng thời cịn có chức giám sát, cảnh báo, báo động hệ thống có cố Việc ứng dụng kỹ thuật điều khiển số làm tăng độ bền vững, độ tin cậy, độ mềm dẻo tốc độ điều khiển cao đồng thời chống nhiễu tốt Nó cịn cho phép xây dựng phương án mềm, linh hoạt mơdul hố khối tạo điều kiện thuận lợi thiết kế hệ thống, dễ dàng thay thiết bị chương trình cần thiết việc trao đổi thông tin người máy đơn giản điều khiển linh hoạt Các thiết bị q trình cơng nghệ sử dụng vi xử lý (microprocessor) vi điều khiển (micro-controller) để thực trình điều khiển nhỏ, gọn, đơn giản cho người theo dõi hoạt động hệ thống Tóm lại việc ứng dụng máy vi tính hệ thống điều khiển đáp ứng giải vấn đề phức tạp lĩnh vực điều khiển 1.3 Lò điện 1.3.1.Cấu tạo lò điện: Lò điện thiết bị dùng để biến đổi điện thành nhiệt q trình gia nhiệt Lị điện có nguồn nhiệt điện trở nung nung toả nhiệt theo định luật Jun - lenxơ Dòng chạy qua làm nóng đốt phát nhiệt lượng: Q = C.R.I2.t (kJ) Trong đó: C : hệ số tỉ lệ I : cường độ dòng điện chạy qua đốt (A) R : điện trở dây nung ( ) Q : nhệt lượng toả (J) t : thời gian dòng điện chạy qua dây nung (s) 1.3.2 Một số đặc điểm lò điện: - Qn tính nhiệt lị lớn, thay đổi nhiệt độ lị xảy chậm Lị có hệ số dung lượng lớn độ trễ lớn - Nhiệt độ buồng lị khơng hồn tồn đồng cặp nhiệt có qn tính định nên việc xác định nhiệt độ phụ thuộc vào vị trí đặt cảm biến nhiệt độ - Biến thiên nhiệt độ lị có tính chất tự cân Nhờ tính chất cân lượng nhiệt cung cấp lượng nhiệt tiêu thụ nhiệt độ lị tiến tới giá trị xác lập mà khơng cần có tham gia máy điều chỉnh - Các nung cần thoả mãn số yêu cầu sau: chịu nhiệt độ cao, độ bền học lớn, có điện trở suất nhỏ 1.3.3 Các phương pháp điều khiển nhiệt độ lò điện: Lò điện vật cần nung đối tượng điều khiển hệ thống với đại lượng cần điều chỉnh nhiệt độ vật cần nung Việc điều chỉnh nhiệt độ vật cần nung Sv : Lê Thanh Tùng điều khiển nhiệt độ buồng lị hay điều khiển cơng suất đặt vào lị P = I2.R.t Có hai phương án để xây dựng cơng suất là: - Điều chỉnh phía tiêu thụ tức thay đổi điện trở lò Phương pháp sử dụng tính khơng liên tục hạn chế phạm vi điều khiển - Điều chỉnh phía cung cấp tức thay đổi cường độ dịng điện chạy qua nung Điều thực biến áp, rơle thiristor (a) Phương pháp dùng biến áp: Đây phương pháp điều chỉnh điện áp theo cấp, địi hỏi điện áp phải có cơng suất lớn Phương pháp dùng điện áp để thay đổi điện áp cung cấp cho lị (b) Phương pháp dùng rơle: Phương pháp có đặc điểm khống chế nhiệt độ lò mức điện áp khác rơle có tác động điều chỉnh thời điểm ngưỡng định nên việc điều chỉnh mang tính chất khơng liên tục Mặt khác q trình điều khiển bị dao động, biên độ dao động phụ thuộc vào điểm đặt khác nhau, độ xác điều chỉnh khơng cao, rơle phải đóng ngắt nhiều lần nên độ tin cậy Tuy nhiên, phương pháp có ưu điểm đơn giản, dễ ghép nối, phù hợp với u cầu cơng nghệ địi hỏi độ xác khơng cao (c) Phương pháp dùng rơle kết hợp với thyristor: Khi sử dụng phương pháp khả điều chỉnh với phạm vi khác tương đối tốt Tuy nhiên phương pháp khơng thực điều chỉnh liên tục tiếp điểm rơle đóng ta ln có chu kỳ cung cấp cho tải, mở nguồn cung cấp phía diod bị ngắt việc cung cấp cho lị thyristor cơng suất đưa vào lò điều khiển 1/2 chu kỳ (d) Phương pháp dùng hai thyristor mắc xung đối: Phương pháp cho phép điều chỉnh phạm vi rộng, độ xác điều khiển tương đối cao, độ nhạy điều chỉnh tương đối lớn, có khả điều chỉnh tương đối liên tục đặn Tuy nhiên, hệ thống tương đối phức tạp giá thành cao 1.3.4 Đo nhiệt độ 1.3.4.1 Giới thiệu Để thực phép đo đại lượng tuỳ thuộc vào đặc tính đại lượng cần đo,điều kiện đo,cũng độ xác theo yêu cầu phép đo mà ta thực đo nhiều cách khác sỡ hệ thống đo lường khác Sơ đồ khối hệ thống đo lường tổng quát Mạch Chuyển đổi đo Chỉ thị 10 Sv : Lê Thanh Tùng Ta nhận thấy sử dụng phương pháp phản hồi trạng thái chất lượng hệ thống tốt; thời gian độ 700 (sec) độ điều chỉnh 0,05% khơng có sai lệch tĩnh 2.3.2.6.So sánh hai điều khiển tìm Qua so sánh kết mơ với hai điều khiển : điều khiển PID phản hồi trạng thái ta có nhận xét sau : -Cả hai phương pháp đem lại hệ thống có chất lượng tốt -Trong q trình tổng hợp sử dụng PID số đơn giản -Do đối tượng điều khiển lị sấy khơng có u cầu cao cơng nghệ địi hỏi xác tuyệt đối nên em định chọn điều khiển PID để xây dựng hệ thống điều khiển số cho hệ thống 56 Sv : Lê Thanh Tùng CHƢƠNG : THIẾT KẾ PHẦN MỀM 3.1 Thuật toán điều khiển hệ thống Phương trình sai phân điều khiển: Như trình bày chương 4, điều khiển PID có hàm truyền đạt sau: Wpid (z ) Az Bz C z(z 1) A : B (K iT (K iT C 2K d 2K pT ) 2T 2K pT 4K d ) 2T Kd T Từ hàm truyền đạt này, chuyển thành phương trình sai phân: W pid ( z ) U ( z) E( z) Az Bz C z z A B.z C.z z E ( z ).( A B.z C.z ) U ( z )(1 z ) A.e(k ) B.e(k 1) C.e(k 2) u (k ) u (k 1) u (k ) u (k 1) A.e(k ) B.e(k 1) C.e(k 2) Từ phương trình sai phân có thuật tốn xây dựng PID số sau: Khai báo biến để lưu giá trị cũ u mảng để lưu giá trị cũ e: float u_old; float e_old[2]; Các giá trị khởi đầu Tính A,B,C theo Kp, Ti, Td chọn Các bước tính cho PID số: o Đọc giá trị hồi tiếp y giá trị đặt w Tính sai lệch e = w - y o Tính giá trị tín hiệu điều khiển thời: u = u_old + A*e + B*e[0] + C*e[1]; o Xuất tín hiệu điều khiển o Cập nhập lại biến lưu: u_old = u; e[1]=e[0]; e[0]=e; o Lặp lại từ đầu 57 Sv : Lê Thanh Tùng 3.2.Phƣơng án xây dựng chƣơng trình điều khiển giao diện: Chương trình điều khiển giao diện bao gồm hai phần độc lập: phần giao diện người dùng phần thực thuật toán điều khiển Phần giao diện người dùng: o Hiển thị kết trình điều khiển o Nhận nhiệt độ đặt mong muốn từ người dùng o Nhận thông số thiết lập cho hệ thống từ người dùng o Yêu cầu phần giao diện phải dễ dùng, thuận tiện cho người sử dụng Giao diện phải hợp lý Một phong cách chung giao diện điều khiển mô bàn điều khiển thiết bị (Instrument Panel) Phần thực thuật toán điều khiển: o Thực thuật toán điều khiển (như trình bày phần trên) o Giao tiếp với phần cứng để điều khiển đối tượng nhận kết đo đạc từ Sensor o Nhận thông số hệ thống giá trị đặt từ người dùng thông qua phần giao diện o Cung cấp số liệu cho phần giao diện (nhieọt ủoọ) o Yêu cầu phần laứ việc thực thuật tốn điều khiển phải xác Căn vào yêu cầu trên, để thuận tiện cho phần giao diện, chương trình viết mơi trường Windows Mơi trường hệ điều hành Windows môi trường đồ hoạ hồn thiện, cung cấp nhiều cơng cụ phát triển thành phần đồ hoạ (menu, cửa sổ, hộp thoại, ) giúp cho việc phát triển ứng dụng dễ dàng nhanh chóng Mặc dù mơi trường Windows ln hạn chế việc truy nhập cấp thấp với phần cứng, nhiên Windows 9x việc thực vào với phần cứng phép Điều hoàn toàn đáp ứng yêu cầu tập Chọn cơng cụ lập trình: Với tốn điều khiển, ngôn ngữ C/C++ dường lựa chọn bắt buộc, ngôn ngữ cho phép viết chương trình mạnh, nhanh, nhỏ gọn, truy nhập sâu vào phần cứng (về mặt khơng hợp ngữ) Tuy nhiên, để tối ưu phần mã điều khiển, số đoạn trình hợp ngữ sử dụng thêm vào đoạn mã C/C++ Về công cụ mội trường phát triển: có hai cơng cụ phát triển mạnh dùng ngơn ngữ C/C++, Visual C++ Microsoft CBuilder Inprise (tên Borland) Trong Visual C++ ưu tiên khả can thiệp sâu vào hệ thống đóng gói đơn giản thành phần (đồ hoạ, file, ) hệ thống CBuilder lại tận dụng tối đa khả hướng đối tượng C++ để đóng gói thành phần hệ thống, giúp lập trình viên phải can thiệp chi tiết vào hệ thống tốt Tất nhiên CBuilder có chút hạn chế lập trình viên muốn lập trình cấp thấp Với mục đích nhanh chóng tạo chương trình với giao 58 Sv : Lê Thanh Tùng diện phù hợp, dễ sử dụng mà đảm bảo u cầu tốc độ, tính hiệu quả, cơng cụ CBuilder chọn để thực phần mềm cho tập 3.3.Kết chạy chƣơng trình: Chương trình dịch thành cơng chạy thử Vì khơng có hệ thống điều khiển thực tế (card ghép nối, biến tần, động cơ, ) nên thử giao diện Giao diện chương trình hình 59 Sv : Lê Thanh Tùng 60 Sv : Lê Thanh Tùng 3.4.Mã nguồn chƣơng trình: // BTDDlg.cpp : implementation file // #include "stdafx.h" #include "BTD.h" #include "BTDDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = FILE ; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP // DDX/DDV 61 Sv : Lê Thanh Tùng } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBTDDlg dialog CBTDDlg::CBTDDlg(CWnd* pParent /*=NULL*/) : CDialog(CBTDDlg::IDD, pParent) { //{{AFX_DATA_INIT(CBTDDlg) m_TT = _T(""); m_sTime = _T(""); m_Radio = -1; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CBTDDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CBTDDlg) DDX_Control(pDX, IDC_BTHONGSO, m_thongso); DDX_Control(pDX, IDC_BTHOAT, m_thoat); DDX_Control(pDX, IDC_BSTOP, m_dung); DDX_Control(pDX, IDC_BDIEUKHIEN, m_dieukhien); DDX_Control(pDX, IDC_BNHANDANG, m_nhandang); DDX_Control(pDX, IDC_BSTART, m_batdau); DDX_Text(pDX, IDC_TIME, m_TT); DDX_Text(pDX, IDC_STATICTIME, m_sTime); DDX_Radio(pDX, IDC_RALP, m_Radio); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CBTDDlg, CDialog) //{{AFX_MSG_MAP(CBTDDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_TIMER() ON_BN_CLICKED(IDC_BSTART, OnBstart) ON_BN_CLICKED(IDC_BNHANDANG, OnBnhandang) 62 Sv : Lê Thanh Tùng ON_BN_CLICKED(IDC_BTHONGSO, OnBthongso) ON_BN_CLICKED(IDC_BDIEUKHIEN, OnBdieukhien) ON_BN_CLICKED(IDC_BSTOP, OnBstop) ON_BN_CLICKED(IDC_BTHOAT, OnBthoat) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBTDDlg message handlers BOOL CBTDDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About " menu item to system menu // IDM_ABOUTBOX must be in the system command range ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon CRect rectWin; GetClientRect(rectWin); CClientDC dc(this); m_pdcMemory.CreateCompatibleDC(&dc); m_pBitmap.CreateCompatibleBitmap(&dc,rectWin.Width(),rectWin.Height ()); m_t=FALSE; NhanDang[0]=m_DoiTuong.m_kdt; NhanDang[1]=m_DoiTuong.m_Tdt; NhanDang[2]=m_DoiTuong.m_Ttdt; NhanDang[7]=0.1; NhanDang[6]=50; 63 Sv : Lê Thanh Tùng NhanDang[5]=0; NhanDang[4]=0; NhanDang[3]=23; m_Radio=0; UpdateData(FALSE); for(int i=0;iEnableWindow(TRUE); m_batdau.EnableWindow(FALSE); m_dung.EnableWindow(FALSE); 66 Sv : Lê Thanh Tùng m_nhandang.EnableWindow(TRUE); m_thongso.EnableWindow(TRUE); m_dieukhien.EnableWindow(TRUE); m_thoat.EnableWindow(TRUE); } void CBTDDlg::OnBnhandang() { if(m_DoiTuong.DoModal()==IDOK) { NhanDang[0]=m_DoiTuong.m_kdt; NhanDang[1]=m_DoiTuong.m_Tdt; NhanDang[2]=m_DoiTuong.m_Ttdt; } //InvalidateRect(CRect(126,115,230,440),FALSE); m_nhandang.EnableWindow(FALSE); m_thongso.EnableWindow(TRUE); m_dung.EnableWindow(TRUE); m_dieukhien.EnableWindow(TRUE); m_thoat.EnableWindow(TRUE);// TODO: Add your control notification handler code here } void CBTDDlg::OnBthongso() { // TODO: Add your control notification handler code here UpdateData(TRUE); m_thongSo.m_chot=m_Radio; m_thongso.EnableWindow(FALSE); m_nhandang.EnableWindow(FALSE); m_dieukhien.EnableWindow(TRUE); m_thoat.EnableWindow(TRUE); m_dung.EnableWindow(TRUE); if(m_thongSo.DoModal()==IDOK) { NhanDang[3]=m_thongSo.m_dt[0]; NhanDang[4]=m_thongSo.m_dt[1]; NhanDang[5]=m_thongSo.m_dt[2]; NhanDang[6]=m_thongSo.m_dt[3]; NhanDang[7]=m_thongSo.m_step; } InvalidateRect(CRect(126,115,230,440),FALSE); } void CBTDDlg::OnBdieukhien() { 67 Sv : Lê Thanh Tùng // TODO: Add your control notification handler code here SetTimer(ID_CLOCK_TIME,1000,NULL); SetTimer(ID_CLOCK_COUNT,3000,NULL); m_t=TRUE; e[0]=NhanDang[6]; e[1]=NhanDang[6]; m_count=2; m_TT="Time :"; m_batdau.EnableWindow(FALSE); m_dieukhien.EnableWindow(FALSE); m_thongso.EnableWindow(FALSE); m_nhandang.EnableWindow(FALSE); m_dung.EnableWindow(TRUE); m_thoat.EnableWindow(TRUE); UpdateData(FALSE); } void CBTDDlg::OnBstop() { // TODO: Add your control notification handler code here KillTimer(ID_CLOCK_TIME); KillTimer(ID_CLOCK_COUNT); m_t=FALSE; m_dung.EnableWindow(FALSE); m_thongso.EnableWindow(FALSE); m_dieukhien.EnableWindow(FALSE); m_nhandang.EnableWindow(FALSE); m_batdau.EnableWindow(TRUE); m_thoat.EnableWindow(TRUE); GetDlgItem(IDC_RALP)->EnableWindow(FALSE); GetDlgItem(IDC_RALPI)->EnableWindow(FALSE); GetDlgItem(IDC_RALPID)->EnableWindow(FALSE); InvalidateRect(CRect(240,120,605,440),FALSE); m_TT=""; m_sTime=""; UpdateData(FALSE); } void CBTDDlg::OnBthoat() { // TODO: Add your control notification handler code here OnOK(); } KẾT LUẬN 68 Sv : Lê Thanh Tùng Sau thời gian thực đồ án tốt nghiệp với nhiều cố gắng nổ lực với tận tình hướng dẫn thầy giáoTh.s Nguyễn Trọng Thắng, đồ án hoàn thành thời gian qui định theo yêu cầu đặt thiết kế va phân tích hệ thống điều khiển nhiệt độ cho lò đốt CN dùng họ vi điều khiển MSC51,cụ thể 80C51 Để thực yêu cầu em nghiên cứu, tìm hiểu vấn đế vi điều khiển, vi xử lí, phương pháp đo nhiệt độ, phương pháp chuyển đổi từ tương tự sang số ,các phương tổng hợp hệ thống điều khiển vấn đề khác có liên quan đến đề tài Nội dung đề tài bao gồm phần sau: *Phần kiến thức -Khảo sát vi điều khiển 8051/8031 -Khảo sát IC giai tiếp ngoại vi 8255A -Khảo sát nhớ thông dụng -Các phương pháp chuyển đổi từ tương tự sang số -Các IC phụ trợ 74LS138,74LS373… -Hệ thống đo nhiệt độ phương pháp đo nhiệt độ *Phần thiết kế thi cơng -Xây dựng sơ đồ khối tồn mạch -Xây dưng lưu đồ giải thuật -Viết chương trình Trên nội dung mà em thực đồ án Theo nhận định chủ quan em thi đồ án trình bày tương đối đầy đủ nội dung, kiến thức liên quan, giải yêu cầu đặt Tuy nhiên thời gian trình độ chun mơn có hạn cịn nhiều thiếu sót Để đề tài thêm phong phú tăng hiệu sử dụng cần đáp ứng yêu cầu sau: +Phải hoàn thiện nghiên cứu sâu lập trình cho 80C51 +Dùng phần mềm chuyên dụng Orcard,Protel để vẽ mạch in,tiến tới lắp ráp thành card thật,tiến hành chạy thử Đó yêu cầu mà em chưa có điều kiện thực hạn chế thời gian, gặp khó khăn kĩ thuật Xin chân thành cảm ơn bạn sinh viên đóng góp ý kiến quý báu để đề tài hoàn thành tốt đẹp, thời hạn 69 Sv : Lê Thanh Tùng TÀI LIỆU THAM KHẢO 1.Lý thuyết điều khiển tự động-Phạm Công Ngô- NXB khoa học kỹ thuật 2.Kỹ thuật vi điều khiển-Lê văn Doanh-Phạm Khắc Chương-NXB khoa học kỹ thuật Đo lường đièu khiển máy tính –Ngơ Diên Tập-NXB khoa học kỹ thuật 4.Họ vi điều khiển 8051-Tống Văn On-Hoàng Đức Hải-NXB Lao Động Xã Hội 5.The 8051 Microcontroller –University of Guelph-I.SCOTT MACKENZIE KHUẾCH ĐẠI VÀO P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 8051 EA/VP X1 X2 12 15 16 19 RESET Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 D0 D1 D2 D3 D4 D5 D6 D7 CLK 74AC373 INT0 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 13 14 17 18 LOØ LM358 2k 17 14 15 18 19 20 21 Gate 11 25 24 23 P1.1 P1.2 22 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 START ALE IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 26 27 28 Zenner 6V SENSOR 1u REF+ 12 REF- 16 CLK 10 OE EOC Rđốt +12V 2 103 1k 1k 103 RD WR PSEN ALE TxD RxD P1.0 10u 10u DB9 12V 12 11 10 +12V 1K 10K 14 15 A8 A8 A7 A6 A5 A4 A3 A2 A1 IOUT IOUT COMP + _ V_control 358 16 VR+ VR- 104 -12V 70 ... liên lạc, hệ thống thu thập liệu, điều khiển giám sát q trình cơng nghệ Hệ thống điều khiển số (DCS) hệ thống điều khiển mà khâu có tín hiệu tác động dạng tín hiệu số Hệ thống điều khiển số có ưu... dụng 1.Tên đề tài : Nghiên cứu thiết kế hệ thống điều khiển số nhiệt độ Các số liệu ban đầu : Công suất lò: (KW) Dải nhiệt độ đo: 300-1200 (độ C) 3.Các yêu cầu thiết kế : +Thiết kế 8051 +Xây dựng... thuật điều khiển số vừa công cụ vừa tảng để phân tích tổng hợp hệ thống điều khiển Các hệ thống điều khiển số ứng dụng phổ biến trình sản xuất như: điều khiển robot, máy công cụ, điều khiển hệ thống