Xuất phát từ nhu cầu thực tế và ứng dụng công nghệ vi điều khiển các nhà khoa học đã nghiên cứu ra các loại cân điện tử hiển thị số có thể cân được trọng lượng từ mg đến hàng trăm tấn mà
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN
Nguyễn Đức Thành
THIẾT KẾ CÂN ĐIỆN TỬ VÀ HIỂN THỊ TRÊN
MÁY TÍNH
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: CNKT Điện tử Viễn thông
Cán bộ hướng dẫn: ThS Nguyễn Thu Hiền
Trang 2TÓM TẮTTóm tắt: Cân trọng lượng là một nhu cầu cần thiết và không thể thiếu trong đời sống xã hội,
từ người nông dân đến các khu chế xuất, các nhà máy, xí nghiệp, Xuất phát từ nhu cầu thực
tế và ứng dụng công nghệ vi điều khiển các nhà khoa học đã nghiên cứu ra các loại cân điện
tử hiển thị số có thể cân được trọng lượng từ mg đến hàng trăm tấn mà các loại cân cơ họcbình thường không thể thực hiện được Trên thực tế các siêu thị, các nơi trao đổi hàng hóa,các nhà máy sản xuất đều muốn biết khối lượng hàng hóa, sản phẩm hay nguyên liệu mộtcách nhanh chóng và chính xác, và kể cả cho các lĩnh vực khác như khoáng sản, bến cảng,trạm cân xe giao thông, đều được sử dụng cân điện tử
Từ khóa: Load cell, HX711, Arduino.
Hà Nội, ngày tháng năm 2018
Xác nhận của GVHD
Trang 3LỜI CAM ĐOAN
Em xin cam đoan đồ án tốt nghiệp với đề tài “Thiết kế cân điện tử và hiển thịtrên máy tính” là công trình nghiên cứu của riêng em, không sao chép của người khác.Các số liệu, kết quả trong bài đồ án là trung thực và chưa được công bố ở các côngtrình khác Nếu không đúng như đã nêu trên, em xin hoàn toàn chịu trách nhiệm về đềtài này
Hà Nội, ngày tháng năm 2018
Người cam đoan
Trang 4MỤC LỤC
Danh mục hình ảnh
Danh mục bảng biểu
MỞ ĐẦU 1
Chương 1 Tổng quan về Cân điện tử 2
1.1 Tìm hiểu các loại cân điện tử thường dùng 2
1.2 Lựa chọn phương án thi công 8
Chương 2 Giới thiệu linh kiện sử dụng 9
2.1 Cảm biến Loadcell 9
2.1.1 Loadcell 9
2.1.2 Giới thiệu Loadcell sử dụng trong mạch 15
2.1.3 Thành phần cấu tạo cơ bản của cân điện tử 16
2.1.4 Module HX711 17
2.2 LCD 18
2.2.1 Thông số kĩ thuật của LCD 19
2.2.2 Bộ nhớ của LCD 21
2.2.3 Các chân điều khiển LCD 23
2.3 Các linh kiện khác 24
Arduino Uno R3 24
2.3.1 Một số loại Arduino hiện nay 25
2.3.2 Arduino Uno R3 29
2.3.3 Atmega328 33
2.3.4 Lập trình cho Arduino Uno 37
2.4 Giao tiếp với máy tính 45
Chương 3 Thiết kế và thi công 47
3.1 Sơ đồ khối 47
3.2 Sơ đồ nguyên lý 47
3.3 Nguyên lý hoạt động 49
Kết luận và hướng phát triển đề tài 52
Trang 5PHỤ LỤC 53
Chương trình chính 53
Lập trình cho giao diện 56
TÀI LIỆU THAM KHẢO 59
Trang 6Danh mục hình ảnh.
Hình 1.1 Cân bàn điện tử 2
Hình 1.2 Cân sàn điện tử 3
Hình 1.3 Cân phân tích điện tử 3
Hình 1.4 Cân đếm vật liệu 4
Hình 1.5 Cân vàng điện tử 5
Hình 1.6 Cân khối lượng và tính thành tiền 6
Hình 1.7 Cân dùng để đo khối lượng oto 7
Hình 1.8 Sơ đồ khối cơ bản của cân điện tử 8
Hình 2.1 Loadcell kiểu điện trở 9
Hình 2.2 Strain gauge 10
Hình 2.3 Điện trở tỉ lệ với lực tác động 11
Hình 2.4 Các strain gauge được bố trí trên loadcell 11
Hình 2.5 Strain gauge biến dạng theo thân loadcell 12
Hình 2.6 Loadcell và strain gauge 12
Hình 2.7 Cầu điện trở Wheatstone 13
Hình 2.8 Loadcell cân bằng 14
Hình 2.9 Loadcell thay đổi 14
Hình 2.10 Loadcell dạng kéo chữ S 14
Hình 2.11 Loadcell dạng uốn 14
Hình 2.12 Loadcell dạng nén bề mặt thấp 15
Hình 2.13 Loadcell dạng nén hình thanh 15
Hình 2.14 Module HX711 17
Hình 2.15 Sơ đồ chân Module HX711 18
Hình 2.16 Sơ đồ chân Wheatstone (loadcell) 18
Hình 2.17 LCD 1604 19
Hình 2.18 LCD 12864 19
Hình 2.19 LCD 2004 19
Hình 2.20 LCD 1602 19
Trang 7Hình 2.21 Màn hình LCD 1602 xanh lá 19
Hình 2.22 Sơ đồ chân LCD 1602 20
Hình 2.23 Vùng nhớ DDRAM 21
Hình 2.24 Vùng nhớ CGROM 22
Hình 2.25 Hoạt động chân RS 23
Hình 2.26 Arduino Due 25
Hình 2.27 Arduino Mega 2560 R3 25
Hình 2.28 Arduino UNO R3 26
Hinh 2.29 Arduino Leonardo 26
Hình 2.30 Arduino Uno R3 SMD 27
Hình 2.31 Arduino Nano 27
Hình 2.32 Arduino Pro Micro 28
Hình 2.33 Arduino Pro Mini 28
Hình 2.34 Board USB-UART 28
Hình 2.35 Sơ đồ cấu trúc board Arduino Uno 30
Hình 2.36 Sơ đồ chân của Arduino Uno 31
Hình 2.37 Các chân Analog và Digital trên board 32
Hình 2.38 Một số linh kiện sử dụng cho board Arduino Uno 33
Hình 2.39 Atmega328 34
Hình 2.40 Sơ đồ chân Atmega328 34
Hình 2.41 Chức năng các bit trong thanh ghi SREG 36
Hình 2.42 Giao diện Arduino IDE 37
Hình 2.43 Một số ký hiệu và chức năng trong Arduino IDE 38
Hình 2.44 Vùng thông báo trong Arduino IDE 38
Hình 2.45 Menu File trong Arduino IDE 39
Hình 2.46 Kết nối Arduino Uno R3 với máy tính 41
Hình 2.47 Arduino Uno R3 được kết nối với COM3 42
Hình 2.48 Chọn board Arduino Uno trong IDE 42
Hình 2.49 Chọn cổng COM cho Arduino IDE 43
Hình 2.50 Xác nhận cổng COM 43
Trang 8Hình 2.51 Cửa sổ thiết kế các dòng lệnh 44
Hình 2.52 Nạp chương trình xuống Arduino Uno R3 44
Hình 2.53 Visual Studio 45
Hình 2.54 Ví dụ 1 về Visual Basic 45
Hình 2.55 Ví dụ 2 về Visual Basic 46
Hình 3.1 Sơ đồ khối tổng quát 47
Hình 3.2 Sơ đồ nguyên lý mạch 47
Hình 3.3 Mô phỏng mạch 49
Hình 3.4 Chỉnh sửa giao diện 50
Hình 3.5 Hoàn thành giao diện 50
Hình 3.6 Hoàn thành thi công mạch 51
Trang 9Danh mục bảng biểu.
Bảng 1.1 Thông số cơ bản của cân bàn điện tử 2
Bảng 1.2 Thông số cơ bản của cân sàn điện tử 3
Bảng 1.3 Thông số cơ bản của cân phân tích điện tử 4
Bảng 1.4 Thông số cơ bản của cân đếm vật liệu 4
Bảng 1.5 Thông số cơ bản của cân vàng điện tử 5
Bảng 1.6 Thông số cơ bản của cân khối lượng tính tiền 6
Bảng 1.7 Thông số cơ bản của cân khối lượng oto 7
Bảng 2.1 Thông số kỹ thuật Loadcell 5Kg 15
Bảng 2.2 Thông số kỹ thuật của module HX711 17
Bảng 2.3 Thông số kỹ thuật của LCD 1602 19
Bảng 2.4 Chức năng chân của LCD 20
Bảng 2.5 Thông số kỹ thuật board Arduino Uno 29
Bảng 2.6 Thông số chính của Atmega328 34
Bảng 2.7 Một số câu lệnh, cấu trúc thường gặp 40
Bảng 2.8 Bảng so sánh với cân thực tế 51
Trang 10MỞ ĐẦU
Ngày nay, với sự phát triển của công nghệ vi điện tử, kỹ thuật số các hệ thốngđiều khiển dần được tự động hóa Với những kỹ thuật tiên tiến của vi xử lý, vi mạch sốđược ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, vớitốc độ xử lí chậm chạp ít chính xác được thay thế bằng hệ thống điều khiển tự độngvới các lệnh chương trình đã được thiết lập trước
Cân điện tử hiện nay là một trong những nhu cầu cần thiết trong xã hội Do cótốc độ đo khối lượng nhanh và chính xác, cân được những khối lượng nhỏ từ vài gamcho đến hàng tấn Từ những ưu điểm đó mà cân điện tử được ứng dụng rất phổ biếntrong nhiều loại ngành nghề như: xây dựng – đo vật liệu, vận tải – kiểm tra trọnglượng xe, khoáng sản – đong đếm khoáng sản thu được, hay trong những siêu thị, nhàhàng thì dùng loại cân nhỏ để kiểm tra nguyên vật liệu đầu vào đầu ra, …
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ CÂN ĐIỆN TỬ 1.1 Tìm hiểu các loại cân điện tử thường dùng.
Cân bàn điện tử: So với cân bàn cơ, nhỏ gọn hơn và tính chính xác cao Thườngđược thiết kế từ nhiều chất liệu như nhôm, thép chống gỉ có tuổi thọ cao, sử dụng cho
cả mục đích thương mại và áp dụng trong sản xuất hàng hóa với khối lượng vừa phải.Cân bàn có kích thước đa dạng và mức cân khác nhau để phục vụ cân được nhiều sảnphẩm Cân bàn điện tử ngày nay đa phần là sử dụng nguồn năng lượng lấy từ pin, dễdàng sử dụng, màn hình LCD hiển thị kết quả dễ đọc, bộ xử lý cho ra kết quả nhanhsau vài giây Cân bàn trọng tải lớn hay được sử dụng trong các ngành công nghiệpnặng, các hãng hàng không, ngành cơ khí, hãng chuyển phát nhanh …
Kết nối Cổng truy xuất RS-232C
Nguồn điện Sử dụng pin sạc DC 9V hoặc nguồn điện AC110/220V
Một số tính năng Tự động về 0Tự động tắt nguồn khi không sử dụng
Trang 12Cân sàn điện tử: Là loại cân điện tử được sử dụng trong các ngành công nghiệplớn hàng hóa nặng Cân sàn ra đời để đáp ứng nhu cầu cân đo khối lượng của nhữngmặt hàng có khối lượng lớn Và cân sàn điện tử thiết kế có bánh xe để dễ di chuyểnđến địa điểm khác nhau.
Kết nối Cổng truy xuất RS-232C, có thể kết nối máy tính, máy in, …
Nguồn điện Pin sạc DC 6V/ 3.2Ah hoặc nguồn điện AC 230V
Một số tính năng Tự động về khôngTự động tắt nguồn khi không sử dụng
Cân phân tích điện tử: một dạng cân điện tử dùng cho việc cân đong đếm, với
độ chính xác cao, thường dùng trong các phòng nghiên cứu, phòng thí nghiệm
Hình 1.3 Cân phân tích điện tử
Trang 13Bảng 1.3 Thông số cơ bản của cân phân tích điện tửMức cân 64g, 110g, 210g, …
Trang 14Đơn vị Kg, Ib, g, …
Một số tính năng Tự động tắt nguồn khi không sử dụngTự động về không
Đếm số lượng linh kiện, hàng hóa
Cân vàng điện tử: Là loại cân điện tử sử dụng trong ngành sản xuất và mua bánvàng, trang sức, kim loại quý Cân có độ sai số cực kỳ nhỏ, giúp cân chính xác trọnglượng của sản phẩm
Hình 1.5 Cân vàng điện tử
Bảng 1.5 Thông số cơ bản của cân vàng điện tửMức cân 120 g, 200g, 300g, 400g, …Kích thước 128x128 mm, 172x172 mm, …Màn hình Màn hình LCD sáng rõ
Kết nối Cổng truy xuất RS-232ANguồn điện AC adapter 9V hoặc pin 4AA
Một số tính năng Thay đổi đơn vị cânĐếm số lượng
Tự động về không
Trang 15Cân tính tiền: Là loại cân điện tử dùng trong các siêu thị, cửa hàng với chứcnăng chính là cân trọng lượng đồ dùng, thực phẩm và tính giá thành.
Hình 1.6 Cân khối lượng và tính thành tiền
Bảng 1.6 Thông số cơ bản của cân khối lượng tính tiềnMức cân 3kg, 5kg, 10 kg, 15 kg, …
Kích thước 410x483x585 mm, 375x397x128 mm, …Màn hình Màn hình LCD sáng rõ
Kết nối Cổng truy xuất RS-232ANguồn điện AC 230V, 50/60HZ
Một số tính năng Tính tiền và in ra phiếuTự động về không
Trang 16Cân ô tô, xe tải : Là loại cân điện tử chuyên dụng cho việc cân tải trọng của cácphương tiện, tính ra được trọng lượng hàng hóa trên xe, có thể cân được trọng lượnglớn 100 - 800 tấn Cân thường được dùng trong các công ty chuyên sản xuất và vậnchuyển hàng hóa Cân còn được dùng tại các trạm kiểm soát giao thông.
Hình 1.7 Cân dùng để đo khối lượng oto
Bảng 1.7 Thông số cơ bản của cân khối lượng otoMức cân 40 tấn, 60 tấn, 80 tấn, …
Trang 171.2 Lựa chọn phương án thi công.
Mạch cân điện tử cần ba khối chức năng cơ bản là:
- Khối cảm biến lực tác động để đo khối lượng vật cần đo lường
- Khối xử lý có nhiệm vụ tính toán, xử lý dữ liệu để đưa đến khối hiển thị (Khối
xử lí do nhà sản xuất hoặc người sử dụng thiết kế)
- Khối hiển thị có chức năng hiển thị các thông số đo
Hình 1.8 Sơ đồ khối cơ bản của cân điện tử
Do đó có một số phương án thi công dùng những linh kiện phù hợp với cáckhối chức năng trong cân điện tử như sau:
LCD, cụ thể là LCD 16x2 rất hay được dùng trong các mạch điện tử vì LCD cóthể hiển thị được cả chữ và số theo yêu cầu người người sử dụng
Do vậy, trong mạch cân điện tử ở báo cáo tốt nghiệp lần này, em sử dụng cáclinh kiện dùng trong mạch cân điện tử là cảm biến loadcell, module HX711, ArduinoUno R3, LCD, nút bấm
Trang 18CHƯƠNG 2: GIỚI THIỆU LINH KIỆN SỬ DỤNG 2.1 Cảm biến Load cell.
2.1.1 Loadcell.
Cảm biến lực dùng trong việc đo khối lượng được sử dụng phổ biến là loadcell,
là một kiểu cảm biến lực biến dạng Lực chưa biết tác động vào một bộ phận đàn hồi,lượng di động của bộ phận đàn hồi biến đổi thành tín hiệu điện tỷ lệ với lực chưa biết
Loadcell là một cảm biến hay đầu dò có thể chuyển đổi một tải trọng hay lựctác dụng vào nó thành một tín hiệu điện Tín hiệu điện này có thể là một sự thay đổiđiện áp, dòng điện hay tần số tùy thuộc vào loại loadcell và mạch đo được sử dụng
Có nhiều loại loadcell khác nhau:
Loadcell kiểu điện trở làm việc dựa vào nguyên lý áp lực - trở kháng Khi mộttải trọng, lực, lực căng tác động lên cảm biến, trở kháng của nó sẽ thay đổi Sự thayđổi trở kháng này sẽ đẫn đến sự thay đổi điện áp đầu ra khi một điện áp đầu vào đượccấp
Loadcell kiểu điện dung làm việc dựa trên sự thay đổi của dung kháng Đối với
tụ điện phẳng có hai bản cực phẳng song song, điện dung sẽ tỉ lệ thuận với tiết diệnbản cực và hằng số điện môi của chất điện môi nằm giữa hai bản cực và tỉ lệ nghịchvới khoảng cách giữa hai bản cực
Trong thực tế, phổ biến nhất là các loadcell có sẵn dựa trên nguyên tắc thay đổiđiện trở để đáp ứng với một tải áp dụng Do đó, trong bài viết này sẽ nói về loadcell sửdụng điện trở (strain gauge)
Hình 2.1 Loadcell kiểu điện trở
“Strain gauge” là một điện trở đặc biệt chỉ nhỏ bằng móng tay, được nuôi bằngmột nguồn điện ổn định, được dán cố định trên “Load” Strain gage có cấu trúc có thểbiến dạng đàn hồi khi chịu tác động của lực, tạo ra một tín hiệu điện tỷ lệ với sự biếndạng này
Trang 19Strain gauge là thành phần cấu tạo chính của loadcell, bao gồm một sợi dây kimloại mảnh đặt trên một tấm cách điện đàn hồi.
Để tăng chiều dài của dây điện trở strain gauge, người ta đặt theo hình ziczac,mục đích là để tăng độ biến dạng khi bị lực tác dụng qua đó và tăng độ chính xác củathiết bị cảm biến sử dụng strain gauge
Hình 2.2 Strain gauge
Ta có công thức:
R= ρ L S
Trong đó: R là điện trở strain gauge (Ω)
L là chiều dài của sợi kim loại strain gauge (m)
S là tiết diện của sợi kim loại strain gauge (m2)
ρ là điện trở suất vật liệu của sợi kim loại strain gauge
Từ đó, ta rút ra tính chất:
- Khi dây kim loại (S) bị lực tác động sẽ thay đổi điện trở (R)
- Khi dây bị lực nén, chiều dài strain gauge giảm, điện trở sẽ giảm xuống
- Khi dây bi kéo dãn, chiều dài strain gauge tăng, điện trở sẽ tăng lên
- Điện trở thay đổi tỷ lệ với lực tác động
Trang 20Hình 2.3: Điện trở tỉ lệ với lực tác động.
Một loadcell thường bao gồm các strain gauges được dán vào bề mặt của thânloadcell 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 mà thân loadcell được thiết kế có hình dạng đặc biệt khácnhau và chế tạo bằng các 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)
Hình 2.4: Các strain gauge được bố trí trên loadcellCác bộ phận tạo nên một loadcell được hiển thị như hình trên Ở đây có
4 strain gauges được gắn vào các mặt trên và dưới của load cell
Trang 21Hình 2.5: Strain gauge biến dạng theo thân loadcellKhi có tải trọng hoặc lực tác động lên thân loadcell làm cho thân loadcell bịbiến dạng (giãn hoặc nén) Làm cho hai trong số 4 điện trở strain gauges là nén, trongkhi hai strain gauges còn lại đang bị căng ra Điều đó dẫn tới sự thay đổi chiều dài (L)
và tiết diện (S) của các sợi kim loại của điện trở strain gauges dán trên thân loadcelldẫn đến một sự thay đổi giá trị của các điện trở strain gauges (R)
Hình 2.6: Loadcell và strain gauge
Trang 22Mỗi loadcell (cảm biến tải) có một đầu ra độc lập, thường từ 1-3 mV/V Đầu rakết hợp được tổng hợp dựa trên kết quả của đầu ra từng cảm biến tải - load cell Cácthiết bị đo lường hoặc bộ hiển thị khuyếch đại tín hiệu điện đưa về, qua chuyển đổiADC, vi xử lý với phần mềm tích hợp sẵn thực hiện tính toán và đưa kết quả đọc đượclên màn hình Đa phần các thiết bị hay bộ hiển thị hiện đại đều cho phép giao tiếp vớicác thiết bị ngoài khác như máy tính hoặc máy in.
Loadcell dựa trên nguyên lý cầu điện trở cân bằng (Wheatstone) gọi là cảm biếntải cầu điện trở để chuyển đổi sự thay đổi tỉ lệ giữa lực căng và điện trở thành điện
áp tỷ lệ với tải Sự thay đổi điện áp này là rất nhỏ, do đó nó chỉ có thể được đo vàchuyển thành số sau khi đi qua bộ khuếch đại của các bộ chỉ thị cân điện tử (đầu cân)
Cấu tạo chính của loadcell gồm các điện trở strain gauges R1, R2, R3, R4 kếtnối thành 1 cầu điện trở Wheatstone như hình dưới và được dán vào bề mặt của thânloadcell như hình 2.4 và 2.5
Hình 2.7: Cầu điện trở Wheatstone
Một điện áp kích thích được cung cấp cho ngõ vào loadcell (góc (1) và (4)) vàđiện áp tín hiệu ra được đo giữa hai ngõ khác (góc (2) và (3))
Tại trạng thái cân bằng (trạng thái không tải), điện áp tín hiệu ra là số 0 hoặc 0khi bốn điện trở được gắn phù hợp về giá trị Khi có tải trọng hoặc lực tác động lênthân loadcell làm cho thân loadcell bị biến dạng (giãn hoặc nén), điều đó dẫn tới sựthay đổi chiều dài và tiết diện của các sợi kim loại của điện trở strain gauges dán trênthân loadcell dẫn đến một sự thay đổi giá trị của các điện trở strain gauges Sự thay đổinày dẫn tới sự thay đổi trong điện áp đầu ra Sự thay đổi điện áp đầu ra thường rất bé(khoảng 20mV khi đầy tải), để có thể đo được và số hóa để tính toán thì cần phảikhuếch đại tín hiện mV này lên 0- 5V hay 0- 10V
Trang 23Hình 2.8: Loadcell cân bằng.
Hình 2.9: Loadcell thay đổi
Giá trị lực tác dụng tỉ lệ với sự thay đổi điện trở cảm ứng trong cầu điện trở, do
đó trả về tín hiệu điện áp tỉ lệ Ưu điểm chính của công nghệ này là xuất phát từ yêucầu thực tế, với những tham số xác định trước, sẽ có các sản phẩm thiết kế phù hợpcho từng ứng dụng của người dùng Ở đó các phần tử cảm ứng có kích thước và hìnhdạng khác nhau phù hợp với yêu cầu của ứng dụng Các dạng cảm biến phổ biến: cảmbiến tải dạng kéo (shear), cảm biến tải dạng uốn (bending), cảm biến tải dạng nén(compression) và cảm biến tải dạng xoắn (tension), …
Hình 2.10: Loadcell dạng kéo chữ S Hình 2.11: Loadcell dạng uốn
Trang 24Hình 2.12: Loadcell dạng nén bề mặt
thấp Hình 2.13: Loadcell dạng nén hình thanh
Có nhiều loại loadcell do các hãng sản xuất khác nhau như KUBOTA (Nhật),Global Weighing (Hàn Quốc), Transducer Techniques Inc, Tedea – Huntleigh Mỗiloại loadcell được chế tạo cho một yêu cầu riêng biệt theo tải trọng chịu đựng, chịu lựckéo hay nén
Các loadcell thường được làm từ các kim loại như nhôm, sắt và thép không gỉ.Nếu không bị quá tải trọng cho phép và được thường xuyên bảo trì tốt, loadcell có thể
sử dụng được trong rất nhiều năm
2.1.2 Giới thiệu Loadcell sử dụng trong mạch.
Bảng 2.1:Thông số kĩ thuật Loadcell 5Kg
Ảnh hưởng nhiệt độ tới độ nhạy 0.003 %RO/oC
Ảnh hưởng nhiệt độ tới điểm không 0.02 %RO/oC
Độ cân bằng điểm không +- 0.2 %RO
Trang 25Điện áp hoạt động 5 V
Nhiệt độ hoạt động -20 ~ 65 oC
2.1.3 Thành phần cấu tạo cơ bản của cân điện tử.
Thành phần cấu tạo cơ bản của cân điện tử bao gồm hai bộ phận chính: Bộphận thứ nhất là đòn cân và bộ phận thứ hai là mạch xử lý tín hiệu điện tử Ở phần nàychỉ phân tích cấu tạo của đòn cân mà không đi sâu vào phần mạch điện tử
Đòn cân tên tiếng anh là “Strain Gauge Loadcell” hay gọi tắt là “Loadcell” cảmbiến tải Như tên gọi phản ánh, đòn cân được cấu tạo bởi hai thành phần, thành phầnthứ nhất là “Strain Gauge” và thành phần còn lại là “Load” Strain Gauge là một điệntrở đặ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 ổn định, chỉ nhỏ bằng móng tay, được dán chết lênLoad, nghĩa là một thanh kim loại chịu tải
Thanh kim loại này một đầu được gắn cố định, đầu còn lại tự do và gắn với mặtbàn cân (Đĩa cân) Khi ta bỏ một khối lượng lên đĩa , thanh kim loại này sẽ bị uốncong do trọng lượng của khối lượng cân gây ra Khi thanh kim loại bị uốn, điện trởStrain Gauge sẽ bị kéo dãn ra và thay đổi điện trở
Như vậy, khi đặt vật cân lên bàn cân, tùy theo khối lượng vật mà Load, thanhkim loại sẽ bị uốn đi một lượng tương ứng và lượng này được đo lường qua sự thayđổi điện trở của Strain Gauge Thông thường, thanh kim loại sẽ được cấu tạo sao chobất chấp vị trí ta đặt vật cân lên bàn/ đĩa, nó đều cho cùng một mức độ bị uốn nhưnhau
Khoảng uốn cong của thanh kim loại vào khoảng 1/500 cm Tuy giá trị uốncong rất nhỏ nhưng đủ để Strain Gauge phát hiện và đo lường khối lượng trongkhoảng nhất định tùy theo loại cân điện tử Thông thường Strain Gauge chỉ phát hiện
và đo lường trên một khoảng nhỏ, hẹp, cân điện tử nào đo khối lượng càng lớn và càngchính xác đòi hỏi khoảng Strain Gauge phát hiện càng rộng và độ nhạy càng lớn
Trang 262.1.4 Module ADC HX711
Hình 2.14: Module HX711Module HX711 là module chuyển đổi tín hiệu tương tự (Analog) sang tín hiệu
số (Digital): ADC - Analog Digital Convert HX711 được thiết kế để chuyển đối tínhiệu và ứng dụng điều khiển công nghiệp để giao tiếp trực tiếp với một cảm biến cầu
Độ phân giải 24bit và giao tiếp hai dây (chân) với vi điều khiển là chân SCK(Clock) và chân DT (Data), tương ứng với chân số 5 và chân số 3 ở hình 2.15 Sơ đồchân Module HX711
Bảng 2.2 Thông số kỹ thuật của module HX711Điện áp hoạt động 2.7V – 5V
Dòng điện tiêu thụ <1.5mADòng điện ngắt hoạt động <1uATốc độ lấy mẫu 10-80 SPS (tùy chỉnh)
Độ phân giải điện áp 40mVDải nhiệt độ -40oC đến +85oC
Trang 27Cách kết nối loadcell với module HX711:
Red – E+ Green – Black – E- White – A+
A-Hình 2.15 Sơ đồ chân
Module HX711 Hình 2.16 Sơ đồ chân Wheatstone (loadcell).Module HX711 đọc tín hiệu analog của loadcell qua kênh gồm 4 dây: VCC(E+), GND (E-), INA+ và INA- rồi chyển đổi sang tín hiệu digital và truyền sang viđiều khiển khi có xung CK
Dùng ADC HX711 24 bit, điện áp 5V
Ta có: 5000mV - ứng với - 224-1 (24bit)
Nên : 5000 g - ứng với - 224-1 (24bit)
x g - ứng với - giá trị ADC đo được
Do đó: x = ADC*5000/224-1 (gam)
2.2 LCD - Liquid Crystal Display.
LCD được sử dụng nhiều trong các ứng dụng của vi điều khiển Nó có khả nănghiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứngdụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giáthành rẻ LCD loại nhỏ hay còn gọi là TEXT LCD (để phân biệt với graphic LCD -hiển thị hình ảnh)
Trang 28Hình 2.17 LCD 1604 Hình 2.18 LCD 12864
Hình 2.19 LCD 2004 Hình 2.20 LCD 1602
2.2.1 Thông số kĩ thuật của LCD:
Hình 2.22 LCD 1602 xanh láBảng 2.3 Thông số kĩ thuật của LCD 1602
Hoạt động ổn định 2.7-5.5VĐiện áp ra mức cao > 2.4VĐiện áp ra mức thấp <0.4VDòng điện cấp nguồn 350uA - 600uA
Trang 29Nhiệt độ hoạt động -30 - 75 độ C
Kích thước 80 x 36 x 12.5 mm
Hiển thị Tối đa 16 ký tự trên 2 dòng
Hình 2.21: Sơ đồ chân LCD 1602
Các LCD thường có 16 chân, 2 chân nguồn và 14 chân điều khiển
Bảng 2.4: Chức năng chân của LCD
Chức năng Số thứtự Tên Trạng tháilogic Mô tả
4 RS 01 D0-D7 : lệnhD0-D7 : dữ liệuĐiều khiển LCD 5 RW 01 Ghi (AVR=>LCD)Đọc(LCD=>AVR)
Từ 1=>0
Vô hiệu hóa LCDLCD hoạt độngBắt đầu ghi/đọc
Trang 302.2.2 Bộ nhớ của LCD
- Bộ nhớ ROM chứa font tạo ra ký tự CGROM (character generator ROM)
- Bộ nhớ RAM chứa dữ liệu cần hiển thị DDRAM (display data RAM)
- Bộ nhớ RAM tạo ra các symbol tùy chọn cho CGRAM (character generatorRAM)
DDRAM là bộ nhớ tạm chứa các ký tự cần hiển thị lên LCD, bộ nhớ gồm 80 ôđược chia thành 2 hàng, mỗi ô có độ rộng 8 bit và được đánh số từ 0 đến 39 cho dòng1; từ 64 đến 103 cho dòng 2 Mỗi ô nhớ tương ứng với 1 ô trên màn hình LCD LCDloại 16x2 có thể hiển thị 32 ký tự (32 ô hiển thị) , vì thế một số ô nhớ của DDRAMkhông được sử dụng làm các ô hiển thị
Hình 2.23 Vùng nhớ DDRAM
Chỉ có 16 ô nhớ có địa chỉ từ 0-15 và 16 ô địa chỉ từ 64-79 là được hiển thị trênLCD Vì thế muốn hiển thị một ký tự nào đó trên LCD chúng ta cần viết ký tự đó vàoDDRAM ở 1 trong 32 địa chỉ trên Các ký tự nằm ngoài 32 ô nhớ sẽ không được hiểnthị, tuy nhiên vẫn bị mất đi, chúng có thể được dùng cho các mục đích khác nhau nếucần thiết
CGROM là vùng bộ nhớ cố định chứa định nghĩa font cho các ký tự Chúng takhông trực tiếp truy xuất vùng nhớ này mà LCD sẽ tự thực hiện khi có yêu cần đọc
Trang 31font để hiển thị Một điều đáng lưu ý là địa chỉ font của mỗi ký tự chính là mã ASCIIcủa ký tự đó.
Hình 2.24 Vùng nhớ CGROM
CGROM và DDRAM được tự động phối hợp trong quá trình hiển thị LCD Giả
sử chúng ta muốn hiển thị ký tự ‘a’ tại vị trí đầu tiên dòng 2 của LCD thì các bướcthực hiện như sau: vị trí đầu tiên của dòng thứ 2 có địa chỉ là 64 trong bộ nhớDDRAM, vì thế chúng ta sẽ ghi vào ô nhớ có địa chỉ 64 này 1 giá trị là 97 (mã ASCIIcủa ký tự ‘a’) sau đó LCD đọc giá trị 97 này coi như là địa chỉ của vùng nhớ CGROM
và đọc giá trị font được định sẵn , sau đó xuất bản font này ra các chấm trên màn hình
Trang 32LCD tại vị trí đầu tiên của dòng 2 trên LCD Đó là cách bộ nhớ CGROM và DDRAMphối hợp để hiển thị 1 ký tự lên màn hình Như vậy công việc của người lập trình LCDtương đối đơn giản, đó là viết mã ASCII vào bộ nhớ DDRAM tại đúng vị trí được yêucầu, bước tiếp theo sẽ do LCD đảm nhiệm.
CGRAM là vùng chứa các symbol do người dùng tự định nghĩa, mỗi symbol cókích thước 5x8 và được dành cho 8 ô nhớ 8 bit Các symbol thường được định nghĩatrước và được gọi khi cần thiết, vùng này có tất cả 64 ô nhớ nên tối đa có 8 symbol cóthể được định nghĩa
2.2.3 Các chân điều khiển LCD.
Các chân điều khiển đọc và ghi của LCD bao gồm RS, R/W và EN:
Hình 2.25 Hoạt động chân RS
RS (chân số 3): Chân lựa chọn thanh ghi (Select Register), chân này cho phéplựa chọn 1 trong 2 thanh ghi IR hoặc DR để làm việc Vì cả 2 thanh ghi này đều đượckết nối với các chân Data của LCD nên cần 1 bit để lựa chọn giữa chúng Nếu RS=0,thanh ghi IR được chọn và nếu RS=1 thanh ghi DR được chọn
Chúng ta đều biết thanh ghi IR là thanh ghi chứa mã lệnh cho LCD, vì thế nếumuốn gửi 1 mã lệnh đến LCD thì chân RS phải được reset về 0 Ngược lại, khi muốnghi mã ASCII của ký tự cần hiển thị lên LCD thì chúng ta sẽ set RS=1 để chọn thanhghi DR Hoạt động của chân RS được mô tả như trong hình
R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi Nếu R/W=0 thì dữ liệu sẽđược ghi từ bộ điều khiển ngoài (vi điều khiển AVR chẳng hạn) vào LCD NếuR/W=1 thì dữ liệu sẽ được đọc từ LCD ra ngoài
Tuy nhiên, chỉ có duy nhất 1 trường hợp mà dữ liệu có thể đọc từ LCD ra, đó làđọc trạng thái LCD để biết LCD có đang bận hay không (cờ Busy Flag - BF) Do LCD
là một thiết bị hoạt động tương đối chậm (so với vi điều khiển), vì thế một cờ BF được
Trang 33dùng để báo LCD đang bận, nếu BF=1 thì chúng ta phải chờ cho LCD xử lí xongnhiệm vụ hiện tại, đến khi nào BF=0 một thao tác mới sẽ được gán cho LCD Vì thế,khi làm việc với Text LCD chúng ta nhất thiết phải có một chương trình con tạm gọi làwait_LCD để chờ cho đến khi LCD rảnh.
Có 2 cách để viết chương trình wait_LCD:
- Cách 1 là đọc bit BF về kiểm tra và chờ BF=0, cách này đòi hỏi lệnh đọc từLCD về bộ điều khiển ngoài, do đó chân R/W cần được nối với bộ điều khiểnngoài
- Cách 2 là viết một hàm delay một khoảng thời gian cố định nào đó (tốt nhất làtrên 1ms)
Ưu điểm của cách 2 là sự đơn giản vì không cần đọc LCD, do đó chân R/Wkhông cần sử dụng và luôn được nối với GND
Tuy nhiên, nhược điểm của cách 2 là khoảng thời gian delay cố định nếu quálớn sẽ làm chậm quá trình thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị
EN (chân số 5): Chân cho phép LCD hoạt động (Enable), chân này cần đượckết nối với bộ điều khiển để cho phép thao tác LCD
Để đọc và ghi data từ LCD cần tạo một “xung cạnh xuống” trên chân EN, nóitheo cách khác, muốn ghi dữ liệu vào LCD trước hết cần đảm bảo rằng chân EN=0,tiếp đến xuất dữ liệu đến các chân D0-D7, sau đó set chân EN lên 1 và cuối cùng làxóa EN về 0 để tạo 1 xung cạnh xuống
2.3 Các linh kiện khác.
Arduino Uno R3.
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tácvới nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một boardmạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARMAtmel 32bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chânđầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khácnhau
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mangđến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên vàgiới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trườngthông qua các cảm biến và các cơ cấu chấp hành Những ví dụ phổ biến cho nhữngngười yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và pháthiện chuyển động Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạytrên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trìnhcho Aduino bằng ngôn ngữ C hoặc C++
Trang 342.3.1 Một số loại Arduino hiện nay.
Arduino Due
Arduino Due sử dụng vi điều khiển dựa trên chip SAM3X8E ARM – M3 củaAtmel với lõi ARM 32 bit Arduino Due có tổng cộng 54 chân I/O, 12 chân Analog, 4UART, chạy với xung clock 84MHz, 2 DAC, 2 TWI, header SPI, header JTAG
Không giống như các board Arduino khác, board chỉ chạy ở mức 3.3V Điện ápcấp vào các chân I/O có thể chịu được ở mức 3.3V nếu cao hơn có thể cháy và phá hủyboard, làm hỏng board
Hình 2.26 Arduino Due
Arduino Mega 2560 R3
Arduino Mega 2560 R3 sử dụng Vi điều khiển ATmega2560 cho tốc độ, ngoại
vi và số chân nhiều nhất, nếu có những ứng dụng cần mở rộng thêm nhiều chân, nhiềungoại vi thì Arduino Mega 2560 R3 là một sự lựa chọn đáng giá, board hoàn toàn cócấu trúc chân tương thích với các board như Uno và chạy điện áp 5 VDC
Hình 2.27 Arduino Mega 2560 R3
Arduino Uno R3
Arduino Uno là Board mạch rất phổ biến trong các dòng Arduino hiện nay,phiên bản Uno Revision 3 (Arduino Uno R3) là phiên bản mới nhất