BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP. HCM

---------------------------

DIỆP HOÀNG PHONG

THIẾT KẾ HỆ THỐNG BMS ĐIỀU KHIỂN

BƠM NƯỚC TRONG TÒA NHÀ THEO THỜI

ĐIỂM THÍCH HỢP ĐỂ TIẾT KIỆM CHI PHÍ

LUẬN VĂN THẠC SĨ

Chuyên ngành: Kỹ Thuật Điện

Mã số ngành: 60520202

TP. HỒ CHÍ MINH, tháng 02 năm 2013

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP. HCM ---------------------------

DIỆP HOÀNG PHONG

THIẾT KẾ HỆ THỐNG BMS ĐIỀU KHIỂN

BƠM NƯỚC TRONG TÒA NHÀ THEO THỜI

ĐIỂM THÍCH HỢP ĐỂ TIẾT KIỆM CHI PHÍ

LUẬN VĂN THẠC SĨ Chuyên ngành: Kỹ Thuật Điện

Mã số ngành: 60520202

HƯỚNG DẪN KHOA HỌC: PGS.TS. Nguyễn Hoàng Việt

TP. HỒ CHÍ MINH, tháng 02 năm 2013

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP. HCM

Cán bộ hướng dẫn khoa học : PGS.TS. Nguyễn Hoàng Việt

(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Kỹ thuật Công Nghệ

TP. HCM ngày 02 tháng 02 năm 2013

Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)

1. TS. Nguyễn Thanh Phương 2. PGS.TS Trần Thu Hà 3. TS. Võ Hoàng Duy 4. TS. Nguyễn Viễn Quốc 5. TS. Đinh Hoàng Bách

Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được

sửa chữa (nếu có).

Chủ tịch Hội đồng đánh giá LV

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐH KỸ THUẬT CÔNG NGHỆ TP. HCM PHÒNG QLKH - ĐTSĐH

Độc lập - Tự do - Hạnh phúc

TP. HCM, ngày 26 tháng 12 năm 2012

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Diệp Hoàng Phong Giới tính: Nam

Ngày, tháng, năm sinh: 27 tháng 02 năm 1978 Nơi sinh: Đồng Tháp

Chuyên ngành: Kỹ Thuật Điện MSHV: 1181031043

Thiết kế hệ thống BMS điều khiển bơm nước trong Tòa nhà theo thời điểm thích hợp để tiết

kiệm chi phí

I- TÊN ĐỀ TÀI:

II- NHIỆM VỤ VÀ NỘI DUNG:

- Nghiên cứu các dữ kiện điều khiển động cơ.

- Nghiên cứu thời gian hoạt độ ng của động cơ phụ thuộc vào giá điện.

- Nghiên cứu ngôn ngữ Assembler.

- Nghiên cứu chuẩn truyền thông RS485.

- Mô phỏng và điều khiển bơm nước sinh hoạt trên máy tính.

III- NGÀY GIAO NHIỆM VỤ: 21 tháng 06 năm 2012

IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 29 tháng 12 năm 2012

V- CÁN BỘ HƯỚNG DẪN: PGS.TS. Nguyễn Hoàng Việt

CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH

(Họ tên và chữ ký) (Họ tên và chữ ký)

Nguyễn Hoàng Việt

i

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả

nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình

nào khác.

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện L uận văn này đã được

cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.

Học viên thực hiện Luận văn

Diệp Hoàng Phong

ii

LỜI CÁM ƠN

Để hoàn thành cuốn luận văn này, tôi xin được bày tỏ lòng biết ơn sâu s ắc nhất đối

với PGS.TS Nguyễn Hoàng Việt, người thầy đã hết lòng, tận tâm, nhiệt tình hướng dẫn và

cung cấp cho tôi những tài liệu vô cùng quý giá trong quá trình thực hiện luận văn.

Xin chân thành cảm ơn tập thể các thầy cô giáo đã giảng dạy, truyền đạt t ri thức giúp

tôi học tập và nghiên cứu trong quá trình học cao học tại trường Đại Học Kỹ Thuật Công

Nghệ TP.HCM.

Xin chân thành cảm ơn Ban giám hiệu, Phòng quản lý khoa học - Đào tạo sau đại

học và khoa Điện – Điện tử Trường Đại Học Kỹ Thuật Công Nghệ TP.H CM đã giúp đỡ,

tạo điều kiện thuận lợi cho tôi trong quá trình học tập và làm luận văn cao học tại trường.

Xin chân thành cảm ơn các anh, chị học viên cao học ngành “Thiết Bị, Mạng & Nhà

Máy Điện” khóa 01 đã đóng góp ý kiến cho tôi trong quá trình thực hiệ n luận văn này.

TP.Hồ Chí Minh, tháng 12 năm 2012

Người thực hiện

Diệp Hoàng Phong

iii

TÓM TẮT

Luận văn “Thiết kế hệ thống BMS điều khiển bơm nước trong tòa nhà theo thời điểm thích

hợp để tiết kiệm chi phí” đi sâu vào nghiên cứu điều khiển từ xa các thiết bị trên hệ thống

máy tính phù hợp với điều kiện vận hành thực tế của của các tòa nhà lớn và các công trình

sử dụng nước. Hệ thống BMS được thiết kế giám sát hệ thống bơm nước sinh hoạt theo các

hình ảnh hiển thị trên máy tính. Hệ thống này được thiết kế phù hợp cho tất cả nhu cầu sử

dụng bơm nước khác nhau theo sự điều chỉnh thời gian hoạt động trên máy tính. Nội dung

của Luận văn gồm các phần chính như sau:

- Xây dựng mô hình điều khiển thực tế.

- Xây dựng giao diện điều khi ển máy bơm trên máy tính.

- Lập bảng so sánh kết quả sau khi tính toán.

Luận văn này sẽ áp dụng cho các Cao ốc văn phòng, Trung tâm thương mại và các

công trình nghiên cứu của các sinh viên, kỹ sư… và mở rộng điều khiển các thiết bị trong

Tòa nhà như: hệ thống máy lạnh trung tâm, chiếu sáng, xử lý nước thải, phòng cháy chữa

cháy…..

iv

ABSTRACT

The thesis "Designing BMS System for Controlling Building Water Pump with

Appropriate Time to Save Costs" deeply researches the remote control of output devices by

a computer in accordance with the practical operating conditions of large buildings and the

other purposes of water use. BMS system is designed to monitor the water pump system.

This system is suitable for all different water pumping demand by adjusting the time it

operates on the computer.

- Construct a practical controlling model.

- Construct a pumps controlling interface on computers.

- Set up a result comparison table after calculating.

This thesis is applied to buildings, commercial centers and research of students and

engineers… and to the extension of equipment controlling in buildings such as center

conditioner system, lighting, waste water treatment and fire regulations.

v

MỤC LỤC

Tên đề mục Trang

Lời cam đoan ................................................................................................................... i

Lời cảm ơn ...................................................................................................................... ii

Tóm tắt luận văn.............................................................................................................iii

Abstract .......................................................................................................................... iv

Mục lục ........................................................................................................................... v

Danh mục các từ viết tắt.................................................................................................. x

Danh mục các bảng biểu ................................................................................................ xi

Danh mục các lưu đồ, sơ đồ, hình ảnh .......................................................................... xii

Chương 1: MỞ ĐẦU

1.1. Đặt vấn đề ................................................................................................................ 1

1.2. Tính cấp thiết của đề tải ........................................................................................... 2

1.3. Mục tiêu và nhiệm vụ của luận văn ......................................................................... 2

1.3.1. Mục tiêu của đề tài ....................................................................................... 2

1.3.2. Nội dung nghiên cứu .................................................................................... 3

1.4. Phương pháp luận và phương pháp nghiên cứu ....................................................... 3

1.4.1. phương pháp luận ......................................................................................... 3

1.4.2. Phương pháp nghiên cứu .............................................................................. 4

1.5. Tổng quan về lĩnh vực nghiên cứu........................................................................... 4

1.5.1.Giới thiệu về BMS......................................................................................... 4

1.5.2. Tình hình nghiên cứu trong nước ................................................................. 4

1.5.3. Tình hình nghiên cứu trên thế giới ............................................................... 5

vi

1.6. Nội dung của luận văn.............................................................................................. 5

Chương 2: CƠ SỞ LÝ THUYẾT

2.1. Chức năng điều khiểncủa BMS ............................................................................... 6

2.1.1 Lợi ích về năng lượng ................................................................................... 6

2.1.2. Hỗ trợ vận hành ............................................................................................ 6

2.1.3. Hỗ trợ bảo dưỡng ......................................................................................... 7

2.1.4. Kiểm soát và tiết kiệm năng lượng sử dụng ................................................. 7

2.1.5. Vận hành tòa nhà tự động theo lập trình sẵn ............................................... 8

2.1.6. Điều khiển bơm nước theo lập trình ............................................................. 8

2.1.7. Chuẩn truyền thông RS485 .......................................................................... 9

2.2. Phương pháp điều khiển của hệ thống nước sinh hoạt ....................................................9

2.2.1. Phần cấp nước theo thuyết minh thiết kế của tòa nhà Maritime Bank ...............9

2.2.2. Phòng bơm ...........................................................................................................14

2.2.3. Bảng giá 3 thời điểm của công ty điện lực .........................................................14

2.2.4. Cơ sở tính toán thiết kế mạch điều khiển ................................................... 17

2.2.6. Lưu đồ điều khiển máy bơm....................................................................... 18

2.2.7.Bảng so sách tiền điện giữa điều khiển bơm nước bình thường và điều khiển

bởi BMS ............................................................................................................... 19

Chương 3: XÂY DỰNG ĐỐI TƯỢNG ĐIỀU KHIỂN

3.1. Cơ sở dữ liệu đầu vào của các thiết bị trong hệ điều khiển ................................... 21

3.1.1.Tín hiệu nguồn cấp nước bồn trên ...................................................... 21

3.1.2.Tín hiệu nguồn cấp nước bồn dưới ..................................................... 21

3.2. Sơ đồ nguyuyên lý.................................................................................................. 22

3.2. Phương pháp điều khiển......................................................................................... 24

3.2.1. Điều khiển bằng tay.................................................................................... 24

3.2.2. Điều khiển tự động ..................................................................................... 24

3.3. Thiết kế mạch điều khiển ....................................................................................... 25

vii

3.3.1. Mạch điều khiển chính ............................................................................... 25

3.3.2. Nguyên lý hoạt động .................................................................................. 26

3.3.3. Mạch điếm mức nước ................................................................................ 27

3.3.4. Nguyên lý hoạt động .................................................................................. 28

Chương 4: THI CÔNG MẠCH ĐIỀU KHIỂN

4.1. Sơ đồ khối của hệ thống BMS ............................................................................... 29

4.2. Lưu đồ giải thuật .................................................................................................... 30

4.3. Thi công ................................................................................................................. 36

4.3.1. Thi công bồn trên ....................................................................................... 36

4.3.2. Thi công cảm biến bồn trên ........................................................................ 36

4.3.3. Thi công bồn dưới ...................................................................................... 37

4.3.4. Thi công cảm biến bồn dưới ....................................................................... 37

4.3.5. Thi công bảng điều khiển ........................................................................... 38

4.3.6.Thiết kế board đọc mực nước bồn trên, dưới và hiển thị Led ..................... 38

4.3.6.1. Thi công mạch in ............................................................................ 38

4.3.6.2. Thi công lắp ráp linh kiện ............................................................... 40

4.3.7. Thi công board điều khiển .......................................................................... 40

4.3.7.1. Thi công mạch in ............................................................................ 40

4.3.7.2. Thi công lắp ráp linh kiện ............................................................... 41

4.4. Mô hình thi công hoàn chỉnh ................................................................................. 41

4.5. Hướng dẫn sử dụng trên máy tính .......................................................................... 42

4.5.1. Các giao diện trên màn hình....................................................................... 42

4.5.2. Hướng dẫn sử dụng .................................................................................... 43

4.6. Kết quả khi điều khiển bơm nước bởi BMS .......................................................... 44

4.6.1. Giờ thấp điểm từ 22h00 đến 4h00. Nếu nước bồn cạn đến cảm biến 1 hoặc

sau 3h00 thì bơm hoạt động đến cảm biến 8 ................................................................. 44

4.6.1.1. Hình chụp ở chế độ ON .................................................................. 45

viii

4.6.1.2. Hình chụp ở chế độ OFF ................................................................ 46

4.6.2. Giờ cao điểm 17h00 đến 20h00 mức nước cạn đến cảm biến 1 thì bơm đến

cảm biến 4 ................................................................................................................... 47

4.6.2.1. Hình chụp trên màn hình máy tính và hình kết nối giữa máy tính và

mô hình ở chế độ ON .................................................................................................... 47

4.6.2.2. Hình chụp trên màn hình máy tính và hình kết nối giữa máy tính và

mô hình ở chế độ OF ..................................................................................................... 48

Chương 5: KẾT LUẬN

5.1. So sánh khi chưa sử dụng BMS và khi sử dụng BMS ........................................... 49

5.1.1. Kết quả khi chưa sử dụng BMS ................................................................. 49

5.1.2. Kết quả khi sử dụng BMS .......................................................................... 49

5.2. Hướng phát triển đề tải ........................................................................................... 49

5.3. Tài liệu tham khảo .................................................................................................. 50

Phụ lục

ix

DANH MỤC CÁC TỪ VIẾT TẮT

- BMS- Building Management System: Hệ thống quản lý tòa nhà

- DDC- Direct Digital Controler: Bộ điều khiển kỹ thuật số trực tiếp

x

DANH MỤC CÁC BẢNG BIỂU

Trang

Bảng 2.1. Cấp điện áp và giá điện ................................................................................ 15

Bảng 2.2. Thống kê lượng nước sử dụng trong tòa nhà Maritime Bank năm 2012 theo

từng thời điểm. .............................................................................................................. 16

Bảng 2.3. Tiền điện phải trả khi bơm hoạt động bình thường ...................................... 19

Bảng 2.4. Tiền điện phải trả khi bơm hoạt động có điều khiển bởi BMS .................... 20

xi

DANH MỤC CÁC LƯU ĐỒ, SƠ ĐỒ, HÌNH ẢNH

Trang

Lưu đồ 4.1. Đọc phím trên board chính ........................................................................ 31

Lưu đồ 4.2. Nhận tín hiệu chỉnh thời gian từ máy tính................................................. 22

Lưu đồ 4.3. Đọc mức nước bồn trên ............................................................................. 33

Lưu đồ 4.4. Đọc mức nước bồn dưới ............................................................................ 34

Lưu đồ 4.5. Gởi tín hiệu từ board chính về máy tính .................................................... 35

Sơ đồ 4.1. Sơ đồ khối của hệ thống BMS ..................................................................... 29

Hình 2.1. Phòng bơm .................................................................................................... 14

Hình 3.1. Cảm biến nước bồn trên ................................................................................ 21

Hình 3.2. Cảm biến nước bồn dưới ............................................................................... 21

Hình 3.3. Mạch điều khiển và động lực của máy bơm ................................................. 22

Hình 3.4. Sơ đồ nguyên lý của board điều khiển chính ................................................ 25

Hình 3.5. Sơ đồ nguyên lý của board đọc mức nước .................................................... 27

Hình 4.1. Bồn trên ......................................................................................................... 36

Hình 4.2. Cảm biến nước của bồn trên ......................................................................... 36

Hình 4.3. Bồn trên và cảm biến .................................................................................... 36

Hình 4.4. Bồn dưới ........................................................................................................ 37

Hình 4.5. Cảm biến nước bồn dưới ............................................................................... 37

Hình 4.6. Bồn dưới và cảm biến nước .......................................................................... 37

Hình 4.7. Lắp đặt thiết bị điều khiển bơm .................................................................... 38

Hình 4.8. Mạch in của board đọc mức nước ................................................................. 39

Hình 4.9. Mạch đọc mức nước hoàn thiện .................................................................... 39

Hình 4.10. Mạch in của board chính ............................................................................. 40

Hình 4.11. Mạch điều khiển chính hoàn thiện .............................................................. 41

Hình 4.12. Mô hình hoàn thiện ..................................................................................... 41

xii

Hình 4.13. Giao diện màn hình máy tính ...................................................................... 42

Hình 4.14. Giao diện màn hình điều khiển bơm nước trên máy tính ........................... 42

Hình 4.15. Các phím chức năng trên màn hình điều khiển trên máy tính .................... 43

Hình 4.16. Chế độ ON trên mà hình vi tính giờ thấp điểm ........................................... 45

Hình 4.17. Kết nối giữa máy tính và mô hình chế độ ON ............................................ 45

Hình 4.18. Chế độ OFF trên mà hình vi tính giờ thấp điểm ......................................... 46

Hình 4.19. Kết nối giữa máy tính và mô hình chế độ OFF........................................... 46

Hình 4.20. Chế độ ON trên màn hình vi tính giờ cao điểm .......................................... 47

Hình 4.21. Kết nối giữa máy tính và mô hình chế độ ON ............................................ 47

Hình 4.22. Chế độ OFF trên màn hình vi tính giờ cao điểm ........................................ 48

Hình 4.23. Kết nối giữa máy tính và mô hình chế độ OFF........................................... 48

1

Chương 1: MỞ ĐẦU

1.1. Đặt vấn đề

Ở Việt Nam, những năm gần đây cũng không khó để nhận ra những đóng

