GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHOA CƠ KHÍ – CÔNG NGHỆ ¯ BÁO CÁO THỰC HÀNH CẢM BIẾN TRONG ĐIỀU KHIỂN CẢM BIẾN LỰC LOADCELL... delay100; lcd.clear
Trang 1GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ – CÔNG NGHỆ
¯
BÁO CÁO THỰC HÀNH CẢM BIẾN TRONG ĐIỀU KHIỂN
CẢM BIẾN LỰC LOADCELL
Trang 2
GVHD : Ths LÊ VĂN BẠN SVTH : Trần Đức Bảo LỚP : DH12TD
MSSV : 12138017
Tháng 6 năm 2015
I SƠ ĐỒ KHỐI MẠCH:
II SƠ ĐỒ MẠCH NGUYÊN LÝ:
HIỂN THỊ LCD
MẠCH ĐIỀU KHIỂN ARDUINO
MẠCH KHUẾCH ĐẠI
CẢM BIẾN
LOADCELL
Trang 3 NHỮNG THÔNG SỐ CƠ BẢN CỦA BỘ KHUẾCH ĐẠI:
IC INA128P
Trang 4 THÔNG SỐ ICL7660:
Trang 5III LẬP TRÌNH VỚI VI ĐIỀU KHIỂN:
CODE CHƯƠNG TRÌNH:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int G = 0;
int out = 7;
Trang 6int button1 = 8;
int button2 = 9;
int LoadCell = A0;
float analog =0;
float kl = 0;
int scale = 1;
void setup()
{
pinMode(button1, INPUT); pinMode(out, OUTPUT);
lcd.clear();
lcd.begin(16,2);
analogReference(EXTERNAL); lcd.print(G);
}
Trang 7void kylogam(){
analog=analogRead(LoadCell); delay(1000);
kl=analog * 97.65625/1000; lcd.setCursor(0,0);
lcd.print("KL =");
lcd.setCursor(5,0);
lcd.println(kl,2);
lcd.print(" Kg ");
delay(100);
}
void introduce()
{
lcd.clear();
Trang 8lcd.setCursor(0,0);
lcd.print("BAO CAO CAM BIEN"); lcd.setCursor(1,1);
lcd.print("TRAN DUC BAO"); delay (1000);
for(int x=0; x < 3; x++) {
lcd.noDisplay(); //tat hien thi
delay(300);
lcd.display(); // bat hien thi
delay(300);
}
}
void loop()
{
introduce();
Trang 9delay(100);
lcd.clear();
kylogam();
lcd.clear();
lcd.setCursor(0,1);
lcd.print("KL = ");
lcd.setCursor(5,0);
lcd.print(kl,2);
lcd.print("Kg ");
delay(100000);
}
GIẢI THÍCH CHƯƠNG TRÌNH:
B t đ u chầu chương trình ta khai báo thư viện Lcd và định nghĩa chân ương trình ta khai báo thư viện Lcd và định nghĩa chân ng trình ta khai báo th vi n Lcd và đ nh nghĩa chân ư ện Lcd và định nghĩa chân ịnh nghĩa chân cũng nh các bi n c n dùng cho toàn b chư ến cần dùng cho toàn bộ chương trình ầu chương trình ta khai báo thư viện Lcd và định nghĩa chân ộ chương trình ương trình ta khai báo thư viện Lcd và định nghĩa chân ng trình
+ #include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // dinh nghia chan cho LCD
Trang 10int scale = 1;
int buttonPin=8;// chan ket noi voi phim nhan
+ Trong hàm setup() chúng ta c n quan tâm t i câu l nh: ầu chương trình ta khai báo thư viện Lcd và định nghĩa chân ới câu lệnh: ện Lcd và định nghĩa chân
analogReference(EXTERNAL);
Khai báo đi n áp tham chi u cho b chuy n đ i ADC bên trong ện Lcd và định nghĩa chân ến cần dùng cho toàn bộ chương trình ộ chương trình ển đổi ADC bên trong ổi ADC bên trong Arduino Uno là EXTERNAL: đi n áp áp d ng cho pin Aref (ện Lcd và định nghĩa chân ụng cho pin Aref ( 0 đ n ch ến cần dùng cho toàn bộ chương trình ỉ 5V ) được sử dụng làm tài liệu tham khảo ử dụng làm tài liệu tham khảo ụng cho pin Aref (c s d ng làm tài li u tham kh o.ện Lcd và định nghĩa chân ảo
Đ tính toán đúng giá tr kh i lển đổi ADC bên trong ịnh nghĩa chân ối lượng chúng ta cần lưu ý những điểm ược sử dụng làm tài liệu tham khảo.ng chúng ta c n l u ý nh ng đi m ầu chương trình ta khai báo thư viện Lcd và định nghĩa chân ư ững điểm ển đổi ADC bên trong sau:
B chuy n đ i ADC g m 10 bit t c làộ chương trình ển đổi ADC bên trong ổi ADC bên trong ồm 10 bit tức là ức là 1024 mức
+ Điện áp tham chiếu cho bộ chuyển đổi ADC là 3V
Đối với INA128P thì điện áp ngõ ra tuyến tính với giá trị đo
Hệ số chuyển đổi điện áp sang nhiệt độ là 30mV/100kg = 0,03V/1kg Xây dựng công thức tính nhiệt độ
Trang 11Ta biết:
+ 3 volt (3000 mV) có 1024 mực biểu diễn, vậy 1 mức sẽ là 3/1024 (volt),
để chuyển đổi từ điện áp sang nhiệt độ thì ta chia tiếp cho 0,03V Từ đây
ta thấy cứ 1 mức chuyển đổi của ADC tương ứng với
3
1024 ×0.03=0.09765624=
97.65625 1000