3.4.1 Giới thiệu phần mềm mô phỏng Protues
Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51,PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola. Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, AVR, HC11, MSP430, ARM7/LPC2000 ... các giao tiếp I2C, SPI, CAN, USB, Ethenet,... ngòai ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Proteus là bộ công cụ chuyên về mô phỏng mạch điện tử.
3.4.2 Mô phỏng trên Protues
Tiến hành mô phỏng các trường hợp xảy ra để xem kết quả hiển thị từ đó điều chỉnh chương trình cho tối ưu nhất
3.5 Thiết kế mạch đo trên phần mềm Fritzing
Fritzing là một phần mềm CAD phổ thông thích hợp thiết kế phần cứng điện tử , để hỗ trợ sinh viên và người có nhu cầu mô phỏng mạch thực tế hơn so với các phần mềm khác.
Việc LCD có khá nhiều chân kết nối gây bất tiện đến mô hình khi đi đây , cho nên sử dụng Module I2C để tối ưu hóa số chân kết nối với Arduino được giảm lại.
3.6 Xây dựng chương trình code điều khiểnCode chương trình Code chương trình #include <LiquidCrystal.h> #include <LiquidCrystal_I2C.h> #define echoPin 3 #define trigPin 2 #define greenled 8 #define redled 9 #define loa 12 LiquidCrystal_I2C lcd(0x27, 16, 2); float d_cm; float time; float distance;
pinMode(echoPin, INPUT); pinMode(greenled, OUTPUT); pinMode(4, OUTPUT); pinMode(redled, OUTPUT); pinMode(loa, OUTPUT); lcd.begin(16,2);
lcd.print("Do khoang cach"); lcd.backlight();
lcd.setCursor(0,1);
lcd.print("Cam bien sieu am"); delay(2000);
lcd.clear();
lcd.print(" Ngoc Hiep"); delay(2000); } void loop() { lcd.clear(); digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
time = pulseIn(echoPin, HIGH);
distance = time / 29.1 / 2; //công thức tính khoảng cách lcd.clear(); lcd.print("K.cach:"); lcd.print(distance); lcd.print("cm"); lcd.setCursor(0,1); lcd.print("K.cach:");
lcd.print(17 - distance); // hiển thị mực nước trong bể lcd.print("cm");
delay(1000);
if (distance<=4) // Nếu khoảng cách bằng hoặc dưới 4cm {
digitalWrite(loa, HIGH); //còi bật
digitalWrite(loa, LOW); digitalWrite(redled, LOW); digitalWrite(greenled, HIGH); digitalWrite(4, HIGH); } Serial.print("Distance:"); Serial.print(d_cm); Serial.println("cm"); }
CHƯƠNG 4: THI CÔNG MẠCH VÀ YÊU CẦU ĐẠT ĐƯỢC 4.1 Hoàn thành sản phẩm
4.2 Thực hành và đọc kết quả
Hình 19(b): Kết quả đo lần 2
Hình 19(c): Kết quả đo lần 3
Khoảng cách từ bề mặt mực nước đến cảm biến
Khoảng cách mực
nước trong bể Led Mức độ
Lần 1 16.24 cm 0 cm Xanh An toàn
Lần 2 12.80 cm 4.20 cm Xanh An toàn
Lần 3 2.13 cm 14.87 cm Đỏ Nguy hiểm
4.3 Đánh giá sản phẩm
Ưu điểm Nhược điểm
• Cảm biến siêu âm đo mức nước không tiếp xúc vói môi chất cần đo. Đây chính là ưu điểm lớn nhất của cảm biến siêu âm. Chính vì thế mà tuổi thọ của cảm biến siêu âm sẽ bền hơn rất nhiều so với các loại cảm biến tiếp xúc trực tiếp.
• Thiết kế nhỏ gọn nhưng vẫn đạt chuẩn công nghiệp.
• Điều chỉnh được khoảng cách bất kỳ trong khoảng cách mà cảm biến đo được.
• Độ chính xác cao so với cảm biến điện dung.
• Thời gian đáp ứng nhanh
• Cảm biếu siêu âm sẽ có điểm chết không đo được nằm gần cảm biến.
• Khoảng cách lắp đặt với thành bồn phải có một khoảng cách phù hợp với khoảng cách đo của cảm biến.
• Không thể đo được khi có vật cản trong phạm vi đo
• Nhiệt độ max 80oC và áp suất làm việc thấp max 1 bar
• Các trường hợp có bọt thì cảm biến không phân biệt được
• Để đo chính xác chúng ta cần phải cài đặt lại theo khoảng cách đo
4.4 Phạm vi ứng dụng
Ứng dụng vào đo bể chứa hồ thủy điện , kênh mương
Ứng dụng rộng rãi vào các xí nghiệp nhỏ và hộ gia đình như là đo mực chất lỏng trong bể ( xăng dầu , hóa chất lỏng,…….)
Hệ thống có thể sử dụng thuận tiện cho việc đo từ xa mức nước hoặc đo mực nước kênh tưới tiêu để từ đó điều chỉnh sử dung mực nước hợp lý
4.5 Xu hướng phát triển
Như ví dụ phía trên, trên các dòng ô tô hiện nay, ở phần đầu xe và đuôi xe đều được trang bị cảm biến siêu âm đo khoảng cách. Khi phát hiện phần đầu xe hoặc đuôi xe gần va chạm thì cảm biến sẽ xuất tín hiệu báo động về để báo cho tài xế biết là sắp có va chạm.
Trong công nghiệp, cảm biến siêu âm được ứng dụng trong những ứng dụng phát hiện dị tật của sản phẩm; phát hiện sản phẩm bị ngã đổ trên băng chuyền, phát hiện sản phẩm bị nứt hoặc bể,….
Ngoài ra, người ta còn dùng cảm biến siêu âm để đo mức nhiên liệu trong bể hoặc xác định kích thước của sản phẩm
DANH MỤC TÀI LIỆU THAM KHẢO
[1] N. T. H. Phạm Văn Huy, Vi điều khiển và ứng dụng của Arduino dành cho người tự học, NXB Bách Khoa Hà Nội.
[2] L. C. T. Phạm Văn Huy, Lập trình điều khiển với Arduino, NXB Khoa học và Kĩ thuật.
[3] K. P. Q. H. TS. Trương Đình Nhơn, Hướng dẫn sử dụng Arduino, NXB Đại học Quốc gia TP.HCM.
[4] "www.banlinhkien.vn," [Online]. [5] "http://Arduino.vn," [Online].