góp của các hệ thống tự động trong các công trình công nghiệp và dân dụng. Những

khái niệm về quản lý tòa nhà, tiết kiệm năng lượng công trình, bảo vệ môi trường …

không còn quá mới mẻ. Tuy nhiên, mức độ áp dụng các hệ thống này nói chung vẫn

có giới hạn, chưa thực sự sâu và rộng. Điều này sẽ thay đổi nhanh chóng trong

những năm tới đây, khi nhịp độ xây dựng những công trình hiện đại ngày càng cao,

khi những hệ thống tự động hóa tòa nhà ngày càng phát triển và độ tin cậy lớn hơn,

lợi ích của việc áp dụng những hệ thống này ngày càng rõ nét.

Quản lý điện năng là chức năng tiêu biểu của bộ điều khiển DDC sử dụng bộ

vi xử lý. Trong hầu hết các tòa nhà có quy mô từ vừa tới lớn, với chức năng điều

khiển tối ưu thực thi tại cấp độ hệ thống với thông tin quản lý và truy cập người sử

dụng do BMS chủ cung cấp.

Building Management System (BMS) thực hiện tốt các nhiệm vụ điều khiển

vận hành hệ thống, là môi trường thu nhận tín hiệu các thiết bị đầu cuối, quản lý

toàn bộ các thông số kỹ thuật thiết bị kết nối tới máy tính thông qua trao đổi thông

tin. BMS điều khiển vận hành các thiết bị chấp hành của từng hệ thống kỹ thuật

khác nhau hoạt động theo yêu cầu của người quản lý, đảm bảo các yếu tố kỹ thuật

cũng như đáp ứng kịp thời các sự cố khẩn cấp xảy ra trong hệ thống kỹ thuật.

BMS thực hiện các chức năng như:

- Giám sát và ghi mức độ sử dụng điện năng.

- Thống kê mức tiêu thụ điện năng .

- Truy cập dữ liệu chiến lược quản lý điện n ăng nhằm liên tục điều chỉnh

theo nhu cầu.

- Lịch vận hành toà nhà.

- Giới hạn nhiệt độ của máy lạnh đem lại mức độ thoải mái .

Tùy theo từng dự án cụ thể mà hệ thống BMS có thể quản lý nhiều hay ít hơn

so với hệ thống cơ bản.

2

Lợi ích của BMS

- Đơn giản hóa vận hành: các thủ tục, các chức năng có tính lặp đi lặp lại

được chương trình hóa để vận hành tự động

- Lập trình linh hoạt theo nhu cầu của từng tòa nhà, tổ chức và yêu cầu mở

rộng.

- Điều khiển linh hoạt dựa vào các dữ liệu đầu vào.

- Giảm thời gian đào tạo cho nh ân viên vận hành, do có các chỉ dẫn trực tiếp.

trên màn hình cũng như giao diện trực quan của tòa nhà.

- Phản ứng nhanh đối với các đòi hỏi của khách hàng và các sự cố.

- Quản lý tập trung việc điề u khiển và kiểm soát năng lượng .

- Quản lý tốt hơn các thiết b ị trong tòa nhà, nhờ vào hệ thống dữ liệu lưu trữ,

chương trình bảo trì bảo dưỡng và hệ thống tự động báo cáo các cảnh báo.

- Linh hoạt trong việc lập trình theo nhu cầu, kích thước, tổ chức và các yêu

cầu mở rộng.

- Cải tiến vận hành bằng việc tích hợp các phần mềm và phần cứng của

nhiều hệ thống đầu cuối khác nhau như: báo cháy, an ninh, điều khiển truy

nhập dữ liệu hay điều khiển các thiết bị khác trong hệ thống.

- Nâng cao hoạt động nhờ tích hợp phần mềm và phần cứng của nhiều hệ

thống phụ như điều khiển s ố trực tiếp (DDC – Direct Digital Control), hệ

thống báo cháy, an ninh, điều khiển truy nhập hoặc điều khiển chiếu sáng.

1.2. Tính cấp thiết của đề tài

Luận văn này đi sâu vào nghiên cứu các phương pháp vận hành tối ưu máy

bơm nước sinh hoạt dựa vào cơ cấu hoạ t động, thời điểm vận hành và các dữ liệu

đầu vào để đưa ra phương pháp vận hành hợp lý. Kết quả nghiên cứu này phải so

sánh với chế độ hoạt động bình thường và cho kết quả tiết kiệm chi phí tiền điện

thực sự trong các cao ốc hiện nay.

1.3. Mục tiêu và nội dung nghiên cứu của đề tài

1.3.1. Mục tiêu của đề tài

Xây dựng mô hình điều khiển theo theo các mục tiêu sau:

3

- Thiết kế mạch điều kh iển.

- Thiết kế giao diện giao tiếp giữa máy tính và mô hình thực tế.

- Mô phỏng chương trình trên máy tính.

- Mô phỏng hoạt động trên mô hình thực tế.

1.3.2. Nội dung nghiên cứu

- Nghiên cứu các dữ kiện điều khiển động cơ .

- Nghiên cứu thời gian hoạt động của động cơ phụ thuộc vào giá điệ n.

- Nghiên cứu ngôn ngữ assamber.

- Nghiên cứu chuẩn truyền thong RS485.

- Mô phỏng và đánh giá hiệu quả khi điều khiển mới so với ban đầu.

1.4. Phương pháp luận và phương pháp nghiên cứu

1.4.1. Phương pháp luận

- Luận văn là tài liệu tham khảo có giá trị cho những ai quan tâm, nghiên cứu

đến điều khiển và giám sát các thiết bị từ xa.

- Với khả năng yêu cầu về tự động ngày càng cao trong sản suất và đời sống

thì việc ứng dụng điều khiển bằng BMS là hết sức cần thiết

- Luận văn này cung cấp một mô hình điều khiển hệ thống bơm nước sinh

hoạt theo thời điểm thích hợp, được ứng dụng trong thực tiễn.

1.4.2. Phương pháp nghiên cứu

- Thu thập và đọc hiểu các t ài liệu liên quan từ cán bộ hướng dẫn, sách, các

bài báo và internet.v.v…

- Nghiên cứu các dữ kiện điều khiển động cơ .

- Nghiên cứu thời gian hoạt động của động cơ phụ thuộc vào giá điện .

- Nghiên cứu ngôn ngữ lập trình Assembler

- Nghiên cứu chuẩn truyền thông RS485

- Lập trình phần mềm, kết nối phần cứng và chạy thử.

4

1.5. Tổng quan về lĩnh vực nghiên cứu

1.5.1. Giới thiệu tổng quan về BMS

Hiện nay, trên thế giới có nhiều các giải pháp quản lý các thiết bị trong tòa

nhà khác nhau, từ các giải pháp đơn giản : như hệ thống bơm nước, phòng cháy

chữa cháy, máy lạnh trung tâm, thang máy...Tuy nhiên, hệ thống điều khiển bơm

nước sinh hoạt theo theo từng thời điểm thích hợp dựa vào giá điện thấp trong ngày

vẫn chưa được áp dụng rộng rãi.

Có 2 cách lựa chọn cho máy bơm nước sinh hoạt là điều khiển bằng tay và tự

động. Hệ thống điều khiển dựa vào các thông số đầu vào như: cảm biến mực nước,

thời gian vận hành.

Hệ thống BMS có thể mở rộng để điều khiển và giám sát từ xa thông qua

mạng internet, thông qua đó BMS thực hiện các nhiệm vụ sau:

- Giám sát nhiệt độ của động cơ .

- Giám sát trạng thái hoạt động của động cơ .

- Giám sát thời điểm hoạt động của động cơ .

- Giám sát các thiết bị an ninh trong tòa nhà.

Tóm lại: BMS là phần mềm điều khiển , hoạt động của các thiết bị trong tòa nhằm

tiết kiệm con người, chi phí và độ chính xác cao.

1.5.2. Tình hình nghiên cứu trong nước

Ở Việt Nam ngày nay, việc xây dựng các tòa nhà cao tầng làm công sở, trung

tâm thương mại, khách sạn,… ngày càng trở nên phổ biến. Chúng trở nên hiện đại,

tiện nghi để phục vụ các yê u cầu ngày càng cao của con người. Giải pháp kết hợp

hệ thống các thiết bị cơ điện tử sử dụng trong tòa nhà với công nghệ tự động hóa

nhằm đem lại khả năng điều khiển tự động của các hệ thống như: hệ thống điều hòa

không khí, thông gió, hệ thống chiếu sáng, hệ thống báo cháy, camera,… đã không

còn là điều mới mẽ nữa. Tuy nhiên, vấn đề sống còn của giải pháp này lại nằm ở

chỗ làm sao có thể quản lý chung trong một hệ thống thống nhất. Các hệ thống tự

động hóa tòa nhà (BMS- Building Management System) đã ra đời để giải quyết bài

toán này.

5

Nhiệm vụ chính của hệ thống BMS là điều khiển, giám sát, quản lý các thiết bị cơ,

điện trong một tòa nhà cao tầng, giúp cho việc vận hành, bảo dưỡng và quản lý tòa

nhà một cách thuận tiện, an toàn và tiết kiệm.

Hệ thống BMS được phát triển dựa trên nền kiến trúc của một hệ điều khiển

phân tán với các bộ điều khiển số trực tiếp (DDC - Direct Digital Controler) được

kết nối với hệ thống mạng tầng, các bộ điều khiển .

Tình hình nghiên cứu BMS trong các nhà cao tầng theo thống kê như sau:

Luận văn nghiên cứu ứng dụng trong hệ thống BMS cho Tòa nhà khách sạn

Novotel Đà Nẳng. Luận văn này được bảo vệ thành công tại trường Đại học Đà

Nẳng ngày 27 tháng 10 năm 2012 .

Nghiên cứu hệ thống quản lý Tòa nhà (BMS): nghiên cứu điều khiển các thiết

bị trong Tòa nhà như: Chiller, FCU, AHU, quạt….Do phòng đầu từ và quản lý xây

dựng hoàn thành ngày 08 tháng 10 năm 2012.

1.5.3. Tình hình nghiên cứu trên thế giới Nghiên cứ hệ thống BMS điều khiển các hệ thống trong Tòa nhà để tiết kiệm

năng lượng được thự c hiện bởi giáo sư Engel J. Knible được đăng trên bài báo của

tạp chí Mỹ ngày 15 tháng 10 năm 2006 .

Công ty AirTek sản xuất hệ thống BMS của tập đoàn Mitshubishi đã phát triển

rộng rãi ở Việt Nam và các nước trong khu vực.

Kết luận: Hệ thống điều khiển bơm nước bởi BMS được thiết kế đặt thù cho các

Tòa nhà ở Việt Nam với tính năng điều khiển và giám sát hệ thống giống như các

hệ thống BMS có trên thị trường.

1.6. Nội dung của luận văn

Nội dung của luận văn gồm 5 chương

Chương 1: Mở đầu

Chương 2: Cơ sở lý thuyết

Chương 3: Xây dựng đối tượng điều khiển

Chương 4: Thi công bộ điều khiển

Chương 5: Kết luận và hướng phát triển đề tài

6

Chương 2: CƠ SỞ LÝ THUYẾT

2.1. Chức năng điều khiển của BMS

Với sự phát triển công nghệ thông tin và các phần mềm ứng dụng hữu ích hiện

nay như: internet, EIB thì phần mềm BMS điều khiển linh hoạt các thiết bị trong tòa

nhà, trung tâm thương mại, nhà máy sản xuất cũng đang phát triển mạnh mẽ, nhưng

giá thành đầu tư cao, đây cũng là mặt hạn chế. BMS có những chức năng điều khiển

như sau:

2.1.1. Lợi ích về năng lượng

- Điều chỉnh lư u lượng bơm nước sinh hoạt theo điều kiện phù hợp với chi

phí giá điện thấp nhất. Với các tòa nhà, cao ốc khác nhau thì BMS vẫn đáp

ứng điều khiển một cách phù hợp nhờ vào điều chỉnh các thông số trên máy

tính.

- Tự động điều khiển liên tục công suất tải. Đặt các thiết bị chấp hành hoạt

động theo tiến trình định trước hoặc theo các tiêu chuẩn đặt ra ban đầu theo

các thông tin nhận được từ cảm biến của các thiết bị đầu cuối như: cảm biến

nước, áp suất, đồng hồ điếm thời gian thực….

- Điều khiển đóng ngắt hệ thống điện khi gặp sự cố, khởi động hệ thống

chiếu sáng theo chế độ cài đặt sẵn và điều khiển theo mong muốn.

- Giám sát việc sử dụng năng lượng hàng ngày và lưu trữ dữ liệu vào máy

tính. Tự động báo hiệu cảnh báo nếu năng l ượng tiêu thụ hàng ngày quá cao

hoặc quá thấp.

- Giám sát mức độ tiêu thụ năng lượng, in hoá đơn điện năng tiêu thụ cho

từng khu vực khác nhau.

- Có thể xác định chính xác công suất điều hòa không khí của từng phòng,

từng khu vực. Thuận lợi cho các cao ốc văn phòng cho thuê, khi trong một

tầng có nhiều văn phòng được thuê bởi nhiều công ty khác nhau .

7

2.1.2. Hỗ trợ vận hành

- Hệ thống tự động điều khiển các thiết bị chấp hành theo cá c điều kiện thực

tế của từng cao ốc văn phòng về thời gian tắt mở và chấp hành theo cá c

thiết bị đầu cuối đưa về BMS . Ví dụ: Khi xảy ra cháy tại tầng 3 của toà nhà,

các thiết bị hỗ trợ cho chữa cháy và cứu nạn được kích hoạt, cụ thể như: Hệ

thống chữa cháy tự động kích hoạt, mở hệ thống hút khói, quạt tăng áp cầu

thang các tầng trong tòa nhà được kích hoạt, hệ thống thang máy tự xuống

tầng trệt để phục vụ cho công tác cứu hộ.

- Bằng giao diện trực quan tại trung tâm điều khiển, nhân viên vận hành tòa

nhà có thể đặt lại th ông số các thiết bị chấp hành cho phù hợp và theo yêu

cầu khác từ khách hàng.

- Vị trí các thiết bị và trạng thái hoạt động của nó được thể hiện trực quan

trên màn hình, người vận hành có thể nhận biết được trạng thái hoạt động,

các sự cố xảy ra đối với thiết bị của toàn hệ thống đã được kết nối với BMS.

2.1.3. Hỗ trợ bảo dưỡng

- BMS giám sát tình trạng hoạt động của các thiết bị trong toà nhà, đồng thời

đưa ra các cảnh báo, lịch bảo trì, bảo dưỡng cho các thiết bị. Hạn chế được

tối đa thời gian kiểm tra thiết bị và những rủi ro xảy ra bất ngờ.

- BMS giám sát tình trạng hoạt động của các thi ết bị dự phòng, đảm bảo tính

sẵn sàng hoạt động.

- Ghi lại dữ liệu cũ để hỗ trợ phân tích lỗi đã xảy ra và tránh những những sự

cố xảy ra tương tự.

2.1.4. Kiểm soát và và tiết kiệm năng lượng sử dụng

- Toà nhà Maritime Bank Tower sử dụng giải pháp BMS của hãng AirTek

với chi phí đầu tư và dự kiến chi phí tiết kiệm như sau:

- Chi phí đầu tư ban đầu: 1.6 tỉ đồng . - Diện tích mặt sàn: 32.000 m2.

- Tiêu thụ điện năng (Chưa trang bị BMS): 3.696.000 kWh/ 1năm.

- Tiết kiệm năng lượng tương ứng 12 %: 443.520kWh/ 1năm.

8

- Tiền điện tiết kiệm: 887.040.000 đồng/1 năm.

- =>Thời gian thu hồi vốn khoảng 2 năm.

2.1.5. Vận hành toà nhà tự động theo lập trình sẵn

- Mỗi tòa nhà có tính chất hoạt động khác nhau nên phải lập trình cho BMS

để điều khiển. Điều này tiết kiệm được tiền thuê nhân viên cho công tác vận

hành toà nhà. Khi được trang bị BMS, người vận hành chỉ cần ngồi tại

phòng kỹ thuật có thể điều khiển bật/tắt các thiết bị chấp hành, lập thời vận

hành tự động cho các thiết bị.

- Tất cả các thiết bị chấp hành được vận hành tự động và chính xác bằng hệ

thống BMS.

- Hướng quản lý rộng rãi hơn đối với các tập đoàn lớn, các hệ thống BMS

khác nhau được giám sát và điều khiển qua mạng Internet. Lúc này người

điều hành chính chỉ ngồi tại trung tâm để điều khiển một cách phù hợp.

2.1.6. Điều khiển bơm nước theo lập trình

Theo phương pháp điều khiển thông thường là dùng cọc hoặc phao để giám

sát mực nước. Khi bồn sắp hết nước thì các tín hiệu trên đưa về tủ điện để điều

khiển bơm hoạt động. Thông thường bơm hoạt động rơi vào các giờ cao điểm vì

trong thời gian này lượng nước sử dụng nhiều. Vì vậy, hệ thống BMS điều khiển

bơm nước hoạt động vào giờ thấp điểm và trung bình nhằm tiết kiệm khoảng 40%

chi phí tiền điện.

BMS của các hãng có trên thị trường như: AirTek, Yamatake, Siemens,

Honeywell, Yamatake,... điều khiển tắt mở các thiết bị trong tòa nhà theo lập trình.

Dựa vào các chức năng của BMS và kinh nghiệm làm việc trong tòa nhà, luận văn

này thiết kế hệ thống BMS điều khiển bơm nước hoạt động theo thời điểm giá điện

thấp (giờ thấp điểm và trung bình) hạn chế tối đ a bơm hoạt động vào giờ cao điểm

trừ các trường hợp ngoại lệ.

9

2.1.7. Chuẩn truyền thông RS-485

Khi thực hiện truyền thông tin ở tốc độ cao hoặc qua một khoảng cách lớn

trong môi trường thực. Tín hiệu vi sai có thể loại bỏ ảnh hưởng do sự thay đổi khi

nối đất và giảm nhiễu có thể xuất hiện như điện áp chung trên mạng.Tuy nhiên, đối

với một mạng multi-network thực chất gồm nhiều mạch phát và nhận cùng nối vào

một đường dây bus chung, mỗi node đều có thể phát và nhận data thì RS485 đáp

ứng được yêu cầu này. Chuẩn RS485 cho phép 32 mạch truyền và nhận cùng nối

vào đường dây bus đơn (với bộ repeater tự động và các bộ truyền/ nhận trở kháng

cao, giới hạn này có thể mở rộng lên tới 256 node trên một mạng). Bên cạnh đó,

RS485 còn có thể chịu được các xung đột data (dat a collision) và các điều kiện lỗi

trên đường truyền.

Để giải quyết vấn đề xung đột data thường xuất hiện trên mạng multi -drop

network, các đơn vị phần cứng (converters, repeaters, micro-prosessor controls)

được thiết kế luôn duy trì ở trạng thái nhận cho đến khi chúng ta sẳn sàng truyền

data. Một node master sẽ kích khởi một yêu cầu truyền đến một slave node bằng

cách định địa chỉ node đó. Phần cứng phát hiện bit start của ký tự được có sẵn sang

truyền và tự động cho phép bộ truyền làm việc.

2.2. Phương pháp điều khiển của hệ thống bơm nước sinh hoạt

Để đưa ra giải pháp điều khiển bơm nước trong Tà nhà, phải căn cứ vào các

tiêu chuẩn hiện hành của Việt Nam và mức độ sử dụng nước của tòa nhà.

2.2.1. Phần cấp nước theo thuyết minh thiết kế của Tòa nhà Maritime Bank

Căn cứ kỹ thuật

- Quy chuẩn hệ thống cấp thoát nước trong nhà và công trình năm 1999.

- Tiêu chuẩn thiết kế cấp nước bên trong T.C.V.N – 4513 – 88.

- Tiêu chuẩn thiết kế cấp nước ngoài công trình 20.T.C.N – 51-2006;

T.C.V.N 5945 – 1995.

- Tiêu chuẩn xây dựng của Việt Nam tập VI- Tiêu chuẩn thiết kế TCXDVN

323-2004 – Nhà cao tầng – Tiêu chuẩn thiết kế.

10

 Quy mô sử dụng nước : Cấp nước sinh hoạt và chữa cháy cho Tòa nhà

Maritime Bank, 180-192 Nguyễn Công Trứ, Q1 với quy mô 25 tầng gồm 3

tầng hầm, trung tâm thương mại và v ăn phòng cho thuê.

 Nhu cầu sử dụng nước: Tòa nhà Maritime Bank Tower dự kiến tiêu thụ 450

m3/ 1 ngày bao gồm nguồn nước sinh hoạt chiếm nhiều nhất, nước hao hụt

cho hệ thống điều hòa không khí, nước tưới cây và các hao hụt khác.

 Nguồn cấp nước: Chủ yếu từ nguồn nước sạch của TP.Hồ Chí Minh. Vị trí lấy

nước xác định tại lối xe xuống của Tòa nhà Maritime Bank, đường Nguyễn

Công Trứ. Đường ống cấp vào có đường kính DN100 chia làm 2 nhánh có

đường kính DN80.

 Giải pháp kỹ thuật cấp nước:

- Nước cấp cho nhu cầu sinh hoạt:

 Nước từ bồn chứa 615,6 m3 tầng mái của của Tòa nhà phân phối cho từng

tầng của khu văn phòng và Trung tâm thương mại, đầu các đường ống phân

nhánh được trang bị các valve giảm áp.

 Nước sạch ở bể chứa dự trữ đặt nổi trên sàn tầng hầm B2, được bơm lên bồn

chứa nước tầng mái. Nhiệm vụ của bồn chứa nước tầng mái là phân phối nước

xuống các khu vực vệ sinh, khu ăn uống Trung tâm thương mại và các nhu c ầu

nước khác trong tòa nhà.

- Nước cấp cho nhu cầu chữa cháy: Bồn nước chữa cháy đặt âm tại tầng hầm B3, tổng với dung lượng 333m3. Hồ nước được cấp nước trực tiếp từ nguồn

nước sạch của Thành Phố.

 Tính toán hệ thống cấp nước

(2.1)

Lượng nước cần thiết cấp cho Tòa nhà trong ngày dùng nước nhiều nhất. Qmax= QShmax + QCC + QNBĐH = 460 m3 Qmax = 483,48 +333,4+131 = 947,9 m3

Trong đó:

- QShmax: Lượng nước cấp trong ngày dùng nhiều nhất được xác định theo

công thức

11

QShmax= k. QShTB = 1,2 x 402,9 = 483,48m3/ 1 ngày

Với các thông số kỹ thuật lấy theo tiêu chuẩn quy phạm thiết kế cấp nước hiện

hành, chọn hệ số điều hòa trong ngày, chọn k = 1,2

QShTB: Lưu lượng nước cấp cho sinh hoạt trung bình trong một ngày (m3/ngày

đêm), được tính theo công thức sau:

QShTB = N.Q = N1.Q1 + N2.Q2+ N3.Q3 + Q4 = 272,4+125+2,5+3 = 402,9 m3/ ngày đêm.

Q1 = 15 lít/ngày đêm - Tiêu chuẩn dùng nước cho 1 người ở khối văn phòng cho

thuê – TCVN4513:1998.

N1 = 4.540 người: số người sinh hoạt trong khối văn phòng cho thuê.

Q2 = 60 lít/ngày đêm: Tiêu chuẩn dùng nước cho một người trong 1 ngày đêm ở

khối giao dịch trong tòa nhà – TCVN4513-1998.

N2 = 5.000 người: số người sinh hoạt trong khối giao dịch.

Q3 = 25 lít/ngày đêm: tiêu chuẩn dùng nước cho một cán bộ quản lý tòa nhà + người phục vụ 1 ngày đêm trong tòa nhà – TCVN4513:1998.

N3 = 100 người: Số cán bộ công nhân viên quản lý tòa nhà + người phục vụ. Q4: Lượng nước phục vụ rửa sàn tầng hầm 1,2, 3. Q4: 2000m2 sàn x 1,5 lít/m2 = 3.000 lít = 3m3. QCC: Lượng nước cần thiết cấp cho cứu hỏa Q CC = 333 m3. QNBĐH: Lượng nước bù hao hụt cho hệ thống điều hòa không kh í = 131m3 (tỉ lệ hao hụt được tính 1% lượng nước cấp cho điều hòa, thời gian tính 15 giờ/1 ngày).

Xác định đường kính ống nước sinh hoạt:

- Vận tốc nước chảy trong ống nước cấp bên trong tòa nhà tối đa 1,5m/s.

- Chọn đường kính ống dựa vào công thức:

(2.2)

Trong đó:

q: Lưu lượng nước (l/s)

v: Vận tốc nước trong đường ống (m/s)

12

d: Đường kính ống (mm)

Tính dung tích toàn phần của bồn nước tầng mái:

(2.3) Vk = K(Wđh + WCC +Wđhkk) (m3)

Trong đó:

- VK: Dung tích toàn phần của bồn nước tầng mái (m3) - K: Hệ số dự trữ kể đến chiều cao xây dựng và phần cặn lắng ở bồn nước,

chọn 1,1.

- WCC: Dung tích chữa cháy (tính 10 phút đầu cho ch ữa cháy vách tường

trong nhà, lượng nước này do công an phòng cháy cấp) = 3 m3.

- Wđh: Dung tích điều hòa nước sinh hoạt của bồn nước tầng mái = Q b/4n =

2,5 m3.

- Qb: Công suất định mức của một máy bơm sinh hoạt = 240 m3/h.

- n: Số lần mở máy bơm nhiều nhất tron g 1 giờ = 4 lần.

- Wđhkk: Dung tích nước bù hao hụt nước phục vụ cho điều hòa không khí =

131m3.

Vậy: V k = K(Wđh + WCC + Wđhkk) = 1,1 (2,5 + 3 + 131) = 136,5 m3. Chọn bồn nước bê tông cốt thép với dung tích 200m3

Tính dung tích của bể chứa nước dự trữ:

Để đảm bảo an toàn cho việc cấp nước sinh hoạt liên tục cho tòa nhà. Tư vấn

thiết kế 1 bể chứa nước dự trữ ngầm đặt tại sàn hầm B 3 với dung tích toàn phần của

bể chứa nước sạch được tính theo công thức:

(2.4) VBC = WBC + W1 + W2 (m3)

Trong đó:

- WBC: Dung tích điều hòa lượng nước sinh hoạt của bể chứa (m3). - WBC = 1,5 Qngày/n = 151,1 (m3).

Qngày: Lượng nước sinh hoạt cần dùng trong ngày (m3/ngày) = 402,9 m3.

- n: Số lần đóng mở máy bơm bằng tay trong ngày = 4 lần. - W1: Dung tích nước chữa cháy trong bể = 333,4 m3.

13

- W2: Dung tích bù nước hao hụt của hệ thống điều hòa không khí dự trữ trong bể tính 1 ngày =131 m3 (tỉ lệ hao hụt được tính 1% lượng nước cấp

cho điều hòa, thời gian tính 8 tiếng/1 ngày.

Vậy, dung tích toàn phần của bể chứa nước sạch được tính như sau: VBC = WBC + W1 + W2 = 151,1 + 333,4 + 131 = 615,6m3. Dựa vào kết quả tính toán, chọn 2 bể chứa nước dự trữ với dung tích toàn phần

của bể chứa nước dự trữ số 1 dành cho sinh hoạt + điều hòa không khí + phòng cháy chữa cháy VBC1 = 200m3 đặt ở tầng hầm B2 và bể chứa nước dự trữ số 2 dành cho chữa cháy VBC2 = 233m3 đặt ở tầng hầm B3. Tính toán bơm cấp nước sinh hoạt:

Việc lựa chọn công suất của máy bơm được dựa trên 2 tiêu chí cơ bản:

Lưu lượng của máy bơm (được tính cho giờ dùng nước nhiều nhất trong ngày)

Áp lực toàn phần của máy bơm

Dựa vào kết quả tính toán lưu lượng nước cần thiết cáp cho tòa nhà ở trên: lượng nước cấp cho sinh hoạt trong ngày dùng nước nhiều nhất là 483,48m3. Lượng nước dùng nước nhiều nhất trong ngày 279m3/ ngày (Buổi sáng 11h đến 17h, chiều 17h đến 20h).

(2.5) Chọn lưu lượng máy bơm Qb = 66 lít/s, H= 125m. Xác định áp lực toàn phần của máy bơm: HS.H/bơm = hyc + h.dp = (hh.h + h.h + hđ + hc.b + htd) + h.dp (m3).

Trong đó:

- HS.H/bơm: Áp lực của máy bơm tăng áp cấp nước sinh hoạt. - hyc: Áp lực yêu cầu, được xác định theo công thức sau:

- hyc = hh.h + h.h + hđ + hc.b + htd = 113m.

- hh.h: Độ cao hình học đưa nước tính từ mực nước thấp nhất trong bể chứa

đến vòi cấp nước vào bồn tầng mái là 98m.

- h.h: Tổn thất áp lực do ma sát theo chiều dài đường ống hút 3,0m.

- hđ: Tổn thất áp lực do ma sát theo chiều dài đường ống đẩy = 7m.

- htđ: Áp lực tự do đầu vòi cấp nước vào bể chọn theo tiêu chuẩn 2m.

14

- hc.b: tổn thất áp lực cục bộ trên tuyến ống hút và đẩy (m).

hc.b = 30%. (hh + hđ) = 0,3. (3+7) = 3m.

- h.dp: áp lực công tác dự phòng (tính bằng 10% - 12% hyc) = 12m.

Vậy: HbSH = (hh.h +h.h + hđ + hc.b + htđ) + h.dp = 98 + 3 + 7 + 2 + 3 + 12 = 125m.

Dựa vào kết quả tính toán chọn 2 máy bơm sinh hoạt của hãng Grundfos mã số GSHF với công suất của 1 bơm là 110kW, 240m3/h, cột áp 125m, áp suất max

12bar, điện áp 380V, 1450 vòng/phút (trong đó 1 máy hoạt động 1 máy dự phòng).

2.2.2. Phòng bơm

Để đảm bảo cung cấp nước không bị gián đ oạn trong các tòa nhà, người ta

luôn thiết kế 2 bơm hoạt động luân phiên nhau. Khi có 1 bơm bị sự cố thì phải

khống chế cho 1 bơm luôn hoạt động để sửa chữa bơm bị hư.

Hình 2.1. Phòng bơm

2.2.3. Bảng giá 3 thời điểm của công ty điện lực

Ngày 19/12/2011, Bộ Công thương đã ra Thông tư số 42/2011/TT-BCT quy

định về giá bán điện và hướng dẫn thực hiện cụ thể áp dụng từ ngày 1 tháng 7 năm

2012 cho ngày kinh doanh theo bảng thống kê như sau:

15

Bảng 2.1. Cấp điện áp và giá điện

STT Cấp điện áp Giá bán điện (đ/kWh)

1

1.909 1.088 3.279

2

2.046 1.225 3.388

3

Từ 22 kV trở lên a) Giờ bình thường b) Giờ thấp điểm c) Giờ cao điểm Từ 6 kV đến dưới 22 kV a) Giờ bình thường b) Giờ thấp điểm c) Giờ cao điểm Dưới 6 kV a) Giờ bình thường b) Giờ thấp điểm c) Giờ cao điểm 2.074 1.279 3.539

Trong đó

Giờ bình thường

 Gồm các ngày từ thứ hai đến thứ bảy

- Từ 04 giờ 00 đến 9 giờ 30 (05 giờ 30 phút).

- Từ 11 giờ 30 đến 17 giờ 00 (05 giờ 30 phút).

- Từ 20 giờ 00 đến 22 giờ 00 (02 giờ).

 Ngày Chủ nhật.

Từ 04 giờ 00 đến 22 giờ 00 (18 giờ).

Giờ cao điểm

 Gồm các ngày từ thứ hai đến thứ bảy

- Từ 09 giờ 30 đến 11 giờ 30 (02 giờ).

- Từ 17 giờ 00 đến 20 giờ 00 (03 giờ).

 Ngày Chủ nhật: không có giờ cao điểm

Giờ thấp điểm

Tất cả các ngày trong tuần: từ 22 giờ 00 đến 04 giờ 00 (06 giờ)

16

Bảng 2.2. Thống kê Lượng nước sử dụng trong tòa nhà Maritime Bank năm

2012 theo từng thời điểm .

Bình thường Đơn giá 2.046 VNĐ

Cao điểm (thứ 2 đến 7) Đơn giá 3.388 VNĐ

Thứ

Ngày

Thấp điểm từ 22h đến 4h00 Đơn giá 1.225 VNĐ

Từ 4h00 đến 9h30

Từ 11h30 đến 17h00

Từ 20h00 đến 22h00

Từ 9h30 đến 11h30

Từ 17h00 đến 20h00

m3 nước tiêu thụ 154 144 145 146 145 148 147 155 156 165 152 150 150 153 138 146 141 152 151 153 149 143 142 161 141 138 158 141 152 145

m3 nước tiêu thụ 55 58 56 52 50 45 62 53 59 66 50 52 51 54 58 59 62 50 53 52 58 55 61 69 51 49 53 60 58 59

m3 nước tiêu thụ 55 57 66 50 48 41 57 53 56 64 51 56 53 58 62 64 68 55 55 60 61 54 58 60 57 54 56 54 54 58

m3 nước tiêu thụ 68 70 71 65 55 68 69 65 67 72 68 62 58 65 61 69 74 68 61 56 65 62 70 76 59 69 66 56 63 70

m3 nước tiêu thụ 2 1 3 2 2 1 2 1 2 3 2 2 2 3 1 1 4 2 1 1 3 1 2 3 2 2 1 3 1 4

1/6/12 2/6/12 3/6/12 4/6/12 5/6/12 6/6/12 7/6/12 8/6/12 9/6/12 10/6/12 11/6/12 12/6/12 13/6/12 14/6/12 15/6/12 16/6/12 17/6/12 18/6/12 19/6/12 20/6/12 21/6/12 22/6/12 23/6/12 24/6/12 25/6/12 26/6/12 27/6/12 28/6/12 29/6/12 30/6/12

m3 nước tiêu thụ 125 135 132 121 106 130 128 131 139 148 131 128 115 132 135 140 150 135 106 121 127 134 130 142 119 120 135 122 127 132

1670

4461

1695

1968

60

3876

Thứ 6 Thứ 7 CN Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 CN Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 CN Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 CN Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 Tổng m3 nước cho từng thời điểm/ 1 tháng

