Báo cáo tổng kết Chuyên đề: Nghiên cứu, thiết kế, chế tạo điều tốc cho các trạm thủy điện
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo tổng kết Chuyên đề: Nghiên cứu, thiết kế, chế tạo điều tốc cho các trạm thủy điện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bao_cao_tong_ket_chuyen_de_nghien_cuu_thiet_ke_che_tao_dieu.pdf
Nội dung text: Báo cáo tổng kết Chuyên đề: Nghiên cứu, thiết kế, chế tạo điều tốc cho các trạm thủy điện
- bé n«ng nghiÖp vµ ph¸t triÓn n«ng th«n viÖn khoa häc thñy lîi b¸o c¸o tæng kÕt chuyªn ®Ò nghiªn cøu, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thñy ®iÖn thuéc ®Ò tµi kc 07.04: “nghiªn cøu, lùa chän c«ng nghÖ vµ thiÕt bÞ ®Ó khai th¸c vµ sö dông c¸c lo¹i n¨ng l−îng t¸i t¹o trong chÕ biÕn n«ng, l©m, thñy s¶n, sinh ho¹t n«ng th«n vµ b¶o vÖ m«i tr−êng” Chñ nhiÖm chuyªn ®Ò: ThS nguyÔn vò viÖt 5817-6 16/5/2006 hµ néi – 5/2006
- MỤC LỤC Trang §Æt vÊn ®Ò 1 PhÇn I Lý thuyÕt c¬ b¶n cña thiÕt bÞ ®iÒu tèc 3 I.1. Sù ®iÒu chØnh tua bin vµ sù ®iÌu chØnh tua bin vµ ph©n 3 lo¹i m¸y ®iÒu. I.1.1. S¬ l−îc vÒ lý thuyÕt vÒ ®iÒu chØnh tua bin thuû lùc 3 I.1.2. Giíi thiÖu c¸c lo¹i m¸y ®iÒu tèc trong tr¹m thuû ®iÖn 5 I.2. NHU CÇU C¸C LO¹I M¸Y ®IÒU TÈC TRONG TR¹M THUÛ 9 ®IÖN I.3. XU H−ÍNG CHÕ T¹O C¸C LO¹I M¸Y DIÒU TÈC TRªN THÕ 9 GIÍI I.4 ChÕ t¹o m¸y ®iÒu tèc ë ViÖt Nam 11 PhÇn II. Nghiªn cøu, chÕ t¹o ®iÒu tèc ®iÒu chØnh 13 l−u l−îng vµ ®iÒu tèc ®iÒu chØnh phô t¶i II.1 Nghiªn cøu xö dông c¸c bé vi xö lý (P), © th«ng dông 13 vµo viÖc chÕ t¹o m¸y ®iÒu tèc II.1.1 Lùa chän sö dông vi xö lý 13 II.1.2. øng dông vi xö lý 8051 13 II.1.3 Nghiªn cøu øng dông vi xö lý t¹i trung t©m nghiªn cøu 15 thuû ®iÖn nhá – ViÖn Khoa häc Thuû lîi II.1.4. Th«ng tin tõ n−íc ngoµi 17 II.2. Nghiªn cøu më réng bé ®iÒu khiÓn ®iÒu tèc l−u l−îng 19 thµnh bé ®iÒu khiÓn ®a t¸c dông II.3. X¸c ®Þnh ph−¬ng ph¸p ®iÒu chØnh tua bin 20 II.3.1. S¬ ®å ®iÒu khiÓn 20 II.3.2. S¬ ®å khèi chøc n¨ng 23 II.4 ThiÕt kÕ phÇn cøng 23 II.4.1 CPU 23 II.4.2 Khèi hiÓn thÞ 24 II.4.3 Khèi ®o l−êng tÇn sè 25 II.4.4 Khèi b¸o hiÖu mùc n−íc 26 II.4.5 TÝn hiÖu ®ãng m¸y sù cè bªn ngoµi 26
- II.4.6 C¸c c«ng t¸c thiÕt lËp gi¸ trÞ vËn hµnh 27 II.4.7 Khèi ®iÒu khiÓn 27 II.4.8 Khèi cÊp nguån 28 II.5. X©y dùng phÇn mÒm ®iÒu khiÓn 28 II.5.1 Lùa chän ng«n ng÷ 28 II.5.2 S¬ ®å khèi tÝnh to¸n chÝnh 29 II.6 ChÕ t¹o hoµn chØnh bé ®iÒu tèc 37 II.7 X©y dùng qui tr×nh vËn hµnh, söa ch÷a, b¶o d−ìng 38 II.8 §Ò xuÊt n©ng cao chÊt l−îng thiÕt bÞ 38 II.9 B¶n vÏ nguyªn lý 39 PhÇn III Nghiªn cøu bé ®iÒu tèc ®iÒu khiÓn phô t¶i 40 III.1 Tæng quan 40 III.1.1 Th«ng tin tõ n−íc ngoµi 40 III.1.2 Lùa chän ph−¬ng ¸n thiÕt kÕ 42 III.2 ThiÕt kÕ phÇn cøng 50 III.2.1 CPU 50 III.2.2 Khèi ®o l−êng tÇn sè 51 III.2.3 C«ng t¸c thiÕt lËp gi¸ trÞ vËn hµnh 51 III.2.4 Khèi ®iÒu khiÓn t¶i 53 III.2.5 §iÌu khiÓn kiÓu R¬le 53 III.2.6 Khèi cÊp nguån 53 III.3 X©y dùng phÇn mÒm ®iÒu khiÓn 54 III.3.1 Lùa chän ng«n ng÷ 54 III.3.2 S¬ ®å khèi tÝnh to¸n chÝnh 54 III.4 ChÕ t¹o hoµn chØnh bé ®iÒu khiÓn 59 III.5 §Ò xuÊt n©ng cao chÊt l−îng thiÕt bÞ 60 III.6 B¶n vÏ nguyªn lý 61 Phô lôc I PhÇn mÒm ®iÒu khiÓn l−u tèc ®iÒu chØnh 63a l−u l−îng Phô lôc II PhÇm mÒm ®iÒu khiÓn ®iÒu tèc ®iÒu 102 chØnh phu t¶i
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 §Æt vÊn ®Ò Cung cấp năng lượng điện là một trong những chỉ tiêu đánh giá mức độ phát triển của một vùng, cũng như của một đất nước. Trong chính sách phát triển kinh tế - xã hội miền núi của Đảng và nhà nước, việc cung cấp điện được coi như là một trong các biện pháp hàng đầu. Có rất nhiều giải pháp cấp điện, bao gồm phát triển lưới điện được nối với toàn quốc, phát triển lưới điện cục bộ tại địa phương, xây dựng các trạm phát điện, đặc biệt là các trạm thuỷ điện vừa và nhỏ Nước ta ở trong vùng nhiệt đới gió mùa, với mạng lưới sông suối dày đặc, có trữ lượng thủy năng rất lớn. Việc sử dụng nguồn năng lượng này phục vụ cho các nhu cầu tăng lên không ngừng của nền kinh tế, có tác dụng về nhiều mặt, mang lại hiệu ích kinh tế cao, phù hợp với chính sách về năng lượng của nhà nước. Đồng thời với việc sản xuất và phân phối điện năng, phải chú trọng nâng cao về chất lượng của dòng điện. Chúng ta biết rằng: Chất lượng dòng điện được đánh giá chủ yếu qua các đại lượng điện áp và tần số. Vì vậy, người ta phải hết sức chú ý tới việc đảm bảo ổn định điện áp và tần số của mạng lưới cung cấp điện. Mạng lưới điện bao gồm nhiều tổ máy phát điện các loại vận hành song song để cung cấp điện năng cho nhu cầu của phụ tải, nên cần có sự phân phối phụ tải hợp lý cho các tổ máy tham gia hệ thống và chất lượng dòng điện của mạng lưới phụ thuộc chất lượng dòng điện của từng tổ máy riêng biệt; Đồng thời việc bảo đảm sự hoạt động an toàn của tổ máy sẽ góp phần làm ổn định lưới điện. Trong một trạm phát điện nói chung, cũng như trong trạm thuỷ điện nói riêng, toàn bộ các nhiệm vụ kể trên được thực hiện bởi máy điều tốc. Như vậy, vai trò của máy điều tốc trong trạm phát điện là hết sức quan trọng, với ba chức năng sau: - Ổn định tần số dòng điện phát ra với mọi chế độ phụ tải. - Đảm bảo chế độ hoạt động song song giữa các tổ máy phát điện trong hệ thống. - Đảm bảo dừng máy khẩn cấp khi xuất hiện các sự cố. Cho đến nay, hầu hết các thiết bị trong một trạm phát điện đều phải nhập từ nước ngoài. Ngoài việc phải sử dụng ngoại tệ, việc nhập khẩu các thiết bị từ nước ngoài làm ViÖn khoa häc thuû lîi 1
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 cho việc bảo hành, bảo dưỡng và sửa chữa thiết bị gặp nhiều khó khăn. Việc chủ động thiết kế và chế tạo các thiết bị trong trạm thủy điện nói chung và máy điều tốc nói riêng phù hợp với công cuộc công nghiệp hóa hiện đại hóa của nền kinh tế nước nhà. Đề tài đã được hình thành từ các yêu cầu của thực tế sản xuất. Bản báo cáo này, trình bày các kết quả nghiên cứu thiết kế, chế tạo máy điều tốc điều chỉnh lưu lượng, điều chỉnh phụ tải xử dụng vi xử lý. Đây là một trong những loại thiết bị điều tốc đã được nghiên cứu nhiều năm ở Trung tâm Nghiên cứu thủy điện nhỏ (Gọi tắt là Trung tâm thủy điện), Viện Khoa học thủy lợi, Bộ Nông nghiệp và Phát triển nông thôn. ViÖn khoa häc thuû lîi 2
- B¸o c¸o khoa häc §Ò tµi KC07- 04 PhÇn 1. LÝ THUYÕT C¬ B¶N CñA THIÕT BÞ ®iÒu tèc. I.1. SỰ ĐIỀU CHỈNH TUA BIN VÀ PHÂN LOẠI MÁY ĐIỀU TỐC I.1.1 SƠ LƯỢC VỀ LÝ THUYẾT VỀ ĐIỀU CHỈNH TUA BIN THUỶ LỰC: Nguyên lý điều chỉnh của máy điều tốc dựa trên phương trình chuyển động quay của tổ máy thuỷ điện: dω M − M = J t c dt (1) Trong đó: Mt - Mô men do tua bin sinh ra. Mc - Mô men cản phụ thuộc vào phụ tải. J - Mô men quán tính của tổ máy (Tua bin + Máy phát). ω - Vận tốc quay của tổ máy. Muốn duy trì vận tốc tổ máy không thay đổi (do đó tần số dòng điện không đổi), vế trái của phương trình bằng không (= 0). Do đó phương trình (1) trở thành: dω J = M t − M c = 0 dt (2) ω = const Từ (2), có thể rút ra kết luận: Có thể điều chỉnh tua bin để đạt trị số vòng quay không thay đổi bằng cách đảm bảo điều chỉnh sao cho luôn đạt được sự cân bằng giữa mô men do tua bin sinh ra và mô men cản. Có thể đạt được điều này theo 2 cách như sau: - Điều chỉnh mô men trên trục tua bin Mt sao cho luôn cân bằng với mô men cản của phụ tải Mc. Theo hướng này, ta có các loại điều tốc điều chỉnh lưu lượng vẫn thường dùng trong các trạm thuỷ điện - Ngược lại, điều chỉnh tổng mô men cản của phụ tải Mc sao cho luôn cân bằng với mô men trên trục tua bin Mt. Theo hướng này, ta có loại điều tốc điều chỉnh phụ giả (Điều tốc tải giả). I.1.1.1 Điều chỉnh mô men trên trục tua bin: Mô men sinh ra trên trục tua bin liên hệ với công suất tua bin như sau: Ntb = Mt . ω (3) ViÖn khoa häc thuû lîi 3
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Và ta đã biết, với cột nước làm việc H và lưu lượng Q, công suất của tua bin là: γ QH Ntb = (4) 102 Trong đó: Ntb - Công suất thuỷ lực do dòng nước sinh ra trên trục tua bin (kW) γ - Trọng lượng riêng của nước , γ = 1000 kG/m3 . Q - Lưu lượng của tổ máy (m3/s). H - Cột nước làm việc của tua bin (m). Từ (3) và (4), kể đến hệ số tổn thất Φ, rút ra: γ QHΦ M = (5) t 102 × ω Trong vùng làm việc nhất định của tua bin, trong một khoảng thời gian nhất định, cột áp H không thay đổi, hệ số tổn thất Φ không thay đổi, tức là ta có thể coi H= Const, Φ=Const. Do vậy, khi đó Mt chỉ còn phụ thuộc vào lưu lượng Q. Để điều chỉnh cho mô men trên trục tua bin Mt cân bằng với mô men cản của phụ tải Mc ta phải điều chỉnh lưu lượng nước qua tua bin. Đây chính là nguyên tắc điều chỉnh của các máy điều tốc điều chỉnh lưu lượng truyền thống được sử dụng rộng rãi nhất trong các trạm thuỷ điện. I.1.1.2 Điều chỉnh tổng mô men cản trên trục tua bin: Trong các trạm thuỷ điện áp dụng loại điều tốc kiểu tải giả, lưu lượng Q qua tua bin sẽ không thay đổi trong những khoảng thời gian nhất định; tức là tua bin sẽ luôn hoạt động với một công suất Mt nhất định tương ứng với lưu lượng này (theo(5)). Do phụ tải tiêu thụ luôn thay đổi, tức là mô men Mc thay đổi, nên phải có một nguồn phụ tải tiêu thụ bù vào sao cho đạt được tổng phụ tải của tua bin không thay đổi, do đó đạt được sự cân bằng theo (2). Phụ tải này thường là các điện trở thuần. Nhiệm vụ của máy điều tốc kiểu tải giả là làm sao giữ cho tổng phụ tải của tua bin không thay đổi bằng cách đóng-ngắt các phụ tải bù nói trên. Việc đóng ngắt này thường do mạch điện tử và các Thiritstor đảm nhận, cho nên loại máy điều tốc loại này rất gọn nhẹ, dễ sửa chữa, giá thành thấp. ViÖn khoa häc thuû lîi 4
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Tuy nhiên, chất lượng dòng điện trong trường hợp này không cao như trường hợp điều chỉnh lưu lượng. Trong các trạm thủy điện công suất nhỏ hoạt động độc lập, yêu cầu về chất lượng dòng điện không cao (Dùng thắp sáng, đun nấu ), thì sử dụng loại điều tốc này mang lại hiệu quả kinh tế cao. I.1.2 GIỚI THIỆU CÁC LOẠI MÁY ĐIỀU TỐC TRONG TRẠM THUỶ ĐIỆN I.1.2.1 Cấu tạo chung. Nói chung, các máy điều tốc có hai bộ phận chính như sau: (1) Bộ phận điều khiển: Bộ phận điều khiển có thể coi như trung tâm xử lý tín hiệu của điều tốc về vòng quay của tổ máy, là bộ phận quan trọng và phức tạp nhất của máy điều tốc. Trong bộ phận này có thể chia ra một số cụm với các chức năng sau: - Cụm bộ phận cảm ứng: Làm nhiệm vụ nhận các tín hiệu vòng quay của tổ máy, so sánh sai lệch với giá trị đặt trước của vòng quay tổ máy để tạo ra tín hiệu điều chỉnh tương ứng tác động lên bộ phận xử lý. - Cụm bộ phận xử lý: Từ tín hiệu sai lệch tạo ra tín hiệu điều khiển cửa van tua bin (hoặc phụ tải) - Bộ phận ổn định: Làm nhiệm vụ ổn định hệ thống điều chỉnh nhằm đảm bảo chất lượng của hệ thống được điều chỉnh, thông qua các tín hiệu phản hồi về vòng quay, gia tốc vòng quay (2) Bộ phận chấp hành: Làm nhiệm vụ điều chỉnh theo yêu cầu của máy điều tốc (Lưu lượng qua tua bin hoặc phụ tải của tổ máy). I.1.2.2 Các loại điều tốc dùng cho trạm thuỷ điện. (3) Điều tốc điều chỉnh lưu lượng Theo cấu tạo, kết cấu của các bộ phận chính của máy điều tốc, có thể chia ra cácloại điều tốc sau, mà tên gọi hàm ý kiểu cấu tạo của bộ phận điều khiển và bộ phận chấp hành: ViÖn khoa häc thuû lîi 5
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 (a) Điều tốc Cơ-Thuỷ lực Đây là loại máy điều tốc ra đời từ rất lâu. Bộ phận điều khiển là bộ phận cơ học, như: con lắc li tâm, con lắc thuỷ lực; bộ phận chấp hành là thuỷ lực (secvomotor thuỷ lực), các bộ phận khác đều là các cơ cấu cơ khí hoặc thuỷ lực. Ưu điểm : - Có khả năng điều khiển các tua bin thuỷ điện có công suất cao. - Tín hiệu điều chỉnh là liên tục. - Độ bền cao. Nhược điểm: - Hệ thống cứng nhắc khó thay đổi các hệ số điều khiển khi phải điều khiển các hệ có nhiều sự thay đổi lớn. - Độ trễ của thiết bị lớn. - Độ sai lệch tĩnh lớn. Hiện nay ở các nước phát triển rất ít dùng loại này. (b) Điều tốc Điện -Thuỷ lực Cũng như loại trên, loại điều tốc này có bộ phận chấp hành là thiết bị thuỷ lực, còn lại bộ phận cảm ứng và các bộ phận khác đều là thiết bị điện tử tương tự. Ưu điểm: - Gọn nhẹ, dễ dùng hơn bộ điều tốc Cơ - Thuỷ lực - Khả năng công nghiệp hoá cao. - Tín hiệu điều khiển liên tục. - Đảm bảo độ nhạy, độ chính xác điều khiển Nhược điểm: - Hệ thống vẫn còn cứng nhắc, khả năng thay đổi các thông số phụ thuộc vào phần cứng. - Có sự trôi trượt các tham số do đặc điểm của các linh kiện analog. ViÖn khoa häc thuû lîi 6
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 - Độ quá điều chỉnh còn lớn - Để chế tạo một hệ điều khiển có nhiều tính năng thì rất phức tạp - Giá thành chế tạo các phần tử thủy lực còn cao. (c) Điều tốc Điện tử số -Thuỷ lực Cũng như loại trên, loại điều tốc này có bộ phận chấp hành là thiết bị thuỷ lực, còn lại bộ phận cảm ứng và các bộ phận khác đều là thiết bị điện tử số. Ưu điểm: - Gọn nhẹ, dễ dùng thay đổi các thông số điều chỉnh - Có khả năng tự truy tìm hằng số thời gian của tổ máy để cho ra tín hiệu điều chỉnh tương thích. - Độ chính xác cao, sai lệch tĩnh nhỏ. - Độ quá điều chỉnh nhỏ Nhược điểm: - Giá thành chế tạo các phần tử thủy lực còn cao. (d) Điều tốc Điện tử -Điện Loại điều tốc này có bộ phận chấp hành là động cơ điện, còn lại bộ phận cảm ứng và các bộ phận khác đều là thiết bị điện tử tương tự. Loại điều tốc này có chung các ưu nhược điểm như loại máy Điện -Thuỷ lực, ngoại trừ phần chấp hành là điện, phù hợp hơn khi áp dụng trong các trạm thủy điện nhỏ (e) Điều tốc Điện tử số - Điện Loại điều tốc này có bộ phận chấp hành là động cơ điện, còn lại bộ phận cảm ứng và các bộ phận khác đều là thiết bị điện tử số. Loại điều tốc này có chung các ưu nhược điểm như loại máy Điện tử số -Thuỷ lực, ngoại trừ phần chấp hành là điện, phù hợp hơn khi áp dụng trong các trạm thủy điện nhỏ (4) Điều tốc điều chỉnh phụ tải ViÖn khoa häc thuû lîi 7
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Trong thời gian gần đây, bên cạnh các máy điều tốc kiểu truyền thống, đã xuất hiện và được áp dụng ở nhiều nước trên thế giới loại máy điều tốc kiểu tải giả (Dummy Load, Electronic Load Control). Đối với các trạm thuỷ điện nhỏ, việc sử dụng máy điều tốc kiểu thứ nhất nói trên sẽ không kinh tế, vì nhiều lẽ mà trước hết là giá thành chế tạo, kết cấu phức tạp làm cho chi phí bảo dưỡng vận hành cao Hoặc tại các trạm thuỷ điện trên hệ thống tưới, nơi mà không thể tuỳ ý thay đổi lưu lượng qua tổ máy; hoặc tại các vị trí mà điều kiện về dòng chảy không bị hạn chế thì việc áp dụng máy điều tốc kiểu tải giả hoàn toàn là phương án kinh tế hơn. Đây là loại thiết bị thuộc thế hệ mới, nên hầu như các phần tử trong nó đều ứng dụng các thành tựu của kỹ thuật điện tử và tin học. m¸y ®iÒu tèc ®iÒu chØnh l−u l−îng ®iÒu chØnh phô t¶i c¬ §iÖn tö §iÖn tö Analog DIGITAL thñy lùc thñy lùc §iÖn Analog DIGITAL Analog DIGITAL Hình 1 - Phân loại máy điều tốc ViÖn khoa häc thuû lîi 8
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 I.2 NHU CẦU TRÊN THỊ TRƯỜNG VỀ MÁY ĐIỀU TỐC Như đã đề cập ở nhiều tài liệu, thủy điện nhỏ đóng vai trò rất quan trọng trong chiến lược về năng lượng của đất nước, phục vụ cho công cuộc phát triển dân sinh kinh tế, nhất là tại các vùng miền núi xa xôi. Có thể thấy hai vấn đề trong lĩnh vực này: Thứ nhất, đối với các trạm thủy điện nhỏ xây dựng mới, giá thành của máy điều tốc chiếm tỷ trọng tương đối lớn trong tổng giá trị các thiết bị (Ví dụ: Giá nhập khẩu máy TT150 (Trung Quốc) là 80 triệu đồng Việt Nam - 1998). Mặt khác, do cơ cấu tiêu chuẩn hóa thiết bị tua bin, một loại máy điều tốc được sử dụng trong một dải lớn về công suất của tua bin, nên đối với tổ máy công suất nhỏ, tỷ trọng giá thành của máy điều tốc càng lớn. Thứ hai, đối với các trạm đã xây dựng từ trước ở nước ta , các máy điều tốc trong các trạm thuỷ điện này chủ yếu là loại máy Cơ khí - Thuỷ lực; Sau một thời gian vận hành nhất định, hầu như đã bị hư hỏng mà không có phụ tùng thay thế. Các chi tiết thuỷ lực tuy không lớn, nhưng đòi hỏi phải gia công rất chính xác và chất lượng vật liệu tốt. Đa số các trạm thuỷ điện nhỏ này, do không có máy điều tốc hoặc do máy điều tốc đã bị hư hỏng phải vận hành bằng tay, nên chất lượng dòng điện không đảm bảo tiêu chuẩn hoà lưới quốc gia, mặt khác rất dễ hư hỏng tổ máy khi gặp sự cố. Theo điều tra đánh giá của chúng tôi thì nhu cầu chế tạo mới, sửa chữa thay thế thiết bị điều tốc cho các trạm thuỷ điện nhỏ đã xây dựng là rất lớn. Việc chủ động chế tạo được máy điều tốc trong nước sẽ mang lại nhiều lợi ích về kinh tế, xã hội. I.3 XU HƯỚNG CHẾ TẠO CÁC LOẠI MÁY ĐIỀU TỐC TRÊN THẾ GIỚI. Ngày nay trên thế giới, khoa học - kỹ thuật phát triển với tốc độ vô cùng nhanh chóng. Khoảng cách giữa nghiên cứu và ứng dụng được rút ngắn rất nhiều so với các thập niên trước. Các thành tựu mới của khoa học công nghệ luôn được ứng dụng vào thực tế, và qua thực tế quay lại hoàn thiện hơn. Việc chế tạo thiết bị điều tốc (mà thực tế hiện nay, là thiết bị điều khiển nhiều tác dụng) đã ứng dụng rất nhiều thành tựu của khoa học về điều khiển tự động, của công nghệ điện tử tin học. Nhìn chung, có thể đưa ra một số nhận xét sau: 1. Hầu như, việc ứng dụng vi xử lý, vi điều khiển đã trở thành phổ biến. Ưu điểm của chúng đã có nhiều tác giả đề cập, ở đây ta có thể nhận thấy một số nét chính: ViÖn khoa häc thuû lîi 9
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 - Kích thước nhỏ; - Thời gian xử lý nhanh, với tốc độ xử lý cỡ ns hoàn toàn đảm bảo tính thời gian thực (real-time) trong đo lường và điều khiển; - Độ chính xác cao, với các thế hệ 16, 32 và 64 bit, độ chính xác đã đạt mức độ vô cùng lớn so với yêu cầu điều khiển (với 10 bit, ta đã có độ chính xác 0,1 %, 16 bit ~ 0,15.10-5%); - Số lượng các đầu vào ra lớn cùng các tính năng điều khiển được tích hợp trên linh kiện (on-chip), làm tăng khả năng xử lý nhiều tác dụng cùng lúc, bộ điều khiển trở thành đa tác dụng, không chỉ đơn thuần điều khiển 1 thông số nào đó; - Khả năng truyền tin mang đến khả năng đo lường điều khiển từ xa, dễ dàng thiết lập mạng thông tin SCADA; - Mềm dẻo trong thuật toán: Do các thuật toán điều khiển là phần mềm, việc thay thế, sửa chữa các thuật điều khiển, các thông số hoàn toàn là phần mềm, không phải sửa chữa hoặc thay thế phần cứng (Do đó mạch điện phần cứng cũng đơn giản hơn nhiều); - Giá thành tương đối rẻ và dễ chế tạo trong nước: Do giá thành chế tạo các linh kiện điện tử giảm xuống nhanh chóng, do mức độ sử dụng rộng rãi, nên việc mua các linh kiện không quá khó khăn. Mặt khác, trình độ về điện tử - tin học trong nước đã phát triển cao, nên có thể hoàn toàn làm chủ được việc viết phần mềm điều khiển. Việc đầu tư sản xuất không lớn như các thiết bị cơ khí - thuỷ lực. 2. Đối với các trạm thủy điện công suất lớn, việc đóng mở tua bin và các thiết bị cần phải có công suất lớn, nên cơ cấu chấp hành vẫn là thủy lực. 3. Đối với trạm thủy điện nhỏ, sử dụng cơ cấu chấp hành là động cơ điện đã trở nên phổ biến do kích thước gọn, cơ cấu đơn giản, giá thành chế tạo rẻ hơn nhiều so với cơ cấu thủy lực. 4. Với các trạm thủy điện mini, sử dụng điều tốc tải giả làm đơn giản hẳn quá trình điều khiển, độ bền thiết bị được tăng lên, do thiết bị làm việc ổn định ở một chế độ nhất định; giá thành thiết bị rẻ hơn nhiều so với điều chỉnh lưu lượng. ViÖn khoa häc thuû lîi 10
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 I.4 CHẾ TẠO MÁY ĐIỀU TỐC Ở VIỆT NAM Từ những năm 1980 trở lại đây, đã có một số cơ sở sản xuất và nghiên cứu ở Việt nam tiến hành thiết kế chế tạo thiết bị thuỷ điện nhỏ, trong đó có máy điều tốc. Tại Công ty Cơ khí Hà Nội, từ năm 1982, đã tiến hành sản xuất một số loại máy điều tốc. Các loại máy điều tốc này được thiết kế theo mẫu điều tốc của nước ngoài. Đó là máy TT75 (mẫu Trung Quốc), TT1500 (mẫu Liên Xô). Trên cơ sở máy TT75, đã thiết kế cải tiến một số loại khác như TT100, TT150, TT200. Toàn bộ các máy điều tốc kể trên thuộc loại điều tốc Cơ - Thuỷ lực. Nói chung các loại máy điều tốc Cơ - Thuỷ lực trên làm việc ổn định nhiều năm nay, nhưng do đặc tính của loại điều tốc này nên chất lượng diều chỉnh không cao; hơn nữa kết cấu của máy rất phức tạp, cồng kềnh do các truyền động cơ khí, một số chi tiết đòi hỏi phải đầu tư lớn vào dây chuyền công nghệ như lò xo lá con lắc ly tâm, các van phân phối thủy lực, bộ phận hoãn xung , nên giá thành máy cao. Trên cơ sở máy TT1500, nhà máy đã cải tiến thành kiểu điều tốc Điện tử - Thuỷ lực, nhưng không thành công. Do nhiều nguyên nhân khác nhau, Công ty đã không tiếp tục nghiên cứu sâu về thiết bị thủy điện cũng như máy điều tốc. Viện Nghiên cứu máy, Nhà máy sửa chữa thiết bị điện - Bộ Công nghiệp và Trường Đại học bách khoa Đà Nẵng đã sản xuất thử một số máy điều tốc Cơ - Thuỷ lực nhưng chất lượng rất thấp, dựa trên các thiết kế quá cũ và kích thước cồng kềnh, chỉ được ứng dụng tài một vài trạm thủy điện nhỏ. Từ năm 1981 trở lại đây, Trường Đại học Bách khoa Hà nội đã nghiên cứu và từng bước thử nghiệm sản xuất các loại máy điều tốc Điện tử - Thuỷ lực. Một số công trình thuỷ điện lắp đặt máy điều tốc loại này cho thấy nếu có sự đầu tư thích đáng thì nước ta có thể chế tạo được điều tốc với chất lượng ngang hàng với máy của nước ngoài. Trong nhiều năm, Trung tâm thuỷ điện, Viện Nghiên cứu khoa học và kinh tế thuỷ lợi đã có nhiều nghiên cứu thành công trong lĩnh vực thuỷ điện nhỏ. Bên cạnh việc nghiên cứu, sản xuất và lắp đặt các tua bin thuỷ lực ở nhiều địa phương trong cả nước, Trung tâm đã đầu tư rất nhiều vào việc nghiên cứu về máy điều tốc. Trung tâm đã có sự kết hợp với nhiều đơn vị trong và ngoài nước để tiến hành nghiên cứu và sản xuất máy điều tốc. Kết hợp với Trường Đại học Bách khoa Hà nội, Trung tâm đã có những ViÖn khoa häc thuû lîi 11
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 nghiên cứu toàn diện về điều tốc Điện tử - Thuỷ lực, và đã thử nghiệm thành công tại một số trạm thuỷ điên ở các tỉnh phía Bắc và Tây Nguyên. Gần đây nhất, kết hợp với Trường Đại học Bách khoa Hà nội, Hãng TANAKA (Nhật Bản), Trung tâm đã nghiên cứu và chế tạo thử nghiệm để sớm sản xuất loại các loại điều tốc Điện tử - Điện kiểu Tải giả và kiểu dùng secvomotor điện. ViÖn khoa häc thuû lîi 12
- B¸o c¸o khoa häc §Ò tµi KC07- 04 PhÇn II. Nghiªn cøu, chÕ t¹o ®iÌu tèc ®iÌu chØnh l−u l−îng vµ ®iÌu tèc ®iÌu chØnh phô t¶i. II.1. NGHIªN CỨU XỬ DỤNG CÁC BỘ VI XỬ LÝ (P, (C) THÔNG DỤNG VÀO VIỆC CHẾ TẠO THIẾT BỊ ĐIỀU TỐC II.1.1 LỰA CHỌN SỬ DỤNG VI XỬ LÝ Việc lựa chọn thiết kế chế tạo các thiết bị dựa trên các bộ vi xử lý xuất phát từ các lý do sau: - Điều kiện về chế tạo các thiết bị cơ điện trong nước còn ở mức hết sức khiêm tốn, nếu muốn chế tạo các thiết bị cơ điện thay thế đòi hỏi phải đầu tư lớn ở dây chuyền sản xuất. - Xu thế phát triển các thiết bị điện trên thế giới là ứng dụng các thành tựu mới trong lĩnh vực điện tử - viễn thông - tin học. - Mức độ phát triển và điều kiện của công nghiệp điện tử tin học trong nước cho phép thiết kế, chế tạo các thiết bị điện có tính năng tương đương với linh kiện nhập từ nước ngoài. - Các thiết bị kiểu mới có kích thước gọn hơn sẽ làm giảm khối lượng xây lắp; phần mềm điều khiển cho phép mềm dẻo trong vận hành, có thể nâng cấp, thay thế mà không cần đầu tư lại phần cứng thiết bị. - Giá thành chế tạo rẻ so với chế tạo thiết bị cơ điện và so với nhập ngoại. II.1.2 ỨNG DỤNG VI XỬ LÝ 8051 Thuật ngữ Vi xử lý (Micro-Processor - µP) và Vi điều khiển (Micro-Controller - µC) không có sự khác biệt rõ rệt. Trong trường hợp bộ vi xử lý không dùng vào mục đích tính toán mà chủ yếu là để điều khiển một quá trình nào đó, người ta thường gọi chúng là µC. Theo cách hiểu này, µC là một loại vi xử lý trong tập hợp các bộ vi xử lý nói chung. Trong bản báo cáo này, hai thuật ngữ được coi như tương đương. Lịch sử phát triển các bộ vi xử lý gắn liền với lịch sử phát triển của linh kiện bán dẫn, khởi đầu là sự phát minh ra tranzito ở các phòng thí nghiệm của công ty Bell. Trong khoảng thời gian tiếp theo, là sự phát triển nhanh chóng của các bộ vi xử lý. Sau đây là một số mốc quan trọng: ViÖn khoa häc thuû lîi 13
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Năm 1958, Jack Kilby đã phát minh ra vi mạch tổ hợp đầu tiên, tại công ty Texas Instrumens (Mỹ) và đặt những viên gạch đầu tiên cho sự phát triển của các vi mạch logic họ 74xx. Năm 1960, ra đời máy tính đầu tiên được lắp ráp hoàn toàn bằng tranzito tại công ty IBM. Năm 1971, công ty Texas Instrumens sản xuất ra bộ vi xử lý 4 bit TMS 1000. Năm 1976, công ty Intelligent Electronics (INTEL - Mỹ) đã cho ra đời bộ vi điều khiển đơn chip 8 bit đầu tiên với tên gọi 8048. Các công ty khác cũng lần lượt cho ra đời các bộ điều khiển 8 bit tương tự với 8048 và hình thành họ vi điều khiển MSC-48 (Microcontroller System 48). Năm 1980, INTEL sản xuất ra thế hệ thứ hai các bộ vi điều khiển đơn chip 8 bit với tên gọi 8051, và trở thành công ty hàng đầu trong lĩnh vực sản xuất các bộ vi xử lý. Chỉ một thời gian ngắn, hàng loạt các thế hệ 8051 ra đời hình thành họ MCS-51. Đến nay, họ MSC-51 đã có trên 250 thành viên và được hầu hết các công ty bán dẫn hàng đầu thế giới chế tạo, sau INTEL phải kể đến AMD, Siemens, Philips, Dallas, OKI, v.v Ngoài ra, phải kể đến các công ty có các họ vi điều khiển riêng, như: - Họ ST62 của công ty SGS - THOMSON - Họ H8 của công ty HITACHI - Họ PIC của công ty Microchip - Họ 68HCxx của MOTOROLA. Trong số đó, họ 68HCxx của MOTOROLA cạnh tranh rất mạnh mẽ với họ 8051 trên thị trường thế giới. Đứng về mặt số lượng thì họ 8051 vẫn dẫn đầu trên thị trường các bộ vi điều khiển trên thế giới. Một số số liệu sau cho thấy mức độ ứng dụng của chúng. Theo số liệu 1995, các bộ vi xử lý 8 bit chiếm 67% thị phần các bộ vi xử lý (4, 8, 16 và 32 bit). Tổng doanh thu các bộ vi xử lý 8 bit là 5 tỷ USD với số lượng bán ra là 1,5 tỷ bộ (1995). Tăng trưởng hàng năm về số lượng cho đến năm 2000 là 30%. Chỉ riêng hãng PHILIPS, mỗi ngày xuất xưởng 1 triệu bộ (năm 1998). ViÖn khoa häc thuû lîi 14
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Rõ ràng là tương lai của thị trường vi xử lý đang mở rộng không ngừng. Ngày nay, chúng có mặt trong rất nhiều thiết bị, trong nhiều lĩnh vực khác nhau. Việc ứng dụng các bộ vi xử lý nói chung, họ MSC-51 nói riêng trong lĩnh vực các thiết bị đo lường điều khiển bảo vệ là phù hợp với xu hướng hiện nay trên thế giới. II.1.3 NGHIÊN CỨU ỨNG DỤNG VI XỬ LÝ TẠI TRUNG TÂM NGHIÊN CỨU THỦY ĐIỆN NHỎ - VIỆN KHOA HỌC THỦY LỢI Tuy là một đơn vị trong ngành Thủy lợi, thuộc Bộ Nông nghiệp và phát triển nông thôn, nhưng trong hơn 10 năm qua, Trung tâm Nghiên thủy điện đã có nhiều nghiên cứu ứng dụng vi xử lý trong các thiết bị đo lường - điều khiển trong trạm thủy điện. Trung tâm có đội ngũ cán bộ có chuyên môn về lĩnh vực đo lường - điều khiển - tự động hóa, gồm 01 tiến sĩ, 05 kỹ sư. Ngoài ra, Trung tâm đã được Nhà nước trang bị và tự trang bị nhiều thiết bị, trang bị chuyên dụng trong lĩnh vực này. Bên cạnh đó, kết hợp với nhiều đơn vị trong và ngoài nước như Đại học Bách khoa Hà Nội, Công ty Xuất nhập khẩu công nghệ mới (Bộ Khoa học - Công nghệ - Môi trường), Trung tâm Thủy điện nhỏ Hàng Châu (Trung Quốc), Hãng TANAKA (Nhật Bản) Trung tâm đã đạt được những thành công nhất định trong nghiên cứu, thiết kế, chế tạo các thiết bị đo lường điều khiển trên cơ sở ứng dụng vi xử lý. Dưới đây là một số thiết bị điều khiển sử dụng vi xử lý họ 8051, được nghiên cứu thiết kế, chế tạo tại Trung tâm Nghiên cứu thủy điện nhỏ - Viện Khoa học thủy lợi trong thời gian qua (1995-2001). Hình 2 - Thiết bị hòa điện bán tự động ViÖn khoa häc thuû lîi 15
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 3 - Thiết bị hòa điện bán tự động Hình 4 - Thiết bị đổi nguồn tự động Hình 5 - Thiết bị điều tốc tải giả ViÖn khoa häc thuû lîi 16
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 6 - Thiết bị đo lường tự động từ xa II.1.4 THÔNG TIN TỪ NƯỚC NGOÀI Theo các thông tin, tài liệu từ nước ngoài của các công ty, tổ chức về thủy điện nhỏ như: Hãng TANAKA (Nhật bản), Trung tâm khu vực Châu á - Thái bình dương về thủy điện nhỏ (Hàng Châu-Trung Quốc), SHP network Chúng tôi đã có các tài liệu về loại điều tốc điện tử điều chỉnh lưu lượng sử dụng vi xử lý. Trong quá trình thực hiện đề tài, chúng tôi đã nhập một bộ thiết bị như vậy từ Trung Quốc để khảo sát. Sau khi xem xét thiết bị trong phòng thí nghiệm và tại hiện trường, chúng tôi đã có một số nhận xét sau: - Thiết bị có kích thước gọn nhẹ, hoàn toàn phù hợp với các trạm thủy điện nhỏ và cực nhỏ về lắp đặt, sử dụng, bảo dưỡng thay thế; - Thiết bị có nhiều chức năng (multi-function), không chỉ là máy điều tốc; - Về cấu tạo, thiết bị của Trung Quốc sử dụng họ vi xử lý không còn thông dụng trong thời điểm hiện nay (Họ MSC-48); - Về chất lượng linh kiện, các đơn vị trong nước hoàn toàn có thể làm đạt ngang bằng và tốt hơn, với giá thành rẻ hơn (tất nhiên, vẫn phải nhập linh kiện lẻ từ nước ngoài). ViÖn khoa häc thuû lîi 17
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 7 - Thiết bị điều khiển tự động trạm thủy điện (Trung Quốc) Hình 8 - Thiết bị điều khiển tự động trạm thủy điện (Trung Quốc) Hình 9 - Thiết bị điều khiển tự động trạm thủy điện (Mỹ) ViÖn khoa häc thuû lîi 18
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 10 - Thiết bị điều khiển tự động trạm thủy điện (Đức) II.2. NGHIªN CỨU MỞ RỘNG BỘ ĐIỀU KHIỂN ĐIỀU TỐC LƯU LƯỢNG THÀNH BỘ ĐIỀU KHIỂN ĐA TÁC DỤNG Hiện nay, với sự phát triển mạnh mẽ của công nghệ điện tử - tin học, các bộ vi xử lý được tích hợp nhiều tính năng điều khiển trên cùng một vi mạch (On-chip) như: Timer, bộ thuật toán số học, các khối nhân/chia v.v , tốc độ xung nhịp của chúng được tăng lên đáng kể, các linh kiện ngoại vi cũng được phát triển rộng rãi, nên một bộ vi xử lý cho phép thực hiện “đồng thời” nhiều nhiệm vụ khác nhau do số lượng các đường vào ra lớn, tốc độ xử lý nhanh, kết hợp với sự phát triển về thuật toán điều khiển. Việc sử dụng một bộ điều khiển để thực hiện đa chức năng có thể thấy ở mọi lĩnh vực, mọi ứng dụng trong kỹ thuật và đời sống. Trong thực tế vận hành trạm thủy điện, ta thường gặp các vấn đề sau: • Điều tần: - Đảm bảo ổn định tần số của dòng điện phát ra - Tham gia phân phối tải trong hệ thống • Hòa điện, đưa tổ máy từ chế độ độc lập chuyển sang chạy trong hệ thống. • Điều khiển theo mức nước, để tổ máy luôn hoạt động trong vùng hiệu suất cao nhất, như vậy sử dụng nguồn năng lượng có hiệu quả nhất. • Bảo vệ tổ máy trong các trường hợp sự cố. Tham khảo cấu tạo của các thiết bị của nước ngoài, chúng tôi xác định các chức năng chính của thiết bị như sau: ViÖn khoa häc thuû lîi 19
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 • Là thiết bị điều tốc, với khả năng chạy độc lập cũng như trong lưới điện với 3 mức chính xác ứng với 3 qui mô lưới điện khác nhau (Lưới cấp quốc gia, lưới cấp vùng, lưới địa phương); Phần tử điều khiển là mạch vi xử lý, phần tử chấp hành là động cơ điện; • Là thiết bị hòa điện tự động; • Là thiết bị bảo vệ, có khả năng bảo vệ quá tốc độ, đóng máy khi có sự cố, điều khiển tổ máy theo mực nước; • Có các đầu vào bao gồm các giá trị thiết lập chức năng hoạt động (function): Điều tần, Hòa, Điều khiển theo mức nước; Các giá trị thiết lập chế độ hoạt động (Mode): Lưới cấp 1,2,3; Các giá trị thiết lập liên quan tới quá trình đóng mở; Các đầu vào cấp năng lượng cho thiết bị; Các đầu vào đo giá trị tần số; Các đầu vào đo mức nước; Đầu vào của tín hiệu dừng máy khẩn cấp. • Có các đầu ra kiểu rơ le điều khiển tăng, giảm tốc độ, hòa, điều khiển đóng cắt; • Hiển thị giá trị tần số dòng điện, các tín hiệu theo dõi trạng thái làm việc, tín hiệu cảnh báo. II.3. XÁC ĐỊNH PHƯƠNG PHÁP ĐIỀU CHỈNH TUA BIN II.3.1 SƠ ĐỒ KHỐI ĐIỀU KHIỂN II.3.1.1Điều khiển theo tần số Hình 11 - Sơ đồ khối điều khiển ViÖn khoa häc thuû lîi 20
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Sơ đồ khối điều khiển như hình 11. Đây là sơ đồ hệ kín, điều khiển theo sai lệch, một sơ đồ điều khiển thông thường được áp dụng trong các loại máy điều tốc. Do đây là hệ điều khiển secvo, nên thuật điều khiển được chọn là PD. Theo kinh nghiệm và thực tế vận hành trạm thủy điện nhỏ và cực nhỏ, chúng tôi lựa chọn chế độ vận hành khi tổ máy tham gia trong hệ thống điện là chịu phụ tải cơ bản (phụ tải nền - base load). Chính vì vậy, ở loại điều tốc này, tổ máy không tham gia phân chia tải khi hệ thống có dao động tần số, điều này làm cho các tổ máy có công suất nhỏ và cực nhỏ vận hành ổn định, có thể hoạt động theo mực nước (water level control) và đơn giản về thiết bị (không có phản hồi công suất tổ máy). Với chế độ vận hành lựa chọn, khi tham gia trong hệ thống điện, một dải tần số được lựa chọn bằng phần mềm là “dải chết” (Dead bank), giá trị phụ thuộc vào kiểu lưới: - Loại 1, là lưới có yêu cầu chất lượng cao (lưới Quốc gia): 49 - 51 Hz - Loại 2, là lưới có yêu cầu chất lượng thấp hơn (Lưới địa phương): 48 - 52 Hz - Loại 3, là loại lưới điện cục bộ, nhỏ, yêu cầu chất lượng điện thấp: 0 - 55 Hz Khi tần số lưới ra ngoài phạm vi này, thiết bị sẽ điều khiển tổ máy tự động cắt khỏi lưới điện. TÇn sè f1=50 Hz f2 C«ng suÊt 0 P1 P2 Pmax Hình 12 - Đặc tính điều chỉnh tua bin khi tham gia chịu tải thay đổi ViÖn khoa häc thuû lîi 21
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 TÇn sè fmax fo=50 Hz fmin C«ng suÊt 0 Pmax Hình 13 - Đặc tính điều chỉnh tua bin chịu tải cơ bản II.3.1.2 Hòa điện Thiết bị sẽ tự động điều khiển tổ máy theo giá trị tần số lưới điện sao cho khi chênh lệch tần số giữa hai nguồn điện nhỏ hơn 0,25 Hz, chênh lệch pha nhỏ hơn 200, sẽ phát lệnh điều khiển đóng rơ le hòa điện. II.3.1.3 Điều khiển theo mực nước Tham gia trong hệ thống điện, rõ ràng tổ máy đạt hiệu ích cao nhất khi hoạt động trong vùng hiệu suất cao, sử dụng tốt nhất thế năng của dòng nước. Điều khiển theo mực nước, thực chất là điều khiển hạn chế độ mở tua bin theo mức nước thượng lưu, sao cho lượng nước qua tua bin không lớn hơn mức tính toán nhằm giữ cột nước làm việc của tua bin nằm trong vùng vận hành có hiệu suất cao. II.3.1.4 Các chức năng bảo vệ Bảo vệ quá tốc độ - Tác động vào máy cắt chính - Đóng van tua bin Bảo vệ khi có sự cố lưới - Tác động vào máy cắt chính - Đưa tua bin về hoạt động không tải Bảo vệ khi có lệnh từ bên ngoài - Tác động vào máy cắt chính - Đóng van tua bin ViÖn khoa häc thuû lîi 22
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 II.3.2 SƠ ĐỒ KHỐI CHỨC NĂNG Cụ thể hóa sơ đồ điều khiển, ứng dụng vi xử lý, ta có sơ đồ khối như hình 14. Hình 14 - Sơ đồ khối chức năng II.4 THIẾT KẾ PHẦN CỨNG II.4.1 CPU Sử dụng CPU loại 89C052, một loại trong họ MSC-51, có dung lượng bộ nhớ gấp đôi linh kiện 8051 chuẩn. (RAM: 256 Bytes, ROM: 8 KB) Với dung lượng bộ nhớ ROM là 8 KB, cho phép chứa chương trình điều khiển lớn (khoảng 4000 lệnh), có khả năng tăng thêm các chức năng trong tương lai (Hiện tại, chương trình điều khiển chỉ chiếm gần 4 KB bộ nhớ ROM). Với tổ chức bộ nhớ trong, toàn bộ các port bên ngoài được sử dụng hoàn toàn cho các chức năng đo lường điều khiển. Hơn nữa, sử dụng hoàn toàn bộ nhớ trong cho phép tăng tốc độ truy cập tính toán cũng như bảo vệ được bí mật (bản quyền) của phần mềm điều khiển. CPU - 89C52 hoạt động với tần số 12 MHz, như vậy xung nhịp vi xử lý là 1 MHz, mỗi chỉ thị lệnh sẽ thực hiện trong 1 - 2 µs, quá đủ để tiến hành các thao tác xử lý, tính toán và thực hiện “đồng thời” các chức năng khác nhau. Cổng P0 và các chân P2.0 đến P2.3 được dành cho khối hiển thị bao gồm 4 đèn LED 7 thanh. Cổng P1 sử dụng để đọc các công tắc số mã BCD (4 bits) cùng với các chân P3.6 và P3.7 điều khiển phân kênh đọc vào (MUX-DEMUX). Các giá trị tần số được nhập vào tại chân P3.2 (lưới điện) và tại chân P3.3 (máy phát). ViÖn khoa häc thuû lîi 23
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Các chân P3.0, P3.1, P3.4, P3.5, P2.4 đến P2.7 sử dụng để điều khiển 4 rơ le tăng tải, giảm tải, hòa điện và cắt điện. Toàn bộ các cổng vào ra đều được “treo” (pull-up) điện áp 5 V thông qua các điện trở 4,7 kΩ. Hình 15 - CPU và các giao tiếp chính II.4.2 KHỐI HIỂN THỊ Mạch hiển thị bao gồm 4 đèn LED 7 thanh và 6 đèn LED tròn thông thường (chia làm hai hàng). Cac đèn LED 7 thanh hiển thị các giá trị sau: - Tần số dòng điện của tổ máy phát điện (Khi chạy độc lập, hoặc trong lưới). - Chênh lệch tần số, khi đang tiến hành hòa điện. - Các thông báo về tình trạng (Hòa điện, Lỗi khi mất nguồn, trạng thái mực nước thượng lưu). Sử dụng kỹ thuật “quét LED” để điều khiển hiển thị các đèn LED 7 thanh, tại một thời điểm chỉ có một đèn LED sáng. Sử dụng kỹ thuật này, sẽ tiết kiệm được tối đa số chân của các cổng vào ra và phần nào năng lượng cho các đèn LED. Mạch điều khiển LED như hình vẽ. Chọn thời gian hiển thị nhanh (cỡ 5 ms), như vậy để hiển thị 4 đèn hết 20 ms, thỏa mãn qui luật “25 hình/s”, ta sẽ không nhận thấy sự nhấp nháy của các đèn LED. ViÖn khoa häc thuû lîi 24
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Các đèn LED tròn thể hiện tình trạng nguồn điện, các trạng thái của các rơ le. Các đèn này được liên hệ trực tiếp với nguồn thông tin thể hiện, nên không phải lập trình hiển thị. Hình 16 - Điều khiển hiển thị LED 7 thanh II.4.3 KHỐI ĐO LƯỜNG TẦN SỐ Việc đo tần số và độ lệch pha được tiến hành bằng phần mềm, vì vậy mạch phần cứng chỉ là mạch biến đổi tín hiệu hình sin thành tín hiệu xung vuông cùng tần số, và được nối với chân P3.2 và P3.3. Sử dụng chức năng thứ 2 của chân này (Ngắt ngoài INT0 và INT1), nhờ sự biến đổi sườn xuống của tín hiệu xung tại chân tương ứng, sẽ kích hoạt ngắt IE0 hoặc IE1để thực hiện sự tính toán tần số cũng như góc lệch pha giữa 2 nguồn tín hiệu. Mạch điện thực hiện chức năng biến đổi dạng tín hiệu như hình 17, mạch điện này đảm bảo xác định chính xác điểm “0” của tín hiệu hình sin, quan trọng khi tính toán thời điểm hoà điện. ViÖn khoa häc thuû lîi 25
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 17 - Mạch biến đổi tín hiệu tần số II.4.4 KHỐI BÁO HIỆU MỰC NƯỚC Để xác định mức nước (được phân ra 3 khoảng giá trị: Cao, trung bình và thấp), sử dụng 3 điện cực ( 1 để cấp nguồn, 2 để xác định mức giới hạn mức cao và thấp) sẽ xác định được trạng thái mực nước thượng lưu (bể áp lực). Ba trạng thái này được mã hóa bằng 2 bit tín hiệu. Các tín hiệu được cách ly quang học với khối vi xử lý để bảo vệ trong các trường hợp sự cố. Mạch điện cách ly như hình 18. Hình 18 - Mạch cách ly quang II.4.5 TÍN HIỆU ĐÓNG MÁY SỰ CỐ TỪ BÊN NGOÀI Thiết bị có 01 đường nhận tín hiệu đóng máy sự cố từ các thiết bị đo lường khác bên ngoài gửi tới. Tín hiệu có điện áp trong khoảng từ 5 V - 12 V, và cũng được cách ly quang như các đường đo mực nước. ViÖn khoa häc thuû lîi 26
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 II.4.6 CÁC CÔNG TẮC THIẾT LẬP GIÁ TRỊ VẬN HÀNH Công tắc xác định chế độ hoạt động gồm có 6 vị trí: 3 chế độ tương ứng với 3 loại lưới điện X 2 chế độ (chạy độc lập và chạy trong lưới điện). Công tắc này được mã hóa 6 vị trí bằng 4 bit tín hiệu. Công tắc xác định chức năng hoạt động gồm có 3 vị trí: Chạy bình thường, Hòa điện và Chạy trong chế độ lên quan đến khống chế mực nước. Ba chức năng này được mã hóa bằng 2 bit tín hiệu. Có 3 công tắc xác định tốc độ tăng tải, tốc độ giảm tải, trị số Interval khi chạy trong chế độ khống chế mực nước. Các công tắc này là các công tắc số, có thể thiết lập các giá trị từ 0 đến 9. Các công tắc này được mã hóa bằng 4 bit tín hiệu. Toàn bộ các giá trị của các công tắc trên được phân ra 3 kênh 8 bit, được điều khiển dồn kênh (MUX-DEMUX), để đọc vào CPU qua cổng P1. Hình 19 - Mạch đọc các giá trị công tắc II.4.7 KHỐI ĐIỀU KHIỂN Các tín hiệu điều khiển (tín hiệu ra) được thiết kế kiểu rơ le, giúp cho người sử dụng lựa chọn giá trị điện áp ra điều khiển phù hợp với thiết bị của từng trường hợp. Mỗi một đường ra rơ le sẽ do 2 chân (2 bit) có giá trị nghịch đảo quyết định. Thiết kế này nhằm đảm bảo tin cậy khi điều khiển, chống nhiễu cao. ViÖn khoa häc thuû lîi 27
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 20 - Điều khiển ra rơ le II.4.8 KHỐI CẤP NGUỒN Khối nguồn có nhiệm vụ cấp nguồn (5 V) cho thiết bị, cho các rơ le trung gian và mạch đo mực nước (12 V). Hình 21 - Khối nguồn. II.5 XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN. II.5.1 LỰA CHỌN NGÔN NGỮ Có một vài ngôn ngữ lập trình cho họ 8051, như: C51, ASM51, BASIC51 Sử dụng ngôn ngữ nào cũng đạt được mục đích như nhau, tùy thuộc vào khả năng của người lập trình. Chúng tôi lựa chọn ngôn ngữ Assembler, với bộ biên dịch Macro- Assember 51 của Intel Corp. Theo chúng tôi, có một số ưu điểm sau: - Trình biên dịch miễn phí được tải từ nhiều địa chỉ trên Internet.(Hoặc dường như là miễn phí) - Ngôn ngữ ASM cho phép người lập trình khả năng uyển chuyển trong bố trí chương trình; Có thể tính toán chính xác về thời gian thực hiện lệnh trong các thuật toán; Chương trình ngắn gọn nhất ViÖn khoa häc thuû lîi 28
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 - Có nhiều các bài toán mẫu có thể sử dụng được. II.5.2 SƠ ĐỒ KHỐI TÍNH TOÁN CHÍNH Phần mềm gồm có một số modul quan trọng sau: - Đọc các giá trị đặt đầu vào. - Đọc các thông số đo lường về tần số. - Tính toán thông số điều khiển, PID, PWM. - Điều khiển hiển thị. - Điều khiển thiết bị, bao gồm hoà điện, điều tần, khống chế mực nước. Trong các modul trên, quan trọng nhất là modul tính toán thông số điều khiển và modul điều khiển thiết bị. II.5.2.1 Lưu đồ thuật toán toàn bộ chương trình Thuật toán điều khiển chương trình thực hiện “quét vòng” các bước chương trình. Đây là kỹ thuật điều khiển thông dụng khi xử dụng vi xử lý. Việc hiển thị các thông số bằng đèn LED sẽ do đoạn chương trình ngắt Timer đảm nhiệm, theo kỹ thuật “quét LED”.( Xem hình 22). Chương trình cụ thể xem phụ lục 1. ViÖn khoa häc thuû lîi 29
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 22 - Lưu đồ thuật toán toàn bộ chương trình II.5.2.2 Đo tần số và tính toán giá trị điều khiển Tần số của một đại lượng tuần hoàn là số chu kỳ tín hiệu trong khoảng thời gian 1 giây. Ta có thể đo được tần số của tín hiệu theo 2 cách sau đây: - Đếm số chu kỳ của tín hiệu cần đo trong một thời gian xác định (đếm tần số). - Đếm số chu kỳ của một tín hiệu chuẩn đã biết trong 1 chu kỳ tín hiệu cần đo (đo chu kỳ). ViÖn khoa häc thuû lîi 30
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 (5) Nguyên lý đo chu kỳ Để đo được chu kỳ của một tín hiệu ta cần có một tín hiệu chuẩn mà chu kỳ đã biết và ta sẽ đếm số chu kỳ này trong 1 hoặc vài chu kỳ của tín hiệu cần đo. Giả sử bộ đếm đếm được n xung chuẩn, chu kỳ cần đo là Tx = 2n.T 1 1 f fx = = = (6) Tx 2nT 2n Trường hợp đếm trong m chu kỳ tín hiệu cần đo, thì Tx = (2n/m).T 1 m mf fx = = = (7) Tx 2nT 2n Sai số phép đo Giả thiết rằng chu kỳ đúng của tín hiệu là Tx = 2nT, sai số của phép đo là δ, kết quả phép đo là 2(n ± δ). Chu kỳ đo được là Tx’= 2(n ± δ)T. Sai số về tần số là: 1 1 ±δ ±δ. f ∆f = f − f ' = − = = (8) x x 2nT 2(n ±δ )T 2n(n ±δ )T 2n(n ±δ ) Trong kỹ thuật xung, sai số δ = ±1 (do 2 tín hiệu không cùng pha với nhau), vì vậy, sai số về tần số là ±δ . f f ∆f = = (9) 2n(n ±δ ) 2n(n ±1) Nếu sai số cho phép của tần số là εcp, thì ∆f ≤ εcp , suy ra f f ≤ ε cp → ≤ 2n(n ±1) (10) 2n(n ±1) ε cp f Thay n = , ta có: 2. f x f f f ≤ ( ±1) (11) ε cp f x 2. f x 1 1 f ≤ ( ±1) (12) ε f 2 f cp x x 2 f 2 ± ε . f Vậy, giá trị của tần số chuẩn là: f ≥ x cp x (13) ε cp Nếu lựa chọn giá trị của tần số chuẩn theo công thức trên, ta sẽ đảm bảo được sai số của phép đo nhỏ hơn giá trị cho phép. Chú ý rằng công thức trên đây áp dụng cho phép đo nửa chu kỳ. Nếu phép đo sẽ đếm cả chu kỳ tín hiệu cần đo (khi áp dụng Vi xử lý), thì công thức trên sẽ là: f 2 ± ε . f f ≥ x cp x (14) ε cp ViÖn khoa häc thuû lîi 31
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Ví dụ: Giá trị cần đo fx xoay quanh 50 Hz, εcp = 2%, tần số chuẩn là: 2 f 2 ± ε . f 2.502 ± 0,02.50 f ≥ x cp x = = 250.000 ± 50(Hz) (15) ε cp 0,02 Chọn tần số chuẩn f = 250 KHz. Số đếm đúng khi đo giá trị fx = 50 Hz là: T 0,01 n = x = = 2500(Xung) (16) 2T 2.0,000004 Do sai số, giá trị đếm được là 2501 xung, sai số của giá trị tần số là: f 250000 ∆f = = = 0,019 < 0,02 (17) 2n(n ±1) 2.2500.2501 (6) Nguyên lý đếm tần số Theo phương pháp này, ta tiến hành đếm số chu kỳ của tín hiệu cần đo trong 1 khoảng thời gian xác định. Sơ đồ nguyên lý tương tự phương pháp trên, chỉ khác ở chỗ đảo vai trò của các tín hiệu: Dùng 1 tần số F đã biết có giá trị nhỏ để đo một tần số lớn hơn Fx. Giả sử bộ đếm đếm được n xung , chu kỳ cần đo là Tx = T/2n 2n fx = = 2.n. f (18) T Sai số phép đo Sai số của phương pháp đếm xung là ±1, do đó ta thấy: - Sai số tuyệt đối của phép đo là: 2n 2(n +1) 2 ∆f = − = (19) x T T T 1 Trường hợp đếm trong cả chu kỳ chuẩn thì ∆f = x T - Sai số tương đối: ∆f 2 ε = x = (20) f x f x .T Suy ra công thức tính độ rộng xung mở cổng theo sai số tương đối cho phép εcp và thang đo fx: 2 T ≥ (21) ε. f x Ví dụ: Vẫn sử dụng ví dụ ở phương pháp đo chu kỳ.(fx = 50 Hz, εcp = 2%) 2 2 T ≥ = = 2(s) (22) ε. f x 0,02.50 ViÖn khoa häc thuû lîi 32
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Chọn T = 2,5 s, sai số tương đối là: 2 2 ε = = = 0.016 < 0,02 (23) f x .T 50.2,5 (7) Đánh giá và lựa chọn phương pháp - Phương pháp đo chu kỳ thích hợp khi đo các tần số tương đối nhỏ hơn so với tần số chuẩn. Nếu tần số cần đo lớn, để đảm bảo sai số tương đối cho phép, ta phải chia tần số xung muốn đo, vì thế lại gặp sai số do chia tần số. - Phương pháp đếm tần số tiện lợi hơn khi đo các tín hiệu có tần số lớn. Nếu tần số cần đo lớn, để đảm bảo sai số cho phép, chu kỳ chuẩn T phải lớn, tức là thời gian để đọc được kết quả sẽ lâu hơn. Khi sử dụng cấu trúc Counter/Timer trong các bộ vi xử lý, đều có thể thực hiện được cả 2 phương pháp trên; Đối với dải tần số dòng điện công nghiệp (0 - 60 Hz), lựa chọn phương pháp thứ nhất sẽ cho kết quả chính xác và thời gian đo lường ngắn (là yếu tố rất quan trọng trong điều khiển). II.5.2.3 Đo độ lệch pha giữa 2 nguồn điện Để so sánh pha của tín hiệu, cụ thể là pha của hai điện áp, thông thường người ta sử dụng phương pháp tách điểm “0”. Mạch tách điểm “0” thông thường là mạch so sánh với điện áp “0” vôn, mạch này có nhiệm vụ thay đổi điện áp ngõ ra khi điện áp ngõ vào biến đổi qua giá trị “0”. Trong trường hợp này, mạch điện đo tần số kiêm luôn việc tách điểm “0”. Theo hình 23, điểm “0” được phát hiện bằng “cạnh” của xung ngõ ra. Với cách tách điểm “0” như vậy, việc so pha 2 tín hiệu được thay bằng việc tính khoảng thời gian ∆S giữa 2 điểm “0”. ViÖn khoa häc thuû lîi 33
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 23 - Xác định độ lệch pha 2 tín hiệu II.5.2.4 Tính toán giá trị điều khiển ra PD Thiết bị là một hệ thống điều khiển số (Digital control system), có sơ đồ như hình 24, 25 dưới đây. Hình 24 - Sơ đồ điều khiển Sơ đồ tính toán: Hình 25 - Sơ đồ tính toán thực tế Trong đó bộ điều khiển PD có hàm truyền: ViÖn khoa häc thuû lîi 34
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Z −1 D(z) = K P + K P [ ] TZ Chuyển qua miền tần số: D(w) = K P + K DW Từ các kết quả tính toán và thực nghiệm, chọn kP=1.5, kD=1.5 II.5.2.5 Kỹ thuật PWM Vì thiết bị được sử dụng với nhiều loại tổ máy khác nhau, hoạt động trong các điều kiện khác nhau, nên với bộ thông số PD đã chọn trên, hệ chưa đảm bảo ổn định. Đối với các đối tượng điều khiển khác nhau (tổ máy thuỷ điện), phải có sự lựa chọn 1 bộ thông số phù hợp; ngay cả đối với một tổ máy cụ thể, bộ thông số này lại cũng luôn thay đổi theo thời gian hoạt động của tổ máy, phụ thuộc vào nhiều điều kiện vận hành, có nghĩa là phải bố trí các bộ công tắc hoặc phím bấm thiết lập các thông số PD. Điều này dẫn đến một mâu thuẫn là thiết bị phải cấu tạo phức tạp hơn; Nhưng quan trọng là người sử dụng (công nhân vận hành) phải nắm vững lý thuyết điều khiển tự động cũng như điều khiển số để lựa chọn các giá trị đặt, mà trong thực tế không phải bao giờ cũng đáp ứng được. Để khắc phục trở ngại này, bộ điều khiển được thiết kế với bộ thông số PD cố định như trên, việc điều chỉnh được thực hiện bởi các giá trị đóng, mở thông qua các công tắc số. Mỗi một trạng thái của tổ máy sẽ phù hợp với một bộ giá trị của các công tắc thiết lập tốc độ đóng mở. Các công tắc này sẽ cho giá trị tính toán độ rộng xung điều khiển (Thời gian đóng rơ le điều khiển), do đó thay đổi đáp ứng của hệ được điều khiển phù hợp với bộ thông số PD cố định. Quan hệ tương đối giữa các giá trị từ 0 đến 9 của các thông số với độ rộng xung như hình vẽ dưới. ViÖn khoa häc thuû lîi 35
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 300 250 200 150 100 50 0 0246810 Hình 26 - Quan hệ tốc độ đóng mở tua bin II.5.2.6 Điều khiển hoà điện Điều khiển hoà điện nói chung cũng giống như điều khiển tần số. Điều khác biệt là: - Sau khi RESET thiết bị, chương trình tự động chạy điều khiển hoà điện, hiển thị chênh lệch tần số giữa 2 nguồn điện, điều khiển tổ máy đạt đến tần số của lưới điện, nhưng không ra lệnh đóng rơ le hoà điện. Chỉ khi người sử dụng đặt công tắc chức năng sang vị trí hoà điện, thiết bị mới đóng rơ le hoà điện. - Thiết bị không chỉ điều khiển tần số tổ máy, mà còn kiểm soát sự biến động tần số của lưới điện, xác định không có lệnh đóng máy khẩn cấp từ ngoài, mới ra lệnh đóng rơ le hoà, để đảm bảo an toàn khi hoà điện. - Sau khi đã hoà điện, thiết bị sẽ hiển thị giá trị tần số lưới điện và chuyển sang chế độ chạy trong lưới: Kiểm tra tần số trong “dải chết” đã qui định đối với mỗi loại lưới điện. Nếu tần số lưới vượt ra ngoài dải tần số này, lập tức ra lệnh cắt khỏi lưới điện, quay trở lại chế độ điều tần để đưa tổ máy về chế độ chạy không tải hoặc chế độ phụ tải tại chỗ. II.5.2.7 Điều khiển khống chế mực nước Trong chế độ này, thiết bị sẽ điều khiển tổ máy chạy ở chế độ trong lưới điện. Điều khác biệt ở chế độ này là: - Tuỳ theo giá trị đã thiết lập của công tắc số, thiết bị sẽ kiểm tra mực nước thượng lưu nhà máy, nếu như mực nước thấp hơn mực nước “thấp” qui định, thì cứ sau 1 khoảng thời gian nhất định, thiết bị sẽ phát ra 1 xung đóng (giảm) bớt công suất tổ máy; Nếu mực nước cao hơn mức “cao” qui định, thì quá trình sẽ ngược lại, tăng công ViÖn khoa häc thuû lîi 36
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 suất tổ máy; Nếu mực nước nằm trong 2 mức qui định thì không có tác động nào. Cơ chế này sẽ duy trì mực nước thượng lưu nằm trong vùng mà tổ máy hoạt động ở vùng hiệu suất tối ưu nhất. - Quan hệ tương đối giữa các giá trị từ 0 đến 9 của các thông số với thời gian định kỳ kể trên (Interval time) như hình vẽ dưới. ( Với giá trị “0”, cứ sau nửa phút lại có một lần thay đổi công suất tổ máy, giá trị 1 đến 9 tương ứng với thời gian 1 đến 9 phút). 300 250 200 150 100 50 0 0246810 Hình 27 - Quan hệ Time Interval II.6 CHẾ TẠO HOÀN CHỈNH BỘ ĐIỀU TỐC. Trên cơ sở mạch nguyên lý, nhóm đề tài đã thiết kế chế tạo hoàn chỉnh thiết bị điều khiển và ứng dụng điều khiển tua bin xung kích 2 lần, công suất 30 kW. Hình 28 - Sản phẩm đã hoàn thiện ViÖn khoa häc thuû lîi 37
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 29 - Sản phẩm đã hoàn thiện II.7 XÂY DỰNG QUY TRÌNH VẬN HÀNH, SỬA CHỮA, BẢO DƯỠNG Nhóm đề tài đã soạn thảo bản qui trình lắp đặt, vận hành, sửa chữa, bảo dưỡng cho thiết bị điều khiển. II.8 ĐỀ XUẤT NÂNG CAO CHẤT LƯỢNG THIẾT BỊ - Tiếp tục bổ sung đặc tính tham gia phân phối tải. - Nghiên cứu sử dụng PLC và các thiết bị tiêu chẩn (đo tần số, đo công suất ) cho các tổ máy thuỷ điện lớn. - Nghiên cứu sử dụng phần chấp hành là thủy lực. ViÖn khoa häc thuû lîi 38
- B¸o c¸o khoa häc §Ò tµi KC07- 04 II.9 BẢN VẼ NGUYÊN LÝ MẠCH. ViÖn khoa häc thuû lîi 39
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 ViÖn khoa häc thuû lîi 40
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 PhÇn III. Nghiªn cøu bé ®iÒu tèc ®iÒu khiÓn phô t¶i III.1 Tæng Quan III.1.1 THÔNG TIN TỪ NƯỚC NGOÀI Theo các thông tin, tài liệu từ các công ty, tổ chức nước ngoài về thủy điện nhỏ như: Hãng TANAKA (Nhật bản), Trung tâm khu vực Châu á - Thái bình dương về thủy điện nhỏ (Hàng Châu-Trung Quốc), SHP network cho thấy điều tốc điều chỉnh phụ tải (Electronic Load Control - ELC) đã được sử dụng rộng rãi trong các trường hợp như đã phân tích ở trên. Chúng tôi đã có các tài liệu về ELC của Srilanca, Niu- Dilan và Nhật Bản. Loại thứ nhất hoàn toàn sử dụng kỹ thuật Analog, phù hợp với tổ máy thuỷ điện cực nhỏ. Thiết bị của hãng PowerFlow (Niu-Dilan) sử dụng linh kiện PLD (Programable Logic Device), phù hợp với các trạm thuỷ điện nhỏ. Cũng sử dụng cho các trạm thuỷ điện nhỏ, thiết bị của TANAKA (Nhật Bản) lại sử dụng vi xử lý. Trong quá trình thực hiện đề tài, chúng tôi đã nhập một số bộ thiết bị như vậy từ nước ngoài để khảo sát. Sau khi xem xét thiết bị trong phòng thí nghiệm và tại hiện trường, chúng tôi đã có một số nhận xét sau: - Thiết bị có kích thước gọn nhẹ, hoàn toàn phù hợp với các trạm thủy điện nhỏ và cực nhỏ về lắp đặt, sử dụng, bảo dưỡng thay thế; - Ngoài chức năng điều tốc, các thiết bị còn có chức năng bảo vệ về điện áp và tần số; - Về chất lượng linh kiện, các đơn vị trong nước hoàn toàn có thể làm đạt ngang bằng và tốt hơn, với giá thành rẻ hơn (tất nhiên, vẫn phải nhập linh kiện lẻ từ nước ngoài). ViÖn khoa häc thuû lîi 41
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 30 - Thiết bị điều tốc điều khiển phụ tải (Srilanca) Hình 31 - Thiết bị điều tốc điều khiển phụ tải (Niu-Dilan) Hình 32 - Thiết bị điều tốc điều khiển phụ tải (Nhật Bản) Hình 33 - Thiết bị điều tốc điều khiển phụ tải (Australia) ViÖn khoa häc thuû lîi 42
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 III.1.2 LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ III.1.2.1 Nguyên lý cơ bản Như đã trình bày ở các phần trước, thiết bị điều tốc điều chỉnh phụ tải (ELC), hoạt động theo nguyên lý hết sức đơn giản: Duy trì tổng phụ tải của tổ máy không thay đổi (Bao gồm phụ tải của các hộ tiêu thụ điện và phụ tải “giả”). Hình 34 - Nguyên lý điều khiển phụ tải Bộ điều tốc sẽ phát hiện sự mất cân bằng phụ tải, thông qua điện áp hoặc tần số, điều chỉnh lượng phụ tải bù (“tải giả”) để đạt mục đích điều khiển. Tốc độ đáp ứng càng nhanh, thì ảnh hưởng của sự thay đổi phụ tải đến chất lượng dòng điện càng nhỏ. Chính vì thế, thiết bị điều tốc điều khiển phụ tải được thiết kế, chế tạo hoàn toàn từ các linh kiện điện tử. ViÖn khoa häc thuû lîi 43
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 35 - Sơ đồ bố trí thiết bị ELC Có 3 phương thức điều khiển phụ tải: Điều khiển góc pha, điều khiển theo thời gian đóng tải và điều khiển theo tải nhị phân. (8) Điều khiển theo góc pha (Phase Angle regulation) Thiết bị ELC điều khiển đóng điện ra tải giả theo góc pha dòng điện: Tải giả được cấp điện trong một phần thời gian của chu kỳ dòng điện, năng lượng được các “công tắc” điện tử chuyển vào các khối tải giả ở một thời điểm nhất định nào đó trong khoảng của nửa chu kỳ điện áp hình sin và duy trì “mở” như vậy cho tới hết nửa chu kỳ này (khi điện áp tiến tới điểm “0”). Thời điểm mà các tải giả được đóng điện, được biểu diễn theo góc pha, tính từ điểm “0” của điện áp hình sin, gọi là góc cắt tải. Góc cắt tải này càng nhỏ, thời gian đóng tải càng lớn, tức là công suất ra tải giả càng lớn, và ngược lại. Góc cắt tải bằng 0o ứng với 100% công suất tải giả được sử dụng; Góc cắt tải bằng 180o ứng với 0% công suất tải giả được sử dụng. Điều chỉnh góc cắt tải, sẽ điều chỉnh được tổng công suất tiêu thụ của máy phát. ViÖn khoa häc thuû lîi 44
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 36 - Dòng điện qua tải giả Ưu điểm của điều khiển theo góc pha là có thể sử dụng các linh kiện triac hoặc thyristor, là các linh kiện rất thông dụng, giá thành rẻ, có dải công suất làm việc rất phù hợp với tổ máy thuỷ điện, chúng có thể chịu được dòng điện đến vài nghìn amper, điện áp đến vài kV và tần số đóng cắt rất cao. Nhược điểm của phương thức này là phát sinh nhiễu khi đóng cắt đột ngột dòng điện qua các tải giả vào các thời điểm dòng điện có giá trị điện áp cao. Dòng điện từ giá trị “0” tăng nhanh đến một giá trị nhất định gây ra sụt áp tức thời (hình 14), làm cho dòng điện qua phụ tải thật không hoàn toàn hình sin. Nhiễu lớn nhất khi góc cắt tải ở xung quanh giá trị 90o và khi công suất đưa ra tải giả lớn. Đồng thời nhiễu sẽ gây ra tải cảm ứng đối với lưới điện hoặc máy phát, làm cho chất lượng dòng điện giảm và ảnh hưởng tới tuổi thọ máy phát. Đối với các phụ tải nhiệt (Thắp sáng và đun nấu), điều này không gây ảnh hưởng gì. Nhược điểm thứ hai là khi đóng cắt tải giả, không phải là một phần tải được đóng điện mà là toàn bộ tải được đóng điện trong một phần của chu kỳ dòng điện, nên máy phát trong trường hợp này phải chịu sự quá tải tức thời (Công suất trung bình không thay đổi, nhưng công suất tức thời có sự biến động). Để khắc phục sự quá tải và nhiễu, công suất của máy phát nên chọn lớn hơn một chút so với công suất tính toán (20%). Giải pháp thứ hai, rất hiệu quả là chia tải giả ViÖn khoa häc thuû lîi 45
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 thành nhiều khối, tuỳ theo sự mất cân bằng về công suất bộ ELC sẽ quyết định 1 hoặc nhiều khối tải giả tham gia chịu tải. Các khối tải sẽ được thiết kế sao cho góc cắt tải của chúng lệch nhau 90o. Khi khối thứ nhất có góc cắt tải bắt đầu vượt là 90o thì khối thứ 2 bắt đầu tham gia chịu tải, và cứ như vậy đối với các khối khác. Góc cắt tải của các khối tải chỉ bằng nhau khi tất cả là 0o hoặc 180o. Nếu tất cả các khối có góc cắt không lệch nhau, thì tại giá trị 90o, chúng sẽ gây nên nhiễu rất lớn; Còn theo thiết kế góc cắt lệch nhau, thì tại thời điểm 90o, chỉ có một phần công suất tải giả nhỏ hơn gây nhiễu; Khi góc cắt các khối tải như nhau hoặc gần như nhau, điện áp dòng điện ở lân cận giá trị “0”, nhiễu hầu như rất nhỏ. Một ưu điểm khác khi chia nhỏ các khối tải là, ta có được quan hệ tuyến tính giữa góc cắt tải và công suất chịu tải của khối tải giả, thuận lợi cho việc điều khiển cân bằng tải (hình 38, 39) Hình 37 - Nhiễu do đóng cắt tải giả ViÖn khoa häc thuû lîi 46
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 38 - Chia nhỏ khối tải giả Hình 39 - Quan hệ giữa góc cắt tải và công suất (9) Điều khiển theo thời gian đóng tải (Pulse Width Modulation ) ViÖn khoa häc thuû lîi 47
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Phương thức này tương tự nguyên tắc bộ nguồn “Switching”. Điều khiển một “khoá điện tử” để đóng cắt liên tục dòng điện (đã được chỉnh lưu thành một chiều) sang tải giả. Thời gian đóng mở khoá sẽ tỷ lệ thuận với công suất đưa ra tải giả. Thời gian này có thể điều chỉnh bằng hai cách: Thay đổi độ rộng xung, giữ nguyên tần số của xung; Hoặc giữ nguyên độ rộng xung, thay đổi tần số đóng cắt. Với tổ máy có công suất cao, buộc phải sử dụng thyristors như phần tử công suất, mà chúng lại không thể ngưng dẫn tự động tại cuối các chu kỳ điện áp (do làm việc với điện áp một chiều), vậy là một mạch thyristors thứ hai được sử dụng để tạo ra xung âm tắt thyristors thứ nhất. Với tổ máy trung bình, có thể sử dụng các transitor công suất kiểu IGBT hoặc MOSFET. Ưu điểm của phương thức này là mạch điện tương đối đơn giản (và do đó độ tin cậy cao hơn). Nhược điểm là giá thành cao do phải sử dụng các loại transitor đắt tiền hơn. Đồng thời, bộ điều khiển kiểu này phát sinh nhiệt rất lớn, chúng cần các bộ tản nhiệt lớn hơn nhiều so với các kiểu điều khiển khác cùng công suất, dẫn đến kích thước cồng kềnh hơn. (10) Điều khiển theo tải nhị phân (Binary Loads) Sử dụng một loạt khối tải giả có công suất của mỗi khối bằng một nửa khối đứng trước trong dãy. Như vậy có n khối tải sẽ có 2n tổ hợp công suất tải giả có thể đóng cắt. Để đóng cắt các khối tải này, cần một loạt (2n) rơ le không tiếp điểm, bao gồm bên trong là các triacs hoặc thyristors, nhưng chúng không gây nhiễu vì được điều khiển đóng cắt ngay tại thời điểm “0” của dòng điện. Nhược điểm của phương thức này là: - Giá thành của các rơ le rất cao so với các triacs bên trong, vì mỗi rơ le phải có một mạch điện điều khiển. - Số lượng khối tải liên quan đến việc đấu nối dây; Hơn nữa, muốn điều khiển “êm” thì các khối tải phải có trị số thật chính xác. - Với số khối tải ít, số tổ hợp công suất thấp, bước thay đổi giữa chúng sẽ cao, khó có thể điều khiển “êm” được. ViÖn khoa häc thuû lîi 48
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 III.1.2.2 Tham số điều khiển Có 2 phương án điều khiển tổ máy: Điều khiển theo tần số và điều khiển theo điện áp. Đối với tổ máy nhỏ, hoạt động độc lập, giữa tần số và điện áp phát ra của máy phát có mối liên quan chặt chẽ. Nếu duy trì được đại lượng thứ nhất không thay đổi thì đại lượng thứ hai cũng dao động trong khoảng giá trị cho phép; Điều ngược lại cũng đúng. Vì vậy, khi thiết kế thiết bị điều tốc điều chỉnh phụ tải - ELC, ta có thể lựa chọn tham số điều khiển là điện áp hoặc tần số. Tuy vậy, có một số nhận xét sau: Thứ nhất, khi sử dụng kỹ thuật analog, các linh kiện “nhạy cảm“ với điện áp hơn là với tần số. Hơn nữa, thiết kế mạch điện analog để xử lý điện áp tương đối đơn giản, chế tạo và kiểm tra dễ dàng hơn. Chính vì thế mà trong loạt sản phẩm ELC cho các tổ máy cực nhỏ, kỹ thuật điều khiển theo điện áp đã được sử dụng. Mặt khác, có một đặc điểm liên quan tới máy phát điện, đó là các tổ máy cực nhỏ ngày nay có xu hướng sử dụng máy phát điện từ động cơ không đồng bộ (Asynchro-motor). Xu hướng này làm cho thiết kế máy phát đơn giản, giá thành thấp, thích hợp với các trường hợp không có yêu cầu cao về chất lượng dòng điện (Chỉ dùng thắp sáng, đun nấu). Trong trường hợp này, dòng điện phát ra có tần số không ổn định, do nguyên lý “không đồng bộ” của động cơ, vì vậy chỉ có thể điều khiển theo điện áp. Tuy nhiên, kỹ thuật analog có một nhược điểm lớn là sự “trôi dạt” điểm công tác do ảnh hưởng của môi trường ngoài như nhiệt độ, độ ẩm, dẫn đến thay đổi thông số của thiết bị, điều này đã hạn chế việc ứng dụng các linh kiện và thiết bị analog. Thứ hai, sử dụng kỹ thuật số cho phép khắc phục nhược điểm của kỹ thuật analog. Kỹ thuật số dựa trên nền tảng cơ bản là kỹ thuật xung số, vì vậy trong trường hợp này điều khiển theo tần số phù hợp hơn cả. Điều khiển theo tần số sẽ có chất lượng cao do có thể đo đếm rất chính xác sự biến động dù rất nhỏ của tần số, thời gian đo lường tần số nhanh hơn đo điện áp (qua kỹ thuật ADC). Trừ khi sử dụng máy phát “không đồng bộ”, thiết bị sử dụng kỹ thuật số có thể áp dụng cho tổ máy thuỷ điện có công suất vừa, nhỏ và cực nhỏ. Ứng dụng kỹ thuật số có thể theo hai khuynh hướng: Linh kiện PLD (Programable Logic Control) hoặc Vi xử lý. Sử dụng linh kiện PLD sẽ làm giá thành thiết bị rẻ hơn so với vi xử lý, nhưng chất lượng điều khiển kém hơn do cấu tạo của linh kiện. Hiện nay, với sự phát triển mạnh mẽ của công nghệ điện tử - tin học, các bộ vi xử lý được tích hợp nhiều tính năng điều khiển trên cùng một vi mạch (On-chip) ViÖn khoa häc thuû lîi 49
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 như: Timer, bộ thuật toán số học, các khối nhân/chia v.v , tốc độ xung nhịp của chúng cũng được tăng lên đáng kể, các linh kiện ngoại vi cũng được phát triển rộng rãi, nên một bộ vi xử lý cho phép thực hiện “đồng thời” nhiều nhiệm vụ khác nhau do số lượng các đường vào ra lớn, tốc độ xử lý nhanh, kết hợp với sự phát triển về thuật toán điều khiển. Việc sử dụng một bộ điều khiển để thực hiện đa chức năng có thể thấy ở mọi lĩnh vực, mọi ứng dụng trong kỹ thuật và đời sống. III.1.2.3 Phương án thiết kế thiết bị Tham khảo thiết bị của các hãng nước ngoài và xem xét khả năng áp dụng trong nước, nhóm đề tài lựa chọn thiết kế bộ điều tốc điều chỉnh phụ tải (ELC) cho dải công suất 20 - 200 kW như sau: (11) Phương thức điều khiển Điều khiển theo góc pha, với số khối tải giả là 2. Đây là phương thức điều khiển thông dụng hiện nay, giá thành rẻ nhất. (12) Tham số điều khiển Với dải công suất này, không sử dụng máy phát “không đồng bộ”, nên tham số điều khiển sẽ là tần số. (13) Điều khiển 1 pha / 3 pha Chọn kiểu điều khiển kiểu 1 pha. Với thiết kế điều khiển 1 pha, mạch điều khiển sẽ có kích thước nhỏ. Khi cần thiết, ghép 3 bộ điều khiển 1 pha sẽ thành bộ điều khiển sử dụng cho máy phát 3 pha. (14) Lựa chọn chức năng - Là thiết bị điều tốc điều chỉnh phụ tải; - Là thiết bị bảo vệ, có khả năng bảo vệ khi quá tốc, tốc độ thấp, đóng máy khi có sự cố; - Có các đầu vào bao gồm các giá trị thiết lập thông số PI, thời gian lấy mẫu; - Các đầu vào cấp năng lượng cho thiết bị, đầu vào đo giá trị tần số; - Có các đầu ra xung điều khiển tải giả; ViÖn khoa häc thuû lîi 50
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 - Có đầu ra kiểu rơ le điều khiển đóng máy sự cố. (15) Kiểu linh kiện Với phương thức điều khiển và các chức năng lựa chọn như trên, xử dụng vi xử lý họ 8051, cụ thể là 89C2051. III.2 THIẾT KẾ PHẦN CỨNG III.2.1 CPU Sử dụng CPU loại 89C2051, một loại linh kiện vi xử lý trong họ MSC-51, có dung lượng bộ nhớ tương tự linh kiện 8051 chuẩn (RAM: 128 Bytes, ROM: 2 KB), nhưng có kích thước gọn hơn. Với dung lượng bộ nhớ ROM là 2 KB, cho phép chứa chương trình điều khiển lớn (khoảng 1000 lệnh), có khả năng tăng thêm các chức năng trong tương lai (Hiện tại, chương trình điều khiển chỉ chiếm gần 1 KB bộ nhớ ROM). Với tổ chức bộ nhớ trong, toàn bộ các port bên ngoài được sử dụng hoàn toàn cho các chức năng đo lường điều khiển. Hơn nữa, sử dụng hoàn toàn bộ nhớ trong cho phép tăng tốc độ truy cập tính toán cũng như bảo vệ được bí mật (bản quyền) của phần mềm điều khiển. Hình 40 - CPU và các giao tiếp chính CPU - 89C2051 hoạt động với tần số 12 MHz, như vậy xung nhịp vi xử lý là 1 MHz, mỗi chỉ thị lệnh sẽ thực hiện trong 1 - 2 µs, đủ nhỏ để tiến hành các thao tác xử lý, tính toán và thực hiện “đồng thời” các chức năng khác nhau. ViÖn khoa häc thuû lîi 51
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Toàn bộ cổng P1 sử dụng để đọc các công tắc số mã nhị phân (8 bits) cùng với các chân P3.5 và P3.7 điều khiển phân kênh đọc vào (MUX-DEMUX). Giá trị tần số được nhập vào tại chân P3.2 Các chân P3.0, P3.1 sử dụng để điều khiển rơ le trong trường hợp tần số vượt ngoài khoảng cho phép. Các chân P3.3, P3.4 sử dụng để điều khiển 2 khối tải giả. III.2.2 KHỐI ĐO LƯỜNG TẦN SỐ Việc đo tần số được tiến hành bằng phần mềm, vì vậy mạch phần cứng chỉ là mạch biến đổi tín hiệu hình sin thành tín hiệu xung vuông cùng tần số, và được nối với chân P3.2. Sử dụng chức năng thứ 2 của chân này (Ngắt ngoài INT0), nhờ sự biến đổi sườn xuống của tín hiệu xung tại chân tương ứng, sẽ kích hoạt ngắt IE0 để thực hiện sự tính toán tần số nguồn điện. Mạch điện thực hiện chức năng biến đổi dạng tín hiệu như hình 18, mạch điện này đảm bảo xác định chính xác điểm “0” của tín hiệu hình sin, rất quan trọng khi điều khiển góc cắt tải. Hình 41 - Mạch biến đổi tín hiệu tần số III.2.3 CÁC CÔNG TẮC THIẾT LẬP GIÁ TRỊ VẬN HÀNH Khác với điều tốc điều khiển lưu lượng, các thông số của tổ máy thuỷ điện trong trường hợp này hầu như không thay đổi trong quá trình vận hành, nên việc thiết lập ViÖn khoa häc thuû lîi 52
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 thông số hoạt động chỉ phải đặt một lần. Đó là hệ số của thuật điều khiển PI, thời gian lấy mẫu tín hiệu. Các công tắc xác định chế độ hoạt động là các công tắc mã nhi phân. Với 8 bit giá trị của chúng, ta có thể mã hoá 256 giá trị tính toán. Toàn bộ các giá trị của các công tắc trên được phân ra 3 kênh 8 bit, được điều khiển dồn kênh (MUX-DEMUX), để đọc vào CPU qua cổng P1. Hình 42 - Mạch đọc các giá trị công tắc ViÖn khoa häc thuû lîi 53
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 III.2.4 KHỐI ĐIỀU KHIỂN TẢI Các tín hiệu điều khiển (tín hiệu ra) triac hoặc thyristor được thiết kế cách ly bằng biến áp xung. Mỗi một đường ra của biến áp xung được thiết kế có thể sử dụng thyristor hoặc triac, tuỳ theo yêu cầu từng tổ máy thuỷ điện. Hình 43 - Mạch điều khiển Triac và Thyristor III.2.5 . ĐIỀU KHIỂN KIỂU RƠ LE Có 2 tín hiệu điều khiển (tín hiệu ra) được thiết kế kiểu rơ le, giúp cho người sử dụng lựa chọn giá trị điện áp ra điều khiển phù hợp với thiết bị của từng trường hợp. Hai đường này sẽ đóng rơ le trong trường hợp tần số dòng điện nằm ngoài khoảng cho phép (40 - 60 Hz). III.2.6 KHỐI CẤP NGUỒN Khối nguồn có nhiệm vụ cấp nguồn (5 V) cho thiết bị, cho các rơ le trung gian (12 V). Hình 44 - Khối cung cấp nguồn ViÖn khoa häc thuû lîi 54
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 III.3. XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN. III.3.1 LỰA CHỌN NGÔN NGỮ Có một vài ngôn ngữ lập trình cho họ 8051, như: C51, ASM51, BASIC51 Sử dụng ngôn ngữ nào cũng đạt được mục đích như nhau, tùy thuộc vào khả năng của người lập trình. Chúng tôi lựa chọn ngôn ngữ Assembler, với bộ biên dịch Macro- Assember 51 của Intel Corp. Theo chúng tôi, có một số ưu điểm sau: - Trình biên dịch miễn phí được tải từ nhiều địa chỉ trên Internet.(Hoặc dường như là miễn phí) - Ngôn ngữ ASM cho phép người lập trình khả năng uyển chuyển trong bố trí chương trình; Có thể tính toán chính xác về thời gian thực hiện lệnh trong các thuật toán; Chương trình ngắn gọn nhất - Có nhiều các bài toán mẫu có thể sử dụng được. III.3.2. SƠ ĐỒ KHỐI TÍNH TOÁN CHÍNH Phần mềm gồm có một số modul quan trọng sau: - Đọc các giá trị đặt đầu vào. - Đọc các thông số đo lường về tần số. - Tính toán thông số điều khiển, PI, PR. - Điều khiển thiết bị. Trong các modul trên, quan trọng nhất là modul tính toán thông số điều khiển và modul điều khiển thiết bị. III.3.2.1 Lưu đồ thuật toán toàn bộ chương trình Thuật toán điều khiển chương trình thực hiện “quét vòng” các bước chương trình. Đây là kỹ thuật điều khiển thông dụng khi xử dụng vi xử lý. (Xem hình 45), Chương trình chi tiết xem phụ lục 2. ViÖn khoa häc thuû lîi 55
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 45 - Lưu đồ thuật toán toàn bộ chương trình III.3.2.2 Đo tần số và tính toán giá trị điều khiển Tần số của một đại lượng tuần hoàn là số chu kỳ tín hiệu trong khoảng thời gian 1 giây. Ta có thể đo được tần số của tín hiệu theo 2 cách sau đây: - Đếm số chu kỳ của tín hiệu cần đo trong một thời gian xác định (đếm tần số). - Đếm số chu kỳ của một tín hiệu chuẩn đã biết trong 1 chu kỳ tín hiệu cần đo (đo chu kỳ). ViÖn khoa häc thuû lîi 56
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 (16) Nguyên lý đo chu kỳ Để đo được chu kỳ của một tín hiệu ta cần có một tín hiệu chuẩn mà chu kỳ đã biết và ta sẽ đếm số chu kỳ này trong 1 hoặc vài chu kỳ của tín hiệu cần đo. Giả sử bộ đếm đếm được n xung chuẩn, chu kỳ cần đo là Tx = 2n.T 1 1 f fx = = = (24) Tx 2nT 2n Trường hợp đếm trong m chu kỳ tín hiệu cần đo, thì Tx = (2n/m).T 1 m mf fx = = = (25) Tx 2nT 2n Sai số phép đo Giả thiết rằng chu kỳ đúng của tín hiệu là Tx = 2nT, sai số của phép đo là δ, kết quả phép đo là 2(n ± δ). Chu kỳ đo được là Tx’= 2(n ± δ)T. Sai số về tần số là: 1 1 ±δ ±δ. f ∆f = f − f ' = − = = (26) x x 2nT 2(n ±δ )T 2n(n ±δ )T 2n(n ±δ ) Trong kỹ thuật xung, sai số δ = ±1 (do 2 tín hiệu không cùng pha với nhau), vì vậy, sai số về tần số là ±δ . f f ∆f = = (27) 2n(n ±δ ) 2n(n ±1) Nếu sai số cho phép của tần số là εcp, thì ∆f ≤ εcp , suy ra f f ≤ ε cp → ≤ 2n(n ±1) (28) 2n(n ±1) ε cp f Thay n = , ta có: 2. f x f f f ≤ ( ±1) (29) ε cp f x 2. f x 1 1 f ≤ ( ±1) (30) ε f 2 f cp x x 2 f 2 ± ε . f Vậy, giá trị của tần số chuẩn là: f ≥ x cp x (31) ε cp Nếu lựa chọn giá trị của tần số chuẩn theo công thức trên, ta sẽ đảm bảo được sai số của phép đo nhỏ hơn giá trị cho phép. Chú ý rằng công thức trên đây áp dụng cho phép đo nửa chu kỳ. Nếu phép đo sẽ đếm cả chu kỳ tín hiệu cần đo (khi áp dụng Vi xử lý), thì công thức trên sẽ là: f 2 ± ε . f f ≥ x cp x (32) ε cp ViÖn khoa häc thuû lîi 57
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Ví dụ: Giá trị cần đo fx xoay quanh 50 Hz, εcp = 2%, tần số chuẩn là: 2 f 2 ± ε . f 2.502 ± 0,02.50 f ≥ x cp x = = 250.000 ± 50(Hz) ε cp 0,02 Chọn tần số chuẩn f = 250 KHz. Số đếm đúng khi đo giá trị fx = 50 Hz là: T 0,01 n = x = = 2500(Xung) 2T 2.0,000004 Do sai số, giá trị đếm được là 2501 xung, sai số của giá trị tần số là: f 250000 ∆f = = = 0,019 < 0,02 2n(n ±1) 2.2500.2501 (17) Nguyên lý đếm tần số Theo phương pháp này, ta tiến hành đếm số chu kỳ của tín hiệu cần đo trong 1 khoảng thời gian xác định. Sơ đồ nguyên lý tương tự phương pháp trên, chỉ khác ở chỗ đảo vai trò của các tín hiệu: Dùng 1 tần số F đã biết có giá trị nhỏ để đo một tần số lớn hơn Fx. Giả sử bộ đếm đếm được n xung , chu kỳ cần đo là Tx = T/2n 2n fx = = 2.n. f (33) T Sai số phép đo Sai số của phương pháp đếm xung là ±1, do đó ta thấy: - Sai số tuyệt đối của phép đo là: 2n 2(n +1) 2 ∆f = − = (34) x T T T 1 Trường hợp đếm trong cả chu kỳ chuẩn thì ∆f = x T - Sai số tương đối: ∆f 2 ε = x = (35) f x f x .T Suy ra công thức tính độ rộng xung mở cổng theo sai số tương đối cho phép εcp và thang đo fx: 2 T ≥ (36) ε. f x Ví dụ: Vẫn sử dụng ví dụ ở phương pháp đo chu kỳ.(fx = 50 Hz, εcp = 2%) 2 2 T ≥ = = 2(s) (37) ε. f x 0,02.50 ViÖn khoa häc thuû lîi 58
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Chọn T = 2,5 s, sai số tương đối là: 2 2 ε = = = 0.016 < 0,02 f x .T 50.2,5 (18) Đánh giá và lựa chọn phương pháp - Phương pháp đo chu kỳ thích hợp khi đo các tần số tương đối nhỏ hơn so với tần số chuẩn. Nếu tần số cần đo lớn, để đảm bảo sai số tương đối cho phép, ta phải chia tần số xung muốn đo, vì thế lại gặp sai số do chia tần số. - Phương pháp đếm tần số tiện lợi hơn khi đo các tín hiệu có tần số lớn. Nếu tần số cần đo lớn, để đảm bảo sai số cho phép, chu kỳ chuẩn T phải lớn, tức là thời gian để đọc được kết quả sẽ lâu hơn. Khi sử dụng cấu trúc Counter/Timer trong các bộ vi xử lý, đều có thể thực hiện được cả 2 phương pháp trên; Đối với dải tần số dòng điện công nghiệp (0 - 60 Hz), lựa chọn phương pháp thứ nhất sẽ cho kết quả chính xác và thời gian đo lường ngắn (là yếu tố rất quan trọng trong điều khiển). III.3.2.3 Tính toán giá trị điều khiển ra PI Theo kinh nghiệm, thuật điều khiển được lựa chọn là PI. Thiết bị là một hệ thống điều khiển số (Digital control system), có sơ đồ như hình 23, 24 dưới đây. Hình 46 - Sơ đồ điều khiển Sơ đồ tính toán: ViÖn khoa häc thuû lîi 59
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 47 - Sơ đồ tính toán thực tế Trong đó bộ điều khiển PID có hàm truyền: T Z + 1 D(z) = K + K [ ] (38) P I 2 Z −1 Chuyển qua miền tần số: K D(w) = K + I (39) P W III.4 CHẾ TẠO HOÀN CHỈNH BỘ ĐIỀU TỐC. Trên cơ sở mạch nguyên lý, nhóm đề tài đã thiết kế chế tạo hoàn chỉnh thiết bị điều khiển và ứng dụng điều khiển tua bin xung kích 2 lần, công suất 30 kW. ViÖn khoa häc thuû lîi 60
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 48 - Sản phẩm đã hoàn thiện III.5 ĐỀ XUẤT NÂNG CAO CHẤT LƯỢNG THIẾT BỊ - Tiếp tục bổ sung chức năng phân phối tải giữa 3 pha. - Nghiên cứu sử dụng bộ vi xử lý cao cấp hơn để chế tạo bộ ELC 3 pha. ViÖn khoa häc thuû lîi 61
- B¸o c¸o khoa häc §Ò tµi KC07- 04 III.6 BẢN VẼ NGUYÊN LÝ ViÖn khoa häc thuû lîi 62
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 Hình 49. Sơ đồ mạch điện. ViÖn khoa häc thuû lîi 63
- NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04 PhÇn phô lôc ViÖn khoa häc thuû lîi 64
- B¸o c¸o khoa häc §Ò tµi KC07- 04 PHỤ LỤC I PHẦN MỀM ĐIỀU KHIỂN ĐIỀU TỐC ĐIỀU CHỈNH LƯU LƯỢNG ;=== ; Khai bao cac bien, dia chi trong chuong trinh ;=== F1 bit PSW.1 Dsp_Count equ 1Dh ; R5 (bank 1): So dem lan hien thi LED4 equ 20h ; Chua gia tri hien thi LED4 LED3 equ 21h ; Chua gia tri hien thi LED3 LED2 equ 22h ; Chua gia tri hien thi LED2 LED1 equ 23h ; Chua gia tri hien thi LED1 W_level equ 2Eh ; Chua gia tri tu mach bao muc nuoc Count equ 2Fh ; Bien dem, tang sau moi lan dem tan so SoChuc equ 4Ch ; Gia tri hien thi lon nhat - LED4 SoDonvi equ 4Dh SophanChuc equ 4Eh SophanTram equ 4Fh ; Gia tri hien thi nho nhat - LED1 SW12 equ 60h ; Dia chi o nho SW1.SW2 OpenRate equ 74h ; Dia chi o nho cong tac OpenRate CloseRate equ 75h ; Dia chi o nho cong tac CloseRate WL_Rate equ 76h ; Dia chi o nho cong tac WL_Rate Flags equ 7Fh ; ;=== ; RESET prog ;=== ORG 0000h nop ajmp Setup ;Dia chi 0001h-0002h ;=== ORG 000Bh ; Timer0 prog ajmp Timer0_Intr ;=== ORG 001Bh ; Timer1 prog mov r1,#8 mov @r1,#01h inc r1 mov @r1,#0 clr ET1 clr TR1 reti ;=== ; Chuong trinh TIMER 0 ;=== Timer0_Intr: push psw push acc ; Cat gia tri cua ACC setb RS0 ; Lua chon bank thanh ghi 3 setb RS1 mov TL0,#17h ; Timer0: 1 ms mov TH0,#0FCh jb F0,Co_F0 mov TL0,#2Fh ; Timer0: 2 ms khi co F0=0 mov TH0,#0F8h ;=== ; Doan chuong trinh hien thi den LED 7 thanh ;=== Hien_Thi_LED: mov a,r0 ; R0(rb3)=(18h)=0 trong Setup, lan luot cho hien thi 65
- B¸o c¸o khoa häc §Ò tµi KC07- 04 inc a ; A=R0+1 (Tang vi tri hien thi) anl a,#03h ; AND 0000.0011 A=0000.00xx orl a,#20h ; OR 0010.0000 A=0010.00xx mov r0,a ; R0 = 20h - 23h (o nho LED_RAM) mov dptr,#ROM_DB ; Lay ma cot (4 LED 7 thanh) movc a,@a+dptr mov b,a mov a,@r0 ; Tra noi dung o nho 20h - 23h mov dptr,#ROM_DB ; tim ma hien thi tuong ung movc a,@a+dptr Out_CodeLed: mov p0,a ; Out codeled mov a,b mov c,acc.0 ; Out col mov p2.0,c mov c,acc.1 mov p2.1,c mov c,acc.2 mov p2.2,c mov c,acc.3 mov p2.3,c pop acc pop psw reti ; End of Timer_Proc ;=== ; Cac hang so trong ROM phuc vu hien thi ;=== ROM_DB: db 0C0h ; 0h (0) db 0f9h ; 1h (1) db 0a4h ; 2h (2) db 0b0h ; 3h (3) db 99h ; 4h (4) db 92h ; 5h (5) db 82h ; 6h (6) db 0f8h ; 7h (7) db 80h ; 8h (8) db 90h ; 9h (9) db 88h ; Ah db 83h ; Bh db 86h ; Ch db 0a1h ; Dh db 86h ; Eh db 8eh ; Fh ; So co dau cham thap phan db 40h ; 10h (0.) db 79h ; 11h (1.) db 24h ; 12h (2.) db 30h ; 13h (3.) db 19h ; 14h (4.) db 12h ; 15h (5.) db 02h ; 16h (6.) db 78h ; 17h (7.) db 00h ; 18h (8.) db 10h ; 19h (9.) ; Cac ky tu khac db 0ffh ; 1Ah (Blank) db 9ch ; 1Bh (Nua tren so 8) db 09h ; 1ch (H.) db 7dh ; 1dh (! - Dau cham than) (cu 86) db 0a3h ; 1eh (Nua duoi so 8) db 7ch ; 1Fh (? - Dau cham hoi) ; Cac hang so trong ROM chon den LED hien thi db 0feh ; 20h (LED 4) db 0fdh ; 21h (LED 3) db 0fbh ; 22h (LED 2) 66
- B¸o c¸o khoa häc §Ò tµi KC07- 04 db 0f7h ; 23h (LED 1) ;=== ; Cac hang so tuong ung voi Open va Close Rate - PWM ;=== DB 08h,0Ch,012h,01Ch,02Ah,03Dh,057h,07Ch,0B2h,0FEh ;=== ; Cac hang so trong ROM tuong ung DOC_ROM_1 ;=== DB 0FFh ; 2Eh DB 0FFh ; 2Fh DB 0FFh ; 30h DB 0FFh ; 31h DB 0FFh ; 32h DB 0FFh ; 33h DB 0FFH ; 34h DB 0F0H DB 040H DB 08H DB 0FFH ; 38h ; Hang so theo Mod operation DB 0FAH DB 0FBH DB 0FCH DB 0F9H DB 0FDH DB 0B2H DB 010H ; Cac dau gach ngang (Che do Water level & dau -) db 0feh ; 40h (Gach tren, UP) db 07ch ; 41h (Dau ? - Vo ly) db 0bfh ; 42h (Gach giua, MIDDLE) db 0f7h ; 43h (Gach duoi, DOWN) DB 01AH,021H,029H,032H,03BH,049H,056H,066H,077H,08BH,0A2H,0BCH DB 0D9H,0FCH DB 0FDH,0FEH,0FEH,0FEH ;=== ; Cac hang so trong ROM tuong ung voi tri so cua WL_Rate ;=== DB 0Eh ; 56h DB 01Ch ; 57h DB 038h ; 58h DB 055h DB 071h DB 08Dh DB 0A9h DB 0C5h DB 0E2h DB 0FEh ; 5Fh ;=== ; Doan chuong trinh doc ROM ;=== X0064:clr c ; Xoa Carry mov a,r6 ; R6=0dxn.0D0N anl a,#45h ; A =0d00.0D0N xrl a,#4 ; A XOR 0000.0100=0x00.0x0x jnz X0073 ; Chi xet khi A=0: HOA & Trong luoi - ??? mov r0,#WL_Rate ; Lay gia tri WL_Rate (W_Level interval) mov a,@r0 add a,#56h ; + 56 -> Doc ROM tu 56h -> 5Fh mov dptr,#ROM_DB ; movc a,@a+dptr add a,@r1 ; + R1 co 2 gia tri la 50h va 51h 67
- B¸o c¸o khoa häc §Ò tµi KC07- 04 X0073: ret ; ;=== ; Doan chuong trinh doc ROM ;=== Doc_ROM_1: mov @r0,#0ffh ; Co 2 gia tri r0=50h (X02d8) va R0=51h (X0496) inc r0 inc r0 ; R0=52h hoac 53h inc @r0 ; tang (52h) va xoa (53h) hoac nguoc lai mov @r1,#0 mov a,r6 ; R6=0dxn.0D0N swap a ; A =0D0N.0dxn anl a,#3 ; A =0000.00xn = 01,10,11 add a,r2 ; R2 =2Dh hoac 30h mov dptr,#ROM_DB ; Doc ROM (tu 2Eh den 30) hoac tu (31h den 33h) movc a,@a+dptr add a,@r0 ; A=so doc duoc+ (52h) hoac (53h) ret ;=== ; Chuong trinh tu RESET nhay den ;=== Setup: mov IE,#82h ; Cho phep 1 ngat timer mov TMOD,#11h ; Timer1 & Timer0: 16 bit mov r2,#68h mov r0,#72h mov @r0,#0adh ; ADh -> (72h) inc r0 mov @r0,#0adh ; ADh -> (73h) call Ngat_Role ; Ngat toan bo cac role mov r2,#58h mov TH0,#0FFh mov TL0,a ; Dua A=FFh vao Timer (lan dau tien)-> Xay ra ngat ngay mov r0,#6bh mov @r0,a ; A -> (6Bh), lan dau a=0FFh clr f1 ; Xoa co F1 inc r0 mov @r0,#5 ; 5 -> (6Ch) inc r0 mov @r0,#3 ; 3 -> (6Dh) inc r0 inc @r0 ; 4 -> (6Eh) inc r0 inc @r0 ; 5 -> (6Fh) inc r0 mov @r0,#3 ; 3 -> (70h) inc r0 ; R0 = 71h call Nap1 mov r0,#77h mov @r0,#0ch ; 0Ch -> (77h) call KhongHienSo ; Nap 1Ah vao dia chi 20h,21h,22h,23h call NapHienThiLoi ; Nap truoc hien thi ! hoac o vao LED4 setb ET0 call Doc_Cong_Tac mov r0,#2ah mov @r0,#1 ; 1 -> (2Ah) mov a,r6 ; A=R6=0dxn0D0N jb Acc.2,TiepTuc ; Nhay neu bit D=0 -> Khong o che do WaterLevel mov r0,#W_level ; Neu khong, dang o che do WL, nap gia tri ul mov a,@r0 ; A=000000ul orl a,#40h ; A=010000ul mov r0,#LED1 ; mov @r0,a ; Dua A=010000ul -> LED1=43 lower=08-> dau tru duoi cung ; =40 uper=02h-> dau tru tren cung ; =42 giua=20 -> dua tru o giua TiepTuc: 68
- B¸o c¸o khoa häc §Ò tµi KC07- 04 mov r0,#7eh ; X0D66 mov @r0,#3fh ; 3f -> (7eh) call KiemTraLechPha ; OK-mb1 call Dem_Chu_Ky ; OK-mb1 mov r3,#8 X013c: mov r2,#0eh mov r1,#32h mov r0,#30h ;=== ; Nap gia tri dem tan so vao 6 cap dia chi ;=== mov r0,#2dh mov @r0,#1 X014D: mov r0,#SW12 mov a,@r0 mov r6,a ;ret mov r0,#68h mov @r0,#10h ; (68h)=10h jb Acc.6, X0160 ; Neu D=1->d=0 -> Chay trong luoi nop nop ; Nguoc lai, la che do chay Doc lap jb Acc.5, X0160 ; Neu X=1 - x=0 mode 3 mov @r0,#0bh jb Acc.4, X0160 ; Neu N=1 - n=0 mode 2 mov @r0,#6 ; Nguoc lai, mod 1 X0160: mov a,@r0 add a,#4 inc r0 mov @r0,a ; (69h)=(68h)+4 -> 14h,0Fh,0Ah (mode 3,2,1) inc r0 add a,#4 ; (6Ah)=(69h)+4 -> 18h,13h,0Eh (mode 3,2,1) mov @r0,a mov r0,#2dh call DecToOne ; Giam dan o nho 2Dh toi 1 call X0696 X016f: setb f1 call Ngat_Role jb Acc.6, X017b ; Flags.6=0 jmp X0500 ; Flags.6=1 ; X017b:mov r0,#68h call DecToOne ; (68h)-1 -> 1 jnz X016f mov r2,#97h ; E397 - So bu cua 1C69h tuong ung 55 Hz mov r3,#0e3h call R3R2_Add_6564 jb Acc.7, X01b6 mov r2,#47h mov r3,#0ddh ; DD47 - So bu cua 22B9 - 45 Hz call R3R2_Add_7978 jb Acc.7, X01b4 X0192: mov r7,#69h call X0700 ; Chua xet jnz X016f mov r2,#85h mov r3,#0e2h ; E285 - So bu cua 1D7B - 53 Hz call R3R2_Add_7978 jb Acc.7, X01b6 mov r2,#0c2h mov r3,#0deh ; DEC2 - so bu cua 213C - 47 Hz call R3R2_Add_7978 69
- B¸o c¸o khoa häc §Ò tµi KC07- 04 jb Acc.7, X01b4 mov r7,#6ah call X0700 jnz X016f mov r0,#67h mov a,@r0 jb Acc.7, X01b6 X01b4: jmp X0200 ; X01b6: jmp X0400 ;=== ; Luu gia tri cac cong tac so vao cac bien OpenRate.WL_Rate,CloseRate ;=== LuuBCD: inc r0 ; R0=74h,75h,76h anl a,#0fh ; Giu lai 4 bit cuoi A=0000NVXD mov @r0,a ; Dua vao (74h)=OpenRate, (75h)=CloseRate, (76h)=WL_Rate ret ;=== ; Doc cong tac ;=== Doc_Cong_Tac: clr p3.6 ; Select CS1: BCD2, BCD1 clr p3.7 nop mov p1,#0ffh nop mov a,p1 anl a,#0Fh mov OpenRate,a ; BCD1 (0->9) mov p1,#0ffh nop mov a,p1 anl a,#0f0h swap a mov CloseRate,a ; BCD2 (0->9) clr p3.6 ; Select CS2: FUNCTION, BCD3 setb p3.7 nop mov p1,#0ffh nop anl a,#0fh mov WL_Rate,a ; BCD3 ( 1 >10 ) mov p1,#0ffh nop mov a,p1 anl a,#50h swap a ; A=FUNCTION ~ 0D0N mov r6,a ; R6 = 0000.0D0N setb p3. clr p3.7 nop mov p1,#0ffh nop mov a,p1 ; p1 = xcul.0dxn mov r4,a anl a,#07h swap a ; A=0dxn.0000 70
- B¸o c¸o khoa häc §Ò tµi KC07- 04 orl a,r6 ; A=0dxn.0D0N mov r6,a mov SW12,a ; Gia tri cong tac SW1 va SW2 -> SW12 mov a,r6 ; A = 0dxn.0D0N anl a,#5h ; A = 0000.0d0n mov r2,a ; R2= 0000.0d0n mov a,r4 ; A = xcul.0dxn jnb Acc.4,Nhan1 mov a,r2 ; neu l=1 setb acc.3 ; A= 0000.ld0n mov r2,a Nhan1: mov a,r4 ; A = xcul.0dxn jnb Acc.6,Nhan2 mov a,r2 ; Neu c=1 setb acc.1 mov r2,a ; R2 = 0000.ldcn Nhan2: setb TR0 ; Start Timer 0 mov a,Count ; Doc noi dung (Count) jb acc.2,Het_Doc ; mov a,r4 ; Neu bit 2Fh.2 =0 -> A=xcul.0dxn ( Gia tri SW1 chua dao) swap a ; A=0dxn.xcul anl a,#3 ; A=000000ul -> Giu lai 2 gia tri Upper-Lower mov W_level,a Het_Doc: ret X02fe_J: jmp X02fe X0200: mov r0,#29h mov @r0,#0 call ROM_MODE ;ret X0202: call X0757 ; Tan so so sanh voi 39,8 Hz jb Acc.7,X02fe_j ; Neu Tan so 39,8 Hz mov r1,#32h call X0764 mov r0,#73h call X04ef ;sel mb1 jb Acc.6,X0219 jmp X0500 X0219: jb Acc.5,X021d jmp X0588 X029e_j: jmp X029e X021d: mov r2,#1eh jb Acc.7,X02fe_j call X0661 mov a,@r0 jb Acc.7,X02fe_j mov r0,#7ah call DecToOne jnz X0202 mov r0,#34h mov r1,#32h call X0617 jb Acc.7,X029e_j mov r0,#2dh mov a,@r0 dec a jnz X029e 71
- B¸o c¸o khoa häc §Ò tµi KC07- 04 mov r1,#50h call X0064 jc X0202 mov r2,#0c1h mov r3,#0deh ; DEC1 - So bu cua 213F - 47 Hz call R3R2_Add_7978 jb Acc.7, X029e call X0041 call X078d ; (41h.40h)+R2, dao bit jb Acc.7,X02fe_j mov r2,#77h mov r3,#0dfh ; DF77 - So bu 2089 - 48Hz call R3R2_Add_7978 jb Acc.7,X029e mov r0,#7bh call DecToOne jnz X0202_j mov r2,#1eh mov r3,#0e0h ; E01E - so bu 1FE2 - 49 Hz call R3R2_Add_7978 jb Acc.7, X029e call X0047 call X078d ; (41h.40h)+R2, dao bit jb Acc.7, X02fe_j2 mov r0,#7ch call DecToOne jnz X0202_j mov r3,#0e0h mov r2,#60h ; E060 - bu 1FA0 - 49,4 Hz call R3R2_Add_7978 jb Acc.7, X029e mov r2,#1 call X078d ; (41h.40h)+R2, dao bit jb Acc.7, X028b X0287: call X07e2 X0202_j: jmp X0202 X02fe_J2: jmp X02fe ; X028b: mov r2,#98h mov r3,#0e0h ; EO98 - so bu 1F68 49,75 Hz mov a,r6 jb Acc.0, X0294 ; N=1 HOA call X05e6 X0294: call R3R2_Add_7978 jb Acc.7, X0287 mov r0,#7dh call DecToOne jnz X0202_j X029e: mov r0,#W_level mov a,r6 jb Acc.2, X02ad ; D=0 ->Khong phai W_Level mov a,@r0 ; Neu W_L : A=ul jb Acc.0, X0287 ; Neu u=0 muc nuoc cao hon muc LOWER -> X0287 mov a,r6 ; Neu muc nuoc thap hon LOWER jb Acc.6, X02ad ; Chay doc lap -> X02ad mov a,@r0 ; Neu trong luoi A=ul jb Acc.1, X0287 ; Neu muc nuoc cao hon muc UPPER -> X0287 X02ad: mov r0,#Flags 72
- B¸o c¸o khoa häc §Ò tµi KC07- 04 mov a,@r0 nop anl a,#0feh xch a,@r0 ; Xoa bit 0 cua Flags nop mov r7,#0ch jb Acc.0, X02c5 mov r7,#6 mov r0,#6ch call DecToOne jnz X02c5 mov r1,#70h call X07f3 X02c5: mov r0,#70h ; o 70h chua gia tri gi? mov a,@r0 add a,r7 mov r7,a mov r2,#0a8h mov r3,#0e0h ; E0A8 - so bu 1F58 - 49,85 Hz call R3R2_Add_3F3E ; (3Fh.3Eh)+ E0A8 -> Xet dau mov r0,#6eh mov @r0,#1 jb Acc.7, X02d8 mov @r0,#40h ; (6Eh)=40h X02d8: mov a,r6 anl a,#45h ; A=0d00.0D0N xrl a,#4 ; 0000.0100 jnz X02f1 ; =0 khi d=1,D=0 -> Doc lap & Khong phai W_L mov r2,#8 mov r3,#0e1h call R3R2_Add_3F3E ; (3Fh.3Eh)+ E108 -> Xet dau jb Acc.7, X028b ; Tan so > 50,45Hz(1EF8) bit7=1 mov r0,#50h mov r1,#53h mov r2,#2dh call Doc_ROM_1 jnc X02fe ; nc khi (52h) Xet dau jb Acc.7, X0389 ; Tan so < 52,07Hz (1EF8) cpl(bit7)=1 X0381: jmp X0568 X0383: mov r0,#2dh mov a,@r0 dec a 73
- B¸o c¸o khoa häc §Ò tµi KC07- 04 jz X0381 X0389: call X0689 mov a,r6 jb Acc.0, X0391 inc r7 inc r7 inc r7 X0391: mov r0,#66h call NapR3R2FromR0 call Cpl2Nor ; Viet gia tri theo binh thuong, bit16 la dau mov a,r3 anl a,#Flags mov r3,a X039b: inc r7 mov a,r7 jz X03a8 mov a,r2 add a,@r1 ; R1 = ? mov r2,a mov a,r3 addc a,#0ffh mov r3,a jc X039b X03a8: mov a,@r1 add a,#0ch jc X03b1 mov a,#5 add a,@r1 mov @r1,a X03b1: mov r0,#Flags mov a,@r0 mov r0,#CloseRate ; Tri so CloseRate(75h)=( tu 0 - 9) mov r4,#59h ; -> Dieu khien Role Close hoat dong jb Acc.0, X03bd ; a=Flags, neu bit 0=1 -> Tra he so cho Close, nguoc lai cho Open dec r0 ; Tri so OpenRate(74h)=( tu 0 - 9) mov r4,#95h ; -> Dieu khien Role Open hoat dong ;=== ; Doc ROM -lay tri so CloseRate hoac OpenRate ;=== X03bd: mov a,@r0 ; (R0=75h hoac 74h) @R0= 0 - 9 add a,#24h ; Dua noi dung o nho do R0 chi den (0h - 9h) + 24h mov r0,a ; roi dua vao R0=24h - 2Dh mov dptr,#ROM_DB ; Doc ROM tu dia chi 24h - 2Dh movc a,@a+dptr mov r5,a ; 08h,0Ch,012h,01Ch,02Ah,03Dh,057h,07Ch,0B2h,0FEh mov r2,a ; (8,12,18,28,42,61,87,124,178,254) mov a,r6 mov r3,#0 jb Acc.0, X03d6 ; A=0dxn.0D0N -> Neu la HOA R3=0 mov r3,#4 jb Acc.6, X03d6 ; Neu d=0, chay trong luoi -> R3=4 nhay toi X03d6 mov r3,#0 ; Neu chay doc lap jb Acc.5, X03d6 ; Neu o mode 3 R3=0 (Doc lap) inc r3 jb Acc.4, X03d6 ; Neu o mode 2 R3=1 (Doc lap) inc r3 ; Neu o mode 1 R3=2 (Doc lap) X03d6: mov r1,#Flags mov a,@r1 jb Acc.1, X03de ; Flags.1=0 thi R3 nhu tren mov r3,#4 ; Nguoc lai R3=4 ;=== ; Doc ROM ;=== X03de: mov a,r0 add a,r3 ; A=(24-2Dh)+R3 add a,#20h ; A=(24-2Dh)+R3+20h mov dptr,#ROM_DB ; Doc ROM tu 44h - 51h 74
- B¸o c¸o khoa häc §Ò tµi KC07- 04 movc a,@a+dptr mov r0,#1dh mov @r0,a ; A -> o nho Dsp_Count (a dang bang gia tri doc tu ROM) mov r1,#26h ; Xoa o nho 26h mov @r1,#0 X03e7: mov r1,#23h ; Cu: 0eh Tre14: djnz r1,Tre14 ; Tre 35*2 chu ky=0.07 ms ;=== ; Doan chuong trinh dong Role qua cong P1 ;=== cjne R4,#01dh,Next1a call Ngat_Role ; Ngat Toan bo role ajmp EndNexta Next1a: cjne R4,#69h,Next2a setb p2.4 ; Close ON clr p2.5 setb p3.4 ; Over ON clr p3.5 ajmp EndNexta Next2a: cjne R4,#59h,Next3a setb p2.4 clr p2.5 ; Close ON ajmp EndNexta Next3a: cjne R4,#95h,EndNexta setb p2.6 ; Open ON clr p2.7 EndNexta: setb p3.0 ; Ngat ro le Syn, Over clr p3.1 setb p3.5 clr p3.4 djnz r2,X03e7 mov a,r5 mov r2,a djnz r7,X03e7 Xoa_co_F0: mov @r0,#0fbh ; 1Dh=FBh X03fe: call X07b0 ; Ngat Role X0400: ;call Xoa_28h Xoa_28h: mov r0,#28h mov @r0,#0 call ROM_MODE ; ret X0402: mov r0,#32h mov r1,#34h call X0764 mov r0,#72h call X04ef ;sel mb1 jb Acc.6,X0414 jmp X0500 X04fe_j:jmp X04fe X0414: mov r0,#Flags mov a,@r0 nop nop mov r2,#0e2h call X0797 jb Acc.7,X04fe_j call X0661 mov a,@r0 75
- B¸o c¸o khoa häc §Ò tµi KC07- 04 jb Acc.7,X04fe_j mov r0,#7ah call DecToOne jnz X0402 nop nop nop nop mov r0,#32h mov r1,#34h call X0617 jb Acc.7,X0496 mov r2,#0afh mov r3,#0e2h ; E2AF - So bu 1D51 - 53,3 Hz call R3R2_Add_6564 jb Acc.7, X0496 call X0735 call X0797 jb Acc.7,X04fe_j mov r1,#51h call X0064 jc X0402 mov r2,#0e2h mov r3,#0e1h ;E1E2 - So bu 1E1E - 51,9Hz call R3R2_Add_7978 jb Acc.7,X0496 mov r0,#7bh call DecToOne jnz X0402 mov r2,#60h mov r3,#0e1h ;E160 - So bu 1EA0 - 51 Hz call R3R2_Add_7978 jb Acc.7, X0496 call X004e call X0797 jb Acc.7,X04fe_j mov r0,#7ch call DecToOne jnz X0402_j mov r2,#20h mov r3,#0e1h ;E120 - So bu 1EE0 - 50,6 Hz call R3R2_Add_7978 jb Acc.7, X0496 mov r2,#0feh call X0797 jb Acc.7, X0482 X047e: call X07e2 X0402_j: jmp X0402 X0482: mov r2,#0e8h mov r3,#0e0h mov a,r6 jb Acc.0, X048b ; N=1 HOA R3R2=E0E8 - 50,25Hz call X06b4 ; Neu khong phai HOA X048b: call R3R2_Add_7978 jb Acc.7, X047e mov r0,#7dh call DecToOne jnz X0402_j X0496: mov a,r6 anl a,#45h xrl a,#4 jnz X04b5 mov r2,#4fh mov r3,#0e2h ; E24F - so bu 1DB1 - 52,6 Hz call R3R2_Add_3F3E jb Acc.7, X04b5 mov r0,#W_level 76
- B¸o c¸o khoa häc §Ò tµi KC07- 04 mov a,@r0 jb Acc.0, X047e mov r0,#51h mov r1,#52h mov r2,#30h call Doc_ROM_1 jnc X04fe X04b5: mov r0,#Flags mov a,@r0 orl a,#1 xch a,@r0 ; mov r7,#0ch jb Acc.0, X04cc mov r7,#6 mov r0,#6dh call DecToOne ; Giam o nho 6Dh jnz X04cc mov r1,#71h call X07f3 X04cc: mov r0,#71h mov a,@r0 add a,r7 mov r7,a mov r2,#0ddh mov r3,#0e0h ; E0DD - So bu 1F23 : 50,2 Hz call R3R2_Add_3F3E mov r0,#6fh mov @r0,#40h jb Acc.7, X04df mov @r0,#1 X04df: mov r0,#Flags mov a,@r0 nop mov r0,#2ah nop nop jb Acc.7, X04eb mov @r0,#0ah X04eb: mov r1,#73h jmp X0360 X04ef: mov @r0,#0abh mov a,r6 jb Acc.0, X04fd jb Acc.5, X04fd mov @r0,#0bch jb Acc.4, X04fd mov @r0,#0cdh X04fd: ret X04fe: jmp X0192 X0500: mov r0,#Flags mov a,@r0 jb Acc.7, X0507 jb Acc.1, X0568 X0507: mov a,r6 jb Acc.6, X0522 call X06e0 X050d: mov r4,#59h ; R4 =59h=0101.1001 -> role Close call Dong_Role ;sel mb1 jb Acc.6, X0566 mov r2,#1eh mov r3,#0e5h ; E51E - So bu 1AE2: 58,1 Hz call R3R2_Add_3F3E mov r2,#1 jb Acc.7, X050d X0522: mov a,#80h call X0583 77
- B¸o c¸o khoa häc §Ò tµi KC07- 04 call X06e0 mov r0,#2ah mov @r0,#14h inc r0 mov @r0,#0 X052f: mov r0,#2bh inc @r0 mov r4,#69h ; Role Close va Closedown call Dong_Role mov r0,#3ch mov r1,#3eh mov r3,#0fah call X073a jb Acc.7, X0560 mov r0,#2bh mov a,@r0 mov @r0,#0dh anl a,#0f8h jnz X054f mov @r0,#4 X054f: mov r2,#0ah mov r4,#1dh ; Tat het cac Role call Dong_Role ;sel mb1 mov r0,#2bh call DecToOne jnz X054f call X07b0 ; Ngat Role X0560: ;call Flags2R7 ; R7=Flags mov r0,#Flags mov a,@r0 mov r7,a ; ret mov r2,#1 jb Acc.6, X052f X0566: call X07b0 ; Ngat Role X0568: mov r0,#2bh mov @r0,#3 X056c: mov r2,#0ah mov r4,#69h ; Role Close va Closedown call Dong_Role mov a,#4 call X0583 mov r0,#2bh call DecToOne jnz X056c jmp X0522 X0583: mov r0,#Flags orl a,@r0 mov @r0,a ret X0588: mov r0,#WL_Rate ; W_Level interval mov a,@r0 nop mov r0,#25h mov @r0,a ; W_Level interval -> (25h) call X06e0 X0591: mov r4,#95h ; Role Open call Dong_Role call XuLy jb Acc.5, X05a3 mov r0,#25h call DecToOne ; Giam o nho (25h) = W_Level interval mov r2,#1 jnz X0591 X05a3: call X07b0 ; Ngat Role 78
- B¸o c¸o khoa häc §Ò tµi KC07- 04 ;=== ;X05a5 : Nap san vao LED4 ki tu ! hoac o vuong nua duoi so 8 ; ! : Khi khong phat hien tan so may phat hoac khi tan so may phat nho hon 16 Hz ; o : Sau khi co Close down command, to may duoc dong dan, xuat hien khi f (LED4): dau ! (Ket thuc KhongHienSo1 R0=20h) mov r1,#Flags mov a,@r1 ; (Flags) -> ACC jb Acc.1, X05af ; Neu bit 1 cua (Flags)=0 thi 1Eh ->(LED4): Nua duoi so 8 mov @r0,#1eh ; neu co tin hieu CloseDown Command X05af: ret ;=== ;X05B0:Nap gia tri 1Ah vao cac o nho (23h),(22h),(21h),(20h) ; Khi hien thi, ROM 31Ah=00 -> Tat het cac LED 7 thanh ;=== KhongHienSo: mov r0,#24h mov r2,#4 X05b4: dec r0 mov @r0,#1ah djnz r2,X05b4 ret ;=== X05e6: ;Tien bo xung - Phuc vu X028b mov r2,#80h jb Acc.4, X05f1 mov r2,#60h jb Acc.5, X05f1 mov r2,#98h X05f1: ret ; 05f1 - 83 . ;=== ; Giam dan o nho chi ra trong R0, neu = 0 thi gan gia tri 1 ;=== X0617: mov a,r6 jb Acc.6, X062e ; d=0 - Trong luoi jb Acc.5, X062e ; Doc lap & x=0 Mode 1,2 mov a,r6 ; Doc lap & mode 3 swap a ; A=0D0N.0dxn anl a,#3 ; A=xn=11,10,01 add a,#0f8h mov r3,a ; R3=FBh,FAh,F9h mov r2,#6 X0626: call X073a jb Acc.7, X062e djnz r2,X0626 ret X062e: clr a ret X0661: mov a,r6 jb Acc.6, X066e ; Neu chay doc lap mov r0,#7eh mov a,@r0 jz X066e mov r1,#W_level mov @r1,#2 X066e: mov r0,#67h ret Nap1: mov @r0,#3 ; 3 -> (71h) mov r0,#28h ; mov @r0,#4 ; 4 -> (28h) inc r0 ; mov @r0,#5 ; 5 -> (29h) ret ; 79
- B¸o c¸o khoa häc §Ò tµi KC07- 04 ; X0689: mov r0,#Flags mov a,@r0 mov r0,#29h jb Acc.0, X0691 dec r0 X0691: inc @r0 setb f0 ret X0696: mov r0,#28h mov a,@r0 add a,#0fdh jc X06a3 inc r0 mov a,@r0 add a,#0fdh jnc X06b3 X06a3: mov a,r6 jb Acc.6, X06b3 mov r0,#6ah mov @r0,#0ah dec r0 jb Acc.5, X06b3 mov @r0,#6 dec r0 mov @r0,#0ch X06b3: ret ;(Quay tro lai X016f) X06b4: mov r2,#20h mov r3,#0e1h jb Acc.5, X06c2 mov r2,#0 jb Acc.4, X06c2 mov r2,#0eah dec r3 X06c2: ret ;=== R3R2_Add_7978: ; Kiem tra o nho (79h.78h) so voi tri so R3.R2 mov r0,#78h mov a,@r0 add a,r2 inc r0 mov a,@r0 addc a,r3 ret ;=== ; Doan chuong trinh dong Role qua cong P1 ;=== Dong_Role: cjne R4,#1Dh,Next1 call Ngat_Role ; Ngat Toan bo role ajmp EndNext Next1: cjne R4,#69h,Next2 setb p2.4 ; Close ON clr p2.5 setb p3.4 ; Over ON clr p3.5 clr p2.6 ; Open OFF setb p2.7 setb p3.0 ; Sync OFF clr p3.1 ajmp EndNext Next2: cjne R4,#59h,Next3 80
- B¸o c¸o khoa häc §Ò tµi KC07- 04 setb p2.4 ; Close ON clr p2.5 setb p3.5 ; Over OFF clr p3.4 clr p2.6 ; Open OFF setb p2.7 setb p3.0 ; Sync OFF clr p3.1 ajmp EndNext Next3: cjne R4,#95h,X06df setb p2.6 ; Open ON clr p2.7 clr p2.4 ; Close OFF setb p2.5 setb p3.0 ; Sync OFF clr p3.1 clr p3.4 ; Over Speed OFF setb p3.5 EndNext: nop nop djnz r3,Dong_Role djnz r2,Dong_Role ; R2=0A (X06e0) X06df: ret X06e0: mov r0,#1dh mov @r0,#0feh mov r0,#72h mov @r0,#0dch inc r0 mov @r0,#0dch mov r0,#2ah mov @r0,#8 mov r2,#0ah mov r0,#29h mov @r0,#5 ret X0700: mov r0,#38h mov r1,#36h call X074c jb Acc.7, X0711 mov r1,#38h mov r0,#36h call X074c jb Acc.7, X072e X0711: mov r0,#3ah mov r1,#3ch call SubR0_R1 call Cpl2Nor mov a,r2 rr a rr a nop anl a,#3fh mov r2,a jz X072e X0722: mov a,r7 ; R7 chua dia chi 69h hoac 6ah mov r0,a mov r3,#0fbh X0726: mov a,@r0 add a,r3 jnc X072e ; @R7 < 5 call DecToOne djnz r2,X0726 X072e: mov a,r7 81
- B¸o c¸o khoa häc §Ò tµi KC07- 04 mov r0,a call DecToOne ; Giam noi dung @R7 ret X0735: call X0041 mov r2,a ret X073a: mov a,@r1 add a,@r0 mov r4,a inc r0 inc r1 mov a,@r1 addc a,@r0 mov r5,a inc r0 inc r1 mov a,r4 add a,r3 mov a,r5 addc a,#0ffh ret X074c: mov r2,#4 mov r3,#0fbh X0750: call X073a jb Acc.7, X0756 djnz r2,X0750 X0756: ret X0757: mov r2,#0beh mov r3,#0d8h call R3R2_Add_3F3E ; Neu Ts may phat > 39,8 thi bit 7=1 ret X0764: mov r2,#6 mov r3,#0ffh X0768: call X073a jb Acc.7, X078a djnz r2,X0768 mov r0,#34h mov r1,#3ch call SubR0_R1 call Cpl2Nor X0776: mov r0,#7bh mov a,@r0 anl a,#0f8h jz X077f call DecToOne X077f: mov r0,#7ch mov a,@r0 anl a,#0f8h jz X0788 call DecToOne X0788: djnz r2,X0776 X078a: ret ;=== X078d: mov r0,#40h mov a,@r0 add a,r2 inc r0 mov a,@r0 addc a,#0 ret X0797: mov r0,#40h mov a,@r0 add a,r2 inc r0 mov a,@r0 addc a,#0ffh ret 82
- B¸o c¸o khoa häc §Ò tµi KC07- 04 Ngat_Role: clr p2.4 ; Close OFF setb p2.5 clr p2.6 ; Open OFF setb p2.7 setb p3.0 ; Sync OFF clr p3.1 clr p3.4 ; Over Speed OFF setb p3.5 nop nop ret ; Tong cong 16 chu ky may (8039) X07b0: mov r0,#1dh ; 2 ck mov @r0,#70h ; 2 ck (1Dh)=70h mov r2,#50h ; 2 ck X07b6: call Ngat_Role nop nop ; 16 + 4 =20 ck djnz r3,X07b6 djnz r2,X07b6 ret ;=== ; Doc ROM ;=== ROM_MODE: mov a,r6 ; R6=0dxn0D0N swap a ; A =0D0N0dxn anl a,#7 ; A =00000dxn orl a,#38h ; A =00111dxn mov dptr,#ROM_DB ; Doc ROM tu 39h,3Ah,3Bh,3Dh,3Eh,3Fh movc a,@a+dptr ; FA(MODE3),FB(MODE2),FC(MODE1),FD(MODE3),B2(MODE2),10(MODE1) mov r0,#7ah mov @r0,#4 ; 4 -> (7ah) inc r0 ; mov @r0,a ; So doc tu rom -> (7Bh) inc r0 mov @r0,a ; So doc tu rom -> (7Ch) inc r0 mov @r0,a ; So doc tu rom -> (7Dh) ret X07e2: mov a,r6 jb Acc.0, X07ee ;Neu HOA thi ket thuc call ROM_MODE mov r0,#7ch mov @r0,#4 dec r0 mov @r0,#4 X07ee: mov r0,#7ah mov @r0,#4 ret X07f3: mov @r0,#2 ; r0 = 6ch or 6dh ; truoc khi goi doan nay hai op nay deu giam toi 1 mov a,@r1 ; r1 tro toi dia chi 70h or 71h anl a,#7 ; giu lai 3 bit cuoi mov @r1,a add a,#0fbh ; so sanh voi 5 (nho hon) jc X07fe inc @r1 X07fe: ret ;=== XuLy: call X0083 ; 14 83 call Dem_Chu_Ky ; 14 60 call X0c00 ; 94 00 call Tinh_Tan_So ; 54 83 call X0b00 ; 74 00 83
- B¸o c¸o khoa häc §Ò tµi KC07- 04 call ChuanBiHienThi ; 34 00 call X0a00 ; 54 00 call Tinh_PD ; 54 a0 call X0972 ; 34 72 nop nop ret ;=== X0083: mov r1,#Count ; 2Fh mov a,@r1 ; (Count) -> ACC nop anl a,#0fh ; Xet 4 bit cuoi jnz X0092 ; Neu 4 bit cuoi khac 0 mov r0,#50h ; Neu 4 bit cuoi bang 0 - Chia het cho 16 call DecToOne ; Giam o nho 50h sau 16 lan dem tan so inc r0 call DecToOne ; Giam o nho 51h sau 16 lan dem tan so X0092: ;call SW12ToR6 ; Dua gia tri bien SW12 -> ACC -> R6 mov r0,#SW12 mov a,@r0 mov r6,a ;ret mov r3,a ; R3 = SW12 mov r0,#Flags mov a,@r0 mov r7,a ; ret nop nop anl a,#64h ; Xet bit 6,5,2 jnz X00d9 ; Ket thuc clr TR0 call Doc_Cong_Tac mov r0,#Flags mov a,@r0 jb Acc.7, X00af ; Neu bit 7 = 1, jb Acc.3, X00af ; Neu bit 3 = 0 (bang 1 sau khi da dao) mov a,r3 ; Neu bit 3 = 1 (bang 0 sau khi da dao), A=R3=SW12 xrl a,r6 ; R6=0dxn.0D0N XOR SW12 (=0dxn.0D0N) jb Acc.0, X00af ; =1-> N=0 (Cong tac co su thay doi o vi tri HOA) call X07b0 ; Neu khong doi-> Ngat ROLE trong R3*R2 lan =SW12*50h (0,075 ms) X00af: mov a,r2 ; Trong Doc_Cong_Tac r2=0000ldcn mov r0,#27h X07d2: jb Acc.1, X07dc ; Neu cong tac thay doi gia tri call DecToOne ; Neu co tin hieu CloseCommand thi giam o nho (27h) jnz X07de mov a,#2 orl a,r7 ; R7=Flags mov r7,a ; set bit 1 X07dc: mov a,#2 X07de: anl a,#7 ; lay 3 bit thap mov @r0,a nop mov a,R7 jb Acc.7, X00c2 mov a,r6 ; A=0dxn.0D0N anl a,#70h ; A=0dxn.0000 (Che do dieu tan - Normal) jb Acc.6, X00c0 ; d=1 -> Doc lap mov a,#50h ; Neu trong luoi ->A=0101.0000 ->Dieu tan, mode3, doclap X00c0: nop mov r6,a ; Nap A tro lai R6, =0dxn.0000 hoac 0101.0000 X00c2: mov r0,#7eh mov a,@r0 jnz X00cd ; (7Eh) Normal + Luoi 84