Ghi chú đầu tiên về thiết kế phần cứng cho sản phẩm nhỏ
Các nguyên tắc ban đầu khi thiết kế phần cứng cho một sản phẩm nhỏ: phạm vi, nguồn, PCB, firmware và khả năng sửa lỗi.
Chia sẻ

Bắt đầu bằng phạm vi nhỏ
Khi thiết kế phần cứng cho một sản phẩm nhỏ, điều dễ mắc nhất là muốn nhét quá nhiều thứ vào bản đầu tiên. Thêm một cảm biến nghe có vẻ hay. Thêm một cổng mở rộng có vẻ an toàn. Thêm một màn hình nhỏ làm sản phẩm trông rõ ràng hơn. Nhưng mỗi phần thêm vào đều mang theo nguồn cấp, chân tín hiệu, không gian PCB, firmware, test và khả năng lỗi.
Ghi chú đầu tiên của mình rất đơn giản: hãy giữ phạm vi bản thử đầu thật nhỏ. Phần cứng đầu tiên chỉ cần giúp bạn kiểm chứng câu hỏi chính, chưa cần giải quyết mọi tình huống tương lai. Nếu sản phẩm cần đo chuyển động, hãy ưu tiên đường đo ổn định. Nếu sản phẩm cần giao tiếp với người dùng, hãy ưu tiên tín hiệu rõ. Nếu sản phẩm cần chạy pin, hãy ưu tiên nguồn và mức tiêu thụ.
Nguồn là phần không nên xem nhẹ
Nguồn thường ít hấp dẫn hơn cảm biến hay giao diện, nhưng nó quyết định rất nhiều thứ. Một mạch chạy được trên bàn có thể lỗi khi motor khởi động. Một board dùng USB ổn có thể sụt áp khi chạy bằng pin. Một module hoạt động riêng lẻ có thể nhiễu khi đặt gần phần công suất.
Với sản phẩm nhỏ, mình thường ghi rõ ngay từ đầu: nguồn vào là gì, dòng tối đa khoảng bao nhiêu, phần nào nhạy với nhiễu, và cần đo ở đâu khi debug. Test point không làm sản phẩm đẹp hơn, nhưng làm quá trình sửa lỗi dễ thở hơn. Nếu board đầu tiên là để học, bạn nên chừa chỗ cho đồng hồ đo và logic analyzer.
PCB nên dễ kiểm tra trước khi nhỏ gọn
Một PCB đẹp và nhỏ có sức hút riêng. Tuy vậy, ở bản đầu tiên, nhỏ quá đôi khi là bất lợi. Linh kiện đặt quá sát làm khó hàn tay. Không có nhãn rõ làm khó dò lỗi. Không có điểm đo làm mỗi lần kiểm tra phải chạm vào chân linh kiện nhỏ.
Mình thường ưu tiên một bản đầu dễ kiểm tra. Silkscreen nên ghi tên cổng, chiều linh kiện và chân quan trọng. Connector nên đặt ở vị trí dễ cắm. Các khối chức năng nên tách tương đối rõ: nguồn, MCU, cảm biến, driver, giao tiếp. Khi board chạy ổn, bản sau mới cần tối ưu kích thước và hình dáng.
Firmware ảnh hưởng đến thiết kế phần cứng
Thiết kế phần cứng không đứng riêng. Nếu firmware cần cập nhật thường xuyên, board nên có cổng nạp dễ dùng. Nếu cần log, nên có UART hoặc một cách đọc trạng thái rõ. Nếu nhiều chân GPIO có thể thay đổi chức năng, sơ đồ nên ghi lại lý do chọn chân để sau này không bị nhầm.
Một ví dụ đơn giản là LED trạng thái. Nó không bắt buộc với mọi sản phẩm, nhưng trong giai đoạn thử nghiệm, một LED báo nguồn hoặc báo lỗi có thể tiết kiệm nhiều thời gian. Tương tự, nút reset, boot hoặc jumper chọn chế độ có thể làm bản thử dễ làm việc hơn.
Ghi chú để lần sau bớt đoán
Mỗi lần làm phần cứng đều có nhiều quyết định nhỏ. Nếu không ghi lại, vài tuần sau rất khó nhớ vì sao chọn regulator này, vì sao kéo pull-up ở giá trị đó, hoặc vì sao đặt connector ở cạnh kia của board. Nastrotek sẽ dùng các bài viết dạng ghi chú để giữ lại những lý do đó.
Mục tiêu không phải là tạo một hướng dẫn hoàn hảo. Mục tiêu là viết đủ rõ để khi quay lại, mình hiểu mình đã nghĩ gì. Với sản phẩm nhỏ, sự rõ ràng đó giúp tiết kiệm thời gian, giảm lỗi lặp lại và làm các phiên bản sau tốt hơn.
Tài liệu tham khảo
Các nguồn dưới đây là tài liệu nền để kiểm tra lại thuật ngữ, thông số và khuyến nghị kỹ thuật trước khi áp dụng vào prototype thật.
- Espressif ESP32-S3 Hardware Design Guidelines
- KiCad PCB Editor documentation
- Analog Devices: Staying Well Grounded
Đọc thêm liên quan
Chia sẻ
Tiếp tục khám phá
Đọc tiếp
Bài viết liên quan
MEMS mic thực sự là gì? Từ màng rung silicon đến I2S trên ESP32
Tìm hiểu microphone MEMS, khác biệt analog, PDM, I2S, thông số quan trọng và lỗi PCB, nguồn, acoustic port khi dùng với ESP32.
Thiết kế nguồn pin cho ESP32: Từ USB-C, mạch sạc đến rail 3.3V
Phân tích đường nguồn ESP32-S3 từ USB-C, TP4056 và pin Li-ion đến bảo vệ, power-path, LDO 3,3 V, tụ lọc và ngân sách tải.
Kiến trúc phần cứng hoàn chỉnh cho một robot Mochi dùng ESP32-S3
Phân tích các khối phần cứng chính của robot Mochi dùng ESP32-S3: màn hình, touch, microphone I2S, amplifier, loa, pin, sạc, nguồn và lưu ý chọn GPIO.