Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển mạnh mẽ của công nghệ vi điện tử và kỹ thuật số, các hệ thống đo lường và điều khiển tự động đang dần thay thế hoàn toàn các cơ cấu cơ khí thô sơ có tốc độ xử lý chậm và độ chính xác thấp. Nhu cầu xác định khối lượng vật thể là một yêu cầu tất yếu trong đời sống và sản xuất, trải dài từ các hoạt động nông nghiệp, siêu thị, trao đổi thương mại cho đến các dây chuyền chế xuất, trạm cân phương tiện giao thông và khai thác khoáng sản. Các hệ thống cân hiện đại đòi hỏi dải đo linh hoạt (từ mức miligram trong phòng thí nghiệm đến hàng trăm tấn trong công nghiệp nặng), đồng thời cần có khả năng hiển thị số liệu trực quan và truyền dữ liệu về hệ thống máy tính để quản lý, giám sát.
Đồ án tốt nghiệp đại học hệ chính quy ngành Công nghệ Kỹ thuật Điện tử Viễn thông của tác giả Nguyễn Đức Thành (Trường Đại học Công nghệ Giao thông Vận tải, dưới sự hướng dẫn của ThS. Nguyễn Thu Hiền, năm 2018) được thực hiện nhằm giải quyết các yêu cầu nghiên cứu và thiết kế hệ thống cân điện tử ứng dụng vi điều khiển kết nối máy tính.
Nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:
- Nghiên cứu tổng quan về các dạng cân điện tử thương mại, công nghiệp và nguyên lý chuyển đổi lực của cảm biến tải trọng (Loadcell).
- Phân tích, so sánh và lựa chọn phương án thi công phần cứng tối ưu giữa các dòng vi điều khiển (PIC16F877A, 8051, Arduino).
- Thiết kế mạch tích hợp gồm cảm biến Loadcell, khối khuếch đại chuyển đổi tương tự - số ADC 24-bit HX711, khối xử lý trung tâm Arduino Uno R3 và màn hình hiển thị LCD 1602.
- Lập trình vi điều khiển và xây dựng giao diện hiển thị trên máy tính để thu nhận, xử lý và giám sát dữ liệu khối lượng theo thời gian thực.
- Thi công mô hình thực tế, thử nghiệm đo lường và đánh giá độ chính xác so với cân thực tế.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Cảm biến lực Loadcell dạng thanh nhôm tải trọng 5kg, mạch chuyển đổi ADC 24-bit HX711, bo mạch vi điều khiển Arduino Uno R3 (vi điều khiển ATmega328P), màn hình LCD 1602 và phần mềm giao tiếp máy tính.
- Phạm vi nghiên cứu: Thiết kế hệ thống cân điện tử để bàn dải đo tối đa 5kg, thực hiện kiểm thử mô phỏng và triển khai mạch vật lý tại Hà Nội vào năm 2018.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và nguyên lý hoạt động
Cơ sở vật lý của hệ thống cân điện tử dựa trên hiện tượng biến dạng đàn hồi của vật liệu kim loại và sự thay đổi điện trở của cảm biến đo biến dạng (Strain gauge).
Điện trở của sợi kim loại strain gauge được xác định theo công thức:
$$R = \rho \frac{L}{S}$$
Trong đó:
- $R$: Điện trở của dây kim loại ($\Omega$).
- $\rho$: Điện trở suất của vật liệu làm dây dẫn.
- $L$: Chiều dài sợi kim loại (m).
- $S$: Tiết diện ngang của sợi kim loại ($\text{m}^2$).
Khi chịu tác dụng của tải trọng, thân kim loại của Loadcell bị uốn cong, kéo theo các lá điện trở strain gauge dán trên bề mặt bị kéo giãn (làm tăng chiều dài $L$, giảm tiết diện $S$, dẫn đến điện trở $R$ tăng) hoặc bị nén lại (làm giảm $L$, tăng $S$, dẫn đến điện trở $R$ giảm).
Để chuyển đổi biến thiên điện trở rất nhỏ này thành tín hiệu điện áp có thể đo lường được, 4 điện trở strain gauge được ghép nối theo cấu trúc cầu Wheatstone. Khi đặt một điện áp kích thích (thường là 5V) vào hai đỉnh đối diện của cầu, ngõ ra giữa hai đỉnh còn lại sẽ xuất hiện một hiệu điện thế lệch tỉ lệ thuận với lực tác dụng. Tín hiệu này có biên độ rất nhỏ (chỉ từ 1 - 3 mV/V, tương đương tối đa khoảng 20 mV khi đầy tải).
Do biên độ tín hiệu quá nhỏ so với dải đọc của các bộ ADC 8-bit hay 10-bit thông thường trên vi điều khiển (với ADC 8-bit ở nguồn 5V, độ phân giải là $5\text{V} / 256 = 19.53\text{ mV}$, không thể đọc được mức biến thiên mV), hệ thống bắt buộc phải sử dụng module ADC chuyên dụng HX711 có độ phân giải cao 24-bit để số hóa tín hiệu trước khi đưa vào vi xử lý.
[Khối Cảm biến Loadcell 5kg]
[Module ADC 24-bit HX711]
[Khối Xử lý Trung tâm Arduino Uno R3 / ATmega328P]
[Khối Hiển thị Cục bộ: LCD 1602] [Giao tiếp Máy tính qua Cổng COM / UART]
Phương pháp nghiên cứu
- Phương pháp phân tích và tổng hợp tài liệu: Thu thập, khảo sát thông số kỹ thuật của các dòng cân công nghiệp và thương mại (cân bàn, cân sàn, cân đếm, cân vàng, cân ô tô) và cấu trúc phần cứng của các dòng vi điều khiển.
- Phương pháp so sánh và lựa chọn kỹ thuật: So sánh ưu - nhược điểm của các giải pháp thiết kế sử dụng vi điều khiển 8051, PIC16F877A và nền tảng mã nguồn mở Arduino để chọn phương án tối ưu về chi phí, tốc độ phát triển và tính ổn định.
- Phương pháp thiết kế và chế tạo phần cứng: Lập sơ đồ nguyên lý, bố trí kết nối dây giữa cảm biến Loadcell, module HX711, bo mạch Arduino Uno và màn hình LCD 1602.
- Phương pháp lập trình và tích hợp hệ thống: Viết mã nhúng trên Arduino IDE theo cấu trúc tuần hoàn (
setup và loop) và lập trình giao diện thu thập dữ liệu trên máy tính bằng Visual Basic thông qua chuẩn giao tiếp UART/cổng COM ảo.
- Phương pháp thực nghiệm và đối chuẩn: Đo đạc các vật mẫu có tải trọng xác định, ghi nhận giá trị hiển thị trên LCD và máy tính, đối chiếu số liệu đo được với cân thực tế để đánh giá sai số.
Thiết kế và triển khai hệ thống
Kiến trúc phần cứng và cấu hình linh kiện
Hệ thống cân điện tử gồm 3 khối chức năng chính:
- Khối cảm biến lực: Sử dụng Loadcell dạng nén/uốn thanh nhôm có giới hạn tải trọng 5kg, được liên kết cơ khí một đầu cố định và một đầu gắn vào bàn cân.
- Khối xử lý tín hiệu và điều khiển trung tâm:
- Module khuếch đại và chuyển đổi tương tự - số ADC HX711 24-bit.
- Bo mạch Arduino Uno R3 tích hợp vi điều khiển ATmega328P xung nhịp 16 MHz.
- Khối hiển thị và giao tiếp ngoại vi:
- Màn hình LCD 1602 giao tiếp 4-bit/8-bit hiển thị thông tin trực tiếp.
- Cổng giao tiếp USB-UART chuyển đổi kết nối với máy tính cá nhân qua cổng COM ảo.
| Linh kiện / Thiết bị |
Thông số kỹ thuật chính |
Vai trò trong hệ thống |
| Loadcell 5Kg |
Tải trọng tối đa: 5kg; Độ nhạy điện áp: 1.15 mV/V; Độ lệch tuyến tính: 0.1%; Trở kháng vào: $1066 \pm 20,\Omega$; Trở kháng ra: $1000 \pm 20,\Omega$; Quá tải an toàn: 120% |
Thu nhận lực tác dụng và chuyển đổi thành độ lệch điện áp cầu Wheatstone |
| Module HX711 |
Độ phân giải: 24-bit ADC; Điện áp hoạt động: 2.7V - 5V; Dòng tiêu thụ: < 1.5mA; Tốc độ lấy mẫu: 10 - 80 SPS; Dải nhiệt độ: $-40^\circ\text{C}$ đến $+85^\circ\text{C}$ |
Khuếch đại tín hiệu micro-volt và chuyển đổi sang tín hiệu số truyền về vi điều khiển |
| Arduino Uno R3 |
Vi điều khiển: ATmega328P (8-bit AVR); Xung nhịp: 16 MHz; Bộ nhớ Flash: 32KB; SRAM: 2KB; EEPROM: 1KB; 14 chân Digital I/O (6 chân PWM); 6 chân Analog Input |
Đọc dữ liệu từ HX711, tính toán khối lượng, điều khiển LCD và gửi chuỗi dữ liệu lên PC |
| LCD 1602 |
Hiển thị tối đa: 16 ký tự $\times$ 2 dòng; Điện áp hoạt động: 5V; Bộ nhớ: DDRAM (80 byte), CGROM (font chuẩn), CGRAM (8 ký tự tự tạo); Các chân điều khiển: RS, RW, EN |
Hiển thị giá trị khối lượng đo được tại chỗ |
| Giao diện PC (Visual Basic) |
Kết nối: Cổng COM (giao thức Serial); Điều khiển: Nạp cổng, nhận và vẽ/hiển thị số liệu |
Giám sát và quản lý dữ liệu đo lường trên máy tính |
Sơ đồ đấu nối và phối hợp tín hiệu
- Kết nối Loadcell với HX711:
- Dây Đỏ (Red) nối chân
E+ (Nguồn dương kích thích).
- Dây Đen (Black) nối chân
E- (Mass kích thích).
- Dây Xanh lá (Green) nối chân
A- (Tín hiệu vi sai âm).
- Dây Trắng (White) nối chân
A+ (Tín hiệu vi sai dương).
- Kết nối HX711 với Arduino Uno:
- Chân
VCC nối nguồn 5V, chân GND nối đất.
- Chân xung nhịp
SCK nối chân Digital được chỉ định trên Arduino.
- Chân dữ liệu
DT nối chân Digital nhận tín hiệu nối tiếp.
- Kết nối LCD 1602 với Arduino Uno:
- Chân nguồn:
VSS (chân 1) nối GND, VDD (chân 2) nối 5V.
- Chân độ tương phản
VEE (chân 3) nối với biến trở chia áp.
- Chân chọn thanh ghi
RS (chân 4), chân ghi/đọc RW (chân 5 - thường nối GND để cố định chế độ ghi), chân cho phép EN (chân 6) nối với các chân điều khiển của Arduino.
- Các chân dữ liệu
DB4 - DB7 nối với vi điều khiển để truyền dữ liệu theo chế độ 4-bit.
Xây dựng phần mềm và xử lý dữ liệu
Quy trình tính toán khối lượng trong chương trình vi điều khiển:
- Giá trị số hóa 24-bit từ HX711 tương ứng với dải từ 0 đến $2^{24}-1$.
- Với điện áp 5V và tải trọng 5kg (5000g), khối lượng vật đo $x$ (gam) được tính toán theo tỉ lệ:
$$x = \frac{\text{Giá trị ADC đo được} \times 5000}{2^{24}-1}$$
- Dữ liệu sau khi xử lý được định dạng và gửi đồng thời ra màn hình LCD 1602 thông qua thư viện điều khiển hiển thị và đẩy qua cổng nối tiếp (UART) bằng lệnh
Serial.print() / Serial.println() lên cổng COM của máy tính.
- Giao diện phần mềm trên máy tính viết bằng Visual Basic mở cổng COM tương ứng (ví dụ: COM3), đọc chuỗi dữ liệu nhận được và cập nhật liên tục lên màn hình giám sát.
Nội dung chính theo từng chương
Chương 1: Tổng quan về cân điện tử
Chương này khảo sát chi tiết nhu cầu thực tế và phân loại các hệ thống cân điện tử đang được ứng dụng trong các lĩnh vực kinh tế - kỹ thuật:
| Loại cân điện tử |
Mức cân tiêu biểu |
Cổng kết nối / Nguồn điện |
Tính năng chính |
| Cân bàn điện tử |
60 kg, 100 kg, 150 kg |
Cổng RS-232C; Pin sạc DC 9V hoặc AC 110/220V |
Đơn vị kg/lb, tự động về 0, tự động tắt nguồn, quá tải an toàn 125% |
| Cân sàn điện tử |
500 kg, 1000 kg, 2000 kg |
Cổng RS-232C; Pin sạc DC 6V/3.2Ah hoặc AC 230V |
Thiết kế có bánh xe di chuyển, kết nối máy in/máy tính, hiển thị LED |
| Cân phân tích điện tử |
64 g, 110 g, 210 g |
Adapter 12V hoặc 6 pin AAA |
Độ chính xác cao, dùng trong phòng thí nghiệm, chống nước, tự động về 0 |
| Cân đếm vật liệu |
1.5 kg, 3 kg, 6 kg |
Pin sạc DC 6V/4Ah hoặc AC 110/230V |
Hỗ trợ đếm số lượng linh kiện, hàng hóa, tiết kiệm thời gian, quá tải an toàn 150% |
| Cân vàng điện tử |
120 g, 200 g, 300 g, 400 g |
Cổng RS-232A; AC adapter 9V hoặc 4 pin AA |
Độ sai số cực nhỏ, chuyển đổi nhiều đơn vị đo (g, oz, lb), đếm số lượng |
| Cân tính tiền |
3 kg, 5 kg, 10 kg, 15 kg |
Cổng RS-232A; AC 230V (50/60Hz) |
Cân khối lượng, tự động tính giá thành và in phiếu trong siêu thị/cửa hàng |
| Cân ô tô, xe tải |
40 tấn, 60 tấn, 80 tấn (đến 100 - 800 tấn) |
Chuẩn giao tiếp RS-485 hoặc RS-232; AC 220V (50Hz) |
Kích thước sàn lớn (8x3m, 10x3m...), chống nước, chống rỉ sét, quá tải an toàn 120-140% |
Trên cơ sở phân tích cấu trúc 3 khối cơ bản của cân điện tử (Cảm biến - Xử lý - Hiển thị), tác giả đưa ra 3 phương án thi công:
- Phương án 1: Cảm biến Loadcell kết hợp vi điều khiển PIC16F877A.
- Phương án 2: Cảm biến Loadcell kết hợp vi điều khiển 8051 và LCD.
- Phương án 3: Cảm biến Loadcell kết hợp module HX711, bo mạch vi điều khiển Arduino Uno R3, màn hình LCD và nút bấm.
Tác giả quyết định lựa chọn Phương án 3 nhờ tính sẵn dụng của thư viện phần mềm, cộng đồng hỗ trợ lớn, mạch nạp tích hợp tiện lợi qua cổng USB và khả năng mở rộng giao tiếp máy tính linh hoạt.
Chương 2: Giới thiệu linh kiện sử dụng
Chương này trình bày chi tiết về cấu tạo, nguyên lý và thông số kỹ thuật của từng linh kiện:
- Cảm biến Loadcell: Phân loại các dạng cảm biến tải trọng phổ biến (dạng kéo chữ S, dạng uốn, dạng nén bề mặt thấp, dạng nén hình thanh). Trình bày chi tiết thông số kỹ thuật của cảm biến Loadcell 5kg bằng nhôm, sử dụng cầu điện trở Wheatstone với trở kháng ngõ vào $1066 \pm 20,\Omega$, ngõ ra $1000 \pm 20,\Omega$, độ lệch tuyến tính 0.1% và độ nhạy xuất $1.15\text{ mV/V}$.
- Module ADC HX711: Cung cấp giải pháp số hóa tín hiệu tương tự 24-bit chuyên dụng cho cảm biến cầu với 2 chân giao tiếp xung/dữ liệu (
SCK, DT), tốc độ lấy mẫu tùy chỉnh từ 10 đến 80 SPS.
- Màn hình LCD 1602: Phân tích tổ chức bộ nhớ gồm DDRAM (chứa 80 ô nhớ dữ liệu hiển thị, hiển thị trực tiếp 32 ký tự trên 2 dòng), CGROM (chứa bảng font chữ chuẩn mã ASCII), CGRAM (chứa 8 ký tự tự định nghĩa kích thước $5\times 8$ điểm ảnh), và chức năng các chân tín hiệu điều khiển
RS, RW, EN.
- Nền tảng Arduino Uno R3 và vi điều khiển ATmega328P:
- Phân tích kiến trúc vi xử lý RISC 8-bit, tần số hoạt động 16 MHz, bộ nhớ Flash 32KB (với 0.5KB cho bootloader), 2KB SRAM và 1KB EEPROM.
- Khảo sát hệ thống ngắt, 3 bộ Timer/Counter, 6 kênh PWM, và cấu trúc các thanh ghi điều khiển cổng (DDRx, PORTx, PINx) cùng thanh ghi trạng thái SREG (gồm các bit cờ C, Z, N, V, S, H, T, I).
- So sánh các biến thể trong họ Arduino: Uno R3 chân cắm (dùng chip nạp Atmega16U2), Uno R3 SMD (dùng chip nạp CH340), Nano, Leonardo (Atmega32u4), Mega 2560, Pro Mini và Due (ARM 32-bit).
Phần thiết kế, thi công và lập trình ứng dụng
- Lập trình nhúng: Xây dựng mã nguồn trên môi trường Arduino IDE, khai báo cấu hình chân, thiết lập tốc độ Baud cho cổng nối tiếp, cấu hình hàm
setup() khởi tạo module HX711 và màn hình LCD, vòng lặp loop() liên tục lấy mẫu dữ liệu, chuyển đổi công thức khối lượng và xuất dữ liệu ra LCD/Serial.
- Lập trình giao diện máy tính: Sử dụng ngôn ngữ Visual Basic thiết kế form hiển thị trực quan, quản lý kết nối cổng COM, nhận và phân tách dữ liệu chuỗi từ Arduino để hiển thị chỉ số cân nặng lên máy tính.
- Thi công và kiểm thử: Hoàn thiện lắp ráp cơ khí phần khung đòn cân, kết nối mạch điện tử thực tế, nạp chương trình và tiến hành đo đạc đối chiếu với cân chuẩn thực tế.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Chế tạo thành công mô hình phần cứng: Hệ thống cân điện tử hoạt động hoàn chỉnh với kết cấu cơ khí khung nhôm gắn cảm biến Loadcell 5kg, mạch chuyển đổi ADC HX711 24-bit, bo mạch xử lý trung tâm Arduino Uno R3 và màn hình LCD 1602.
- Xây dựng chương trình nhúng: Đọc chính xác tín hiệu tương tự vi sai biên độ micro-volt từ cầu đo Wheatstone, chuyển đổi tuyến tính sang đơn vị khối lượng (gam/kilogam) với độ ổn định cao.
- Phát triển giao diện giám sát: Thiết lập thành công kênh truyền thông nối tiếp qua cổng COM ảo, xây dựng giao diện người dùng trên Visual Basic hiển thị đồng thời giá trị khối lượng đo được trên màn hình máy tính theo thời gian thực.
- Đối chuẩn thực nghiệm: Thực hiện đo đạc và lập bảng so sánh với cân thực tế để kiểm tra tính ổn định và độ tuyến tính của hệ thống cân tự chế tạo.
Đóng góp của đề tài
- Tổng hợp hệ thống hóa cơ sở lý thuyết về cảm biến biến dạng (Strain gauge) và nguyên lý đo lường bằng cầu Wheatstone.
- Cung cấp tài liệu thiết kế chi tiết từ sơ đồ nguyên lý phần cứng, cách đấu nối dây module chuyên dụng HX711 đến mã nguồn lập trình vi điều khiển Arduino và phần mềm máy tính Visual Basic.
- Đưa ra giải pháp đo lường khối lượng chi phí thấp, linh kiện dễ tìm kiếm, phù hợp cho các ứng dụng đo đạc quy mô nhỏ hoặc làm mô hình học cụ trong đào tạo kỹ thuật.
Hạn chế và hướng phát triển đề tài
Hạn chế
- Dải đo tối đa của mô hình bị giới hạn ở mức 5kg do cấu hình phần cứng của cảm biến Loadcell được chọn.
- Mạch chưa tích hợp các cơ chế chống rung cơ học phức tạp hoặc thuật toán lọc nhiễu nâng cao (như lọc Kalman hay lọc trung bình động đa tầng) khi môi trường đo có rung động lớn.
- Giao diện máy tính viết trên Visual Basic mới dừng lại ở mức hiển thị dữ liệu đo trực tiếp, chưa tích hợp cơ sở dữ liệu chuyên sâu để quản lý lịch sử cân hay in hóa đơn tự động.
Hướng phát triển đề tài
- Mở rộng dải đo: Thay thế cảm biến Loadcell có tải trọng lớn hơn (hàng chục đến hàng trăm kilogam) hoặc ghép nối nhiều cảm biến song song để ứng dụng cho cân bàn công nghiệp hoặc cân sàn.
- Nâng cấp phần mềm: Bổ sung tính năng lưu trữ dữ liệu vào hệ quản trị cơ sở dữ liệu (SQL/Access), tạo báo cáo thống kê tự động và kết nối máy in để in phiếu cân tương tự cân tính tiền thương mại.
- Phát triển tính năng thông minh: Bổ sung kết nối không dây (Bluetooth, Wi-Fi/ESP8266/ESP32) để truyền dữ liệu lên máy chủ web hoặc ứng dụng di động phục vụ giám sát từ xa trong hệ thống IoT công nghiệp.
Giá trị tham khảo
Tài liệu đồ án là nguồn tư liệu thực hành có giá trị dành cho:
- Sinh viên các ngành: Công nghệ Kỹ thuật Điện tử Viễn thông, Tự động hóa, Kỹ thuật Cơ điện tử, Công nghệ Kỹ thuật Máy tính và Công nghệ Thông tin đang thực hiện đồ án môn học hoặc đồ án tốt nghiệp về hệ thống đo lường điều khiển.
- Nội dung tham khảo nổi bật:
- Tài liệu tra cứu chi tiết về sơ đồ chân, cấu trúc bộ nhớ (DDRAM, CGROM, CGRAM) và tập lệnh điều khiển màn hình LCD 1602.
- Phương pháp ghép nối cảm biến tải trọng Loadcell 4 dây với module chuyển đổi ADC 24-bit HX711.
- Kỹ thuật lập trình giao tiếp truyền thông nối tiếp (Serial/UART) giữa Arduino và phần mềm máy tính qua cổng COM.
Câu hỏi thường gặp
1. Tại sao hệ thống bắt buộc phải sử dụng module ADC HX711 thay vì dùng trực tiếp các chân Analog Input của Arduino Uno?
Tín hiệu điện áp ngõ ra của cảm biến Loadcell rất nhỏ, chỉ khoảng $1 - 3\text{ mV/V}$ (tối đa khoảng 20mV khi đầy tải). Các chân Analog của Arduino Uno (vi điều khiển ATmega328P) sử dụng bộ ADC 10-bit với điện áp tham chiếu 5V, dẫn đến độ phân giải nhỏ nhất đo được là $5\text{V} / 1024 \approx 4.88\text{ mV}$ (hoặc ở mức ADC 8-bit là $19.53\text{ mV}$). Mức phân giải này quá thô, không thể ghi nhận chính xác sự biến thiên ở cấp độ micro-volt của Loadcell. Module HX711 tích hợp mạch khuếch đại điện áp vi sai độ ồn thấp cùng bộ chuyển đổi ADC 24-bit ($2^{24} = 16.777.216$ mức), cho phép nhận biết các thay đổi điện áp cực nhỏ từ cảm biến.
2. Các dây dẫn của cảm biến Loadcell được đấu nối với module HX711 như thế nào?
Cảm biến Loadcell chuẩn 4 dây được đấu nối vào module HX711 theo quy ước:
- Dây Đỏ (Red) kết nối với chân
E+ (Điện áp kích thích dương).
- Dây Đen (Black) kết nối với chân
E- (Điện áp kích thích âm / Mass).
- Dây Trắng (White) kết nối với chân
A+ (Tín hiệu ngõ ra vi sai dương).
- Dây Xanh lá (Green) kết nối với chân
A- (Tín hiệu ngõ ra vi sai âm).
3. Bộ nhớ LCD 1602 gồm những vùng nào và chức năng của từng vùng ra sao?
LCD 1602 có 3 vùng nhớ chính:
- DDRAM (Display Data RAM): Bộ nhớ tạm chứa mã ký tự hiển thị gồm 80 ô nhớ 8-bit, trong đó 16 ô địa chỉ $0 - 15$ hiển thị ở dòng 1 và 16 ô địa chỉ $64 - 79$ hiển thị ở dòng 2.
- CGROM (Character Generator ROM): Bộ nhớ cố định chứa định nghĩa font chữ chuẩn của các ký tự mã ASCII.
- CGRAM (Character Generator RAM): Bộ nhớ cho phép người dùng tự định nghĩa tối đa 8 ký tự hoặc biểu tượng đồ họa tùy chọn (kích thước $5\times 8$ điểm ảnh) với dung lượng 64 ô nhớ.
4. Bo mạch Arduino Uno R3 truyền dữ liệu lên máy tính bằng phương thức nào?
Arduino Uno R3 sử dụng chuẩn truyền thông nối tiếp không đồng bộ (UART) qua các chân Digital 0 (RX) và 1 (TX). Tín hiệu UART được chip nạp trung gian (Atmega16U2 trên bản chân cắm hoặc CH340 trên bản SMD) chuyển đổi thành giao thức USB để kết nối với máy tính, máy tính sẽ nhận diện bo mạch dưới dạng một cổng COM ảo (Virtual COM Port). Phần mềm trên máy tính (Visual Basic) sẽ mở đúng cổng COM này với cùng tốc độ Baud để thu nhận chuỗi ký tự do Arduino gửi lên.
Kết luận
Đồ án tốt nghiệp "Thiết kế cân điện tử và hiển thị trên máy tính" của tác giả Nguyễn Đức Thành đã giải quyết trọn vẹn bài toán thiết kế một hệ thống đo lường khối lượng hoàn chỉnh từ phần cứng đến phần mềm. Bằng việc kết hợp cảm biến Loadcell 5kg, bộ chuyển đổi ADC 24-bit chuyên dụng HX711, bo mạch vi điều khiển Arduino Uno R3 và phần mềm giao diện máy tính Visual Basic, hệ thống đã thực hiện việc đo lường khối lượng chính xác và hiển thị số liệu trực quan. Đây là tài liệu kỹ thuật có cấu trúc rõ ràng, tính ứng dụng thực tiễn cao, đóng vai trò là tài liệu tham khảo hữu ích cho sinh viên và kỹ sư trong lĩnh vực thiết kế hệ thống nhúng và đo lường điện tử.