Đồ án vi điều khiển Khoa Điện – Trường Đại học Đông Á ++++++++++++++++++++AF TRƯỜNG ĐẠI HỌC ĐÔNG Á KHOA CNKT ĐIỆN ĐIỆN TỬ ĐỒ ÁN HỌC PHẦN VI ĐIỀU KHIỂN ĐỀ TÀI ĐO KHỐI LƯỢNG SỬ DỤNG LOADCELL GVHD Ths Lê[.]
Trang 1TRƯỜNG ĐẠI HỌC ĐÔNG ÁKHOA CNKT ĐIỆN - ĐIỆN TỬ
ĐỒ ÁN HỌC PHẦN VI ĐIỀU KHIỂN
Trang 2- Sử dụng boar Arduino uno
- Dùng cảm biếnkhối lượng là Loadcell 5Kg, dùng modul HX711 để biến đổi tín hiệu sau Loadcell.
- Hiển thị khối lượng qua LCD16x2 (có thể sử dụng Modul LCD_I2C.)2 Nội dung báo cáo khoảng 30 trang.
- Chương 1: Tổng quan về đo khối lượng, cấu trúc và nguyên lý đo khối lượng sử dụng LoadCell.
- Chương 2: Tổng quan về Arduino (Khảo sát các loại biến dùng trong lập trìnhArduino)
- Chương 3: Sơ đồ khối, Thiết kế mạch nguyên lý, mạch in và chương trình đo khối lượng dùng Loadcell.
- Chương 4: Thiết kế giao diện giám sát và điều khiển từ máy tính (Visual Studio).
3 Bảo vệ đồ án: Thuyết minh được trình bày theo mẫu (có file hướng dẫn),SVin báo cáo ra giấy A4, đóng tập, bản vẽ trên giấy A3 gồm: Sơ đồ khối, bảngphân công IO, lưu đồ thuật toán Sản phẩm đồ án là mạch điện tử kết nốiArduino với các thiết (một số thiết bị ko đặt được lên mạch thì có bus kết nối)và mô hình kèm theo SV chuẩn bị sẵn nguồn trước khi bảo vệ.
4 Kế hoạch làm:Ngày
Nội dung phải nộp Mạch nguyên lí và thuyết
minh chương 1+2 Chương 3
Mạch hoàn thiện + thuyết minh+slide
Chương 4, Bảo vệ
SVTH: Lê Anh Tú & Đỗ Trọng Nghĩa
Trang 3MỤC LỤC
Chương 1 Tổng quan về đo khối lượng, cấu trúc và nguyên lý đo khối
lượng sử dung loadcell 1
1.1 Tổng quan về đo khối lượng 1
1.2 Cấu trúc đo khối của loadcell 1
1.3 Nguyên lý đo khối lượng khi sử dụng loadcell 2
Chương 2 Tổng quan về Arduino (Khảo sát các loại biến dùng trong lập trình Arduino) 4
2.1 Giới thiệu module Arduino Uno 4
2.1.1 Tổng quan về Arduino Uno 4
2.1.2 Các chức năng của Arduino uno 5
a Môi trường bắt đầu học và phát triển lập trình cho người mới bắt đầu 5
b Thành phần quan trọng, chính trong các dự án điện tử 5
2.1.3 Thông số kỹ thuật module arduino uno 6
2.2 Khảo sát các loại biến được dùng trong arduino 6
Chương 6 Tài liệu tham khảo 12
SVTH: Lê Anh Tú & Đỗ Trọng Nghĩa
Trang 4MỤC LỤC HÌNH ẢNH
Hình 1.1 Cấu tạo của loadcell 2
Hình 2.1 Điện trở Stranin Gauge 2
Hình 3.1 Mạch cầu điện trở Wheatstone 3
Hình 4.2 Module Arduino Uno 4
Bảng 2.3 Code Arduino 11
LỜI NÓI ĐẦU
SVTH: Lê Anh Tú & Đỗ Trọng Nghĩa
Trang 5Để tạo ra cơ hội thực hàng và nắm rõ hơn về kiến thức ngành học, chúng em đã chọn nghiên cứu và thực hiện đề tài: Đo khối lượng sử dụng cảm biến loadcell Trong khuôn khổ đề tài chúng em sẽ thực hiện làm mạch phần cứng, phần mềm và dao diện như sau:
Mục tiêu của đề tài: tạo ra cơ hội tìm hiểu và thực hành một cách thiết thực những
nội dung lí thuyết trong các môn đã học, đặc biệt là các môn như: đo lường cảm biến, vi điều khiển, thiết kế mạch điện tử và ghép nối các thiết bị ngoại vi Và kế đó áp dụngnhững nghiên cứu này vào bài thực hành cụ thể để rõ hơn về lí thuyết và thu góp kinh nghiệm thực hành thực tế.
Đối tượng và phạm vi đề tài: Sử dụng boar mạch Arduino uno, loadcell cùng với
các thiết bị điện khác để tạo ra một chiếc cân có thể cân được một số vật dụng thông thường có những đặc điểm sau:
- Cân được vật nặng tối đa là 5kg (loadcell 5kg).
- Sử dụng màn hình LDC 16x2 để hiện thị số cân nặng.- Sử dụng Module Arduino uno làm bộ xử lí trung tâm.
Phương pháp nghiên cứu: Dựa trên những kiến thức đã học kết với sự tìm tòi,
tổng hợp kiến thức từ các nguồn khác để phân tích và chọn lựa những cách thức ứng dụng phù hợp phục vụ cho thực hiện đề tài.
Ý nghĩa của đề tài: Đề tài là cây cầu gắn kết giữa lý thuyết học được và với việc
thực hiện tạo ra các sản phẩm thực tế để tang kiến thức Mặt khác, đề tài cũng là tài liệu tham khảo cho những nghiên cứu có liên quan hoặc áp dụng cho thực tế.
Báo cáo chuyên đề gồm 4 chương:
Chương 1: Tổng quan về đo khối lượng, cấu trúc và nguyên lý đo khối lượng sử dụng LoadCell.
Chương 2: Tổng quan về Arduino (Khảo sát các loại biến dùng trong lập trình Arduino)
Chương 3: Sơ đồ khối, Thiết kế mạch nguyên lý, mạch in và chương trình đo khối lượng dùng Loadcell.
Chương 4: Thiết kế giao diện giám sát và điều khiển từ máy tính (Visual Studio).
SVTH: Lê Anh Tú & Đỗ Trọng Nghĩa
Trang 6Chương 1 Tổng quan về đo khối lượng, cấu trúc và nguyên lý đo khối lượng sử dung loadcell.
1.1 Tổng quan về đo khối lượng.
Thực tế, trong nhà máy sản xuất thức ăn gia súc hoặc trong các nhà máy sản xuất giấy, đá, bột … ta đều thấy có sự xuất hiện của các loại cân điện tử Các loại cân điện tử này sẽ giúp nhà máy giám sát được trọng lượng của từng silo chứa nguyên liệu hoặctừng lô hàng, sản phẩm.
Và cân điện tử thực ra là tên gọi bình dân thôi, còn trong chuyên ngành; người ta gọi nó bằng cái tên nghe … nước ngoài hơn.
Đó chính là … loadcell Hay còn được gọi là cảm biến loadcell hoặc cảm biến trọng lượng, cảm biến khối lượng.
Vậy thì cảm biến loadcell là gì ? Loadcell là thiết bị cảm biến dùng để chuyển đổi lực hoặc trọng lượng thành tín hiệu điện Hiện tại Load cell bao gồm các loại Load cell thủy lực, Load cell khí nén, Load cell strain gauge.
Có thể hiểu rằng Loadcell là một thiết bị đo trọng lượng cần thiết cho cân điện tử hiển thị trọng lượng bằng chữ số Loadcell hay Cảm biến lực là thiết bị đo cảm biến lực Khi trọng lực tác dụng lên một loadcell, khi đo thiết bị này sẽ chuyển đổi lực đã
tác dụng thành tín hiệu điện Các load cell còn được biết đến như là đầu dò tải (load
transducer) bởi vì nó cũng có thể chuyển đổi một tải trọng (lực tác dụng) thành tín hiệuđiện.
Về công dụng, cảm biến loadcell chuyên dùng để đo trọng lượng trong nhà máy như đo khối lượng sản phẩm trên băng tải, giám sát khối lượng silo chứa nguyên liệu, kiểm tra trọng lượng của sản phẩm sau khi sản xuất.
1.2 Cấu trúc đo khối của loadcell.
Thành phần cấu tạo cơ bản của loadcell bao gồm hai bộ phận chính là đòn cân và mạch xử lý tín hiệu điện tử.
Đối với đòn cân, ta sẽ có 2 phần chính là Strain Gauge và Load.
Hình 1.1 Cấu tạo của loadcell
Trang 7- Trong đó thì Strain Gauge là một loại điện trở đặc biệt chỉ nhỏ bằng móng tay,
có điện trở thay đổi khi bị nén hay kéo dãn và được nuôi bằng một nguồn điện.
Hình 2.1 Điện trở Stranin Gauge.
- Còn phần Load (hay còn gọi là tải) là một thanh kim loại được cố định 1 đầu, 1
đầu còn lại sẽ nối với bàn cân là nơi mà ta sẽ dùng để cân.
- Một loadcell thường bao gồm các strain gauges được dán vào bề mặt của thân
loadcell Thân loadcell là một khối kim loại đàn hồi và tùy theo từng loại loadcell và mục đích sử dụng loadcell, thân loadcell được thiết kế có hình dạng đặc biệt khác nhauvà chế tạo bằng vật liệu kim loại khác nhau (nhôm hợp kim, thép không gỉ, thép hợp kim).
1.3 Nguyên lý đo khối lượng khi sử dụng loadcell.
Ở phần cấu tạo của loadcell, ta đã biết các điện trở strain gauges được dán vào bề mặt của thân loadcell Thông thường ta sẽ có 4 cái điện trở strain gauge được nối vòngvới nhau tạo thành mạch cầu Wheatstone (Wheatstone Bridge) như hình bên dưới.
Hình 3.1 Mạch cầu điện trở Wheatstone
Trang 8Theo sơ đồ trên, một điện áp kích thích (Excitation V) được cung cấp cho ngõ vào loadcell (R1 và R4 của cầu điện trở Wheatstone) và điện áp tín hiệu ra được đo giữa hai góc khác (R2 và R3).
Ở trạng thái không tải, điện áp tín hiệu ra sẽ bằng 0 hoặc gần bằng không.Khi ta đặt vật có khối lượng lên trên dĩa cân, phần thân loadcell bị kéo-nén sẽ làm cho điện trở của các điện trở strain gauge cũng sẽ thay đổi theo do sự thay đổi độ dài và tiết diện của các dây kim loại trong điện trở.
Tuy nhiên, độ biến dạng của thanh kim loại chỉ là phần trọng lượng mà loadcellđo được Để tìm khối lượng của vật, ta cần phải chia cho gia tốc trọng trường.
Mà gia tốc này thì không phải là một hằng số ở mọi nơi trên trái đất Do đó, khi sản xuất cân, nhà sản xuất sẽ xây dựng một bộ hiệu chỉnh bên trong cân điện tử để hiệu chỉnh lại cân tại nơi cần sử dụng Điều này giúp cân luôn đạt được độ chính xác mong muốn.
Chương 2 Tổng quan về Arduino (Khảo sát các loại biến dùng trong lập trình Arduino).
2.1 Giới thiệu module Arduino Uno.
Arduino Uno là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển
Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộngkhác nhau Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…).
Trang 9Hình 4.2.Module Arduino Uno
2.1.1 Tổng quan về Arduino Uno.
Arduino được chế tạo ra chủ yếu để phục vụ các dự án điện tử Nó bao gồm:
- Một phần mềm.
- Một bảng lập trình vật lý.
- IDE, hay còn gọi là môi trường phát triển tích hợp.
Người dùng sẽ sử dụng arduino để viết và tải mã máy tính lên bảng vật lý.Có rất nhiều nguyên nhân dẫn đến sự yêu thích của những người mới bắt đầu đối với nền tảng này Có thể kể đến:
- Nguyên nhân đầu tiên là: Arduino IDE sử dụng phiên bản C ++ đơn giản hóa
Điều này tạo điều kiện cho quá trình dạy và học lập trình diễn ra dễ dàng hơn.
- Arduino không cần một phần cứng riêng biệt (được gọi là bộ lập trình) để tải
mã mới lên bảng Điều mà hầu hết các bảng mạch lập trình khách rất cần Đối với Arduino, bạn chỉ cần một cáp USB để tải.
- Với bộ điều khiển vi mô đã được chia nhỏ các chức năng thành một gói,
Arduino thúc đẩy và khuyến khích người học tiếp cận với lập trình dễ dàng hơn.
2.1.2 Các chức năng của Arduino uno.
a Môi trường bắt đầu học và phát triển lập trình cho người mới bắt đầu.
Bất kỳ ai cảm thấy hứng thú và quan tâm đến việc tạo ra các đối tượng hoặc môi trường tương tác đều có thể sử dụng arduino Với Arduino, người dùng, từ chuyên nghiệp đến mới bắt đầu, đều dễ dàng đóng góp và tạo ra những dự án của họ trên nền tảng này
Có 3 lý do được đưa ra lý giải cho sự phổ biến này của arduino là:
- Nền tảng này hoàn toàn miễn phí.
Trang 10- Phần mềm và phần cứng của nền tảng đều dễ học đối với những người mới bắt
Nó có thể kết nối với nhiều linh kiện và phụ kiện Có thể kể đến: đèn LED, đơn vị GPS, nút, động cơ, internet, smartphone,
- Bo mạch phần cứng có giá thành khá thấp.
b Thành phần quan trọng, chính trong các dự án điện tử.
Arduino được ví như bộ não chính trong hầu hết các dự án điện tử Một số dự án mà arduino đóng vai trò quan trọng là: Robot, máy đo độ trung thực, tay ném xúc xắc,
2.1.3 Thông số kỹ thuật module arduino uno.
Vi điều khiểnATmega328P
Điện áp vào khuyên dùng7-12VĐiện áp vào giới hạn6-20V
Digital I/O pin14 (trong đó 6 pin cókhả năng băm xung)
Cường độ dòng điện trên
Cường độ dòng điện trên
Trang 11Flash Memory(ATmega328P)32 KB
Bảng 1.2 Thông số kỹ thuật Arduino uno
2.2 Khảo sát các loại biến được dùng trong arduino
Các biến trong ngôn ngữ lập trình C, mà Arduino sử dụng, có một thuộc tính gọi là phạm vi Phạm vi là một vùng của chương trình và có ba nơi mà các biến có thể được khai báo Họ là :
- Bên trong một hàm hoặc một khối, được gọi là local variables.
- Trong định nghĩa của các tham số hàm, được gọi là formal parameters.- Bên ngoài tất cả các chức năng, được gọi là global variables.
2.2.1 Biến cục bộ.
Các biến được khai báo bên trong một hàm hoặc khối là các biến cục bộ Chúng chỉcó thể được sử dụng bởi các câu lệnh bên trong hàm hoặc khối mã đó Các biến cục bộkhông được biết là hoạt động bên ngoài của chúng Sau đây là ví dụ sử dụng các biến cục bộ:
Hình 5.2 Ví dụ biến cục bộ.
2.2.2 Biến toàn cục.
Các biến toàn cục được định nghĩa bên ngoài tất cả các hàm, thường ở đầu chương trình Các biến toàn cục sẽ giữ giá trị của chúng trong suốt thời gian hoạt động của chương trình của bạn.
Một biến toàn cục có thể được truy cập bởi bất kỳ hàm nào Tức là, một biến toàn cục có sẵn để sử dụng trong toàn bộ chương trình của bạn sau khi khai báo.
Trang 12Ví dụ sau sử dụng các biến cục bộ và toàn cục:
Trang 13#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 16, 2);#define DOUT 3
#define CLK 4HX711 scale;float weight;float b;
float calibration_factor = -366875; //259225 //255825 // for me this vlaue works just perfect 419640
void setup()
Trang 14delay(700);
scale.begin(DOUT, CLK); Serial.begin(9600);
// pinMode(rbutton, INPUT_PULLUP); scale.set_scale();
scale.tare(); //Reset the scale to 0
long zero_factor = scale.read_average(); //Get a baseline reading
lcd.init(); lcd.backlight(); lcd.setCursor(0, 0);
lcd.print("DO KHOILUONG<5Kg"); lcd.setCursor(0, 1);
lcd.print("KHOILUONG: Kg");}
void loop() {
scale.set_scale(calibration_factor); //Adjust to this calibration factor
weight = scale.get_units(5); b = weight * 1;
if (b<0) {
b=0; }
lcd.setCursor(10, 1); lcd.print(b);
Serial.print("Weight: "); Serial.print(weight); Serial.println(" KG"); Serial.println(); }
Bảng 2.3 Code Arduino.
Trang 15Chương 4 Thiết kế giao diện giám sát và điều khiển từ máy tính (Visual Studio).
Hình 10.4 Giao diện visual studio.
Chương 5 Kết luận:
Với sự tiến bộ của kỹ thuật việc cân 1 vật không nhất thiết phải sử dụng hệ thống lò xo và chỉ thị ra kim nữa, thay vào đó sẽ sử dụng cảm biến loadcell được vi điều khiển xử lý và đưa ra kết quả hiển thị lên màn hình Việc sử dụng cảm biến loadcell này mở ra 1 con đường mới cho các dự án cân tự động và các ứng dụng đi kèm rất quan trọng sau này, ví dụ cân định lượng
Một ứng dụng khá phổ biến thường thấy của Loadcell là được sử dụng trong các
loại cân điện tử hiện nay.
– Từ ứng dụng trong những chiếc cân kỹ thuật đòi hỏi độ chính xác cao cho tới nhữngchiếc cân có trọng tải lớn trong công nghiệp như cân xe tải.
Một số ứng dụng khác:
– Trong ngành công nghệ cao: Với nền khoa học kĩ thuật tiên tiến hiện nay thì
loại Loadcell cỡ nhỏ cũng được cải tiến công nghệ và tính ứng dụng cao hơn
Loại Loadcell này được gắn vào đầu của ngón tay robot để xác định độ bền kéo và lực
Trang 16nén tác động vào các vật khi chúng cầm nắm hoặc nhấc lên.
– Phân phối đều trọng lượng trong công nghiệp:
Công nghệ sử dụng:
Các thế bào tải (Loadcell LSB and LCF Series) kết hợp với các thiết bị định hướng
và thu thập dữ liệu qua máy tính hoặc PLC
Sơ lược hoạt động:
Các loadcell được thiết kế để phù hợp với các ứng dụng tự động hóa trong công nghiệp để phân phối đều trọng lượng sản phẩm Như thể hiện trong sơ đồ dưới
đây, Loadcell được lắp đặt trong dây chuyền tự động hóa, giám sát việc phân phối khối lượng vào từng bao bì một cách chính xác.
Hệ thống hoạt động:
+ Một tế bào tải được kết nối với thiết bị đo cần thiết.
+ Khi khối lượng sản phẩm cho phân phối vào thùng đủ yêu cầu, Loadcell sẽ phát ra
tín hiệu tới bộ điều khiển băng tải để băng tải ngừng làm việc.
+ Tín hiệu khi băng tải dừng được truyền đến hệ thống phân phối thùng chứa để xuất thùng chứa.
+ Khi thùng chứa được phân phối sẽ phát ra tín hiệu để hệ thống phân phối sản phẩm tiếp tục hoạt động.
– Ứng dụng trong cầu đường
Các Loadcell được sử dụng trong việc cảnh báo độ an toàn cầu treo Loadcell được
lắp đặt trên các dây cáp để đo sức căng của cáp treo và sức ép chân cầu trong các điều kiện giao thông và thời tiết khác nhau Các dữ liệu thu được sẽ được gửi đến một hệ thống thu thập và xử lí số liệu sau đó số liệu sẽ được xuất ra qua thiết bị truy xuất nhưđiện thoại, máy tính, LCD Từ đó có sự cảnh báo về độ an toàn của cầu Từ đó tìm ra các biện pháp cần thiết để sửa chữa kịp thời.
Chương 6 Tài liệu tham khảo.
https://www.ino.com.vn/tin-tuc-cong-nghe/gioi-thieu-va-huong-dan-su-dung-can-https://www.dientuhello.com/chia-se-code-can-dien-tu-loadcell-voi-arduino/