điều khiển đọc được tín hiệu ra từ loadcell ta phải sử dụng mạch khuyếch đại tín hiệu đó lên nhiều lần rồi mới đưa tín hiệu điện áp vào vi điều khiển.. vật có khối lượng nhỏ lên thì điện
Trang 1ĐẠI HỌC NÔNG LÂM TPHCM KHOA CƠ KHÍ-CÔNG NGHỆ
LỚP DH10TD
BÀI BÁO CÁO CẢM BIẾN TRONG ĐIỀU KHIỂN
LOADCELL
GVHD: Th.S LÊ VĂN BẠN
SVTH: ĐẶNG THANH PHƯƠNG MSSV: 10138006
NGUYỄN NGỌC HẢI 10138007
NGUYỄN HOÀNG MINH 10138061
NGUYỄN TRỌNG TÀI 10138028
LÊ PHƯƠNG NHẬT ANH 09138002
LA ĐÌNH KHÁNH 10138040
ĐINH NGỌC LĨNH 10138049
TPHCM THÁNG 5 - 2013
Trang 2I YÊU CẦU :
- Sơ đồ các khối
- Nguyên lý hoạt động
1 Thiết kế mạch nguồn.
R 4
3 3 0
- 5 V
U 4
L 7 9 0 5 / T O 3
2 3
+ 5 V
C 2
1 0 u F
D 7
L E D
0
C 3
1 0 0 0 u F
C 1
1 0 0 0 u F
C 5
1 0 0 u F
0
0
D 1
B R I D G E
1
4
J 4
C O N 2
1 2
R 9
3 3 0
0
0
U 3
L 7 8 0 5 / T O 3
1
3
V I N
D V O U T
J 5
C O N 2
1 2
C 6
1 0 0 0 u F
0
L E D
0
J 3
A C i n p u t
1
2
3
0
C 4
1 0 0 0 u F
sơ đồ mạch nguồn
Để loadcell có thể làm việc được cần tạo ra một nguồn nuôi cho
loadcell,trong đề tài sử sụng nguồn 5V để nuôi loadcell.Ngoài ra mạch chính cũng cần có nguồn nuôi cho vi điều khiển,các mạch nguồn này được tích hợp trên từng mạch
Nguồn vào là nguồn AC 9V,trong mạch sử dụng hai ic l7805và l7905 để tạo ra
điện áp +5V và -5V
Trang 3 Diode cầu dùng để chỉnh lưu.
Các tụ điện dùng trong mạch có chức năng lọc để điện áp ra thẳng hơn
2 thiết kế mạch khuyếch đại tín hiệu.
điều khiển đọc được tín hiệu ra từ loadcell ta phải sử dụng mạch khuyếch đại tín hiệu đó lên nhiều lần rồi mới đưa tín hiệu điện áp vào vi điều khiển
vật có khối lượng nhỏ lên thì điện áp ra đo được sẽ rất nhỏ,nếu đặt hai vật có khối lượng chênh lệch nhau một vài kg thì hầu như điện áp ra thay đổi không đáng kể.Vì vậy việc thiết kế mạch khuyếch đại là rất quan trọng,
trở có chức năng điều chỉnh để đạt hệ số khuyếch đại mong muốn.Các điện trở dùng trong mạch phải là các điện trở có sai lệch nhỏ(0.1%)
- 5 v
V 1
R 7 1 0 0 k
R 3
1 0 0 k
J 2
C O N 2
1 2
0
+ 5 v
R 6
1 0 0 k
R 8
V o u t
J 1
1 2 3 4
+
-U 6
O P - 0 7
3
2 6
L O A D C E L L
- 5 v
R E D
0
R 5
1 0 0 k
+
-U 8
O P - 0 7
3
2 6
+ 5 v
y e l l o w
b l u e
R 2 1 0 0 k
- 5 v
R 1 1 0 0 k
+
-U 7
O P - 0 7
3
2 6
+ 5 v
0
+ 5 v
a ( m V )
sơ đồ mạch khuyếch đại
Trang 4Trong sơ đồ mạch trên các điện trở R1 = R2 = R6 = R7 = 100k
Điện áp ngõ ra được tính bởi công thức:
Trong đó :V1,V2 là các giá trị điện áp từ loadcell
+Rgain :giá trị của biến trở
+Vout là điện áp sau khi đã khuyếch đại.Muốn giá trị điện áp bằng bao nhiêu ta chỉ cần chỉnh biến trở để thay đổi Rgain
nhiều lần nhưng gía trị khuyếch đại này không vượt quá giá trị điện áp nguồn nuôi cho loadcell.Ví dụ:điện áp nguồn nuôi cho loadcell là 5V thì giá trị khuyếch đại tối đa phải nhỏ hơn hoặc bằng 5V
mạch,dùng đồng hồ đo điện áp sau khuyếch đại thấy mạch chạy tốt.Ta tiến hành chạy mạch in và làm mạch
2
3 ) 1 2 1 ( 1
R Rgain
R V
V
Vout
+
=
−
2
3 ) 1 2
)(
1 2 1
(
R
R V V
Rgain R
Trang 5Hình mạch in của mạch khuyếch đại
ổn định hay không,trong quá trình làm mạch ta nên làm đến đâu kiểm tra đến đó
để dễ phát hiện và sửa chữa
3 Thiết kế mạch kết nối với LCD.(mạch chính)
Giá trị định lượng được hiển thị ra LCD là giá trị số,trong khi đó tín điện áp ra
từ loadcell là tín hiệu tương tự (analog).Do đó để hiển thị được giá trị kết quả định lượng được ra LCD bắt buộc phải qua quá trình chuyển đổi từ tín hiệu tương tự sang tín hiệu số.Có nhiều cách để làm được việc này như:dùng mạch chuyển đổi A/D trong đó sử dụng các loại ic có chức năng chuyển đổi
A/D.Trong đề tài khhông thiết kế mạch chuyển đổi A/D mà dùng vi điều khiển
Trang 6pic16f877a.Vì pic16f877a là một trong những vi điều khiển có tích hợp sẵn bộ chuyển đổi A/D.Trong pic16f877a.,
Nên việc chuyển đổi từ tín hiệu tương tự sang tín hiệu số chỉ vấn đề viết chương trình chuyển đổi cho nó
Sơ đồ mạch kết nối với LCD
Trong mạch ở hình trên LCD được kết nối với portB
+R5 là biến trở để chỉnh độ tương phản của LCD
+R10 dùng để chỉnh điện áp tham chiếu
● Nguyên lý hoạt động của mạch:
Tín hiệu điện áp đã khuyếch đại sẽ đưa vào chân AN0 của portA
Trang 7 PortA nhận tín hiệu điện áp đó,viêch chuyển đổi A/D và quá trình xử lý ,tính toán và hiển thị giá trị định lượng được thực hiện bằng viết
chương trình để vi điều khiển thực hiện
4 thiết kế mạch nạp cho vi điều khiển.
0
0
D 1
5 v 1
0
0
D 2
5 v 1
R 1 4 k 7
R 2 4 k 7
R 3 4 k 7
J 3
3 4 5 6
I S O 1
P 2
5 9 4 8 3 7 2 6 1
0
0
sơ đồ mạch nạp cổng com
5. thiết kế sơ đồ hệ thống đo.
Chọn sơ đồ khối hệ thống
Trong tất cả các phương pháp đo bằng kỹ thuật số thì hầu hết đều có chung sơ
đồ hệ thống đo ở hình sau:
Trang 8
Sơ đồ nghuyên lý đo
Trong đề tài này đại lượng vật lí cần đo là khối lượng,tín hiệu điện là tín hiệu điện thế
Đại lượng vật lý được loadcell tiếp nhận và chuyển sang tín hiệu điện thế
Do tín hiệu điện thế từ loadcell rất nhỏ khoảng 1,3mV/V đến 3mV/V và dải biến thiên rất ngắn,để phù hợp với tính chất của bộ chuyển đổi A/D thì phải cần đến mạch khuyếch đại tín hiệu
Do kết quả đo được hiển thị ra ở dạng số cho nên phải có quá trình chuyển đổi,xử lý rồi mới hiển thị ra kết qủa
6 Code lập trình cho PIC16F877A , viết bằng mikroC :
/*****************************************************
Nhóm 1
7/5/2013
LOADCELL
******************************************************/
void main() //Khaibaochuongtrinhchinh
{
unsigned long khoiluong; //khai bao bien khoi luong
Đại lượng
vật lý cần đo
Tín hiệu điện thế hoặc dòng điện dạng analog
Khuyếch đại tín hiệu
Chuyển đổi A/D
Xử lý tín hiệu Hiển thị kết
quả
Trang 9unsigned char chuoi[12]; //Khai bao bien chuoi dang mang 1 chieu co 12 phan tu
unsigned char i,j,ketqua[5]; //Khai bao bien i,j de chay vong lap Bien ket qua la mang 1 chieu co 5 phan tu de chua ket qua sau khi chuyen sang dang chuoi de hien thi ra LCD
TRISB = 0; // Khai bao PORT B la ngo ra (dieu khien LCD)
// Thietlap LCD
Lcd_Init(&PORTB); // LCD duoc noi voi PORTB theo cac chan mac dinh la //D7 ' PORTB.7
//D6 ' PORTB.6
//D5 ' PORTB.5
//D4 ' PORTB.4
//E ' PORTB.3
//RS ' PORTB.2
//RW ' PORTB.0
// Thietlap chuyendoiAD Chan AN0 (kenh0) duocdung trongbaitap nay ADCON1 = 0x80; // Thiet lap cac ngo vao analog va dien ap tham chieu Vref = Vdd = 5V
ADCON0 = 0xC1;//Chon va cho phep xung clock
TRISA = 0xFF; // Khai bao PORT A la ngo vao
PORTA=0; //Gan gia tri ban dau cho cac chan cua PORT A = 0
//Hienthiloigioithieu
Lcd_Cmd(LCD_CLEAR); //Xoaman hinhLCD
Lcd_Cmd(LCD_CURSOR_OFF); //Tat hien thi con tro
Lcd_Out(1,1,"Do kh.luong"); //Hien thi dong chu"do khoi.luong" ra LCD tai
vi tri 1x1
Delay_ms(2000); //Cho2000 miligiay
Trang 10Lcd_Cmd(LCD_CLEAR); //Xoa man hinh LCD
while(1) //Vong lap vo tan de lap lai chuong trinh
{
//Doc nhiet do
khoiluong= Adc_read(0); // Doc ket qua chuyen doi AD tu kenh 0
Delay_ms(200); //Cho200 miligiay
khoiluong= khoiluong/2; //Tinh gia tri nhiet do = gia tri doc chia cho he so chuyen doi(vi du: 2)
//Xu ly du lieu
LongToStr(khoiluong,chuoi); //Chuyen gia tri cua bien nhiet do sang dang chuoi va luu trong bien chuoi
//Xu ly chuoi de loai bo cac khoang trang va luu ket qua xu ly vao bien ket qua
j=0; //Gan gia tri ban dau bang 0 cho bien j (phan tu cua bien ket qua)
for(i=0;i<=11;i++) //Vong lap voi bien i chay 12 lan de quet cac phan tu cua bien chuoi
{
if(chuoi[i] != ' ') // Neu phan tu thu i cua chuoi khong phai la khoang trang thi
{
ketqua[j]=chuoi[i]; //Gan phan tu thu i cua chuoi cho phan tu thu j cua ket qua
j++; //Tang gia tri cua bien j len 1
}
}
//Hienthiketqua
Lcd_Cmd(LCD_CLEAR); //Xoa man hinh LCD
Trang 11Lcd_Cmd(LCD_CURSOR_OFF); //Tat hien thi con tro
Lcd_Out(1,1,"Kh.luong (kg):"); //Hien thi dong chu "Kh.luong (kg):" ra LCD tai vi tri 1x1
Lcd_Cmd(LCD_SECOND_ROW); //Chuyen con tro xuong dong thu 2 Lcd_Out(2,1,ketqua); //Hien thi gia tri nhiet do dang chuoi luu trong bien ket qua ra LCD tai dong thu2
Delay_ms(1000); //Cho 500 mili giay cho lan doc giatri tieptheo
}
}
7 Mạch mô phỏng: