Lưu đồ chương trinh chính:

Một phần của tài liệu Thiết kế và xây dựng bộ điều khiển điểm sáng trong hệ thống chiếu sáng đô thị (Trang 73 - 80)

Bắt đầu

Power ON Reset ?

Chân ioSWD thay đổi trạng thái ?

Biến mạng nviCMDstr cập nhật ? No No Chu kỳ timer vòng lặp phản hồi fback_timer? No

Chu kỳ timer loop_timer? No

Chu kỳ timer lấy mẫu sample_timer? No Lặp vô hạn Khởi tạo trạng thái và các tham số ban đầu Yes Đếm nhịp thời gian 1s Yes Thực thi lệnh từ tủ điều khiển trung tâm qua

biến mạng nviCMDstr Yes

Phản hồi trạng thái lệnh, trạng thái bộ điều khiển Yes Thực hiện lịch hoạt động tự trị Yes Giám sát các thông số điện qua ADE7753 Yes

Hình 73:Lưu đồ chương trình chính trên PL3120

Giải thích lưu đồ:

 Như đã trình bày ở trên Neuron C là ngôn ngữ hướng đến sử lý theo sự kiện (Event) “When”. Lưu đồ chương trình chính sẽ là một vòng lặp, tại các điểm nút là

các điều kiện kiểm tra ứng với mỗi từ khóa “when”. Ví dụ với thời điểm khởi động sau khi được cấp nguồn, power on reset :

…….

 Có 6 sự kiện chính trong chương trình chính:

o Đầu tiên khởi tạo hệ thống.

o Trạng thái chân ioSWD.

o Sự kiện có dữ liệu mới của biến mạng nviCMDstr.

o Trạng thái bộ định thời cho phản hồi.

o Trạng thái bộ định thời cho hoạt động tự trị.

4.5.3.1 Lưu đồ sự kiện POWER ON RESET

Khởi tạo trạng thái và các tham

số ban đầu

Bắt đầu

Kiểm tra chân Service Pin ? No Đưa thiết bị về trạng tái unconfig tránh trạng thái loop reset Yes

Ngắt Relay cấp nguồn cho tải

Load các tham số hiệu chỉnh của ADE7753 từ EEPROM

Load lịch hoạt động tự trị

Kiểm tra trạng thái tự trị hiện tại ?

No

Điều khiển công suất của điểm sáng ứng với 1

mốc trong lịch hoạt động tự trị Yes (adsbygoogle = window.adsbygoogle || []).push({});

Kết thúc

Hình 74:Lưu đồ sự kiện Power On Reset.

Giải thích lưu đồ:

 Kiểm tra trạng thái của chân Service, nếu được ấn thì chuyển trạng thái “unconfiged”, để tránh trường hợp bị loop reset do lỗi watchdog timer.

 Load các tham số hiệu chỉnh của ADE7753, như các tham số offset của kênh dòng, kênh áp đo. Hệ số chia, chia từ giá trị ADC về điện áp thực tế tính theo (V), dòng thực tế tính theo (mA).

 Kiểm tra giờ hiện tại và xem trong lịch hoạt động tự trị giá trị công suất cần đặt là bao nhiêu? Đưa ra lệnh điều khiển công suất cho điểm sáng tương ứng với mốc tự trị đó.

 Kết thúc, quay trở lại chương trình chính

4.5.3.2 Lưu đồ sự kiện ioSWD

Sự kiện ioSWD

Bắt đầu

Kiểm tra chân ioSWD Của IC DS1307?

No

Tăng tick lên 1 Tick++

Yes

Kết thúc

Hình 75:Lưu đồ sự kiện ioSWD

Mỗi một xung từ chân ioSWD của IC DS1307 tương ứng với một thời gian định thời là 1s, biến toàn cục Tick sẽ được tăng lên 1 khi có xung này, biến này sẽ làm nguồn cho việc định thời từng giây một khi cần đếm một khoảng thời gian chính xác.

4.5.3.3 Lưu đồ sự kiện nviCMDstr Bắt đầu Mã lệnh 00 ? Mã lệnh 01 ? Mã lệnh 02 ? No No Mã lệnh 03 ? No Mã lệnh 04 ? No Mã lệnh 05 ? No Lệnh hồi tiếp trạng thái Yes Lệnh điều khiển công suất của

điểm sáng Yes Lệnh cài đặt đồng hồ thời gian thực RTC DS1307 Yes Lệnh cài đặt lịch hoạt động tự trị Yes Lệnh truyền các tham số hiệu chỉnh cho ADE7753 Yes Lệnh liên quan đến địa chỉ ID, Neuron ID Yes Sự kiện nviCMDstr No Kết thúc

Hình 76: Lưu đồ sự kiện nviCMDstr

Khung truyền nhận về qua biến mạng nviCMDstr có dạng:

[1 Byte W/R] [1 Byte CMD code] [1 Byte ID node] [ n Bytes Dứ liệu]

- Byte đầu tiên để xác định xem lệnh truyền đến là lệch cài đặt (write = 0) hay là lệnh yêu cầu hồi tiếp trạng thái (reponse request = 2).

- Byte thứ 2 là mã lệnh truyền đến có 6 mã lệnh:

+ Mã 01: Lệnh đặt công suất tiết giảm cho điểm sáng. PL3120 sẽ tính toán và ra lệnh cho các khối chấp hành để đạt được công suất tiết giảm mong muốn, như là các relay đóng mở, bộ Dim sử dụng triac, hay bộ chấn lưu điện tử tiết giảm được.

+ Mã 02: Lệnh cài đặt thời gian thực cho điểm sáng. Lệnh sau đó sẽ được cài cho IC DS1307.

+ Mã 03: Lệnh cài đặt lịch hoạt động tự trị cho điểm sáng. Nhận được lịch hoạt động tự trị, PL3120 sẽ ghi lịch này vào bộ nhớ EEPROM của nó.

+ Mã 04: Lệnh truyền các tham số cho ADE7753. Các tham số này cũng được lưu cứng vào bộ nhớ EEPROM của PL3120.

+ Mã 05: Lệnh liên quan đến ID cho điểm sáng và Neuron ID. Sắp xếp lại số thứ tự cho các điểm sáng trong một dãy điểm sáng.

4.5.3.4 Lưu đồ sự kiện định thời fback_timer (adsbygoogle = window.adsbygoogle || []).push({});

Định thời hồi tiếp trạng thái Fback_timer = FBACKTIME (s) Bắt đầu Đọc thời gian thực gắn nhãn RTC Đọc giá trị ADE7753 U, I, E, cos 

Đọc trạng thái Relay hiện tại

Kết thúc Truyền tất cả về biến mạng

nvoCMDstr

Hình 77:Lưu đồ sự kiện định thời fback_timer

Đây là bộ định thời quan trọng nhất trong việc giám sát điểm sáng. Khoảng thời gian hồi tiếp này phụ thuộc vào giá trị của biến FBACKTIME ( mặc định là 30s). Ở sự kiện định thời này, các giá trị trạng thái của bộ điều khiển điểm sáng được gửi về tủ điều khiển thông qua biến mạng trả về nvoCMDstr ( biến mạng nhận lệnh là nviCMDstr). Từ

đó mà tủ điều khiển khu vực có thể biết được trạng thái được cập nhật thường xuyên của từng điểm sáng.

4.5.3.5 Lưu đồ sự kiện định thời loop_timer

Định thời lịch tự trị loop_timer #define LOOPTIME 10 (s_ Bắt đầu Dọc thời gian thực RTC DS1307

Kiểm tra mốc lịch hoạt động tương ứng với thời gian RTC

Điều khiển Relay, các bộ tiết giảm

Kết thúc

Hình 78:Lưu đồ sự kiện định thời loop_timer

4.5.3.6 Lưu đồ sự kiện định thời sample_timer

Định thời lấy mẫu ADE7753 sample_timer #define SAMPLETIME 80 // ms

Bắt đầu

Khởi tạo bộ đệm lưu 64 mẫu cho ADE7753

Đọc giá trị ADE7753 U, I, E, cos 

Lưu vào bộ đệm 64 mẫu

Kết thúc Lấy trung bình 64 mấu

Lưu vào biến ra

Một phần của tài liệu Thiết kế và xây dựng bộ điều khiển điểm sáng trong hệ thống chiếu sáng đô thị (Trang 73 - 80)