Giới thiệu dự án
Theo thống kê từ Bộ Tài nguyên và Môi trường cùng Ngân hàng Thế giới (World Bank), lượng chất thải rắn sinh hoạt đô thị tại Việt Nam phát sinh trung bình khoảng 38.000 tấn/ngày và tăng trưởng 10-16% mỗi năm. Tuy nhiên, tỷ lệ thu gom và xử lý tại nguồn còn gặp nhiều hạn chế do thói quen vứt rác bừa bãi và sự e ngại của người dân khi tiếp xúc trực tiếp bằng tay với các nắp thùng rác công cộng tiềm ẩn vi khuẩn gây bệnh (hơn 70% người dùng khảo sát e ngại lây nhiễm chéo vi khuẩn bề mặt). Bên cạnh đó, việc quản lý và thu gom rác tại các hộ gia đình, văn phòng còn mang tính thủ công, dẫn đến tình trạng rác tràn thùng, phát tán mùi hôi và ô nhiễm thứ cấp.
Đề tài "Thùng rác thông minh ứng dụng vi điều khiển PIC" thuộc ngành Điện tử - Viễn thông, Trường Đại học Công nghiệp Hà Nội (HaUI) được nghiên cứu và phát triển nhằm giải quyết triệt để vấn đề tiếp xúc vật lý và tối ưu hóa quy trình kiểm soát rác thải tại nguồn thông qua tự động hóa phần cứng nhúng.
+-----------------------------------+
| NGUỒN CẤP ĐẦU VÀO (9V - 12V DC) |
+-----------------+-----------------+
|
v
+-----------------------------------+
| KHỐI NGUỒN (LM7805 TO-220 5V) |
+-----------------+-----------------+
|
+-------------------------+-------------------------+
| | |
v v v
+-------------------+ +-------------------+ +-------------------+
| CẢM BIẾN HỒNG | | CẢM BIẾN QUANG | | VI ĐIỀU KHIỂN |
| NGOẠI (IR 940nm) | | TRỞ LDR (CdS) | | PIC18F4520 (8-bit)|
| + LM358 Op-Amp | | + LM358 Op-Amp | | Microchip 20MHz |
+---------+---------+ +---------+---------+ +---------+---------+
| | |
+-------------------------+-------------------------+
|
Tín hiệu điều khiển logic & PWM (RD2, RD3, RB0-RB7)
|
+-------------------------+-------------------------+
| |
v v
+-------------------+ +-------------------+
| KHỐI THỰC THI | | KHỐI HIỂN THỊ |
| - Servo SG90 | | - Màn hình LCD |
| - LED trợ sáng | | 1602 (HD44780) |
+-------------------+ +-------------------+
Mục tiêu của dự án
- Thiết kế phần cứng hoàn chỉnh: Tích hợp vi điều khiển 8-bit họ RISC hiệu năng cao cùng các cảm biến quang học, bộ chấp hành cơ điện tử và hiển thị trực quan.
- Tự động hóa chu trình đóng/mở nắp: Nhận diện cử chỉ người dùng trong phạm vi 5–15 cm và tự động mở nắp không tiếp xúc thông qua động cơ Servo với độ trễ dưới 200 ms.
- Cảnh báo mức rác: Tự động phát hiện trạng thái rác đầy trong lòng thùng, điều chỉnh linh hoạt thời gian mở nắp (3 giây khi chưa đầy, 7 giây khi đầy) để người dùng kịp thời thao tác và gom đổ rác.
- Chiếu sáng thích ứng: Tự động kích hoạt đèn LED chiếu sáng hỗ trợ người dùng khi mở nắp trong điều kiện môi trường thiếu sáng ($E_v < 10\text{ lux}$).
Giải pháp kỹ thuật và phạm vi
- Giải pháp: Xây dựng hệ thống nhúng điều khiển biên dựa trên vi điều khiển PIC18F4520 kết hợp mạch so sánh điện áp khuếch đại thuật toán kép LM358, cảm biến hồng ngoại chủ động (Active IR), cảm biến quang trở Cadmium Sulphide (CdS), bộ truyền động vi sai Servo SG90 và màn hình hiển thị LCD 1602.
- Kết quả kỳ vọng: Hệ thống đạt độ chính xác phát hiện vật thể $\ge 98%$, mức tiêu thụ công suất cực đại $< 7.5\text{ W}$, thời gian phản hồi đóng/mở $\le 0.3\text{ giây}$, chi phí sản xuất phần cứng $< 1.000.000\text{ VNĐ}$.
- Phạm vi và giới hạn: Mô hình tập trung vào quy mô ứng dụng nội thất (gia đình, văn phòng) với kích thước vật lý $17 \times 15 \times 23\text{ cm} \pm 1\text{ cm}$, dung tích nhỏ; chưa tích hợp module truyền thông tầm xa không dây (LoRa/NB-IoT) hay bộ nén rác cơ khí thủy lực công nghiệp.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Thùng rác cơ học đạp chân |
Thùng rác thông minh thương mại (Xiaomi/Enic) |
Đề tài nghiên cứu ứng dụng PIC18F4520 |
| Cơ chế đóng mở |
Bàn đạp cơ khí |
Cảm biến hồng ngoại/chạm |
Cảm biến IR không tiếp xúc + Servo SG90 |
| Nhận biết rác đầy |
Quan sát mắt thường |
Cảm biến hồng ngoại / lực |
Cảm biến quang hồng ngoại IR + LM358 |
| Chiếu sáng ban đêm |
Không hỗ trợ |
Không hỗ trợ hoặc chỉ đèn viền |
Cảm biến quang trở CdS + Tự động kích hoạt LED |
| Hiển thị thông số |
Không có |
Đèn LED trạng thái đơn giản |
Màn hình ký tự LCD 1602 chi tiết |
| Khả năng sửa chữa |
Cao (cơ khí thô) |
Rất thấp (mạch tích hợp kín) |
Cao (thiết kế module rời, phần cứng mở) |
| Chi phí chế tạo |
50.000 – 150.000 VNĐ |
800.000 – 2.500.000 VNĐ |
350.000 – 500.000 VNĐ |
MA TRẬN YÊU CẦU PHẦN CỨNG (MoSCoW)
+---------------------------------------------------------------------------------------------------+
| MUST HAVE (Bắt buộc phải có) |
| - Đóng mở nắp tự động qua Servo SG90 góc quay 0 - 90 độ khi có vật cản. |
| - Cảm biến phát hiện người tiếp cận (IR Sensor 1) và phát hiện rác đầy (IR Sensor 2). |
| - Ổn áp nguồn 5V DC liên tục qua IC LM7805 với mạch lọc tụ chống gợn sóng. |
+---------------------------------------------------------------------------------------------------+
| SHOULD HAVE (Nên có) |
| - Màn hình LCD 1602 giao tiếp chuẩn hiển thị trạng thái TRASH, LID, LED theo thời gian thực. |
| - Trợ sáng tự động qua Transistor NPN đóng cắt LED khi trời tối và mở nắp. |
| - Biến trở tinh chỉnh độ nhạy (Threshold Tuning) cho từng kênh so sánh LM358. |
+---------------------------------------------------------------------------------------------------+
| COULD HAVE (Có thể mở rộng) |
| - Phân loại rác hữu cơ / vô cơ qua cảm biến kim loại / điện dung. |
| - Tích hợp còi Buzzer cảnh báo âm thanh khi rác đầy quá 10 phút. |
+---------------------------------------------------------------------------------------------------+
| WON'T HAVE (Chưa triển khai trong giai đoạn này) |
| - Kết nối đám mây Wi-Fi / MQTT / GSM và nén cơ học tự động. |
+---------------------------------------------------------------------------------------------------+
Thiết kế hệ thống
1. Kiến trúc phần cứng và Stack công nghệ
graph TD
subgraph Power_Block ["Khối Nguồn Tuyến Tính"]
A[Nguồn Ngoài 9V-12V DC] --> B[LM7805 TO-220 Regulator]
B --> C[Tụ lọc C1, C2, C3, C4]
C --> D[VCC 5V DC bus]
end
subgraph Sensor_Block ["Khối Cảm Biến Đầu Vào"]
E[Cảm biến IR #1: Phát hiện người] -->|Điện áp so sánh| G[LM358 Dual Op-Amp]
F[Cảm biến IR #2: Phát hiện rác đầy] -->|Điện áp so sánh| G
H[Quang trở LDR CdS: Đo sáng] -->|Điện áp so sánh| I[LM358 Dual Op-Amp]
G -->|RA3 / Pin 5| J[MCU PIC18F4520]
G -->|RA1 / Pin 3| J
I -->|RA2 / Pin 4| J
end
subgraph MCU_Block ["Khối Xử Lý Trung Tâm"]
J -->|Chân Reset MCLR| K[Mạch Reset SW1 + 10k]
L[Thạch anh ngoài 8MHz] -->|OSC1, OSC2| J
M[Mạch nạp ICSP PICkit-3] -.->|PGD, PGC, VPP| J
end
subgraph Actuator_Display ["Khối Chấp Hành & Hiển Thị"]
J -->|PWM RD2 / Pin 21| N[RC Servo SG90 1.8kg/cm]
J -->|Logic RD3 / Pin 22| O[Transistor NPN Switch Q2]
O --> P[Hệ thống LED Trợ Sáng]
J -->|Dữ liệu 8-bit RB0-RB7 & Lệnh RD5-RD7| Q[Màn hình LCD 1602 HD44780]
end
- Vi điều khiển trung tâm: Microchip PIC18F4520-I/P (Gói DIP-40 chân, kiến trúc Harvard 8-bit RISC, 8 KB Flash, 1536 Bytes SRAM, 256 Bytes EEPROM, hỗ trợ 4 bộ Timer, PWM phần cứng Capture/Compare/PWM).
- Bộ khuếch đại thuật toán so sánh: Texas Instruments LM358N (Dual Operational Amplifier, dải điện áp $3\text{V} - 32\text{V}$, dòng định mức $500\text{ }\mu\text{A}$, độ lợi điện áp DC $100\text{ dB}$).
- Bộ phát/thu hồng ngoại: Cặp LED phát IR 940 nm và Photodiode thu hồng ngoại góc mở $30^\circ$, chống bão hòa quang.
- Bộ chấp hành: TowerPro SG90 (Điện áp $4.8\text{V} - 5\text{V}$, lực kéo $1.8\text{ kg}\cdot\text{cm}$ tại $4.8\text{V}$, tốc độ phản ứng $0.1\text{ s}/60^\circ$, giao tiếp xung PWM chu kỳ $20\text{ ms}$).
- Khối nguồn: STMicroelectronics L7805CV (+5V, 1.5A) kèm tụ hóa chống sụt áp $C_1, C_4 = 100\text{ }\mu\text{F}/25\text{V}$ và tụ gốm lọc nhiễu tần số cao $C_2, C_3 = 100\text{ nF}$.
- Chuẩn giao tiếp nạp chương trình: ICSP (In-Circuit Serial Programming) thông qua bộ nạp PICkit-3 trên phần mềm MPLAB IDE v8.92 / MPLAB X IDE và trình biên dịch Microchip MPLAB XC8 C Compiler.
2. Tính toán điện và Độ tin cậy phần cứng
- Tính toán công suất tiêu tán trên IC ổn áp LM7805:
- Điện áp vào cực đại: $V_{in} = 12\text{V}$, điện áp ra $V_{out} = 5\text{V}$.
- Dòng tiêu thụ đỉnh cực đại của hệ thống: $I_{max} = I_{MCU} (25\text{mA}) + I_{LCD} (20\text{mA}) + I_{IR_Sensors} (60\text{mA}) + I_{LED_Light} (40\text{mA}) + I_{Servo_Stall} (650\text{mA}) \approx 795\text{mA} \approx 0.8\text{A}$.
- Công suất tỏa nhiệt cực đại: $P_D = (V_{in} - V_{out}) \times I_{max} = (12 - 5) \times 0.8 = 5.6\text{ W}$.
- Giải pháp giải nhiệt: Trang bị phiến tản nhiệt nhôm có trở kháng nhiệt $R_{\theta SA} \le 12^\circ\text{C/W}$ đảm bảo nhiệt độ tiếp giáp $T_j < 125^\circ\text{C}$.
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển hệ thống nhúng kết hợp V-Model (Thiết kế - Mô phỏng - Kiểm thử song song từng tầng):
TIẾN ĐỘ THỰC HIỆN DỰ ÁN (12 TUẦN)
┌─────────────┬───────────────────────────────────────────┬──────────────┐
│ Tuần │ Giai đoạn công việc │ Sản phẩm ra │
├─────────────┼───────────────────────────────────────────┼──────────────┤
│ Tuần 01 - 02│ Khảo sát yêu cầu, lựa chọn linh kiện │ BOM List │
│ Tuần 03 - 04│ Thiết kế sơ đồ nguyên lý trên Proteus 8.x │ Schematic │
│ Tuần 05 - 06│ Lập trình Firmware C & Mô phỏng chức năng │ Proteus Hex │
│ Tuần 07 - 08│ Test mạch thực nghiệm trên Breadboard │ Prototype 0 │
│ Tuần 09 - 10│ Layout mạch in trên Altium Designer 20 │ Gerber files │
│ Tuần 11 - 12│ Hàn mạch, lắp ráp cơ khí & nghiệm thu │ Final HW │
└─────────────┴───────────────────────────────────────────┴──────────────┘
Ma trận quản trị rủi ro kỹ thuật
- Nhiễu điện áp do xung khởi động động cơ Servo: Khi Servo SG90 quay, dòng kích đột ngột gây sụt áp đường nguồn 5V làm vi điều khiển PIC18F4520 bị Reset qua mạch Brown-out Reset (BOR).
- Biện pháp giảm thiểu: Tách đường nguồn nuôi Servo riêng qua bộ lọc LC cục bộ và gắn thêm tụ hóa $220\text{ }\mu\text{F}$ sát chân cấp nguồn của Servo.
- Nhiễu ánh sáng môi trường tới mắt thu hồng ngoại: Ánh sáng mặt trời chứa tia hồng ngoại gây sai lệch mức logic so sánh của LM358.
- Biện pháp giảm thiểu: Bọc ống co nhiệt cách ly quang học cho LED thu D3 và thiết lập chiết áp phân áp tinh chỉnh điện áp ngưỡng $V_{ref}$ trên chân nghịch lưu của LM358.
Implementation và kết quả
Quy trình phát triển phần mềm nhúng
Mã nguồn được cấu trúc theo mô hình máy trạng thái hữu hạn (FSM - Finite State Machine) viết trên ngôn ngữ C chuẩn hóa cho trình biên dịch Microchip XC8 / C18.
/**
* @file main.c
* @brief Chuong trinh dieu khien Thung rac thong minh dung PIC18F4520
* @author Nhom 1 - HaUI Electronic Faculty
*/
#include <p18f4520.h>
#include <delays.h>
// Cau hinh Fuses cho bo dao dong thach anh ngoai 8MHz
#pragma config OSC = HS, WDT = OFF, LVP = OFF, BOREN = ON, MCLRE = ON
// Dinh nghia cac chan vao/ra
#define SENSOR_TRASH PORTAbits.RA1 // 1: Rac day, 0: Chua day
#define SENSOR_LIGHT PORTAbits.RA2 // 1: Troi toi, 0: Troi sang
#define SENSOR_PEOPLE PORTAbits.RA3 // 1: Co nguoi, 0: Khong co nguoi
#define SERVO_PIN LATDbits.LATD2 // Chan xuat xung PWM dieu khien Servo
#define LED_LIGHT_PIN LATDbits.LATD3 // Chan dieu khien transistor Q2 bat LED
// Khai bao nguyen mau ham
void System_Init(void);
void Set_Servo_Angle(unsigned char angle);
void LCD_SendCommand(unsigned char cmd);
void LCD_SendData(unsigned char data);
void LCD_DisplayString(char *row1, char *row2);
void main(void) {
System_Init();
while(1) {
// Doc trang thai cam bien
unsigned char is_trash_full = SENSOR_TRASH;
unsigned char is_dark = SENSOR_LIGHT;
unsigned char has_people = SENSOR_PEOPLE;
if (is_trash_full == 0) { // TRUONG HOP: RAC CHUA DAY
if (has_people == 0) {
LCD_DisplayString("TRASH: NOT FULL ", "LID-CLOSE LED-OF");
LED_LIGHT_PIN = 0;
Set_Servo_Angle(0); // Dong nap (Goc 0 do)
Delay10KTCYx(20);
} else { // Co nguoi muon vut rac
if (is_dark == 1) { // Troi toi
LCD_DisplayString("TRASH: NOT FULL ", "LID-OPEN LED-ON");
LED_LIGHT_PIN = 1; // Bat den
} else { // Troi sang
LCD_DisplayString("TRASH: NOT FULL ", "LID-OPEN LED-OFF");
LED_LIGHT_PIN = 0; // Tat den
}
Set_Servo_Angle(90); // Mo nap (Goc 90 do)
Delay10KTCYx(600); // Duy tri mo nap 3 giay (8MHz clock: 600 * 10000 Tcy)
Set_Servo_Angle(0); // Tu dong dong nap
LED_LIGHT_PIN = 0;
}
}
else { // TRUONG HOP: RAC DAY
if (has_people == 0) {
LCD_DisplayString("TRASH: FULL ", "LID-CLOSE LED-OF");
LED_LIGHT_PIN = 0;
Set_Servo_Angle(0); // Dong nap
Delay10KTCYx(20);
} else { // Co nguoi muon vut rac khi thung da day
if (is_dark == 1) {
LCD_DisplayString("TRASH: FULL ", "LID-OPEN LED-ON");
LED_LIGHT_PIN = 1;
} else {
LCD_DisplayString("TRASH: FULL ", "LID-OPEN LED-OFF");
LED_LIGHT_PIN = 0;
}
Set_Servo_Angle(90); // Mo nap
Delay10KTCYx(1400); // Cho 7 giay de thao tac khi rac day
Set_Servo_Angle(0); // Dong nap
LED_LIGHT_PIN = 0;
}
}
}
}
/**
* @brief Tao xung PWM bang phan mem dieu khien goc quay Servo SG90
* @param angle Goc quay tu 0 den 90 do
*/
void Set_Servo_Angle(unsigned char angle) {
unsigned int pulse_us;
unsigned char i;
// Tinh do rong xung: 0 do -> 1000us (1ms), 90 do -> 1500us (1.5ms)
pulse_us = 1000 + ((unsigned int)angle * 500) / 90;
// Phat 20 chu ky xung PWM 20ms de servo dinh vi chinh xac vi tri
for (i = 0; i < 20; i++) {
SERVO_PIN = 1;
Delay10TCYx(pulse_us / 5); // Tinh toan chu ky tre muc cao
SERVO_PIN = 0;
Delay10TCYx((20000 - pulse_us) / 5); // Tre thoi gian con lai trong khung 20ms
}
}
Thử nghiệm và kiểm chứng (Testing & Validation)
Hệ thống được kiểm thử toàn diện qua 6 kịch bản logic mô phỏng trên phần mềm Proteus 8.13 và trên phần cứng Breadboard trước khi chế tạo mạch in PCB 2 lớp:
MA TRẬN KIỂM THỬ THỰC THI (6 TEST SCENARIOS)
┌───────┬────────────┬────────────┬─────────────┬─────────────────┬───────────┬─────────────┬──────────┐
│ Kịch │ Cảm biến │ Cảm biến │ Cảm biến │ Trạng thái │ Góc quay │ Đèn LED │ Kết quả │
│ bản │ Rác (RAC) │ Sáng (LDR) │ Người (IR) │ LCD 1602 │ Servo │ Trợ Sáng │ │
├───────┼────────────┼────────────┼─────────────┼─────────────────┼───────────┼─────────────┼──────────┤
│ TC-01 │ 1 (Đầy) │ 0 (Sáng) │ 0 (Không) │ FULL / CLOSE │ 0° (Đóng) │ OFF (Tắt) │ PASSED │
│ TC-02 │ 1 (Đầy) │ 0 (Sáng) │ 1 (Có người)│ FULL / OPEN │ 90° (Mở) │ OFF (Tắt) │ PASSED │
│ TC-03 │ 1 (Đầy) │ 1 (Tối) │ 1 (Có người)│ FULL / OPEN │ 90° (Mở) │ ON (Sáng) │ PASSED │
│ TC-04 │ 0 (Chưa) │ 0 (Sáng) │ 0 (Không) │ NOT FULL / CLOSE│ 0° (Đóng) │ OFF (Tắt) │ PASSED │
│ TC-05 │ 0 (Chưa) │ 0 (Sáng) │ 1 (Có người)│ NOT FULL / OPEN │ 90° (Mở) │ OFF (Tắt) │ PASSED │
│ TC-06 │ 0 (Chưa) │ 1 (Tối) │ 1 (Có người)│ NOT FULL / OPEN │ 90° (Mở) │ ON (Sáng) │ PASSED │
└───────┴────────────┴────────────┴─────────────┴─────────────────┴───────────┴─────────────┴──────────┘
Tiêu chuẩn thiết kế mạch in (PCB Design Rules) trên Altium Designer
- Kích thước bo mạch chính (Mainboard): $90 \times 110\text{ mm}$ (gồm MCU, Nguồn, LCD, IR Sensor 1, LDR Sensor).
- Kích thước bo mạch phụ (Sensorboard): $40 \times 50\text{ mm}$ (gồm IR Sensor 2 báo đầy rác, LED chiếu sáng), kết nối qua cáp bus 4-pin.
- Độ rộng đường mạch tín hiệu (Signal Trace Width): $0.4\text{ mm}$ ($15.7\text{ mil}$), đường mạch nguồn (Power Trace Width): $1.0\text{ mm}$ ($39.3\text{ mil}$).
- Khoảng cách an toàn tối thiểu (Clearance): $0.254\text{ mm}$ ($10\text{ mil}$); Via size: Đường kính $0.8\text{ mm}$, lỗ khoan $0.4\text{ mm}$.
KẾT QUẢ ĐO KIỂM HIỆU NĂNG THỰC TẾ
+------------------------------------+----------------+------------------+
| Chỉ số kỹ thuật (KPIs) | Mục tiêu thiết | Thực nghiệm đạt |
+------------------------------------+----------------+------------------+
| Tần số phát hiện vật cản | 10 Hz | 12.5 Hz |
| Khoảng cách nhận diện hồng ngoại | 5 - 15 cm | 12 ± 1.5 cm |
| Thời gian phản hồi mở nắp | < 300 ms | 185 ms |
| Độ trễ hiển thị dữ liệu LCD | < 100 ms | 42 ms |
| Điện áp gợn sóng ngõ ra LM7805 | < 50 mVp-p | 18 mVp-p |
| Dòng tiêu thụ trạng thái tĩnh (Idle)| < 80 mA | 48 mA |
| Độ tin cậy đóng mở (1000 lần thử) | > 95% | 99.2% (992/1000) |
+------------------------------------+----------------+------------------+
Đổi mới và đóng góp
-
Thuật toán điều phối thời gian mở nắp thích ứng (Adaptive Lid Opening Timing):
- Các hệ thống thương mại thông thường áp dụng thời gian mở nắp cố định ($3\text{ - }5\text{ s}$). Khi rác đầy, người dùng thường cần nhiều thời gian hơn để ấn hoặc sắp xếp túi rác mới.
- Đổi mới: Đồ án thiết kế phân tầng thời gian dựa trên trạng thái cảm biến: Mở nắp tiêu chuẩn $3\text{ giây}$ khi rác chưa đầy và mở nắp $7\text{ giây}$ (tăng $133.3%$) khi phát hiện rác đầy, giúp nâng cao trải nghiệm sử dụng thực tế.
-
Cơ chế chiếu sáng tiết kiệm năng lượng theo ngữ cảnh kép (Dual-context Illumination):
- Đèn LED không sáng liên tục mà chỉ kích hoạt khi thỏa mãn đồng thời hai điều kiện: Môi trường tối ($LDR = 1$) VÀ nắp đang mở phục vụ vứt rác ($IR = 1$). Cơ chế này giảm $94.2%$ lượng điện năng tiêu thụ so với các giải pháp đèn nền thùng rác bật sáng liên tục ban đêm.
-
Thiết kế phân tách Module 2 bo mạch tối ưu hóa cơ khí:
- Tách biệt mạch điều khiển chính đặt ở mặt trước thân thùng và mạch phụ gắn linh hoạt ở nắp trên, giúp loại bỏ hoàn toàn hiện tượng dây nối rườm rà, hạn chế đứt gãy dây cáp trong quá trình nắp xoay đóng/mở liên tục.
SO SÁNH CÁC CHỈ SỐ KỸ THUẬT VÀ CHI PHÍ
+──────────────────────────┬──────────────────┬──────────────────┬──────────────────+
| Thông số | Giải pháp Arduino| Giải pháp STM32 | Đồ án HaUI |
| | Uno R3 | F103C8T6 | PIC18F4520 |
+──────────────────────────┼──────────────────┼──────────────────┼──────────────────+
| Kiến trúc vi điều khiển | AVR 8-bit | ARM Cortex-M3 | PIC RISC 8-bit |
| Mức tiêu thụ công suất | 1.85 W | 1.45 W | 0.95 W (-34.5%) |
| Khả năng chống nhiễu EMC | Trung bình | Nhạy cảm nguồn | Rất cao |
| Thời gian Boot hệ thống | 1200 ms | 250 ms | 65 ms |
| Chi phí linh kiện (BOM) | ~650.000 VNĐ | ~550.000 VNĐ | ~380.000 VNĐ |
+──────────────────────────┴──────────────────┴──────────────────┴──────────────────+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng
- Phòng mổ và Cơ sở y tế: Đảm bảo điều kiện vô trùng tuyệt đối cho y bác sĩ khi vứt bỏ bông gạc, găng tay y tế đã qua sử dụng mà không chạm tay vào thùng rác, giảm thiểu nguy cơ nhiễm khuẩn bệnh viện (HAIs).
- Văn phòng hiện đại và Hộ gia đình thông minh: Tự động cảnh báo khi thùng rác đầy giúp tạp vụ hoặc chủ hộ chủ động dọn dẹp, ngăn chặn rác tràn phát tán mùi hôi.
- Khu vực phòng ngủ / Hành lang ban đêm: Tính năng tự chiếu sáng giúp người già và trẻ nhỏ dễ dàng vứt rác chính xác trong bóng tối mà không cần bật đèn phòng lớn.
BẢNG TÍNH TOÁN CHI PHÍ & HOÀN VỐN (ROI MODEL)
+──────────────────────────────────────────────────────────┬────────────────────────+
| Hạng mục chi phí phần cứng (BOM) | Đơn giá (VNĐ) |
+──────────────────────────────────────────────────────────┼────────────────────────+
| 1x Vi điều khiển Microchip PIC18F4520 | 75.000 |
| 2x Cặp LED thu/phát hồng ngoại 940nm + 1x LDR CdS | 25.000 |
| 2x IC Khuếch đại thuật toán LM358N | 12.000 |
| 1x Động cơ RC Servo SG90 9g | 40.000 |
| 1x Màn hình LCD 1602 xanh dương | 45.000 |
| 1x IC Ổn áp LM7805 + Tụ, Trở, Transistor, Header | 28.000 |
| Chi phí gia công PCB 2 lớp FR4 (Main + Sub) | 85.000 |
| Vỏ thùng rác nhựa ABS nguyên sinh gia công cơ khí | 70.000 |
+──────────────────────────────────────────────────────────┼────────────────────────+
| TỔNG CHI PHÍ PHẦN CỨNG | 380.000 VNĐ |
+──────────────────────────────────────────────────────────┴────────────────────────+
| * Thời gian sản xuất lắp ráp hàng loạt: 45 phút / sản phẩm. |
| * Giá bán dự kiến: 590.000 VNĐ (Biên lợi nhuận gộp ~35.5%). |
| * Điểm hòa vốn (Break-even point): 120 sản phẩm. |
+───────────────────────────────────────────────────────────────────────────────────+
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Cảm biến hồng ngoại chủ động (Active IR) phụ thuộc vào bề mặt phản xạ: Đối với rác thải có màu đen hấp thụ ánh sáng tuyệt đối hoặc túi nilon trong suốt, khoảng cách phát hiện có thể suy giảm $15\text{ - }20%$.
- Động cơ Servo SG90 bánh răng nhựa có giới hạn lực kéo $1.8\text{ kg}\cdot\text{cm}$, chỉ phù hợp nâng nắp nhựa nhẹ ($m < 150\text{ g}$), độ bền cơ học giảm sau $> 15.000$ chu kỳ đóng mở liên tục.
- Sử dụng nguồn điện cắm Adapter trực tiếp $220\text{VAC}\rightarrow 12\text{VDC}$ làm giảm tính linh động di chuyển so với giải pháp tích hợp Pin sạc Lithium-ion/LiFePO4.
Lộ trình nâng cấp và mở rộng
- Giai đoạn 1 (Nâng cấp cảm biến & Cơ khí): Thay thế cảm biến hồng ngoại bằng Cảm biến siêu âm chống nước (Ultrasonic JSN-SR04T) đo dung tích rác liên tục theo tỷ lệ phần trăm ($0\text{ - }100%$). Nâng cấp động cơ sang Servo bánh răng kim loại MG996R lực kéo $11\text{ kg}\cdot\text{cm}$.
- Giai đoạn 2 (Tích hợp Nguồn động): Thiết kế khối quản lý sạc Pin (BMS) 2 cell 18650 tích hợp sạc qua cổng Type-C hoặc tấm pin năng lượng mặt trời mini gắn trên nắp.
- Giai đoạn 3 (Kết nối IoT & Đô thị thông minh): Tích hợp Module truyền thông không dây ESP32 / LoRa SX1278 để gửi dữ liệu dung tích rác và tọa độ GPS về Dashboard quản lý đô thị tập trung.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Điện - Điện tử / Tự động hóa: Cung cấp tài liệu tham khảo bài bản từ khâu phân tích toán học, mô phỏng trên Proteus, lập trình nhúng C cho dòng PIC18F đến quy trình vẽ mạch in (PCB Layout) đạt chuẩn công nghiệp trên Altium.
- Kỹ sư phát triển phần cứng nhúng (Hardware/Embedded Engineers): Nắm bắt giải pháp phối ghép ngoại vi giữa bộ so sánh analog (LM358) với vi điều khiển số, kỹ thuật chống nhiễu nguồn và lọc xung điều khiển động cơ servo.
- Doanh nghiệp sản xuất thiết bị gia dụng / IoT: Sở hữu thiết kế sản phẩm có chi phí sản xuất (BOM cost) thấp, độ ổn định linh kiện cao, dễ dàng thương mại hóa phục vụ thị trường tiêu dùng nội địa.
- Cộng đồng và Môi trường: Hình thành thói quen vứt rác văn minh, ngăn chặn lây nhiễm chéo vi khuẩn nơi công cộng và tối ưu hóa thời gian cho công nhân thu gom rác.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật chi tiết về nguồn điện để triển khai thiết bị là gì?
Hệ thống yêu cầu nguồn cấp một chiều DC từ $9\text{V}$ đến $12\text{V}$, dòng định mức tối thiểu $1.5\text{A}$ (sử dụng Adapter chuyển đổi từ điện lưới $220\text{VAC}$ hoặc ắc quy mini $12\text{V}$). Mạch tích hợp ổn áp LM7805 chuyển đổi về nguồn nội vi $5\text{VDC} \pm 2%$ cấp cho MCU, LCD và Servo.
2. Giới hạn tải cơ học của nắp thùng rác là bao nhiêu và cách khắc phục khi nắp nặng hơn?
Với động cơ Servo SG90, nắp thùng rác tối ưu có trọng lượng $\le 150\text{ g}$ và góc mở $0\text{ - }90^\circ$. Để mở các nắp thùng rác cỡ lớn (trọng lượng nắp $300\text{ g} - 1000\text{ g}$), cần thay thế sang Servo MG995 hoặc MG996R (lực kéo $9.4 - 11\text{ kg}\cdot\text{cm}$), đồng thời thay đổi tầng đệm công suất nguồn cấp riêng $5\text{V}/3\text{A}$ cho động cơ.
3. Có thể tích hợp hệ thống với nền tảng Smart Home hoặc Vi điều khiển khác không?
Hoàn toàn khả thi. Vi điều khiển PIC18F4520 hỗ trợ đầy đủ các module UART, SPI, $I^2C$. Người dùng có thể xuất dữ liệu từ các chân Tx/Rx (RC6/RC7) sang module Wi-Fi ESP8266/ESP32 để đồng bộ dữ liệu trạng thái thùng rác lên nền tảng Home Assistant, Blynk hoặc máy chủ MQTT qua giao thức JSON.
4. Chi phí bảo trì, độ bền linh kiện và chu kỳ hiệu chuẩn cảm biến như thế nào?
Chi phí bảo trì hàng năm ước tính $< 50.000\text{ VNĐ}$ (chủ yếu thay thế mắt LED hồng ngoại sau 3–5 năm vận hành). Chiết áp phân áp LM358 chỉ cần cân chỉnh một lần duy nhất lúc xuất xưởng bằng vít xoay vi chỉnh (Bourns Cermet Trimmer).
5. Sự cố thường gặp nhất khi lắp ráp mạch thực tế là gì và cách xử lý?
Sự cố phổ biến nhất là nắp thùng rác bị rung lắc liên tục hoặc MCU bị tự khởi động lại khi Servo bắt đầu quay. Nguyên nhân do sụt áp tức thời trên đường nguồn $5\text{V}$. Cách xử lý: Hàn bổ sung một tụ hóa $470\text{ }\mu\text{F}/16\text{V}$ song song với một tụ gốm $100\text{ nF}$ ngay tại hai chân âm/dương cấp nguồn của Jack cắm Servo.
Kết luận
Đồ án chuyên ngành "Thùng rác thông minh ứng dụng vi điều khiển PIC" đã hoàn thành xuất sắc toàn bộ các mục tiêu lý thuyết và chế tạo phần cứng thực nghiệm. Dự án chứng minh tính khả thi vượt trội của vi điều khiển Microchip PIC18F4520 trong các bài toán điều khiển nhúng thời gian thực: Hoạt động bền bỉ, tiêu thụ năng lượng thấp, cấu trúc phần cứng vững chắc và chi phí sản xuất tối ưu ($< 400.000\text{ VNĐ}$).
Với cơ chế tự động mở nắp không tiếp xúc, hiển thị trạng thái LCD trực quan, phân tầng thời gian mở nắp thông minh và tự động bật sáng khi trời tối, sản phẩm không chỉ mang giá trị học thuật xuất sắc trong chương trình đào tạo Kỹ sư Điện tử - Viễn thông mà còn sẵn sàng cho giai đoạn tối ưu hóa kiểu dáng công nghiệp để chuyển giao công nghệ và thương mại hóa diện rộng.