6. Bố cục của luận án
3.4 Xây dựng thuật toán cho cảm biến quay đa hướng
Thuật toán của cảm biến quay đa hướng được đưa ra ở hình 3.6:
Hình 3.6: Thuật toán cảm biến quay đa hướng
Thuật toán này được phát triển để tự động xoay các cảm biến, tính toán các góc và thu thập độ rọi theo nhiều hướng. Trong hệ thống điều khiển ánh sáng, việc định hướng phương vị của cảm biến rất quan trọng đối với quá trình đo đạc dữ liệu cường độ ánh sáng. Vấn đề đó đã được giải quyết trong nghiên cứu này, bởi cảm biến được đề xuất có thể xoay 360 độ, do đó bất kỳ hướng nào cũng có thể là hướng khởi tạo của cảm biến.
72
Hình 3.22: Sơ đồ khối tổng quát của hệ thống điều khiển tự động.
Trong đó:
C: Tín hiệu cần điều khiển được gọi là tín hiệu ra. U: Tín hiệu điều khiển.
R: Tín hiệu cần đạt được (chuẩn hay tham chiếu) thường được gọi là tín hiệu vào. N: Tín hiệu nhiễu tác động từ bên ngoài vào hệ thống.
F: Tín hiệu hồi tiếp.
Trong hệ thống tiết kiệm năng lượng chiếu sáng, thiết bị điều khiển thường sử dụng bộ điều khiển fuzzy logic kết hợp PID, tín hiệu hồi tiếp F là cường độ ánh sáng có được từ thiết bị đo lường là cảm biến ánh sáng tĩnh. Thiết bị điều khiển sẽ so sánh giá trị của tín hiệu hồi tiếp F với giá trị cần đạt R và tính toán điều khiển giá trị công suất cung cấp cho đối tượng điều khiển là đèn chiếu sáng. Nghiên cứu hướng đến việc sử dụng truyền dữ liệu qua điện toán đám mây và xây dựng hệ thống điều khiển phân tán không dây như hình 3.23 với bộ điều khiển Fuzzy được thực hiện ở phần 3.10.2 với các thông số cụ thể.
73
3.10.2Lựa chọn phương án mô phỏng
Bộ điều khiển Fuzzy-LQR [73] kết hợp tiêu chuẩn được xây dựng bằng cách chọn đầu vào là lỗi (e) và đạo hàm của lỗi (Δe) như được hiển thị trong hình 3.24 và đầu ra là tín hiệu điều khiển (u). Trong số ba loại cấu trúc bộ điều khiển Fuzzy-LQR lai, loại đầu vào kép là cấu trúc mạnh mẽ nhất cho các hệ thống cực không ổn định. Như có thể thấy từ hình 3.24, cấu trúc bộ điều khiển Fuzzy-LQR lai được xử lý có hai hệ số tỷ lệ đầu vào và hai đầu ra, đầu vào Ke (đối với lỗi (e)) và Kd (đối với sự thay đổi của sai số (Δe)). Trong khi đầu ra (U) được ánh xạ vào miền giá trị đầu ra thực tế (u) tương ứng bằng các hệ số tỷ lệ đầu ra β và α
Theo [73], một hệ hybrid fuzzy-LQR có thể mô phỏng ở hình 3.24
Hình 3.24: Cấu trúc một hệ điều khiển lai (hybrid) Fuzzy-LQR
Trong một nghiên cứu so sánh của Jamilu Kamilu Adamu và cộng sự [73], hiệu suất của bộ điều khiển kết hợp fuzzy-LQR và bộ điều khiển kết hợp PID-LQR được đánh giá về mặt hiệu năng. Các kết quả của mô phỏng đã khẳng định tính ưu việt của bộ điều khiển kết hợp fuzzy-LQR được đề xuất so với bộ điều khiển kết hợp PID-LQR, đặc biệt là khi có nhiễu.
Nghiên cứu này lựa chọn thực hiện lại bộ điều khiển kết hợp fuzzy-LQR trong phần mềm Matlab sử dụng dữ liệu cảm biến tĩnh để làm thiết bị đo lường. Trong hình 3.25 là sơ đồ khối của bộ điều khiển kết hợp fuzzy-LQR trên simulink sử dụng dữ liệu đầu vào là cảm biến tĩnh.
74
Hình 3.25: Sơ đồ khối của bộ điều khiển logic mờ kết hợp PID
Dưới đây là các bước xây dựng phần mềm thực hiện điều khiển bằng Fuzzy Logic:
Fuzzy hóa đầu vào: Mờ hóa là quá trình chuyển đổi một giá trị định lượng thực tế vào một giá trị biến mờ. Biến mờ được sử dụng để dịch giá trị thực tế thành các giá trị mờ. Các giá trị có thể có của một biến mờ không phải là số mà là các "từ ngữ".
Các biến ngôn ngữ đầu vào cho bộ điều khiển Fuzzy logic thể hiện bằng ngôn ngữ sự khác biệt giữa giá trị đặt với các tín hiệu đã đo lường và tính toán từ cảm biến ánh sáng. Đầu vào của Fuzzy logic là Error = (Mức sáng yêu cầu – Cường độ sáng đo được) và DeltaError = (Error[n] – Error[n-1]).
Hàm thành viên hình tam giác và hình thang được sử dụng để mờ hóa đầu vào. Đối với chương trình cho khối mờ hóa, chúng ta cần xác định dải của các biến mờ liên quan đến các yếu tố đầu vào rõ ràng. Sự khác biệt về giá trị đo được sẽ nằm trong các khoảng giá trị. Các tập mờ sau được sử dụng: NEG = Âm, SNEG = Âm ít, ZERO = Bằng 0, SPOS = Dương ít, POS =Dương.
Bảng 3.4: Hàm thành viên cho biến đầu vào Error bằng ngôn ngữ
STT Dải tham số đầu vào mờ hóa (Error=Set point - Current Value)
Tên biến mờ tương đương
1 -10 to -30 NEG
2 0 to -20 SNEG
75
4 0 to 20 SPOS
5 10 to 30 POS
Bảng 3.5: Hàm thành viên cho biến đầu vào DeltaError bằng ngôn ngữ
STT Dải tham số đầu vào mờ hóa
DeltaError = (Error[n] – Error[n-1])
Tên biến mờ tương đương
1 0 to -20 NEG
2 -10 to 10 ZERO
3 0 to 20 POS
Để tạo ra biến âm bằng ngôn ngữ (NEG), ta sẽ xây dựng hàm biểu diễn hình thang. Đoạn mã pseudo dưới đây đưa ra một ví dụ về một cách thực hiện điều đó. Chương trình con "fuzzify_MF" nhận vào giá trị đầu vào dưới dạng số, dựa vào dải của biến mờ đầu vào và hàm thành viên sẽ trả về một giá trị theo mức tỷ lệ giữa 0 và 1, cho thấy mức độ “âm” mà sai số giữa tốc độ đầu vào với giá trị đặt cho trước có thể mang giá trị NEG. Tương tự như vậy, chúng ta tính toán được các hàm thành viên đầu vào khác.
76
Hình 3.27: Đồ thị biểu diễn cho biến đầu vào DeltaError
Suy luận mờ: Khi các giá trị hiện tại của các biến đầu vào được làm mờ, bộ điều khiển mờ tiếp tục với giai đoạn “đưa ra quyết định” hoặc quyết định những hành động cần thực hiện để điều chỉnh cường độ ánh sáng về giá trị điểm đặt yêu cầu. Tiêu chí cho hành động này là thời gian tối thiểu và cường độ ánh sáng dao động tối thiểu. Các khối quy tắc chứa chính sách điều khiển của Hệ thống điều khiển mờ. Để làm mờ giá trị điều khiển đầu ra, nghiên cứu sử dụng hàm liên thuộc tam giác. Năm tập hợp thành viên
được sử dụng để làm mờ đầu ra thành các biến ngôn ngữ. Chúng là giảm (DEC),
giảm ít (SDEC), không thay đổi (NONE), tăng ít (SINC) và tăng (INC)
Phần ‘Nếu’ mô tả tình huống mà các quy tắc được đưa ra. Phần ‘Thì’ mô tả phản ứng của hệ thống mờ trong tình huống này. Các luật điều khiển của hệ thống được xây dựng về mặt cấu trúc theo các quy tắc mờ được nêu ra ở bảng 3.6
Bảng 3.6 Tập hợp luật Fuzzy
Luật Nếu Error là và DeltaError là Thì giá trị PWM sẽ
0 NEG NEG INC
1 NEG ZERO INC
2 NEG POS INC
3 SNEG NEG INC
4 SNEG ZERO SINC
77
6 ZERO NEG SINC
7 ZERO ZERO NONE
8 ZERO POS SDEC
9 SPOS NEG SDEC
10 SPOS ZERO SDEC
11 SPOS POS DEC
12 POS NEG DEC
13 POS ZERO DEC
14 POS POS DEC
Hình 3.28: Đồ thị hàm thành viên đầu ra.
Giải mờ: Kết quả của giải mờ phải là một giá trị số để điều khiển đầu ra. Có rất nhiều cách để thực hiện giải mờ; trong trường hợp này, giá trị đầu ra thu được bằng kỹ thuật tính trung bình theo trọng số mô tả bởi phương trình sau:
Defuz = ∑14𝑖=0𝑃[𝑖]∗𝑊[𝑖] ∑14𝑖=0𝑊[𝑖]
P [i] là giá trị đỉnh của hàm thành viên đầu ra thứ i. W[i] là trọng số tương đương với luật thứ i.
78 Một đoạn mã pseudo của quá trình giải mờ như sau:
defuzzify {
for (i=0;i<15;i++) SM_DOM = SM_DOM + W[i]
for (i=0;i<15;i++) OUTPUT = OUTPUT + P[i]*W[i] OUTPUT = OUTPUT/SM_DOM
return (OUTPUT);}
Đồ thị đầu ra dưới dạng 3D được minh họa ở hình 3.29
Hình 3.29: Đồ thị 3D minh họa giá trị đầu ra của hệ thống
3.10.3Các phương án tiền xử lý
Ở phần 3.6, luận án đưa ra phương án mô tả cảm biến quay đa hướng cung cấp giá trị cảm biến ánh sáng dưới dạng véc tơ. Do đó, muốn thực hiện điều khiển ánh sáng dùng bộ điều khiển logic mờ kết hợp với thiết bị đo lường là cảm biến ánh sáng đa hướng sẽ phải thực hiện một khâu tiền xử lý để trích chọn ra một giá trị duy nhất đưa vào bộ
79 điều khiển như trong hình 3.30. Trong hình 3.30 dữ liệu của cảm biến đa hướng được lấy từ trên server của thingspeak và xử lý trong phần mềm Matlab bởi một mô đun chương trình thực hiện theo các phương pháp tiền xử lý được mô tả trong các phần 3.10.4. Sau khi dữ liệu đã được tiền xử lý thì sẽ được truyền thẳng đến mô đun điều khiển Fuzzy và bộ điều khiển Fuzzy này đã được khởi tạo theo các biểu thức và đồ thị cũng như các bảng luật điều khiển ở trong phần 3.10.2.
Hình 3.30: Mô hình điều khiển phân tán sử dụng cảm biến quay và bộ điều khiển Fuzzy
Luận án đã đề xuất một số phương pháp tiền xử lý dữ liệu của cảm biến đa hướng và thực hiện việc lấy kết quả thu được sau khi tiền xử lý:
(i) Phương pháp lấy trung bình cộng
Ta có đầu ra của cảm biến quay cung cấp cho chúng ta giá trị đo trên cảm biến dưới dạng véc tơ E. Do đó theo phương pháp trung bình cộng ta sẽ có giá trị trích chọn từ cảm biến đưa vào bộ điều khiển :
Y(t)=(∑N Ei(t)
i=1 )/N (3.10)
Với Y là giá trị trích chọn từ cảm biến, N là số hướng đo của cảm biến quay, Ei là giá trị đo trên cảm biến ở hướng i.
Với bộ dữ liệu, chúng ta sẽ có kết quả lấy trung bình cộng giá trị đo của các hướng so với giá trị cảm biến tĩnh như hình 3.31.
80
Hình 3.31: Kết quả trích chọn giá trị cảm biến theo phương pháp trung bình cộng so với cảm biến tĩnh.
(ii) Phương pháp lấy trung bình cộng theo ngưỡng
Theo phương pháp lấy trung bình cộng ở trên chúng ta đã có được một giá trị ngưỡng Y để đi tìm các nguồn sáng chính. Nếu coi một nguồn sáng có giá trị trên trung bình so với các nguồn sáng từ các hướng khác thì phương pháp chọn lọc theo ngưỡng chính là phương pháp tìm ra được các nguồn sáng chính. Từ việc tìm được các nguồn sáng chính ảnh hưởng đến cường độ ánh sáng của môi trường tiếp theo có thể tính toán giá trị trung bình của các nguồn sáng chính và dùng nó làm giá trị đầu vào cho bộ điều khiển. Ta sẽ có giá trị đó theo công thức sau:
Yavgmax(t)=∑N ωi(t).Ei(t)
i=1 /∑N ωi
i=1 (t) (3.11)
Với ωi(t) =0 khi Ei (t)<Y(t) và ωi(t)=1 nếu ngược lại và N là số hướng đo của cảm biến quay, Y là giá trị trích chọn từ cảm biến, Ei là giá trị đo trên cảm biến ở hướng i.
Với bộ dữ liệu, chúng ta sẽ có kết quả tiền xử lý bằng cách tìm trung bình cộng giá trị đo của các hướng theo ngưỡng so với giá trị cảm biến tĩnh như hình 3.32.
81
Hình 3.32: Kết quả trích chọn giá trị cảm biến theo phương pháp trung bình cộng theo ngưỡng so với cảm biến tĩnh.
(iii) Phương pháp lấy giá trị cực đại
Nếu coi các giá trị cường độ ánh sáng đo được từ các hướng phản ánh chân thực cường độ ánh sáng của môi trường thì trong quá trình sử dụng ánh sáng chúng ta hoàn toàn có thể lấy một nguồn sáng chính làm đối tượng căn cứ để điều khiển cường độ ánh sáng xung quanh. Phương pháp tìm giá trị cực đại chính là đi tìm nguồn sáng chính ảnh hưởng nhiều nhất đến cường độ ánh sáng của môi trường và dùng nó làm giá trị đầu vào cho bộ điều khiển. Ta sẽ có giá trị đó theo công thức sau:
Ymax(t)= Max(E1,E2,…, EN) (3.12) Với Y là giá trị trích chọn từ cảm biến, N là số hướng đo của cảm biến quay, Ei là giá trị đo trên cảm biến ở hướng i.
Để thực hiện tìm cực đại ta sẽ so sánh giá trị giữa các hướng đo với nhau và gán Ymax(t)=Ei(t) nếu Ei(t)> Ymax(t) với 1< i <N .
82 Với bộ dữ liệu thu thập được ở phần trước, chúng ta sẽ sử dụng giá trị cường độ ánh sáng lớn nhất của một trong các hướng đã đo làm đầu vào của bộ điều khiển logic mờ, kết quả so sánh với giá trị cảm biến tĩnh được thể hiện trong hình 3.33.
Hình 3.33: Kết quả trích chọn giá trị cảm biến theo phương pháp tìm giá trị cực đại so với cảm biến tĩnh.
3.10.4Đánh giá hiệu năng và kết quả mô phỏng
Sau khi thực hiện một số phương pháp tiền xử lý, nghiên cứu sẽ trích chọn các giá trị cường độ ánh sáng đa hướng chuyển về thành một giá trị để đưa vào bộ điều khiển logic mờ. Sau đó nghiên cứu cũng thực hiện mô phỏng điều khiển cân bằng ánh sáng tương tự như điều khiển với một cảm biến tĩnh.
Trong hình 3.34 là giá trị cường độ ánh sáng trên các hướng sau khi đã điều chỉnh lại sử dụng giá trị phản hồi với phương pháp tiền xử lý bằng cách tìm cực đại. Đây là kết quả mô phỏng sau điều khiển bù cân bằng ánh sáng với bộ điều khiển logic mờ kết
83 hợp PID thay vì sử dụng đầu vào là cảm biến tĩnh đã lấy giá trị của cảm biến quay đưa qua khâu tiền xử lý để làm đầu vào.
Hình 3.34: Kết quả mô phỏng điều khiển sử dụng đầu vào với phương pháp tiền xử lý tìm giá trị cực đại
Với giá trị đặt ban đầu là 500 lux chúng ta có thể quan sát thấy giá trị cường độ ánh sáng trên các hướng đều nhỏ hơn hoặc bằng 500 lux đúng như yêu cầu của hệ thống điều khiển ổn định cân bằng tự động. Sai số của giá trị điều khiển là 2 lux có thể chấp nhận được.
Đồng thời trong quá trình mô phỏng điều khiển, nghiên cứu cũng tính toán được giá trị công suất tiêu thụ trên hệ thống chiếu sáng bù cường độ ánh sáng môi trường theo yêu cầu như trên. Hình 3.35 là đồ thị kết quả công suất bù tiêu thụ trên hệ thống chiếu sáng khi sử dụng các phương pháp tiền xử lý giá trị cảm biến quay đa hướng khác nhau.
84
Hình 3.35: Kết quả tính toán năng lượng tiêu thụ khi sử dụng các phương pháp tiền xử lý khác nhau và cảm biến tĩnh.
Từ đồ thị có thể thấy được đường màu xanh là giá trị công suất cung cấp cho đèn chiếu sáng để cân bằng cường độ ánh sáng với giá trị đặt là 500 lux với giá trị phản hồi cho bộ điều khiển Fuzzy là giá trị của cảm biến quay được trích chọn theo phương pháp tìm giá trị cực đại, tiếp theo là đường màu da cam là kết quả điều khiển khi sử dụng giá trị của cảm biến quay được trích chọn theo phương pháp trung bình theo ngưỡng để làm đầu vào điều khiển. Với giá trị đầu vào điều khiển là cảm biến tĩnh thì công suất điều khiển được biểu diễn bởi đường nét đứt màu tím còn đường màu đỏ là đầu ra công suất của bộ điều khiển sử dụng giá trị trung bình cộng các hướng đo.
Với dữ liệu trên đồ thị hình 3.35 ta tính được giá trị công suất tiêu thụ trung bình trong khoảng thời gian từ 16 giờ 45 phút đến 17 giờ 21 phút theo bộ dữ liệu ở trên và tổng hợp vào bảng 3.7. Qua bảng này có thể thấy được phương pháp trích chọn đầu vào theo miền tìm cực đại đem lại tỷ lệ tiết kiệm cao nhất so với các phương pháp khác. Bảng 3.7 cũng cho thấy phương pháp tiền xử lý lấy trung bình theo ngưỡng cho tỷ lệ tiết kiệm cao hơn phương pháp sử dụng cảm biến tĩnh với trường hợp cảm biến có vật cản. Trong quá tình ứng dụng thì tùy theo yêu cầu về điều khiển ánh sáng theo khu vực hay điều khiển cân bằng các nguồn sáng có thể chọn các phương pháp tiền xử lý khác nhau.
85
Bảng 3.7: So sánh tỷ lệ tiết kiệm của các phương pháp điều khiển so với điều khiển bằng cảm biến tĩnh
Phương pháp trích chọn đầu vào Công suất trung bình (W) Tỷ lệ tiết kiệm so với