Khối điều khiển qua Internet:

Một phần của tài liệu Thiết kế và xây dựng hệ thống đèn đường thông minh (Trang 101)

L ỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆ P

b. Lưu đồ:

3.4.5 Khối điều khiển qua Internet:

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 85  Trong phạm vi đề tài, nhóm em sẽ triển khai một trang web thực hiện những nhiệm vụ

sau:

 Điều khiển bật tắt đèn đường thông qua Internet ở chếđộ Manual.

 Giám sát thời gian hệ thống và điều khiển đèn đường thông qua thời gian đã đặt

trước ở chếđộ Auto.

 Hiển thị các thông số cần thiết của Pin mặt trời và Ắc quy để tiện theo dõi và giám sát.

 Website của nhóm được thực hiện bằng ứng dụng NodeJs trên hệ điều hành Linux Yocto của Intel Galileo.

 Để làm cho giao diện thêm đẹp hơn, nhóm đã dùng thêm ngôn ngữ html và CSS. Phần này sẽ được viết trên một file html riêng, trong NodeJs ta sẽdùng hàm “fs” để đọc được file html này.

 Để chạy được chương trình web trên cửa sổ console của hệđiều hành, ta gõ lệnh:

node tên file.js

 Để thuận tiện, chương trình của web sẽ được viết bằng định dạng Notepad, sau đó sẽ đổi đuôi thành .js đối với file của NodeJs và thành .html đối với file html. Tiếp theo ta sẽ

dùng phần mềm Winscp đăng nhập vào hệ điều hành của Intel Galileo và chép file

chương trình vừa mới viết đó vào kit. Với phần mềm Winscp này ta có thể chép file, sửa file trực tiếp trên hệđiều hành một cách dễ dàng và nhanh chóng.

 Để chạy được webserver thì ta phải khai báo thư viện http và dùng hàm sau:

http.createServer(function(request, response) { Ni dung web }).listen(8080);

Trong đó, số 8080 là số port cần mở cho Router.

 Khi chạy web, ta gõ và vào link sau: https://169.254.143.152:8080

Trong đó số 169.254.143.152 là địa chỉ IP của kit Intel Galileo.

 Ngoài ra, để điều khiển được các chân digital và analog của kit, ta phải dùng thư viện

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 86

3.4.5.2 Điều khiển đèn đường bằng tay:

Hình 3.24: Giao diện web điều khiển bật tắt đèn đường.

Giao diện này dùng để bật tắt đèn đường trên web, cụ thể là 3 vòng đèn LOAD1,

LOAD2, LOAD3.

Các nút nhấn được tạo bằng CSS với kiểu <style> nhất định. Muốn gọi kiểu style đó, ta dùng class. Cụ thểnhư sau:

<a href="on1" class="button">ON1</a>

Trong đó “on1” là link url sẽ được tạo ra, “button” là kiểu <style> đã được định nghĩa trước.

Khi ta nhấn nút thì link url sẽ được tạo ra. Cụ thể là “/on1”. Ta sẽ dựa vào đây để điều khiển nút nhấn:

switch(request.url) {

case '/on1' : respond1(); IO13.write(1); LOAD1="ON1";break; case '/off1' : respond1(); IO13.write(0); LOAD1="OFF1";break;

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 87

3.4.5.3 Điều khiển tựđộng:

Hình 3.25: Giao diện web cài đặt thời gian hệ thống.

Để tạo được khung nhập số và nút nhấn như hình trên, ta sẽ viết ra một <form>

bằng html như sau:

<form action="" style="color:#CC0000; font-size:150%;">

<span style="margin-left:23em">Gi bt : <span style="margin-left:0.01em"><input type="time" name="gio" style=" font-size:100%;width: 10%; height: 5%" ></span><br><br>

<span style="margin-left:23em">Gi tt : <span style="margin-left:0.255em"><input

type="time" name="phut" style="font-size:100%; width: 10%; height:

5%"></span><br><br>

<span style="margin-left:26.75em"><input type="Submit" value="Enter"

style="font-size:100%; background-color:#4CAF50;color:#FFFFFF; width: 7%; height: 7%"></span>

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 88 Lệnh <span style="margin-left:23em"> có chức năng canh lề cho text và khung

text được thẳng hàng.

Lệnh <input type="time" name="gio" style=" font-size:100%;width: 10%; height: 5%" > có chức năng tạo khung để nhập giá trị thời gian.

Lệnh <input type="Submit" value="Enter" style="font-size:100%; background-color:#4CAF50;color:#FFFFFF; width: 7%; height: 7%">có chức năng

tạo ra nút nhấn với các định dạng màu sắc, kích thước tùy ý.

Để có thểđọc thời gian và hiển thị thời gian lên web, ta dùng đoạn code sau :

<p id="demo" style="color:#CC0000; font-size:100%;" ></p> <script>

var myVar = setInterval(function(){ myTimer() }, 1000); function myTimer() {

var c = new Date().toTimeString() var a = new Date().toDateString()

document.getElementById("demo").innerHTML = a + " " + c;

}

</script>

Trong đoạn code trên, lệnh var c = new Date().toTimeString() có chức năng đọc giờ phút giây của hệ thống và sau đó gán nó vào biến c.

Lệnh var a = new Date().toDateString() có chức năng đọc ngày tháng năm của hệ

thống và sau đó gán vào biến a.

Lệnh document.getElementById("demo").innerHTML = a + " " + c; có chức

năng ghép ngày và giờ vừa được gán vào biến a và c ở trên lại với nhau và sau đó gán

chuỗi này vào một Id là demo.

Cuối cùng là lệnh <p id="demo" style="color:#CC0000; font-size:100%;" ></p>, lệnh này sẽ hiển thị chuỗi demo lên web. Chuỗi này là ngày và giờ mà mình cần hiển thị.

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 89

3.4.5.4 Hiển thị các thông số của hệ thống:

Hình 3.26: Giao diện web giám sát các thông số.

Để cấu hình cho chân Analog trên kit, ta dùng lệnh sau:

var analogPin0 = new mraa.Aio(0);

Đểđọc được dữ liệu Analog, ta sẽ dùng lệnh:

var analogValue0 = analogPin0.read();

Muốn xuất và ghi dữ liệu lên web, ta dùng lệnh toString() để đổi kiểu dữ liệu cho nó. Vì hàm http.createServer chỉ cho phép hiển thịđịnh dạng String:

response.write("</p><p style='color:#CC0000; font-size:130%;'>Điện áp Pin mặt trời");

response.write(analogValue0.toString()); response.write(" V");

Như vậy là ta đã có thểgiám sát được mọi thông số vềđiện áp,dòng điện,.. trên web bằng những dòng lệnh cơ bản như trên.

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 90

3.4.5.5 Cấu hình cho modem để có thểđiều khiển qua Internet: Bước 1: Truy cập vào modem bằng quyền admin: Bước 1: Truy cập vào modem bằng quyền admin:

Hình 3.27: Truy nhập vào modem.

Bước 2: NAT PORT: Application  Port Forwarding và cấu hình như bên dưới.

CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG. 91 Hình 3.29: Cấu hình thành công.

Bước 3: Xem địa chỉ IP của modem nhà mình. Vào trang web:

https://www.whatismyip.com

Hình 3.30: Xem địa chỉ IP của modem.

Bước 4: Truy cập vào Intel Galileo bằng cách gõ địa chỉ: địa chỉ của modem + Port của Intel Gaileo

CHƯƠNG IV: KẾT QUẢ VÀ NHẬN XÉT. 92

Chương 4. KẾT QUẢ VÀ NHẬN XÉT

4.1 Kết quả khối sạc bình ắc quy:

4.1.1 Một số hình ảnh trong quá trình thi công và kiểm tra mạch sạc cho bình ắc quy: quy:

(a) Hình mạch sạc bình thực tế. (b) Hình mạch sạc bình thực tế.

(c) Hình ảnh thử nghiệm pin mặt trời. (d) Hình ảnh hiển thị các thông số lên LCD Hình 4.1: Kết quả khối sạc bình ắc quy.

4.1.2 Nhận xét:

CHƯƠNG IV: KẾT QUẢ VÀ NHẬN XÉT. 93  Mạch nạp ắc quy chạy tương đối ổn định. Vi xửlý trung tâm đo các giá trị điện áp và dòng điện chính xác.

 Vi xửlý đã điều khiển mạch nạp theo phương pháp MPPT.

4.2 Kết quảkhối dò tìm hướng có cường độ ánh sáng lớn nhất:

4.2.1 Một số hình ảnh thi công mạch:

(a)Mạch điều khiển động cơ bước. (b)Hình kết nối mạch điều khiển với

driver động cơ bước. Hình 4.2: Hình ảnh thi công mạch.

Hình ảnh về tải:

CHƯƠNG IV: KẾT QUẢ VÀ NHẬN XÉT. 94

4.2.2 Khối cảm biến ánh sáng:

Hình 4.4: Hình ảnh khối cảm biến ánh sáng.

4.2.3 Khối công tắc hành trình:

CHƯƠNG IV: KẾT QUẢ VÀ NHẬN XÉT. 95

4.2.4 Khung đỡ cho tấm pin:

Hình 4.6: Hình ảnh khung đỡ cho tấm pin.

4.2.5 Động cơ chuyển động chọn hướng:

CHƯƠNG IV: KẾT QUẢ VÀ NHẬN XÉT. 96

4.2.6 Hình ảnh sản phẩm cuối cùng:

Hình 4.8: Hình ảnh sản phẩm cuối cùng.

4.2.7 Nhận xét:

Một số lỗi khi thử nghiệm nhóm gặp phải:

 Khi chạy nếu tấm pin quá nặng thì động cơ sẽ không hoạt động như mong muốn, vì vậy để quay được tấm pin thì xung ta cấp vào cho Driver phải lớn hơn. Khi đó

momen tạo ra lớn hơn.

 Nếu cho tốc độ quay của tấm pin lớn thì sẽ làm mất thăng bằng cho khung đỡ, vì thế phải điều chỉnh lại tốc độ cho phù hợp.

 Cần điều chỉnh ngưỡng so sánh của cảm biến phù hợp nếu nhỏ quá sẽ làm cho

động cơ hoạt động liên tục, không ổn định khi môi trường chỉ có một sựthay đổi nhỏ. Nếu quá lớn sẽkhông đáp ứng đúng khi môi trường có sựthay đổi rõ rệt.

Kết quảđạt được.

Sau những lần chạy thử và khắc phục thì hệ thống đã được cải thiện và hoạt động ổn định.

4.3 Kết quả khối điều khiển qua Internet:

Để lập trình ra một trang web có giao diện phù hợp với yêu cầu của đề tài và có hình thức sinh động, nhóm đã tìm hiểu hai ngôn ngữ lập trình đó là Html và Css. Việc học một ngôn ngữ lập trình mới và ứng dụng vào thực tế là điều khó khăn đối với nhóm, nhưng

cuối cùng thì nhóm cũng hoàn thành được trang websever của mình. Trang web nhóm tạo ra hoạt động tốt, đúng như yêu cầu điều khiển của nhóm đề ra.

CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. 97

Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1 Kết luận:

Trong đềtài này nhóm đã thực hiện được những mục tiêu đặt ra đó là:

 Sạc bình ắc quy theo phương pháp MPPT.

 Dò tìm và xoay tấm pin theo hướng có cường độ sáng lớn nhất.  Xây dựng được webserver đểgiám sát và điều khiển hệ thống.

 Nhóm đã tìm hiểu được cách thức hoạt động và điều khiển được board Intel Galileo

đểứng dụng vào đề tài.

Sau khi hoàn thiện đồán nhóm đã hoàn thành được những mục tiêu đềra trong đúng

thời gian quy định.Mặc dù gặp những khó khăn nhất định về mặt kiến thức và cách giải quyết vấn đềnhưng nhờ vào sự nỗ lực tìm tòi, tham khảo tài liệu và đặc biệt là sự chỉ bảo tận tình của giáo viên hướng dẫn nhóm em đã hoàn thành tốt đề tài của mình.

5.2 Hướng phát triển:

Đề tài “Thiết kế và thi công hệ thống đèn đường thông minh” đã thực hiện được nhiều điểm chính trong việc sử dụng năng lượng mặt trời ở dạng điện năng để nạp cho ắc quy sử dụng cho việc thắp sáng đèn đường khi vềđêm. Hướng phát triển tiếp của đề tài là việc thiết kế có thêm phần cảm biến chuyển động, khi có người đi ngang qua thì đèn sẽ

sáng tỏ, còn ngược lại thì sẽ sáng mờ, việc này sẽ tiết kiệm năng lượng đèn khi đêm

khuya vắng người. Ngoài ra điều mà nhóm muốn hướng tới đó là sử dụng nghịch lưu cho năng lượng tích trữđược đểứng dụng vào nhiều mục đích khác.

Một lần nữa chúng em xin chân thành cảm ơn đến thầy Nguyễn Ngô Lâm và các thầy cô trong khoa đã tạo mọi điều kiện về kiến thức và các thiết bị để chúng em thực hiện đề tài này.

Sách tham khảo

Tiếng Việt

[1] ThS. Nguyễn Nhân Bổn, “Thiết kế, thi công mô hình nâng cao hiệu suất pin mặt trời”, Báo cáo chuyên môn Cấp Khoa Điện-Điện Tử Trường Đại học Sư phạm Kỹ thuật

TP.HCM năm 2014-2015.

[2] Đặng Đình Thống, “Pin Mặt Trời Và Ứng Dụng”, Nhà Xuất Bản Khoa Học Và Kỹ

Thuật, 152 trang, năm 2008.

Tiếng Anh

[3] O. Bingol, A. Altinta, and Y. Oner, “Microcontroller based solar- tracking system

and its implementation,” Journal of Engineering Sciences, vol. 12, pp. 243–248, 2006.

Sơ đồ mạch tham khảo [1] Galileo_schematic.pdf

Datasheet tham khảo

[1] Datasheet Arduino Pro Micro. [2] Ir2101.pdf [3] ACS712-Datasheet.pdf [4]PCF8574_PCF8574A.pdf Website tham khảo  www.arduino.vn  www.intel.com  www.solar-electric.com  www.AllDataSheet.com  www.w3schools.com  http://hshop.vn/products/mach-dieu-khien-dong-co-buoc-tb6600.

Một phần của tài liệu Thiết kế và xây dựng hệ thống đèn đường thông minh (Trang 101)

Tải bản đầy đủ (PDF)

(116 trang)