55,7

148,7

56,5

65,6

2

129,2

m3 nước trung bình cho từng thời điểm/1ngày

244.628

1.123

302.492

Tiền điện cho từng thời điểm/ 1 ngày (VNĐ)

7.338.832

9.074.758

33.688

Tiền điện trung bình cho từng thời điểm/ 1 tháng (VNĐ)

16.447.277

Tổng tiền điện/ 1 tháng

17

2.2.4. Cơ sở tính toán thiết kế mạch điều khiển

- Căn cứ vào thuyết minh thiết kế của tòa nhà, lượng nước sử dụng nhiều

nhất trong ngày Qmax = 483,48m3.

- Căn cứ vào thuyết minh thiết kế của tòa nhà, lượng nước sử dụng trung

bình trong ngày QTB= 402,9m3.

- Căn cứ vào lưu lượng nước sử dụng thực tế hiện tại của tòa nhà vào tháng 6

năm 2012, Lượng nước sử dụng trung bình trong ngày 460m 3.

Lượng nước sử dụng thực tế đúng với thiết kế. Vậy, căn cứ vào bảng thống kê

mục 2.8.5 để thiết kế mạch điều khiển.

Dựa vào số liệu tính toán trong bảng 2.2, tiền điện thống kê 3 thời điểm như sau:

- Giờ thấp điểm: 766 VNĐ/1 ngày.

- Giờ trung bình: 167.857 VNĐ/1 ngày.

- Giờ cao điểm: 206.950 VNĐ/1 ngày.

Bài toán so sánh đơn giản cho thấy máy bơm hoạt động ở giờ trung bình 262.5m3 tốn 167.857 VNĐ. Trong khi đó máy bơm hoạt động ở giờ cao điểm 195m3 tốn 206.950 VNĐ. Vậy, mạch điều khiển được thiết kế sao cho hạn chế hoạt động vào giờ cao điểm, ưu tiên nhất hoạt động vào giờ thấp điểm.

Tính toán theo giá điện

- Giờ thấp điểm: 1.225 đ/1k Wh – bằng 0,36 lần giá điện giờ cao điểm.

- Giờ trung bình: 2.046 đ/1kWh – bằng 0,6 lần giá điện giờ cao điểm .

- Giờ cao điểm: 3.388 đ/1kWh.

18

2.2.5. Lưu đồ điều khiển máy bơm

Hình 2.2. Lư đồ điều khiển máy bơm

- Đồng hồ thời gian thực của Dalas: đồng hồ đếm thời gian thực được thiết kế

kết nối với vi điều khiển 89S52 để quyết định đóng mở rơle điều khiển máy

bơm.

- Cảm biến của bể nước tầng má i: bể nước trên tầng mái được thiết kế 8 cảm biến đọc mực nước, mỗi cảm biến đo mực nước cách nhau 25m 3. Có nghĩa là 8 cảm biến đặt trong bể chứa tầng mái 200m 3.

- Giờ thấp điểm 22h00 đến 4h00: nếu mực nước đến cảm biến 1 hoặc từ 3h00 trở về sáng thì máy bơm hoạt động đến đầy bể (mức 8 tương đương 200m 3). - Giờ trung bình 4h đến 9h30: nếu mực nước cạn đến cảm biến 1 hoặc cảm

biến 2 và 8h30 thì máy bơm hoạt động đến đầy bể.

- Giờ trung bình 11h30 đến 17h00: nếu mực nước đến cảm biến 1 hoặc cảm

biến 5 và 16h00 thì máy bơm hoạt động đến đầy bể.

- Giờ trung bình 20h00 đến 22h00: nếu mực nước đến cảm biến 1 thì bơm

đến cảm biến 3.

19

- Giờ cao điểm 9h30 đến 11h30: nếu mực nước đến cảm biến 1 thì bơm hoạt

động đến cảm biến 3.

- Giờ cao điểm 17h00 đến 20h00: nếu mực nước tới cảm biến 1 thì bơm tới

cảm biến 4.

2.2.6. Bảng so sách tiền điện giữa điều khiển bơm nước bình thường và điều

khiển bởi BMS

- Dựa vào bảng thống kê lưu lượng nước mục 2. 2.

- Dựa vào thuyết minh thiết kế tính toán công suất và lưu lượng của máy

bơm mục 2.8.1.

- Căn cứ và giá điện 3 thời điểm của tổng công ty điện lực Thành Phố.

- Căn cứ vào lưu đồ điều khiển của BMS mục 2. 2.1.

- Bỏ qua các tổn hao về phát nóng, tổn hao do rò rỉ và các tổn hao khác.

Bảng 2.3. Tiền điện phải trả khi bơm hoạt động bình thường

Trung bình (m3)

Cao điểm (m3)

Tổng số tiền phải trả (VNĐ)

Thấp điểm (m3)

Tiền điện (VNĐ)

Tiền điện (VNĐ)

Tiền điện (VNĐ)

Tổng lượng nước sử dụng trong 1 ngày đêm (m3)

22h00 đến 4h00

4h00 đến 9h30

11h30 đến 17h00

20h00 đến 22h00

9h30 đến 11h30

17h00 đến 20h00

2

1,123

55.67

148.7

56.5

244,631

65.6

129.2

302,492

458

548,246

Theo kết quả tính toán, tiền điện phải trả cho 1 ngày là 548,246VNĐ.

20

Bảng 2.4. Tiền điện phải trả khi bơm hoạt động có điều khiển bởi BMS

Cao điểm

Cao điểm

Trung bình (m3)

Tiền điện (VNĐ)

Trung bình (m3)

Trung bình (m3)

Tiền điện (VNĐ)

Tiền điện (VNĐ)

Tổng số tiền phải trả (VNĐ)

Thấp điểm 22h00 đến 4h00 (m3)

Tổng lượng nước sử dụng trong 1 ngày đêm (m3)

Bơm nước hoạt động (m3)

Sử dụng 4h00 đến 9h30

Sử dụng 9h30 đến 11h30

Sử dụng 17h00 đến 20h00 (m3)

Sử dụng 20h00 đến 22h00 Bơm hoạt động đến cảm biến 3 (m3)

Sử dụng 11h30 đến 17h00 Bơm hoạt động (m3)

200

112,292

144

79

130.03

0.83

74.17

69,553

473

369,395

187,55 0

Tiền điện tiết kiệm cho 1 ngày (VNĐ)

178,851

Tiền điện tiết kiệm cho 1 tháng (VNĐ)

5,365,533

Tiền điện tiết kiệm cho 1 năm (VNĐ)

65,280,655

- Theo bảng tính tóa tiền điện tiết kiệm cho 1 ngày: 178,851 VNĐ.

- Tiền điện tiết kiệm cho 1 tháng: 5,363,533 VNĐ.

- Tiền điện tiết kiệm cho 1 năm: 65,280,655 VNĐ .

Bài toán trên đang áp dụng cho tòa nhà và trung tâm thương mại hạng trung

bình. Như vậy, đối với tòa nhà lớn hoặc công ty cấp nước thì tiền điện tiết kiệm

nhiều hơn tùy vào điều kiện thực tế sử dụng.

BMS hoàn toàn điều chỉnh thời gian bơm theo lượng nước sử dụng khác nhau

của tòa nhà nên chức năng điều khiển linh hoạt này giúp cho người sử dụng hoàn

toàn chủ động điều khiển theo nhu cầu thực tế của mỗi tòa nhà và các mục đích sử

dụng nước khác nhau.

21

Chương 3: XÂY DỰNG ĐỐI TƯỢNG ĐIỀU KHIỂN

3.1. Cơ sở dữ liệu đầu vào của các thiết bị trong hệ điều khiển

Cơ sở dữ liệu để điều khiển máy bơm được xây dựng tín hiệu cảm biến của

bồn trên và bồn dưới.

3.1.1. Tín hiệu cảm biến của bồn trên

Tín hiệu nguồn cấp nước được thiết kế 8 cảm biến mỗi mức cảm biến tương

đương 25m3 nước. Các cảm biến này được kết nối với mạch đọc cảm biến mực

nước để kết hợp với đồng hồ đếm thời gian thực điều khiển bơm, đồng thời hiển thị

Mức8- 200m3 Mức 7- 175m3 Mức 6- 150m3 Mức 5- 125m3 Mức 4- 100m3 Mức 3- 75m3 Mức 2- 50m3 Mức 1- 25m3

các đèn led trên bảng điều khiển.

Hình 3.1. Cảm biến nước bồn trên

3.1.2. Tín hiệu cảm biến nước bồn dưới

Tín hiệu nguồn cấp nước được thi ết kế 8 mức cảm biến mỗi mức cảm biến

tương đương 150m3 nước. Các cảm biến này được kết nối với mạch đọc cảm biến

mực nước để kết hợp với đồng hồ đ iếm thời gian thực điều khiển bơm, đồng thời

hiển thị các đèn led trên bảng điều khiển. Ngoài ra, khi nước xuống thấp hơn cảm

Mức 4- 600m3

Mức 3- 450m3

Mức 2- 300m3

Mức 1- 150m3

biến 1 thì máy bơm không hoạt động.

Hình 3.2. Cảm biến nước bồn dưới

22

3.1.3. Sơ đồ nguyuyên lý

Mạch điều khiển Mạch động lực

Động cơ 1 Động cơ 2

Hình 3.3. Mạch điều khiển và động lực của máy bơm

Ghi chú:

- Main-CB: CB nguồn cấp điện chính.

Fuse: cầu chì. -

- RN1: cuộn cây và tiếp điểm của rơle nhiệt – bảo vệ quá dòng điện.

- RN2: cuộn cây và tiếp điểm của rơle nhiệt – bảo vệ quá dòng điện.

- : tiếp điểm thường đóng.

- : tiếp điểm thường mở.

- : đèn báo.

- : cuộn dây của rơle.

23

- : nút nhấn ON.

- : nút nhấn OFF.

- : công tắc chuyển mạch Man – Off – Auto.

- : tiếp điểm điểu khiển của BMS.

- : rơle cóc

- : tiếp điểm rơle cóc.

Nguyên lý hoạt động:

- Đóng main CB đèn báo off của RL1 và RL2 sáng (2 đèn này báo bơm không

hoạt động.

- Chế độ MAN: chuyển công tắc Man -Off-Auto sáng vị trí Man, đóng tiếp

điểm 1-7.

Mở động cơ 1: Nhấn nút ON1, cuộn dây RL1, đèn RL1-On có điện, mở tiếp điểm (1-

5) đèn báo OFF RL2-Off tắt, đóng tiếp điểm (7 -9) duy trì cho cuộn dây RL1, đồng

thời đóng tiếp điểm RL 1 mạch động lực động cơ 1 hoạt động. Muốn dừng nhấn nút

Off 1.

Mở động cơ 2: Nhấn nút ON2, cuộn dây RL2, đèn RL2-On có điện, mở tiếp điểm (1-

3) đèn báo OFF RL1-Off tắt, đóng tiếp điểm (7 -11) duy trì cho cuộn dây RL2, đồng thời đóng tiếp điểm RL 2 mạch động lực động cơ 2 hoạt động. Muốn dừng nhấn nút

Off 2.

- Chế độ Auto: chuyển công tắc Man -Off-Auto sáng vị trí Auto, đóng tiếp

điểm (1-13), lúc này mạch hoạt động phụ thuộc vào công tắc BMS -switch.

Bình thường tiếp điểm (13-21) đóng lại cấp điện cho rơle cóc, giả sử tiếp

điểm rơle cóc đang ở vị trí như hình vẽ.

24

Khi BMS đóng tiếp điểm 15-15 lại, cuộn dây RL1 và đèn báo On RL1-On có điện, mở tiếp điểm (1 -3) đèn báo RL1-Off tắt, đồng thời đóng tiếp điểm động lực

RL1, động cơ 1 hoạt động. Khi bồn đầy nước hoặc theo lập trình của BMS thì tiếp điểm (13-15) mở ra ngắt điện cuộn dây RL1 và đèn báo RL1-On, đóng tiếp điểm (1-

3) đèn RL1-Off sáng, mở tiếp điểm động lực RL 1, động cơ dừng.

Khi BMS switch tắt, lúc này rơle cóc LR có điện trở lại, tiếp điểm rơle cóc chuyển

trạng thái tiếp điểm (15-19) đóng lại.

Sau thời gian khi sử dụng hết nước tiếp điểm BMS đóng lại (lúc này tiếp điểm

rơle cóc đang ở vị trí (15-19),cuộn dây RL2 và đèn báo On RL2-On có điện, mở tiếp

điểm (1-5) đèn báo RL2-Off tắt, đồng thời đóng tiếp điểm động lực RL 2, động cơ 2

hoạt động. Khi bồn đầy nước hoặc theo lập trình của BMS thì tiếp điểm (13 -15) mở

ra ngắt điện cuộn dây RL2 và đèn báo RL2-On, đóng tiếp điểm (1-5) đèn RL2-Off

sáng, mở tiếp điểm động lực RL 2, động cơ dừng.

Lúc này cuộn dây rơle cóc LR có điện trở lại, tiếp điểm (15 -17) đóng lại, trở

về trạng thai ban đầu.

3.2. phương pháp điều khiển

Điều khiển máy bơm ch ia thành 2 phần: điều khiển bằng tay và điều khiển tự

động.

3.2.1. Điều khiển bằng tay

Chuyển công tắc Man-Off-Auto sang chế độ MAN để điều khiển theo mong

muốn. Nhấn ON1 bơm 1 hoạt động, nhấn ON2 bơm 2 hoạt động, muốn dừng nhấn

Off1, Off2 đối bới bơm 1 và bơm 2.

3.2.2. Điều khiển tự động

Chuyển công tắc Man-Off-Auto sang chế độ Auto, động cơ hoạt động theo lập

trình của BMS. Lúc này, hoàn tòa mở máy điều khiển bằng máy tính. Sơ đồ điều

khiển dựa vào hình 2.2

25

3.3. Thiết kế mạch điều khiển

Mạch điều khiển được thiết kế k ết hợp 2 mạch điều khiển: mạch điều khiển

chính và mạch đọc mực nước.

3.3.1. Mạch điều khiển chính

Mạch điều khiển đếm thời gian thực và nhận tín hiệu từ các cảm biến nước của

board đọc mức nước của bồn dưới và bồn trên dựa theo chương trình điều khiển của

AT89S52.

Hình 3.4. Sơ đồ nguyên lý của board điều khiển chính

Ghi chú:

JP1: Đường truyền giao tiếp 485. -

- JP2: Nguồn vào 15VAC.

- JP3: Nguồn lấy ra 5VDC.

- W06M: Cầu diode.

- LM7805: IC ổn áp 5VDC.

- RL: Rơle

26

- SP: Loa

- C1815: Transistor

- Tuxgr_16X2_R2: Màn hình hiển thị.

- Max485: IC giao tiếp 485

- AT89S52: IC vi điều khiển.

- DS12C887: IC đồng hồ thời gian thực.

- S1 đến S4: Các nút nhấn điều chỉnh màn hình LCD.

- S5: Nút nhấn reset.

- Các tụ 104: Tụ bi.

- Các tụ 220MF, 470MF: Tụ 1 chiều.

- Điện trở 10K: Điện trở thanh.

3.3.2. Nguyên lý hoạt động

Nguồn cấp cho mạch 15VAC được nắn điện qua cầu diode W06M, cấp cho IC

ổn áp LM7805, ngõ ra của IC ổn áp cấp cho toàn mạch điều khiển.

Màn hình hiển thị Tuxgr_16X2_R2 xuất ra từ vi điều khiển AT89S52, hiển thị thời

gian thực, các chế độ hoạt động của máy bơm như: hiển thị mực nước, chế độ On,

OFF, Auto.

Max485 giao tiếp với vi điều khiển AT89S52 để tiếp với board và máy tính

thông qua chuẩn truyền thông RS485.

DS12C887 điếm thời gian thực và hỗ trợ vi điều khiển AT89S52 để thực hiện

các chế độ đóng ngắt rơle theo chương trình điều khiển.

IC AT89S52 là vi điều khiển chính dựa vào các dữ liệu đầu vào như: đồng hồ

điếm thời gian thực, board cảm biến mực nước bồn trên, bồn dưới, giao tiếp với

máy tính, điều khiển rơle theo các chế độ tự động và bằng tay.

27

3.3.3. Mạch điếm mực nước

Hình 3.5. Sơ đồ nguyên lý của board đọc mức nước

Ghi chú:

JP: Nguồn cấp 15VAC. -

- W06M: Cầu diode.

LM7805: IC ổn áp 5VDC. -

SV3: Nguồn lấy ra 5VDC. -

SV2: Ngõ vào của cảm biến nước bền trên. -

SV5: Ngõ vào cảm cảm biến nước bồn chứa. -

SV4: Ngõ ra hiển thị 8 mực nước bồn trên. -

SV6: Ngõ ra hiển thị 4 mực nước bồn dưới. -

Các tụ 104: tụ bi. -

470MF: Tụ 1 chiều. -

- Max485: IC giao tiếp 485

AT89S52: IC vi điều khiển. -

28

- Điện trở 10K: điện trở thanh.

3.3.4. Nguyên lý hoạt động

Nguồn cấp cho mạch 15VAC được nắn điện qua cầu diode W06M, cấp cho IC

ổn áp LM7805, ngõ ra của IC ổn áp cấp cho toàn mạch điều khiển.

IC AT89S52 là vi điều khiển đọc các tín hiệu cảm biến của bồn dưới, bồn trên

và giao tiếp với board điều khiển chính qua đường truyền RS485. Port P1.0 đến

P1.7 đọc 8 cảm biến nước của bồn trên, Port 2.0 đến 2.3 đọc 4 cảm biến của bồn

dưới, port 0.0 đến 0. 7 hiển thị ra 8 LED đọc mực nước của bồn trên, port 2.4 đến

2.7 hiển thị 4 led đọc mực nước của bồn dưới.

Max485 thực hiện giao tiếp bới board mạch chính.

29

Chương 4: THI CÔNG MẠCH ĐIỀU KHIỂN

4.1. Sơ đồ khối của hệ thống BMS

Sơ đồ 4.1. Sơ đồ khối của hệ thống BMS

30

4.2. Lưu đồ giải thuật

31

Lưu đồ 4.1. Đọc phím trên board chính

32

Lưu đồ 4.2. Nhận tín hiệu chỉnh thời gian từ máy tính cho Dalas

33

Lưu đồ 4.3. Đọc mức nước bồn trên

34

Lưu đồ 4.4. Đọc mức nước bồn dưới

35

Lưu đồ 4.5. Gởi tín hiệu từ board chính về máy tính

36

4.3. Thi công bồn trên và bồn dưới

4.3.1. Thi công bồn trên

Bồn trên được thiết kế thu nhỏ với chất liệu mica làm vách, keo silicon và khung

Bồn trên

sắt V30mm làm khung cố định.

Hình 4.1. Bồn trên

4.3.2. Cảm biến bồn trên

Cảm biến được thiết kế bằng công tắc từ đặt ở 8 vị trí từ mức 1 đến mức 8 của

Cảm biến mực nước

Mức8- 200m3 Mức 7- 175m3 Mức 6- 150m3 Mức 5- 125m3 Mức 4- 100m3 Mức 3- 75m3 Mức 2- 50m3 Mức 1- 25m3

bồn nước.

Hình 4.2. Cảm biến nước của bồn trên

Bồn trên

Mức8 Mức 7 Mức 6 Mức 5 Mức 4 Mức 3 Mức 2 Mức 1

Kết hợp bồn nước trên và cảm biến

Hình 4.3. Bồn trên và cảm biến

37

4.3.3. Thi công bồn dưới

Hồ trên được thiết kế thu nhỏ với chất liệu mica làm vách, keo silicon và khung

Bồn dưới

sát V30mm làm khung cố định.

Hình 4.4. Bồn dưới

4.3.4. Thi công cảm biến bồn dưới

Cảm biến được thiết kế bằng công tắc từ đặt ở 4 vị trí từ mức 1 đ ến mức 4 của

Mức 4- 600m3

Mức 3- 450m3

Cảm biến mực nước

Mức 2- 300m3

Mức 1- 150m3

bồn nước, có tác dụng chống cạn và hiển thị mực nước của bồn dưới.

Hình 4.5. Cảm biến nước bồn dưới

Bồn dưới

Mức 4- 600m3

Mức 3- 450m3

Mức 2- 300m3

Mức 1- 150m3

Kết hợp bồn nước trên và cảm biến

Hình 4.6. Bồn dưới và cảm biến nước

38

4.3.5. Thi công bảng điều khiển

Hình 4.7. Lắp đặt thiết bị điều khiển bơm

4.3.6. Thiết kế board đọc mực nước bồn trên, dưới và hiển thị Led

Thiết kế mạch đọc mức nước bồn trên và dưới được tiến hành theo các mục

sau:

4.3.6.1. Thi công mạch in

Dựa vào sơ đồ nguyên lý, dùng phần mềm Eagle để vẽ, board mạch sau khi vẽ

hoàn thành như sau:

39

Hình 4.8. Mạch in của board đọc mức nước

Sau khi vẽ xong, in ra giấy A4, sau đó đặt giấy in vào mạch đồng, dùng bàn ủi

để đường mực dính vào lớp đồng, đem ngâm với dung dịch rửa mạch, khoảng 15

phút ta được mạch đồng như hình trên.

40

4.3.6.2. Thi công lắp ráp linh kiện

Hình 4.9. Mạch đọc mức nước hoàn thiện

4.3.7. Thi công board điều khiển chính

Board mạch chính được thi công gồm 2 phần: thi công mạch in và thi công lắp

ráp linh kiện hoàn chỉnh.

4.3.7.1. Thi công mạch in

Phương pháp thi công tương tự như trên

Hình 4.10. Mạch in của board chính

41

4.3.7.2. Thi công lắp ráp linh kiện

Hình 4.11. Mạch điều khiển chính hoàn thiện

4.4. Mô hình thi công hoàn chỉnh

Hình 4.12. Mô hình hoàn thiện

42

4.5. Hướng dẫn sử dụng trên máy tính

Hướng dẫn sử dụng gồm: giao diện trên màn hình và các tính năng điều khiển.

4.5.1. Các giao diện trên màn hình

Biểu tượng chạy chương trình

- Sau khi lập trình xong sẽ đóng gói và tạo file chạy như màn hình sau:

Hình 4.13. Giao diện màn hình máy tính

- Giao diện sau khi chạy chương trình

Hình 4.14. Giao diện màn hình điều khiển bơm nước trên máy tính

43

Hiển thị 8 mức nước bồn trên

Hiển thị thứ (từ thứ 2 đến chủ nhật)

Đồng hồ cập nhật từ board mạch điều khiển

Hiển thị ngày, tháng, năm

Hiển thị mức nước của bồn trên

Điều chỉnh giờ, phút, giây

2 Máy bơm nước sinh hoạt

Điều chỉnh thứ (từ thứ 2 đến chủ nhật

Hiển thị 8 mức nước bồn dưới

Điều chỉnh ngày, tháng, năm

Cài đặt mực nướ c bơm giờ cao điểm

Hiển thị mức nước của bồn dưới

Cài đặt thời gian bơm giờ thấp điểm

Cài đặt mực nước bơm giờ trung bình

Điều khiển chế độ hoạt động của bơm Auto, On, Off

- Các phím chức năng trên dao diện chính

Hình 4.15. Các phím chức năng trên màn hình điều khiển trên máy tính

4.5.2. Hướng dẫn sử dụng

Bước 1: Trên bảng điều khiển chuyển nút CS sang chế độ Auto.

Bước 2: Kết nối máy tính với board mạch điều khiển qua cáp RJ45.

Bước 3: Mở file BMS control, xem các giao diện mục 4.13

Bước 4: Muốn điều khiển máy bơm ở chế độ bằng tay thì chuyển nút System sang

chế độ ON, muốn dừng chuyển sang OFF.

Bước 5: Muốn điều khiển máy bơm hoạt động theo thời gian cài đặt chuyển nút

System sang chế độ Auto.

44

- Các nút cài đặt mức nước giờ cao điểm, trung bình và điểu chỉnh thời gian giờ

thấp điểm giúp cho người vận hành linh hoạt điều khiển cho phù hợp với

từng nhu cầu sử dụng nước khác nhau.

- Các nút cài đặt ngày, giờ giúp người vận hành kiểm tra sự hoạt động của hệ

thống.

- Trên màn hình hiển thị cả 2 chế độ mực nước qua hình ảnh và theo các cảm

biến giúp người vận hành quan sát được mức nước thực tế trong bồn.

4.6. Kết quả khi điều khiển bơm nước bởi BMS

Theo tính toán bơm nước mục 2.2.6 chia ra làm các thời điểm bơm hoạt động

như sau:

4.6.1. Giờ thấp điểm từ 22h00 đến 4h00. Nếu nước bồn cạn đến cảm biến 1

hoặc sau 3h00 thì bơm hoạt động đến cảm biến 8.

Hệ thống ON khi mực nước đến cảm biến 1 và OFF khi mực nước bơm tới

cảm biến 8. Hình chụp thực tế trên màn hình máy tính và hình kết nối giữa máy tính

và mô hình thực tế.

45

4.6.1.1. Hình chụp mô hình ở chế độ ON

Theo hình chụp trên màn hình máy tính, hiện tại 3giờ 8 phút 18 giây, hình bồn

Hình hiển thị bồn hết nước

Mức nước đến cảm biến 1

Giờ

Auto - System đang ON

trên cạn nước và báo mức nước số 1, system đang ở chế độ Auto và ON.

Đèn báo động cơ đang hoạt động

Nút CS ở vị trí Auto

Đèn báo bồn trên cạn đến mức 1

Hình 4.16. Chế độ ON trên mà hình vi tính giờ thấp điểm

Hình 4.17. Kết nối giữa máy tính và mô hình chế độ ON

46

4.6.1.2. Hình chụp mô hình ở chế độ OFF

Giờ

Hình hiển thị bồn đầy nước

Mức nước đến cảm biến 8

Chế độ Auto System đang OFF

Khi bơm tới mức 8 thì trên màn hình máy tính thể hiện như sau:

Đèn báo bồn trên ở mức 8 (bồn đầy nước)

Chế độ Auto Đèn báo ở chế độ OFF

Hình 4.18. Chế độ OFF trên mà hình vi tính giờ thấp điểm

Hình 4.19. Kết nối giữa máy tính và mô hình chế độ OFF

47

4.6.2. Giờ cao điểm 17h00 đến 20h00 mức nước cạn đến cảm biến 1 thì bơm

đến cảm biến 4.

4.6.2.1. Hình chụp trên màn hình máy tính và hình kết nối giữa máy tính và

Đồng hồ thời gian thực

Hình hiển thị bồn hết nước

Mức nước đến cảm biến 1

Chế độ Auto System đang Hệ thống ON ON

mô hình ở chế độ ON

Đèn báo động cơ đang hoạt động

Đèn báo bồn trên cạn đến mức 1

Hình 4.20. Chế độ ON trên màn hình vi tính giờ cao điểm

Hình 4.21. Kết nối giữa máy tính và mô hình chế độ ON

48

4.6.2.2. Hình chụp trên màn hình máy tính và hình kết nối giữa máy tính và

Đồng hồ thời gian thực

Mức nước đến cảm biến 4

Hệ thống OFF

mô hình ở chế độ OFF

Chế độ Auto Đèn báo ở chế độ OFF

Đèn báo bồn trên ở mức 4

Hình 4.22. Chế độ OFF trên màn hình vi tính giờ cao điểm

Hình 4.23. Kết nối giữa máy tính và mô hình chế độ OFF

49

Chương 5: KẾT LUẬN

5.1. So sánh khi chưa sử dụng BMS và khi sử dụng BMS

Sau khi điều khiển thực tế trên mô hình, kết quả điều khiển bơm nước bình

thường và kết quả điều khiển bởi BMS được thống kê theo 2 mục sau:

5.1.1. Kết quả khi chưa sử dụng BMS

- Motor bơm nước hoạt động theo phao nước của bồn trên. Vì vậy, thường

hoạt động vào giờ cao điểm sẽ ảnh hưởng đến lưới điện đang sử dụng.

- Không giám sát được thời gian bơm nên không thể bảo trì hoàn hảo.

- Không phát hiện hư hỏng khi có sự cố đột xuất từ máy bơm.

- Tốn tiền điện gấp 3 lần giờ thấp điểm khi bơm hoạt động vào giờ cao điểm.

- Theo tính toán cụ thể, điện năng tiêu thụ cho hệ thống bơm nước sinh hoạt

một năm là 200.109.790Đ.

5.1.2. Kết quả khi sử dụng BMS

- Motor bơm nước hoạt động theo giờ thấp điểm và trung bình dựa vào điều

kiện hiện tại và các cảm biến từ bồn trên và bồn dưới.

- Giảm tải cho lưới điện hiện tại đang sử dụng.

- Giám sát được thời gian bơm nên dễ dàng bảo trì bảo dưỡng.

- Phát hiện hư hỏng khi bơm không h oạt động.

- Hiển thị tình trạng hoạt động của máy bơm trên màn hình máy tính.

- Theo tính toán cụ thể, điện năng tiêu thụ cho hệ thống bơm nước sinh hoạt

khi điều khiển bởi BMS một năm là 134.827.350Đ.

Vậy, mỗi năm khi sử dụng hệ thống BMS điều khiển máy bơm nước sinh hoạt

cho tòa nhà Maritime Bank tiết kiệm so với điều khiển bình thường là:

65.282.440Đ. Đồng thời giảm thời gian nhân công kiểm tra hệ thống này.

5.2. Hướng phát triển đề tài

- Kết hợp BMS với biến tần để điều khiển bơm nước.

- Điều khiển BMS giám sát qua mạng internet.

- Kết hợp phần mềm lập trình với các hệ thống BMS có trên thị trường.

- Lập trình BMS điều khiển cho toàn bộ hệ thống của tòa nhà.

50

TÀI LIỆU THAM KHẢO

[1]. Hướng dẫn thiết kế hệ thống quản lý tòa nhà – Tủ sách khoa học công nghệ xây

dựng.

[2]. Hướng dẫn thiết kế hệ thống quản lý tòa nhà – TS. Nguyễn Trung Hòa - Nhà

xuất bản Xây Dựng.

[3]. Vi điều khiển lý thuyết và thực hành – Nguyễn Đình Phú - Trường ĐH Sư

Phạm Kỹ Thuật TP. HCM.

[4]. BMS design guide -Tủ sách khoa học công nghệ xây dựng - Nhà xuất bản xây

dựng – Vietnamese.

[5].Building management system-Josso Russol Cohn.

[6].Understanding building automation system direct digital control, energy

management, life safety, security, access control, lighting building managments

programs- Reinhold A.Carlsold and Robert and Rick Ross - June 20th 1994

[7]. Building Automation -Hermann Merz, Thomas Hansemann, Christof Hübner

Communication Systems with EIB/KNX, LON and BACnet.

[8]. Electricity &Controls forHVAC/R- Stephen L. Herman, Bennie L. Sparkman.

[9]. Energy Management SystemsandDirect Digital Control- Richard A. Panke,

CEM.

[10]. http://www.isolutions.com.vn/Article/ViewArticle/60/he-thong-giam-sat-khi-

co.

PHỤ LỤC

I. Chương trình đọc mực nước cảm biến bồn trên và bồn dưới

org 0000h

;khoi tao

tmod,#00100000b ;timer1 hoat dong mode2 tu dong nap 8 bit cao , mov

thu

scon,#01010010b ;uart 8 bit (1 bit star=0, 1 bit stop=1) , thu 1 ky mov

tu , cho phep phat 1 ky tu

;timer0 mode 1 16 bit

th1,#-3 ;toc do 9600 baud ,Xtal = 11,059 MHz mov

;cho timer1 chay setb tr1

swt8 bit P1.7

swt7 bit P1.6

swt6 bit P1.5

swt5 bit P1.4

swt4 bit P1.3

swt3 bit P1.2

swt2 bit P1.1

swt1 bit P1.0

swd4 bit P2.3

swd3 bit P2.2

swd2 bit P2.1

swd1 bit P2.0

led1 bit p2.4

led2 bit p2.5

led3 bit p2.6

led4 bit p2.7

Led equ p0

bon_tren equ 70h

bon_duoi equ 71h

bom1_status equ 72h

bom2_status equ 73h

bom1 bit P3.3

bom2 bit P3.4

P1,#255 mov

Led,#255 mov

setb swd1

setb swd2

setb swd3

setb swd4

clr p0.0

clr led1

setb led2

setb led3

setb led4

mov r0,#0

mov a,#0

mov bon_tren,#1

mov bon_duoi,#2

clr led1

clr led2

setb led3

setb led4

mov bom1_status,#0

mov bom2_status,#0

;================================================

nhan:

mov bom1_status,#0

mov bom2_status,#0

lcall receiver

cjne a,#68,duoi ; D

mov a,bon_duoi

call send

duoi:

cjne a,#84,pump ; T

mov a,bon_tren

call send

pump:

cjne a,#80,exs ; P

mov a,bom1_status

call send

mov a,bom2_status

call send

exs:

sjmp nhan

;================================================

receiver:

P3.2 clr

detect_ri jmp

re_recei:

bom1,d5 JB

call delay41

JB bom1,re_recei

mov bom1_status,#1

d5: JB bom2,t8

call delay41

bom2,d5 JB

bom2_status,#1 mov

t8:

JB swt8,t7

call delay41

JB swt8,t8

mov bon_tren,#8

mov Led,#0

jmp d4

t7:

JB swt7,t6

call delay41

JB swt7,t7

mov bon_tren,#7

mov Led,#128

jmp d4

t6:

JB swt6,t5

call delay41

JB swt6,t6

mov bon_tren,#6

mov Led,#192

jmp d4

t5:

JB swt5,t4

call delay41

JB swt5,t5

mov bon_tren,#5

mov Led,#224

jmp d4

t4:

JB swt4,t3

call delay41

JB swt4,t4

mov bon_tren,#4

mov Led,#240

jmp d4

t3:

JB swt3,t2

call delay41

JB swt3,t3

mov bon_tren,#3

mov Led,#248

jmp d4

t2:

JB swt2,ss1

call delay41

JB swt2,t2

mov bon_tren,#2

mov Led,#252

jmp d4

ss1:

JB swt1,d4

call delay41

JB swt1,ss1

mov bon_tren,#1

mov Led,#254

jmp d4

re_recei1:

re_recei jmp

d4:

swd4,d3 JB

call delay41

swd4,d4 JB

bon_duoi,#4 mov

led1 clr

led2 clr

led3 clr

led4 clr

d0 jmp

d3:

swd3,d2 JB

call delay41

swd3,d3 JB

bon_duoi,#3 mov

led1 clr

led2 clr

led3 clr

led4 setb

d0 jmp

d2:

JB swd2,d1

call delay41

JB swd2,d2

mov bon_duoi,#2

clr led1

clr led2

led3 setb

led4 setb

d0 jmp

d1:

swd1,d0 JB

call delay41

swd1,d1 JB

bon_duoi,#1 mov

led1 clr

setb led2

setb led3

setb led4

jmp d0

d0:

detect_ri:

jnb ri,re_recei1

mov a,sbuf ; nap du lieu vua nhan vao thanh ghi a

ri clr ; xoa ri

ret

;=================================================

send:

setb p3.2

jnb ti,$

clr ti ; xoa ti

mov sbuf,a ; truyen du lieu ve may tinh

call delay

mov a,#00h

ret

;=================================================

delay:

mov r7,#25

del1: mov r6,#255

del2: djnz r6,del2

djnz r7,del1

ret

;=================================================

DELAY1S:

mov r5,#100

x1:

mov r6,#20

x2:

mov r7,#250

djnz r7,$

djnz r6,x2

djnz r5,x1

ret

;******************************************************************

delay41:

mov r4,#50 ; 90h

del412:

mov r3,#255 ; 200

djnz r3,$

djnz r4,del412

ret

;******************************************************************

DELAY50UF:

MOV R6,#20

RE:

R7,#250 MOV

DJNZ R7,$

DJNZ R6,RE

RET

;******************************************************************

Delay10ms:

r5,#15 ;1s la 50 mov

xxx1:

r6,#20 mov

xxx2:

r7,#250 mov

djnz r7,$

djnz r6,xxx2

djnz r5,xxx1

ret

;=================================================

end

II. Chương trình điều khiển của board chính

;ghi chu phan cung

;P1 dieu khien LCD

;P2.7 - RS

;P2.6 - RW

;P2.5 - ENA

;P2.4 - led_lcd

;P0 ket noi Real time

;P3.6 - RW

;p3.7 - DS

;ALE - AS

;p2.1 ket noi nut Mode

;p2.0 ket noi nut tang

;p2.2 ket noi nut giam

;p2.3 ket noi nut Enter

;******************************************************************

;dia chi bat dau chuong trinh chinh Org 0000h

;khoi tao

mov tmod,#00100000b ;timer1 hoat dong mode2 tu dong nap 8 bit cao , thu

mov scon,#01010010b ;uart 8 bit (1 bit star=0, 1 bit stop=1) , thu 1 ky tu , cho

phep phat 1 ky tu

;timer0 mode 1 16 bit

mov th1,#-3 ;toc do 9600 baud ,Xtal = 11,059 MHz

setb tr1 ;cho timer1 chay

rs BIT P2.7

rw BIT P2.6

ena BIT P2.5

light_lcd BIT P2.4

loa BIT P3.5

triac BIT P3.4

mode BITP2.1 ; nut nhan de chinh gio

inc_b BIT P2.0 ; nut nhan tang

dec_b BIT P2.2 ; nut nhan giam

enter BIT P2.3 ; nut nhan Enter

eux equ p1

giay equ 70h ;o nho chua du lieu giay

phut equ 71h ;o nho chua du lieu phut

gio equ 72h ;o nho chua du lieu gio

thu ;o nho chua du lieu thu equ 73h

ngay ;o nho chua du lieu ngay equ 74h

thang ;o nho chua du lieu thang equ 75h

nam ;o nho chua du lieu nam equ 76h

luu equ 50h ; 0 normal, 1 h on, 2 m on, 3 h off, 4 m off

mode_ch ;0: normal, 1: gio, 2: phut equ 4ah

mode_T_D_A ;0: normal, 1: set time, 2 : set date, 3: set equ 4bh

alarm

chop ;chop = 0 thi kg hien thi equ 4ch

bien_bt ;0: tat, 1: bao thuc equ 4dh

var_relay ;0: relay ngat 1: relay dong equ 4eh

dulieu ; data nhan tu may tinh equ 4fh

muc_gio_cao_diem ; gio cao diem cho phep bom den muc equ 51h

may???

muc_gio_trb equ 52h ; gio trung binh cho phep bom den muc

may???

gio_on ; gio ban dem cho phep bom chay equ 53h

phut_on ; gio ban dem cho phep bom chay equ 54h

mode_bom ; mode: Auto, ON, OFF cho bom equ 55h

bon_duoi equ 6ah

bon_tren equ 6bh

thap_diem equ 6ch

temp equ 6dh

relay equ 6eh

mov bon_tren,#0

mov bon_duoi,#0

mov mode_ch,#0

mov bien_bt,#0

mov mode_T_D_A,#0

chop,#1 mov

r1,#0 mov

luu,#0 mov

;*******************************************************************

RS CLR

RW CLR

ENA CLR

LCD_INIT ; khoi tao LCD CALL

bip call

loa clr

light_lcd clr

TRIAC setb

enter1:

LCD_INIT ; khoi tao LCD CALL

a,#00100000b mov

;*******************************************************************

r0,#0ah ; Set bo dao dong cua RTC mov

@r0,a ; Binary, 24h movx

a,#00000110b mov

;*******************************************************************

r0,#0bh mov

@r0,a movx

time call

update call

hien_thi call

Load_date call

update_status call

;*******************************************************************

start:

call receiver

cjne ; C a,#67,read

call receiver

cjne a,#1,st2

call on_pump

sjmp st3

st2:

cjne a,#2,st3

call off_pump

st3:

sjmp start

;===========================================================

read:

a,#82,write ; R cjne

mov a,GIO

call send

mov a,PHUT

call send

mov a,GIAY

call send

mov a,THU

call send

mov a,NGAY

call send

mov a,THANG

call send

mov a,NAM

call send

mov a,muc_gio_cao_diem

call send

mov a,muc_gio_trb

call send

mov a,gio_on

call send

mov a,phut_on

call send

mov a,mode_bom

call send

mov a,relay

call send

sjmp start

;===========================================================

write:

a,#72,min ; H cjne

call receiver

mov r0,#04h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

jmp ex_write

min:

cjne a,#77,secc ; M

call receiver

mov r0,#02h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

jmp ex_write

secc: cjne a,#83,dayy ; S

call receiver

mov r0,#00h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

jmp ex_write

dayy:

cjne a,#65,ddd ; day A

call receiver

mov r0,#06h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

jmp ex_write

ddd: cjne a,#66,mmm ; dd B

call receiver

mov r0,#07h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

jmp ex_write

mmm: cjne a,#69,yyy ; mm E

call receiver

mov r0,#08h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

sjmp ex_write

yyy: cjne a,#70,x1 ; yy F

call receiver

mov r0,#09h

movx @r0,a

call bip

CALL UPDATE

CALL HIEN_THI

x1: cjne a,#71,x2 ; G set muc gio cao diem

call receiver

mov r0,#30h

movx @r0,a

call bip

x2: cjne a,#73,x3 ; I set muc gio trung binh

call receiver

mov r0,#31h

movx @r0,a

call bip

x3: cjne a,#76,x4 ; L set gio cho gio bom thap diem

call receiver

mov r0,#32h

movx @r0,a

mov gio_on,a

call bip

cjne a,#79,x5 ; O set phut cho gio bom thap diem x4:

call receiver

mov r0,#33h

movx @r0,a

mov phut_on,a

call bip

cjne a,#78,ex_write ; N mode bom x5:

call receiver

mov r0,#34h

movx @r0,a

cjne a,#1,test2

call off_pump

call bip

test2:

cjne a,#2,test3

call bip

test3: cjne a,#3,test4

call on_pump

call bip

test4:

ex_write:

jmp start

;*******************************************************************

update_status:

MOV r0,#35h ; doc trang thai luu tren rom

MOVX a,@R0

cjne a,#1,offdv ; neu rom luu gia tri 1 thi ON thiet bi

call on_pump

sjmp end_update

offdv:

call off_pump

end_update:

ret

;*******************************************************************

on_pump:

mov ; ON Device a,#1

mov r0,#35h

movx @r0,a

setb triac

mov relay,#1

ret

;*******************************************************************

off_pump:

mov ; OFF Device a,#0

mov r0,#35h

movx @r0,a

clr triac

mov relay,#0

ret

;===========================================================

receiver2:

clr P3.2

jnb ri,$

mov a,sbuf ; nap du lieu vua nhan vao thanh ghi a

clr ri ; xoa ri

ret

;===========================================================

receiver:

clr P3.2

sjmp detect_ri

re_recei:

call read_button

CALL UPDATE

MOV A,2fh

CJNE A,#0,detect_ri

CALL HIEN_THI

detect_ri: jnb ri,re_recei

a,sbuf ; nap du lieu vua nhan vao thanh ghi a mov

ri ; xoa ri clr

ret

;===========================================================

read_button:

JB MODE,inc_bu

clr light_lcd

call bip

CALL DELAY41

JNB MODE,$

CALL DELAY41

CALL ADJ_TIME

inc_bu: JB

inc_b,test_bell

clr light_lcd

CALL DELAY41

JNB inc_b,dec_bu

dec_bu: JB

dec_b,test_bell

clr light_lcd

CALL DELAY41

JNB inc_b,$

call bip

call reset_time

call time

call update

call hien_thi

call Load_date

test_bell: JB

ENTER,ex_read_bt

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

MOV r0,#35h ; doc trang thai luu tren rom

MOVX a,@R0

cjne a,#0,offp ; neu rom luu gia tri 0 (OFF thiet

bi) thi dao thanh ON

call on_pump ; ON

sjmp ex_read_bt

offp: cjne a,#1,ex_read_bt

call off_pump ; OFF

ex_read_bt:

ret

;===========================================================

send:

setb p3.2

jnb ti,$

; xoa ti ti clr

; truyen du lieu ve may tinh sbuf,a mov

delay call

a,#00h mov

p3.2 clr

ret

;===========================================================

delay:

mov r7,#5

mov r6,#255 del1:

djnz r6,del2 del2:

djnz r7,del1

ret

;*******************************************************************

thuhai:

EUX,#10000001B ; dia chi O nho 01H MOV

LCD_COMMAND LCALL

EUX,#01001101B ; M10110010B MOV

LCD_DATA LCALL

EUX,#10000010B ; dia chi O nho 02H MOV

LCD_COMMAND LCALL

EUX,#01101111B ; o 11110110B MOV

LCD_DATA LCALL

EUX,#10000011B ; dia chi O nho 03H MOV

LCD_COMMAND LCALL

EUX,#01101110B ; 01110110B MOV

LCD_DATA LCALL

RET

;*******************************************************************

thuba:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01010100B ; T 00101010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01110101B ; u 10101110B

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01100101B ; e 10100110B

LCALL LCD_DATA

RET

;*******************************************************************

thutu:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01010111B ; W 11101010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01100101B ; e 10100110B

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01100100B ; d 00100110B

LCALL LCD_DATA

RET

;*******************************************************************

thunam:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01010100B ; T 00101010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01101000B ; h 00010110B

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01110101B ; u 10101110B

LCALL LCD_DATA

RET

;*******************************************************************

thusau:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01000110B ;F 01100010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01110010B ; r 01001110B

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01101001B ; I 10010110B

LCALL LCD_DATA

RET

;*******************************************************************

thubay:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01010011B ; S 11001010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01100001B ; a 10000110B

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01110100B ; t 00101110B

LCALL LCD_DATA

RET

;*******************************************************************

chunhat:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01010011B ; S 11001010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01110101B ;u 10101110B

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01101110B ; n 01110110B

LCD_DATA LCALL

RET

;*******************************************************************

Time:

EUX,#11000000B ; dia chi O nho 10H c0h MOV

0000000011B

LCALL LCD_COMMAND

MOV EUX,#01010100B ; T 00101010B

LCALL LCD_DATA

MOV EUX,#11000001B ; dia chi O nho 11H

C1H 10000011B

LCALL LCD_COMMAND

MOV EUX,#01101001B ; I 10010110B

LCALL LCD_DATA

MOV EUX,#11000010B ; dia chi O nho 12H

C2H 01000011B

LCALL LCD_COMMAND

MOV EUX,#01101101B ; m 10110110B

LCALL LCD_DATA

MOV EUX,#11000011B ; dia chi O nho 13H

C3H 11000011B

LCALL LCD_COMMAND

MOV EUX,#01100101B ; e 10100110B

LCALL LCD_DATA

MOV EUX,#11000100B ; dia chi O nho 14H

C4H 00100011B

LCALL LCD_COMMAND

MOV EUX,#00111010B ; dau ":"

01011100B

LCALL LCD_DATA

MOV EUX,#10000100B ; dia chi O nho 04H

00100001B

LCALL LCD_COMMAND

MOV EUX,#00111010B ; dau ":" hng trn

01011100B

LCALL LCD_DATA

MOV EUX,#11001001B ; dia chi O nho 19H

10010011B

CALL LCD_COMMAND

MOV EUX,#00111010B ; dau 2 cham gio

01011100B

CALL LCD_DATA ;MOV EUX,#11001100B

;DIA CHI O NHO 1CH

00110011B ;CALL LCD_COMMAND

;MOV

EUX,#00111010B ; dau 2 cham phut 01011100B

;CALL LCD_DATA

MOV EUX,#10001000B ; dia chi O nho 18H

00010001B

CALL LCD_COMMAND

MOV EUX,#00101111B ; dau / ngay

11110100B

CALL LCD_DATA

MOV EUX,#10001011B ; dia chi O nho 1BH

11010001B

CALL LCD_COMMAND

MOV EUX,#00101111B ; dau / thang

11110100B

LCD_DATA CALL

Ret

;*******************************************************************

setup:

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#01010011B ; S 11001010B

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#01100101B ; e LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#01110100B ; t 00101110B

LCALL LCD_DATA

MOV EUX,#10000100B ; dia chi O nho 04H

00100001B

LCALL LCD_COMMAND

MOV EUX,#00111010B ; dau ":" hng trn

01011100B

LCALL LCD_DATA

RET

;*******************************************************************

reset_time: ;

h:04, m:02, s:00, day:06, dat:07, month:08, y:09

mov r0,#00h ; s

mov R3,#0

mov a,R3

movx @r0,a

mov ; m r0,#02h

mov R3,#30

mov a,R3

movx @r0,a

mov r0,#04h ; h

mov R3,#7

mov a,R3

movx @r0,a

mov r0,#06h ; day

mov R3,#7

mov a,R3

movx @r0,a

mov ; dd r0,#07h

mov R3,#22

mov a,R3

movx @r0,a

mov ; m r0,#08h

mov R3,#12

mov a,R3

movx @r0,a

mov ; y r0,#09h

mov R3,#12

mov a,R3

movx @r0,a

ret

;*******************************************************************

ADJ_TIME:

mov r0,#0bh

;******************************************************************

a,#10000110b ;tat bo dao dong RTC mov

@r0,a ;cai lai ngay, thang, nam movx

r0,#0ah ; cai lai gio, phut, giay mov

;*******************************************************************

a,#01110000b mov

@r0,a movx

H:

UPDATE CALL

HIEN_THI CALL

HIEN_THI CALL

H_THI_1 CALL

JB inc_b,DEC_H INC_H:

tangh:

bip call

light_lcd clr

r0,#04h mov

a,@r0 ; doc gio trong Realtime (luu trong 0 nho movx

04h)

R3,a ; luu vao thanh ghi r3 mov

R3 ; tang gio len 1 don vi INC

R3,#24,saveh1 ; kiem tra xem co tang qua 24g kg? CJNE

R3,#0 ; neu >24g thi gio = 0 MOV

mov a,R3 ; sau khi tang xong luu gio vua tang saveh1:

vao a

@r0,a ; ghi vao Realtime lai movx

UPDATE CALL

HIEN_THI CALL

Load_date call

delay10ms call

JNB inc_b,tangh

call delay41

DEC_H: dec_b,MODE_H JB

giamh:

call bip

clr light_lcd

mov r0,#04h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#255,saveh2

MOV R3,#23

saveh2:

mov a,R3

movx @r0,a

CALL update

CALL hien thi

call Load_date

call delay10ms

JNB dec_b,giamh

CALL DELAY41

MODE_H:

JB MODE,EX_H

call bip

clr light_lcd

CALL DELAY41

JNB MODE,$

CALL DELAY41

jmp M

EX_H: ENTER,H JB

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

jmp ex_adj

M:

CALL UPDATE

CALL HIEN_THI

call Load_date

CALL H_THI_2

INC_M:

JB inc_b,DEC_M

tangM: call bip

clr light_lcd

mov r0,#02h

movx a,@r0

mov R3,a

INC R3

CJNE R3,#60,saveM1

MOV R3,#0

mov saveM1: a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB inc_b,tangM

call delay41

DEC_M:

JB dec_b,MODE_M

giamM: call bip

clr light_lcd

mov r0,#02h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#255,saveM2

MOV R3,#59

saveM2:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB dec_b,giamM

CALL DELAY41

MODE_M:

JB MODE,EX_M

call bip

clr light_lcd

CALL DELAY41

JNB MODE,$

CALL DELAY41

jmp S

EX_M:

JB ENTER,M

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

jmp ex_adj

S:

CALL UPDATE

CALL HIEN_THI

call Load_date

CALL H_THI_3

INC_S:

JB inc_b,DEC_S

tangS:

call bip

clr light_lcd

mov r0,#00h

movx a,@r0

mov R3,a

INC R3

CJNE R3,#60,saveS1

MOV R3,#0

saveS1:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB inc_b,tangS

call delay41

DEC_S: JB dec_b,MODE_S

giamS:

call bip

clr light_lcd

mov r0,#00h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#255,saveS2

MOV R3,#59

saveS2:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB dec_b,giamS

CALL DELAY41

MODE_S:

JB MODE,EX_S

call bip

clr light_lcd

CALL DELAY41

JNB MODE,$

CALL DELAY41

jmp DAY

EX_S:

JB ENTER,S

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

jmp ex_adj

DAY:

CALL UPDATE

CALL HIEN_THI

call Load_date

call Load_date

CALL XOATHU

INC_DAY:

JB inc_b,DEC_DAY

tangDAY: call bip

clr light_lcd

mov r0,#06h

movx a,@r0

mov R3,a

INC R3

CJNE R3,#8,saveDAY1

MOV R3,#1

saveDAY1:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB inc_b,tangDAY

call delay41

DEC_DAY:

JB dec_b,MODE_DAY

giamDAY:

call bip

clr light_lcd

mov r0,#06h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#0,saveDAY2

MOV R3,#7

saveDAY2:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB dec_b,giamDAY

CALL DELAY41

MODE_DAY:

JB MODE,EX_DAY

call bip

clr light_lcd

CALL DELAY41

JNB MODE,$

CALL DELAY41

jmp DAT

EX_DAY:

JB ENTER,DAY

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

jmp ex_adj

DAT:

CALL UPDATE

CALL HIEN_THI

call Load_date

CALL XOANGAY

INC_DAT:

JB inc_b,DEC_DAT

tangDAT:

call bip

clr light_lcd

mov r0,#07h

movx a,@r0

mov R3,a

INC R3

CJNE R3,#31,saveDAT1

MOV R3,#1

saveDAT1:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB inc_b,tangDAT

call delay41

DEC_DAT:

JB dec_b,MODE_DAT

giamDAT:

call bip

clr light_lcd

mov r0,#07h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#0,saveDAT2

MOV R3,#30

saveDAT2:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB dec_b,giamDAT

CALL DELAY41

MODE_DAT:

MODE,EX_DAT JB

call bip

clr light_lcd

CALL DELAY41

JNB MODE,$

CALL DELAY41

jmp MO

EX_DAT:

JB ENTER,DAT

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

jmp ex_adj

MO:

CALL UPDATE

CALL HIEN_THI

call Load_date

CALL XOATHANG

INC_MO:

JB inc_b,DEC_MO

tangMO:

call bip

clr light_lcd

mov r0,#08h

movx a,@r0

mov R3,a

INC R3

CJNE R3,#13,saveMO1

MOV R3,#1

saveMO1:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB inc_b,tangMO

call delay41

DEC_MO:

dec_b,MODE_MO JB

giamMO:

call bip

clr light_lcd

mov r0,#08h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#0,saveMO2

MOV R3,#12

saveMO2:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB dec_b,giamMO

CALL DELAY41

MODE_MO:

JB MODE,EX_MO

call bip

clr light_lcd

CALL DELAY41

JNB MODE,$

CALL DELAY41

jmp Y

EX_MO:

JB ENTER,MO

clr light_lcd

call bip

CALL DELAY41

JNB ENTER,$

CALL DELAY41

jmp ex_adj

Y:

CALL UPDATE

CALL HIEN_THI

call Load_date

CALL XOANAM

INC_Y:

JB inc_b,DEC_Y

tangY:

call bipclr light_lcd

mov r0,#09h

movx a,@r0

mov R3,a

INC R3

CJNE R3,#100,saveY1

MOV R3,#0

saveY1:

mov a,R3

movx @r0,a

CALL UPDATE

CALL HIEN_THI

call Load_date

call delay10ms

JNB inc_b,tangY

call delay41

DEC_Y:

JB dec_b,MODE_Y

giamY:

call bip

clr light_lcd

mov r0,#09h

movx a,@r0

mov R3,a

DEC R3

CJNE R3,#0,saveY2

MOV R3,#99

saveY2:

mov a,R3

movx @r0,a

CALL UPDATE

HIEN_THI CALL

Load_date call

delay10ms call

dec_b,giamY JNB

DELAY41 CALL

MODE_Y:

MODE,EX_Y JB

bip call

light_lcd clr

DELAY41 CALL

MODE,$ JNB

DELAY41 CALL

ex_adj jmp

EX_Y:

ENTER,Y JB

light_lcd clr

bip call

DELAY41 CALL

ENTER,$ JNB

DELAY41 CALL

ex_adj:

a,#00000110b mov

;******************************************************************

mov r0,#0bh ;MO LAI BO DAO DONG RTC

movx @r0,a

mov a,#00100000b ;mov r0,#0ah

;movx @r0,a

;*******************************************************************

call Load_date

RET

;*******************************************************************

LCD_INIT:

MOV EUX,#00000001B ; 10000000B XOA MAN HINH,

xoa luon noi dung DDRAM

LCD_COMMAND CALL

EUX,#00111000B ; 00011100B CHE DO 8 BIT, 2 MOV

LINE, FONT 5X8

LCD_COMMAND CALL

EUX,#00001100B ; 00110000B DISPLAY --> ON, MOV

CON TRO --> OFF, CON TRO NHAP NHAY --> OFF

LCD_COMMAND CALL

EUX,#00000110B ; 01100000B CON TRO DICH MOV

chuyen INC_B 1, man hinh khong dich chuyen

LCD_COMMAND CALL

RET

;*******************************************************************

LCD_COMMAND:

RS ; du lieu duoc hieu la lenh CLR

ENA SETB

NOP

NOP

NOP

ENA CLR

DELAY50UF CALL

RET

;*******************************************************************

LCD_DATA:

SETB RS ; du lieu duoc hieu la ky tu

ENA SETB

NOP

NOP

ENA CLR

DELAY50UF CALL

RET

;*******************************************************************

CHUONG TRINH DOC DU LIEU ;

GIO,PHUT,GIAY,NGAY,THANG,NAM RA VDK

;*******************************************************************

UPDATE:

r0,#04h mov

a,@r0 movx

GIO,a ; doc gia tri gio luu vao o nho GIO mov

r0,#02h mov

a,@r0 movx

PHUT,a ; doc gia tri phut luu vao o nho PHUT mov

r0,#00h mov

a,@r0 movx

GIAY,a ; doc gia tri giay luu vao o nho GIAY mov

r0,#06h mov

a,@r0 movx

THU,a ; doc gia tri giay luu vao o nho THU mov

r0,#07h mov

a,@r0 movx

NGAY,a ; doc gia tri giay luu vao o nho mov

r0,#08h NGAYmov

a,@r0 movx

THANG,a ; doc gia tri phut luu vao o nho THANG mov

mov r0,#09h

movx a,@r0

mov NAM,a ; doc gia tri gio luu vao o nho NAM

;bin_hex:

mov a,GIO

mov b,#10

div ab ; chia gio cho 10

mov 28h,a ; doi sang ma nhi phan va luu vao cac o

nho tuong ung

mov 29h,b

mov a,PHUT

mov b,#10

div ab

mov 2bh,a

mov 2ch,b

mov a,GIAY

mov b,#10

div ab

mov 2eh,a

mov 2fh,b

mov a,NGAY

mov b,#10

div ab ; chia gio cho 10mov 30h,a

; doi sang ma nhi phan va luu vao cac o nho tuong ung

mov 31h,b

mov a,THANG

mov b,#10

div ab

32h,a mov

33h,b mov

a,NAM mov

b,#10 mov

ab div

34h,a mov

35h,b mov

r0,#30h mov

a,@r0 movx

muc_gio_cao_diem,a ; doc gia tri muc gio cao diem mov

r0,#31h mov

a,@r0 movx

muc_gio_trb,a ; doc gia tri muc gio trung mov

r0,#32h binhmov

a,@r0 movx

gio_on,a ; doc gia tri gio ON bom mov

r0,#33h mov

a,@r0 movx

phut_on,a ; doc gia tri phut ON bom mov

r0,#34h mov

a,@r0 movx

mode_bom,a ; doc gia tri mode bom mov

ret

;*******************************************************************

HIEN_THI:

MOV DPTR,#MA_LCD

MOV EUX,#11000111B ;DIA CHI O NHO 47H

11100011B

CALL LCD_COMMAND

MOV A,28H

MOVC A,@A+DPTR

MOV EUX,A ; gio

CALL LCD_DATA

MOV EUX,#11001000B ;dia chi O nho 18H

00010011B

CALL LCD_COMMAND

MOV A,29H

MOVC A,@A+DPTR

MOV EUX,A ; gio

CALL LCD_DATA

MOV EUX,#11001010B ;dia chi O nho 1AH

01010011B

CALL LCD_COMMAND

MOV A,2BH

MOVC A,@A+DPTR

MOV EUX,A ; phut

CALL LCD_DATA

MOV EUX,#11001011B ;dia chi O nho 1BH

11010011B

CALL LCD_COMMAND

MOV A,2CH

MOVC A,@A+DPTR

MOV EUX,A ; phut

CALL LCD_DATA

MOV EUX,#11001101B ;dia chi O nho 1DH

10110011B

CALL LCD_COMMAND

MOV A,#00000100B

MOV EUX,#11001100B ;dia chi O nho 1CH

00110011B

CALL LCD_COMMAND

MOV EUX,#00100000B ; dau 2 cham phut

01011100B

CALL LCD_DATA ;mov A,2EH

MOVC A,@A+DPTR

MOV EUX,A ; giay

CALL LCD_DATA

MOV EUX,#11001110B ;dia chi O nho 1EH

01110011B

CALL LCD_COMMAND

MOV A,#00100000B ;mov A,2FH

MOVC A,@A+DPTR

MOV EUX,A ; giay

CALL LCD_DATA

mov a,gio

cjne a,24,thoat_ht

mov ; phut a,2ch

cjne a,0,thoat_ht

mov a,giay

cjne a,0,thoat_ht

call Load_date

thoat_ht:

ret

;*******************************************************************

Load_date:

MOV EUX,#10000110B ; dia chi O nho 47H

01100001B

CALL LCD_COMMAND

MOV A,30H

MOVC A,@A+DPTR

MOV EUX,A ; ngay

CALL LCD_DATA

MOV EUX,#10000111B ; dia chi O nho 47H

11100001B

CALL LCD_COMMAND

MOV A,31H

MOVC A,@A+DPTR

MOV EUX,A ; ngay

CALL LCD_DATA

MOV EUX,#10001001B ; dia chi O nho 19H

10010001B

CALL LCD_COMMAND

MOV A,32H

MOVC A,@A+DPTR

MOV EUX,A ; thang

CALL LCD_DATA

MOV EUX,#10001010B ; dia chi O nho 1AH

01010001B

CALL LCD_COMMAND

MOV A,33H

MOVC A,@A+DPTR

MOV EUX,A ; thang

CALL LCD_DATA

MOV EUX,#10001100B ; dia chi O nho 1CH

00110001B

CALL LCD_COMMAND

MOV EUX,#00110010B ;2 01001100B

CALL LCD_DATA

MOV EUX,#10001101B ; dia chi O nho 1DH

10110001B

CALL LCD_COMMAND

MOV EUX,#00110000B ; 0 00001100B

CALL LCD_DATA

MOV EUX,#10001110B ; dia chi O nho 1EH

01110001B

CALL LCD_COMMAND

MOV A,34H

MOVC A,@A+DPTR

MOV ; NAMb EUX,A

CALL LCD_DATA

MOV EUX,#10001111B ; dia chi O nho 1FH

11110001B

CALL LCD_COMMAND

MOV A,35H

MOVC A,@A+DPTR

MOV ; nam EUX,A

CALL LCD_DATA

mov a,thu

cjne a,#01h,thu2

call chunhat

jmp thoat

thu2:

mov a,thu

cjne a,#02h,thu3

call thuhai

jmp thoat

thu3:

mov a,thu

cjne a,#03h,thu4

call thuba

jmp thoat

thu4:

mov a,thu

cjne a,#04h,thu5

call thutu

jmp thoat

thu5:

mov a,thu

cjne a,#05h,thu6

call thunam

jmp thoat

thu6:

mov a,thu

cjne a,#06h,thu7

call thusau

jmp thoat

thu7:

mov a,thu

cjne a,#07h,thoat

call thubay

thoat:

RET

;*******************************************************************

XOATHU:

MOV DPTR,#MA_LCD

MOV EUX,#10000001B ; dia chi O nho 01H

LCALL LCD_COMMAND

MOV EUX,#20h ; SPACE 04h

LCALL LCD_DATA

MOV EUX,#10000010B ; dia chi O nho 02H

LCALL LCD_COMMAND

MOV EUX,#20h ; SPACE 04h

LCALL LCD_DATA

MOV EUX,#10000011B ; dia chi O nho 03H

LCALL LCD_COMMAND

MOV EUX,#20h ; SPACE 04h

LCALL LCD_DATA

RET

;*******************************************************************

XOANGAY:

MOV DPTR,#MA_LCD

MOV EUX,#10000110B ; dia chi O nho 47H

01100001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

MOV EUX,#10000111B ; dia chi O nho 48H

11100001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

LCD_DATA CALL

RET

;*******************************************************************

XOATHANG:

MOV DPTR,#MA_LCD

MOV EUX,#10001001B ; dia chi O nho 19H

10010001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

MOV EUX,#10001010B ; dia chi O nho 1AH

01010001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

RET

;*******************************************************************

XOANAM:

MOV DPTR,#MA_LCD

MOV EUX,#10001100B ; dia chi O nho 1CH

00110001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

MOV EUX,#10001101B ; dia chi O nho 1DH

10110001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

MOV EUX,#10001110B ; dia chi O nho 1EH

01110001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

\MOV EUX,#10001111B ; dia chi O nho 1FH

11110001B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

RET

;*******************************************************************

=

H_THI_1:

MOV DPTR,#MA_LCD

MOV EUX,#11000111B ; dia chi O nho 47H

11100011B

CALL LCD_COMMAND

MOV EUX,#20H ; space

CALL LCD_DATA

MOV EUX,#11001000B ; dia chi O nho 18H

00010011B

CALL LCD_COMMAND

MOV EUX,#20H ; space

CALL LCD_DATA

RET

;*******************************************************************

H_THI_2:

MOV DPTR,#MA_LCD

MOV EUX,#11001010B ; dia chi O nho 1AH

01010011B

CALL LCD_COMMAND

MOV EUX,#20h ; space

04h

CALL LCD_DATA

MOV EUX,#11001011B ; dia chi O nho 1BH

11010011B

CALL LCD_COMMAND

MOV EUX,#20h ; space

04h

CALL LCD_DATA

RET

;*******************************************************************

H_THI_3:

MOV DPTR,#MA_LCD

MOV EUX,#11001101B ; dia chi O nho 1DH

10110011B

CALL LCD_COMMAND

MOV EUX,#20h ; space 04h

CALL LCD_DATA

MOV EUX,#11001110B ; dia chi O nho 1EH

01110011B

CALL LCD_COMMAND

MOV EUX,#20h ; space04h

CALL LCD_DATA

RET

;*******************************************************************

delay_loa:

mov r7,#1

del_loa1:

mov r6,#90

del_loa2:

djnz r6,del_loa2

djnz r7,del_loa1

ret

;*******************************************************************

bip:

mov 37h,#1

x_loa: mov 38h,#255

bip11:

cpl loa ; loa cuon day

;clr loa

; loa ap

call delay_loa

djnz 38h,bip11

djnz 37h,x_loa

clr loa

ret

;*******************************************************************

delay41:

mov 7eh,#90h

del412:

mov 7fh,#200

djnz 7fh,$

djnz 7eh,del412

ret

;*******************************************************************

delay50:

mov tl0,#0afh ; chuong trinh con delay phuc vu chong

doi , cho phim nay len

th0,#3ch ; tre 50ms = 50000 micro second 65535- mov

50000=15535 =3caf

tr0 setb

tf0,$ jnb

ret

;*******************************************************************

delaychongdoi:

r7,#2 ; gia tri 1s la 20 mov

del_ch_d:

mov tmod,#01h

mov th0,#high(-50000)

mov tl0,#low(-50000)

setb tr0

jnb tf0,$

clr tr0

clr tf0

djnz r7,del_ch_d

ret

;*******************************************************************

DELAY1S:

mov r5,#100

xa1:

mov r6,#20

xa2:

mov r7,#250

djnz r7,$

r6,xa2 djnz

r5,xa1 djnz

ret

;*******************************************************************

DELAY50UF:

R6,#20 MOV

RE:

R7,#250 MOV

R7,$ DJNZ

R6,RE DJNZ

RET

;*******************************************************************

Delay10ms:

r5,#15 ;1s la 50 mov

xxx1:

r6,#20 mov

xxx2:

r7,#250 mov

r7,$ djnz

r6,xxx2 djnz

r5,xxx1 djnz

ret

;*******************************************************************

Ma_LCD:

00110000B ; 0 0 00001100B db

00110001B ; 1 1 10001100B db

00110010B ; 2 2 01001100B db

00110011B ; 3 3 11001100B db

00110100B ; 4 4 00101100B db

10101100B db 00110101B ; 5 5

01101100B db 00110110B ; 6 6

11101100B db 00110111B ; 7 7

00011100B db 00111000B ; 8 8

10011100B db 00111001B ; 9 9

;*******************************************************************

10000010B ; 10 muon chuyen chu IN db A

tha`nh chu THUONG thi thay 4 bit thap la` 0010 tha`nh 0110

db 01000010B ; B 11

db 11000010B ; C 12

db 00100010B ; D 13

db 10100010B ; E 14

db 01100010B ; F 15

db 11100010B ; G 16

db 00010010B ; H 17

db 10010010B ; I 18

db 01010010B ; J 19

db 11010010B ; K 20

db 00110010B ; L 21

db 10110010B ; M 22

db 01110010B ; N 23

db 11110010B ; O 24

db 00001010B ; P 25

db 10001010B ; Q 26

db 01001010B ; R 27

db 11001010B ; S 28

db 00101010B ; T 29

db 10101010B ; U 30

db 01101010B ; V 31

db 11101010B ; W 32

db 00011010B ; X 33

db 10011010B ; Y 34

db 01011010B ; Z 35

;*******************************************************************

00000100B ; space 36 db

db 10000100B ; ! 37

db 11111100B ; ? 38

db 01011100B ; : 39

db 11010100B ; + 40

db 10110100B ; - 41

db 01010100B ; * 42

db 11110100B ; / 43

db 00010100B ; ( 44

db 10010100B ; ) 45

db 00111100B ; < 46

db 01111100B ; > 47

db 10111100B ; = 48

db 01110100B ; dau "."49

db 00110100B ; dau ","50

db 00100100B ; $ 51

db 11000100B ; # 52

db 01100100B ; & 53

db 01111110B ; ---> 54

db 11111110B ; <--- 55

;*******************************************************************

END

III. Chương trình giao tiếp giữa board mạch chính và máy tính

unit StatusWP;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, StdCtrls, ComDrv32;

type

TForm2 = class(TForm)

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Image37: TImage;

Image38: TImage;

Image39: TImage;

Label1: TLabel;

CommPortDriver1: TCommPortDriver;

Edit1: TEdit;

Timer1: TTimer;

ComboBox1: TComboBox;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Image5: TImage;

Image6: TImage;

Image7: TImage;

Image8: TImage;

Image9: TImage;

Image10: TImage;

Image11: TImage;

Image12: TImage;

Image13: TImage;

Label34: TLabel;

Label35: TLabel;

Label3: TLabel;

Label39: TLabel;

ComboBox3: TComboBox;

ComboBox4: TComboBox;

ComboBox5: TComboBox;

Image15: TImage;

Image16: TImage;

Panel1: TPanel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label2: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

ComboBox2: TComboBox;

ComboBox6: TComboBox;

ComboBox7: TComboBox;

ComboBox8: TComboBox;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

ComboBox9: TComboBox;

ComboBox10: TComboBox;

ComboBox11: TComboBox;

ComboBox12: TComboBox;

Label28: TLabel;

Label30: TLabel;

Image14: TImage;

Label29: TLabel;

Label31: TLabel;

procedure Timer1Timer(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure ComboBox3Change(Sender: TObject);

procedure ComboBox4Change(Sender: TObject);

procedure ComboBox5Change(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure ComboBox6Change(Sender: TObject);

procedure ComboBox7Change(Sender: TObject);

procedure ComboBox8Change(Sender: TObject);

procedure ComboBox9Change(Sender: TObject);

procedure ComboBox10Change(Sender: TObject);

procedure ComboBox11Change(Sender: TObject);

procedure ComboBox12Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

//**************************************************************

var

h,m,s,b,gio,phut,giay,thu,ngay,thang,nam,l,t,d,e,f,g,dk,du,ng,dem,bom1,bom2,

set_thu,set_ngay,set_thang,set_nam,set_muc_cao_diem,set_muc_trb,hh,mm,ss,

set_gio_bom,set_phut_bom,mode_bom,tren,duoi,old_state,relay:byte;

daychuyen:array[1..4,1..8] of byte;

ma:array[1..8] of byte;

DateTime : TDateTime;

// year, month, day: word;

hour, min, sec, msec: Word;

Form2: TForm2;

implementation

{$R *.DFM}

//***************************************************************

procedure delay(ms:longint);

var

mytime:longint;

begin

mytime:=gettickcount + ms;

while gettickcount < mytime do

application.ProcessMessages;

end;

//***************************************************************

procedure TForm2.Timer1Timer(Sender: TObject);

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('R');

CommPortDriver1.ReadByte(gio);

CommPortDriver1.ReadByte(phut);

CommPortDriver1.ReadByte(giay);

CommPortDriver1.ReadByte(thu);

CommPortDriver1.ReadByte(ngay);

CommPortDriver1.ReadByte(thang);

CommPortDriver1.ReadByte(nam);

CommPortDriver1.ReadByte(set_muc_cao_diem);

CommPortDriver1.ReadByte(set_muc_trb);

CommPortDriver1.ReadByte(set_gio_bom);

CommPortDriver1.ReadByte(set_phut_bom);

CommPortDriver1.ReadByte(mode_bom);

CommPortDriver1.ReadByte(relay);

CommPortDriver1.SendString('P');

CommPortDriver1.ReadByte(bom1);

CommPortDriver1.ReadByte(bom2);

CommPortDriver1.SendString('D');

CommPortDriver1.ReadByte(d);

CommPortDriver1.SendString('T');

CommPortDriver1.ReadByte(t);

CommPortDriver1.Disconnect;

DecodeTime( time, hour, min, sec, msec );

//***************************************************************

// Kiem tra gio bom thap diem Co the set tu: 22h00 - 4h00

//***************************************************************

if (gio = set_gio_bom) and(phut >= set_phut_bom)then

begin

if (d >= 2) and (t < 8) then

begin

if (ComboBox1.Text='Auto') then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end

end

end;

//***************************************************************

if (gio > set_gio_bom) then

begin

if (d >= 2) and (t < 8) then

begin

if (ComboBox1.Text='Auto') then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end

end

end;

//**************************************************************

if ((set_gio_bom = 22) or (set_gio_bom = 23)) then

begin

if (gio <= 3) then

begin

if (d >= 2) and (t < 8) then

begin

if (ComboBox1.Text='Auto') then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end

end

end

end;

//***************************************************************

if (ComboBox1.Text='Auto') then

begin

if (relay = 1) and (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 0;

end;

//***************************************************************

if (relay = 1) and (t = 8) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 0;

end;

end;

//***************************************************************

if (ComboBox1.Text='ON') then

begin

if (relay = 1) and (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.SendString('N'); // delay(5);

CommPortDriver1.SendByte(1);

CommPortDriver1.Disconnect;

old_state:= 0;

end;

//**************************************************************

if (relay = 1) and (t = 8) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.SendString('N'); // delay(5);

CommPortDriver1.SendByte(1);

CommPortDriver1.Disconnect;

old_state:= 0;

end;

end;

//***************************************************************

// Kiem tra gio bom cao diem (thu 2 den thu 7)

// 9h30 - 11h30

// 17h00 - 20h00

//***************************************************************

if (thu <> 1) and (ComboBox1.Text='Auto') then

begin

if ((gio >= 17) and (gio < 20)) or ((gio >= 10) and (gio < 11)) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_cao_diem) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end;

//***************************************************************

if (gio = 9) then

begin

if (phut >= 30) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_cao_diem) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end

end;

//***************************************************************

if (gio = 11) then

begin

if (phut < 30) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_cao_diem) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end

end;

end;

//***************************************************************

// Kiem tra gio bom trung binh (thu 2 den thu 7) (chu nhat)

// 4h00 - 9h30 4h00 - 22h00

// 11h30 - 17h00

// 20h00 - 22h00

//

//*************************************************************

if (thu <> 1) and (ComboBox1.Text='Auto') then

begin

if ((gio >= 4) and (gio <= 9)) or ((gio >= 20) and (gio <= 22))

or ((gio >= 11) and (gio < 17)) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_trb) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end;

//***************************************************************

if (gio = 11) then

begin

if (phut >= 30) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_trb) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end

end;

//***************************************************************

if (gio = 9) then

begin

if (phut < 30) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_trb) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end

end;

end;

//***************************************************************

chu nhat 4h00 - 22h00

if (thu = 1) and (ComboBox1.Text='Auto') then

begin

if (gio >= 4) and (gio < 22) then

begin

if (t = 1) and (d > 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(1); // on relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

if (t >= set_muc_trb) or (d <= 1) then

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('C');

CommPortDriver1.SendByte(2); // off relay

CommPortDriver1.Disconnect;

old_state:= 1;

end;

end;

end;

//***************************************************************

if (relay=1) then

Label29.Caption:=('ON');

if (relay=0) then

Label29.Caption:=('OFF');

Label8.Caption:=IntToStr(gio);

Label9.Caption:=IntToStr(phut);

Label10.Caption:=IntToStr(giay);

Label12.Caption:=IntToStr(ngay);

Label13.Caption:=IntToStr(thang);

Label14.Caption:=IntToStr(nam);

edit1.text:=IntToStr(t);

edit2.text:=IntToStr(d);

ComboBox9.text:=IntToStr(set_muc_cao_diem);

ComboBox10.text:=IntToStr(set_muc_trb);

ComboBox11.text:=IntToStr(set_gio_bom);

ComboBox12.text:=IntToStr(set_phut_bom);

if (mode_bom = 1) then

ComboBox1.text:='OFF';

if (mode_bom = 2) then

ComboBox1.text:='Auto';

if (mode_bom = 3) then

ComboBox1.text:='ON';

case thu of

1: Label11.Caption:= 'Sunday';

2: Label11.Caption:= 'Monday';

3: Label11.Caption:= 'Tuesday';

4: Label11.Caption:= 'Wednesday';

5: Label11.Caption:= 'Thursday';

6: Label11.Caption:= 'Friday';

7: Label11.Caption:= 'Saturday';

else

Label11.Caption:= '----------';

end;

if t = 1 then

Begin

image5.Visible:= True;

image6.Visible:= False;

image7.Visible:= False;

image8.Visible:= False;

image9.Visible:= False;

image10.Visible:= False;

image11.Visible:= False;

image12.Visible:= False;

image15.Visible:= False;

End;

if t = 2 then

Begin

image5.Visible:= False;

image6.Visible:= True;

image7.Visible:= False;

image8.Visible:= False;

image9.Visible:= False;

image10.Visible:= False;

image11.Visible:= False;

image12.Visible:= False;

image15.Visible:= False;

End;

if t = 3 then

Begin

image5.Visible:= False;

image6.Visible:= False;

image7.Visible:= True;

image8.Visible:= False;

image9.Visible:= False;

image10.Visible:= False;

image11.Visible:= False;

image12.Visible:= False;

image15.Visible:= False;

End;

if t = 4 then

Begin

image5.Visible:= False;

image6.Visible:= False;

image7.Visible:= False;

image8.Visible:= True;

image9.Visible:= False;

image10.Visible:= False;

image11.Visible:= False;

image12.Visible:= False;

image15.Visible:= False;

End;

if t =5 then

Begin

image5.Visible:= False;

image6.Visible:= False;

image7.Visible:= False;

image8.Visible:= False;

image9.Visible:= True;

image10.Visible:= False;

image11.Visible:= False;

image12.Visible:= False;

image15.Visible:= False;

End;

if t =6 then

Begin

image5.Visible:= False;

image6.Visible:= False;

image7.Visible:= False;

image8.Visible:= False;

image9.Visible:= False;

image10.Visible:= True;

image11.Visible:= False;

image12.Visible:= False;

image15.Visible:= False;

End;

if t =7 then

Begin

image5.Visible:= False;

image6.Visible:= False;

image7.Visible:= False;

image8.Visible:= False;

image9.Visible:= False;

image10.Visible:= False;

image11.Visible:= True;

image12.Visible:= False;

image15.Visible:= False;

End;

if t =8 then

Begin

image5.Visible:= False;

image6.Visible:= False;

image7.Visible:= False;

image8.Visible:= False;

image9.Visible:= False;

image10.Visible:= False;

image11.Visible:= False;

image12.Visible:= True;

image15.Visible:= False;

End;

//***************************************************************

if d = 1 then

Begin

image2.Visible:= True;

image3.Visible:= False;

image4.Visible:= False;

image16.Visible:= False;

image13.Visible:= False;

End;

if d = 2 then

Begin

image2.Visible:= False;

image3.Visible:= True;

image4.Visible:= False;

image13.Visible:= False;

image16.Visible:= False;

End;

if d = 3 then

Begin

image2.Visible:= False;

image3.Visible:= False;

image4.Visible:= True;

image16.Visible:= False;

image13.Visible:= False;

End;

if d = 4 then

Begin

image2.Visible:= False;

image3.Visible:= False;

image4.Visible:= False;

image13.Visible:= True;

End;

if bom1 = 1 then

Begin

image37.Visible:= False;

image38.Visible:= False;

image14.Visible:= False;

image39.Visible:= True;

end

else begin

image39.Visible:=False;

end;

if bom2 = 1 then

Begin

image37.Visible:= False;

image39.Visible:= False;

image14.Visible:= False;

image38.Visible:= True;

End

else begin

image38.Visible:=False;

end;

end;

//***************************************************************

procedure TForm2.FormCreate(Sender: TObject);

begin

b:=1;

image1.Visible :=True;

image2.Visible :=false;

image3.Visible :=false;

image4.Visible :=false;

image5.Visible :=false;

image6.Visible :=false;

image7.Visible :=false;

image8.Visible :=false;

image9.Visible :=false;

image10.Visible :=false;

image11.Visible :=false;

image12.Visible :=false;

image13.Visible :=false;

end;

//***************************************************************

procedure TForm2.Button10Click(Sender: TObject);

begin

CommPortDriver1.Connect;

CommPortDriver1.SendString('W');

CommPortDriver1.SendByte(h);

CommPortDriver1.SendByte(m);

CommPortDriver1.SendByte(s);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox1Change(Sender: TObject);

begin

if (ComboBox1.Text='Auto') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('N');

CommPortDriver1.SendByte(2);

CommPortDriver1.Disconnect;

if (ComboBox1.Text='ON') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('N');

CommPortDriver1.SendByte(3);

CommPortDriver1.Disconnect;

old_state:= 1;

if (ComboBox1.Text='OFF') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('N');

CommPortDriver1.SendByte(1);

CommPortDriver1.Disconnect;

old_state:= 0;

end;

//***************************************************************

procedure TForm2.ComboBox3Change(Sender: TObject);

begin

hh:=StrToInt(ComboBox3.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('H');

CommPortDriver1.SendByte(hh);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox4Change(Sender: TObject);

begin

mm:=StrToInt(ComboBox4.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('M');

CommPortDriver1.SendByte(mm);

CommPortDriver1.Disconnect;

end;

//*************************************************************

procedure TForm2.ComboBox5Change(Sender: TObject);

begin

ss:=StrToInt(ComboBox5.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('S');

CommPortDriver1.SendByte(ss);

CommPortDriver1.Disconnect;

end;

//***************************************************************

Procedure TForm2.ComboBox2Change(Sender: TObject);

begin

if (ComboBox2.Text='Monday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(2);

CommPortDriver1.Disconnect;

if (ComboBox2.Text='Tuesday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(3);

CommPortDriver1.Disconnect;

if (ComboBox2.Text='Wednesday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(4);

CommPortDriver1.Disconnect;

if (ComboBox2.Text='Thursday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(5);

CommPortDriver1.Disconnect;

if (ComboBox2.Text='Friday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(6);

CommPortDriver1.Disconnect;

if (ComboBox2.Text='Saturday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(7);

CommPortDriver1.Disconnect;

if (ComboBox2.Text='Sunday') then

CommPortDriver1.Connect;

CommPortDriver1.SendString('A');

CommPortDriver1.SendByte(1);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox6Change(Sender: TObject);

begin

set_ngay:=StrToInt(ComboBox6.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('B');

CommPortDriver1.SendByte(set_ngay);

CommPortDriver1.Disconnect;

end;

//**************************************************************

procedure TForm2.ComboBox7Change(Sender: TObject);

begin

set_thang:=StrToInt(ComboBox7.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('E');

CommPortDriver1.SendByte(set_thang);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox8Change(Sender: TObject);

begin

set_nam:=StrToInt(ComboBox8.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('F');

CommPortDriver1.SendByte(set_nam);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox9Change(Sender: TObject);

begin

set_muc_cao_diem:=StrToInt(ComboBox9.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('G');

CommPortDriver1.SendByte(set_muc_cao_diem);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox10Change(Sender: TObject);

begin

set_muc_trb:=StrToInt(ComboBox10.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('I');

CommPortDriver1.SendByte(set_muc_trb);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox11Change(Sender: TObject);

begin

set_gio_bom:=StrToInt(ComboBox11.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('L');

CommPortDriver1.SendByte(set_gio_bom);

CommPortDriver1.Disconnect;

end;

//***************************************************************

procedure TForm2.ComboBox12Change(Sender: TObject);

begin

set_phut_bom:=StrToInt(ComboBox12.Text);

CommPortDriver1.Connect;

CommPortDriver1.SendString('O');

CommPortDriver1.SendByte(set_phut_bom);

CommPortDriver1.Disconnect;

end;

//***************************************************************

end.

//**************************** End program