Đồ án vi xử lý sử dụng MSP430G2553 và Cảm biến trọng lượng loadCell 5kg + HX711 (Có code mẫu và sơ đồ chi tiết + giải thích) Đếm và phân loại sản phẩm theo khối lượng và cảnh báo nếu vượt quá khối lượng
GIỚI THIỆU ĐỀ TÀI I - Em đưa mô hình thiết kế lập trình điều khiển cân điện tử sử dụng MSP430G2553 hiển thị LCD II MỤC TIÊU YÊU CẦU Mục tiêu: Thiết kế sơ đồ giải thuật đề tài Giao tiếp cảm biến cân với MSP430 giao tiếp MSP430 với LCD Yêu cầu: Nắm vững kiến thức Sơ đồ chân, cách giao tiếp chức linh kiện sử dụng Giải thuật lập trình điều khiển III PHƯƠNG PHÁP THỰC HIỆN: Tìm hiểu lựa chọn linh kiện: Đề tài sử dụng cảm biến loadcell loại 10kg • • • • • • • Trở kháng đầu vào : 1066 ±20 Trở kháng ngõ : 1000 ±20 Điện áp hoạt động : 5V Dây đỏ : ngõ vào (+) Dây đen : ngõ vào (-) Dây xanh : ngõ (+) Dây trắng : ngõ (-) Hình : Cảm biến loadcell 10kg 1.1) Loadcell : thiết bị cảm biến dùng để chuyển đổi lực trọng lượng thành tín hiệu điện thường sử dụng để cảm ứng lực lớn, tĩnh hay lực biến thiên chậm 1.2) Cấu tạo: Loadcell cấu tạo bởi hai thành phần,thành phần thứ Strain gauge thành phần lại Load +Strain gauge Strain gauge một điệ n trở đặc biệt nhỏ móng tay, có điện trở thay đổi bị nén hay kéo dãn nuôi một nguồn điệ n ổn định, đượ c dán lên “ Load ” - một kim loại chịu tải có tính đàn hồi Hình 1: Cấu tạo cảm biến Loadcell Cấu tạo Loadcell gồm điện trở strain gauge R1,R2,R3,R4 kết nối thành một cầu trở Wheatstone (như hình dưới) dán vào bề mặt thân loadcell Hình 2: Mạch cầu Wheatstone Mợt điện áp kích thích cung cấp cho ngõ vào loadcell (2 góc (1) (4) cầu điện trở Wheatstone) điện áp tín hiệu đo hai góc Ban đầu cầu cân bằng,điện áp 0V.Khi có lực tác động lên điện trở strain gauge(được mắc bàn cân) thay đổi giá trị => Mạch cầu khơng cân => Xuất điện áp ở điểm (Như hình) Từ ta lấy khối lượng từ mức điện áp trả Hình 3:Nguyên lý hoạt động loadcell Điện trở strain gauge đươc tính theo cơng thức : R= Điện trở strain gauge (Ohm) L = Chiều dài sợi kim loại strain gauge (m) S = Tiết diện sợi kim loại strain gauge (m2) P= Điện trở suất vật liệu sợi kim loại strain gauge Khi dây kim loại bị lực tác động thay đổi điện trở Khi dây bị lực nén, chiều dài strain gauge giảm, điện trở giảm xuống Khi dây bi kéo dãn, chiều dài strain gauge tăng, điện trở tăng lên Điện trở thay đổi tỷ lệ với lực tác động Hình 4: Strain gauge (Mơ tả thay đổi lực tác dụng) 1.3) Phân loại: Có thể phân loại Loadcells sau: Loại Loadcell theo lực tác động: chịu kéo (Shear Loadcell), chịu nén (Compression Loadcell), dạng uốn (Bending), chịu xoắn (Tension Loadcell) Loại theo kích thước khả chịu tải: Loại bé, vừa, lớn Loại Loadcell theo hình dạng: Dạng đĩa, dạng thanh, dạng trụ, dạng cầu, dạng chữ S , hình Hình :Các dạng Loadcell Loại loadcell theo tín hiệu mã hóa: o Tín hiệu từ Loadcell số (Digital Loadcell) truyền thị dạng số (Đếm o xung =>Vi điều khiển =>hiển thị) Tín hiệu từ Loadcell tương tự (Analog Loadcell) truyền thị dạng điện áp.( Tín hiệu dạng tương tự => Khuếch đại =>ADC => vi điều khiển =>hiển thị) o Hình 6:Digital Loadcell Analog Loadcell 1.4) Ứng dụng Loadcell: Một ứng dụng phổ biến thường thấy Loadcell sử dụng loại Cân điện tử cân kĩ thuật đòi hỏi đợ xác cao cân có trọng tải lớn cơng nghiệp cân xe tải.Có mợt số loại Loadcell gắn vào đầu ngón tay robot để xác định độ bền kéo lực nén tác động vào vật chúng cầm nắm nhấc lên, một vài ứng dụng phổ biến khác 10 /* */ void LCD_GoToLineTwo() /* */ { LCD_CmdWrite(LCD_LINE_TWO); First Position // Move the Cursor to Second line } /* */ void LCD_GoToXY(char row, char col) /* */ { char pos; if(rowpos=0xc0 if(col 00019 /* */ { LCD_Write_Char((num/10000)+0x30); num=num%10000; LCD_Write_Char((num/1000)+0x30); num=num%1000; LCD_Write_Char((num/100)+0x30); 26 num=num%100; LCD_Write_Char((num/10)+0x30); LCD_Write_Char((num%10)+0x30); } /* */ void LCD_Write_Int(unsigned long n) //Example: 19 => 19 /* */ { unsigned char buffer[16]; unsigned char i,j; if(n == 0) { LCD_Write_Char('0'); return; } for(i=15; i>0 && n>0; i ) { buffer[i] = (n%10)+'0'; n /= 10; } for(j=i+1; j 10.20 /* */ { unsigned long temp; if(coma>4)coma=4; if(x0) { LCD_Write_Int(temp); x=((float)x-temp); //*mysqr(10,coma); if(coma!=0) 28 LCD_Write_Char('.'); // In dau "." switch(coma) { case 1: x*=10; break; case 2: x*=100; if(x_BIT.b7 #define P2OUT0 _P2_OUT->_BIT.b0 #define P2OUT1 _P2_OUT->_BIT.b1 #define P2OUT2 _P2_OUT->_BIT.b2 #define P2OUT3 _P2_OUT->_BIT.b3 #define P2OUT4 _P2_OUT->_BIT.b4 #define P2OUT5 _P2_OUT->_BIT.b5 #define P2OUT6 _P2_OUT->_BIT.b6 #define P2OUT7 _P2_OUT->_BIT.b7 #define P1DIR0 _P1_DIR->_BIT.b0 #define P1DIR1 _P1_DIR->_BIT.b1 #define P1DIR2 _P1_DIR->_BIT.b2 #define P1DIR3 _P1_DIR->_BIT.b3 #define P1DIR4 _P1_DIR->_BIT.b4 #define P1DIR5 _P1_DIR->_BIT.b5 #define P1DIR6 _P1_DIR->_BIT.b6 #define P1DIR7 _P1_DIR->_BIT.b7 #define P2DIR0 _P2_DIR->_BIT.b0 35 #define P2DIR1 _P2_DIR->_BIT.b1 #define P2DIR2 _P2_DIR->_BIT.b2 #define P2DIR3 _P2_DIR->_BIT.b3 #define P2DIR4 _P2_DIR->_BIT.b4 #define P2DIR5 _P2_DIR->_BIT.b5 #define P2DIR6 _P2_DIR->_BIT.b6 #define P2DIR7 _P2_DIR->_BIT.b7 #define P1IN0 _P1_IN->_BIT.b0 #define P1IN1 _P1_IN->_BIT.b1 #define P1IN2 _P1_IN->_BIT.b2 #define P1IN3 _P1_IN->_BIT.b3 #define P1IN4 _P1_IN->_BIT.b4 #define P1IN5 _P1_IN->_BIT.b5 #define P1IN6 _P1_IN->_BIT.b6 #define P1IN7 _P1_IN->_BIT.b7 #define P2IN0 _P2_IN->_BIT.b0 #define P2IN1 _P2_IN->_BIT.b1 #define P2IN2 _P2_IN->_BIT.b2 #define P2IN3 _P2_IN->_BIT.b3 #define P2IN4 _P2_IN->_BIT.b4 #define P2IN5 _P2_IN->_BIT.b5 #define P2IN6 _P2_IN->_BIT.b6 #define P2IN7 _P2_IN->_BIT.b7 36 #endif Mơ hình thực tế: 37 IV NGUN LÝ HOẠT ĐỘNG 38 Khi mạch hoạt động, cảm biến Loadcell từ dạng tương tự analog kết nối với mạch khếch đại HX711 để biến đổi ADC dạng tín hiệu tương tự sang dạng tín hiệu số Mạch khuếch đại HX711 cho liệu xung để cấp vào ngõ vào chân biến đổi ADC MSP430G2553 để xuất liệu MSP430G2553 cho hiển thị LCD 16x2 Giá trị nhận LCD kết cân nặng trình lập trình điều khiển V KẾT QUẢ ĐẠT ĐƯỢC Mạch chạy theo yêu cầu đề tài Có thể cân vật 5kg Nhược điểm Vẫn sai số khơng đáng kể Chưa thiết kế chức phụ lưu kết cân được…!!!! 39 ... Có thể phân loại Loadcells sau: Loại Loadcell theo lực tác động: chịu kéo (Shear Loadcell) , chịu nén (Compression Loadcell) , dạng uốn (Bending), chịu xoắn (Tension Loadcell) Loại theo... Loại Loadcell theo hình dạng: Dạng đĩa, dạng thanh, dạng trụ, dạng cầu, dạng chữ S , hình Hình :Các dạng Loadcell Loại loadcell theo tín hiệu mã hóa: o Tín hiệu từ Loadcell số (Digital Loadcell) ... Loadcell tương tự (Analog Loadcell) truyền thị dạng điện áp.( Tín hiệu dạng tương tự => Khuếch đại =>ADC => vi điều khiển =>hiển thị) o Hình 6:Digital Loadcell Analog Loadcell 1.4) Ứng dụng Loadcell: