Mô phỏng mạch điện robot lau sàn bằng công cụ nào?
- Trung cấp
- Bài viết
- Từ 16 tuổi
- 7 phút đọc

Mô phỏng mạch điện chạy một mô hình toán của mạch để xem điện áp và dòng điện theo thời gian, trước khi hàn bo thật. Với robot lau sàn, nó trả lời những câu như nguồn có sụt khi bơm và bánh xe cùng khởi động không. Công cụ phổ biến dựa trên SPICE: ngspice, trình mô phỏng trong KiCad và LTspice.
Mục lục
- Mô hình mạch
- Chạy mô phỏng
- Đọc đồ thị
- Chỉnh thiết kế
Bạn sẽ học được gì
- Kể tên các công cụ mô phỏng mạch và nói mỗi công cụ hợp với việc gì.
- Chọn những mạch của robot lau sàn đáng mô phỏng và câu hỏi cần đặt cho từng mạch.
- Đọc kết quả mô phỏng thành đạt hoặc không đạt, và biết điều gì phải đo lại trên bo thật.
Cần biết trước
Nên đọc bài về các tầng mô phỏng của robot lau sàn, và các bài nền về điện áp và dòng điện, MOSFET và diode. Các thuật ngữ khác được giải thích ngay lần đầu xuất hiện.
Mô phỏng mạch điện là gì và dùng công cụ nào?
Mô phỏng mạch điện là chạy một mô hình của mạch thay cho mạch thật. Sổ tay kỹ thuật hệ thống của NASA nói mô hình là biểu diễn toán học của thực tế, còn mô phỏng là việc vận hành mô hình đó. Với mạch điện, họ công cụ chung là SPICE. Báo cáo kỹ thuật SPICE của Berkeley gộp phân tích một chiều phi tuyến, phân tích tín hiệu nhỏ và phân tích quá độ phi tuyến trong một chương trình phân tích nút. Berkeley ghi rằng mọi nhà sản xuất chip điện tử ngày nay dùng SPICE hoặc một bản phái sinh của nó ở các giai đoạn thiết kế then chốt.
Mạch được mô tả bằng netlist, một danh sách linh kiện và các nút nối chúng. Trang chủ ngspice cho biết người dùng nhập mạch dưới dạng netlist, và kết quả là một hay nhiều đồ thị dòng điện, điện áp cùng các đại lượng điện khác.
- Netlist
- Bộ mô phỏng
- Đồ thị dòng điện và điện áp
Bảng dưới so các công cụ theo cách dùng. Phần cột "Hợp với" là nhận xét của bài, không phải đánh giá của nguồn.
| Công cụ | Điều nguồn nói | Hợp với |
|---|---|---|
| ngspice | Mã nguồn mở, nhập mạch bằng netlist, không có phần vẽ sơ đồ | Chạy hàng loạt kịch bản từ tệp |
| Trình mô phỏng trong KiCad | Trình soạn sơ đồ của KiCad có mô phỏng bằng ngspice | Vẽ sơ đồ rồi mô phỏng chính sơ đồ sẽ làm bo |
| LTspice | ngspice dùng được thông số mô hình và netlist của PSPICE hoặc LTspice | Dùng lại thư viện mô hình có sẵn của hãng |
| Công cụ trong trình duyệt | Mô phỏng của Falstad cho xem sơ đồ chuyển động, chấm vàng biểu thị dòng điện | Làm quen nhanh, xem dòng chảy trước khi viết netlist |
Mạch nào của robot lau sàn đáng mô phỏng?
Nên mô phỏng những mạch mà lỗi chỉ lộ ra khi nhiều tải chạy cùng lúc. Trong một mô hình minh họa, sáu chỗ đáng thử:
| Mạch | Câu hỏi mô phỏng trả lời |
|---|---|
| Cầu H điều khiển động cơ bánh | Dòng khi động cơ bắt đầu quay kéo nguồn xuống bao nhiêu, và xung ngược khi dừng chạy đi đâu? |
| Mạch MOSFET điều khiển bơm | Diode dập có giữ xung khi tắt bơm trong giới hạn của MOSFET không? |
| Nguồn hạ áp | Điện áp cấp cho vi điều khiển có giữ ổn định khi tải nhảy bậc không? |
| Cầu chia áp đo pin | Điện áp tại chân đo có nằm trong dải của bộ đổi tương tự sang số không? |
| Đường sạc | Dòng sạc có chảy đúng đường khi robot vào trạm và khi tiếp điểm chập chờn không? |
| Sụt áp khi bơm và bánh cùng chạy | Nguồn có xuống dưới mức làm vi điều khiển đặt lại không? |
Hai mạch đầu cần giải thích. Một bài hướng dẫn của Adafruit nói khi cắt nguồn một động cơ, xuất hiện xung điện áp âm có thể làm hỏng vi điều khiển hoặc transistor. Cũng trong bài đó, một diode đặt song song hai đầu động cơ bảo vệ bằng cách ngắn mạch dòng ngược từ động cơ. Đó là diode dập (flyback diode). Mô phỏng cho thấy xung ấy lớn cỡ nào trong mạch của bạn, mà không cần đốt một MOSFET để biết.
- Cầu H điều khiển động cơ
- Động cơ bánh
- Xung ngược khi dừng
- Diode dập song song với bơm
- MOSFET đóng ngắt bơm
Đọc kết quả mô phỏng thế nào: ví dụ nguồn sụt khi bơm và bánh cùng chạy
Câu hỏi cụ thể: nguồn có sụt xuống dưới mức vi điều khiển chịu được khi bơm bật lúc hai bánh khởi động không? Có bốn bước, và kết quả luôn là một câu đạt hoặc không đạt.
- Vẽ netlist gồm nguồn pin có nội trở, hai tải động cơ, tải bơm qua MOSFET, tụ lọc và tải vi điều khiển.
- Chạy phân tích điểm làm việc để biết điện áp lúc tất cả đang nghỉ.
- Chạy phân tích quá độ, bật bơm và hai bánh cùng lúc.
- Đọc đồ thị điện áp tại chân cấp của vi điều khiển và so với đường giới hạn.
Hai loại phân tích này khác nhau. Sổ tay ngspice nói trong phân tích một chiều, các phần tử có điện kháng được bỏ qua hành vi theo thời gian và simulator tính nghiệm một chiều của mạch. Cũng sổ tay đó, quét một chiều (DC sweep) là lặp lại phân tích này trên một dải mức của nguồn vào, còn phân tích quá độ (transient analysis) mở rộng phân tích một chiều sang miền thời gian. Sụt áp là chuyện theo thời gian nên cần phân tích quá độ.
- Giới hạn vận hành yêu cầu
- Điện áp sụt dưới giới hạn (không đạt)
- Điện áp sau khi thêm tụ (đạt)
- Lúc bơm và bánh cùng khởi động
Giới hạn lấy từ tài liệu của chip. Với ESP32, tài liệu ESP-IDF nói chip có sẵn bộ phát hiện sụt áp (brownout detector), được bật theo mặc định, và nó có thể kích hoạt đặt lại hệ thống khi điện áp nguồn xuống dưới mức an toàn. Mức cụ thể phải lấy từ bảng thông số của chip và cấu hình bạn chọn. Tiêu chí của mô hình cần dựa vào dải điện áp làm việc của linh kiện, không chỉ ngưỡng brownout. Không bị reset chưa chứng minh chip và cảm biến đang làm việc đúng; phải kiểm cả mức điện áp, dòng và các giới hạn đã đặt trong toàn bộ quá độ. Nếu đồ thị chạm đường giới hạn, kết quả là không đạt, và bạn đổi thiết kế: thêm tụ, tách nguồn hoặc khởi động bơm trễ hơn bánh.
Một lần chạy chưa đủ. Điện trở trong của pin, dung sai tụ và dòng động cơ đều dao động. Sổ tay ngspice mô tả mô phỏng Monte Carlo để xem mạch phụ thuộc thế nào vào các thông số linh kiện thay đổi theo thống kê. Monte Carlo lấy mẫu theo phân bố đã chọn, không bảo đảm gặp tổ hợp xấu nhất. Trong mô hình minh họa, chạy thêm các tổ hợp biên xác định trước của pin, tải và tụ; chỉ chấp nhận kết quả trong miền thông số đã kiểm.
Tin mô hình đến đâu và cần đo lại gì?
Chỉ tin mô hình ở phần nó mô tả, rồi đối chiếu với bo thật. ngspice nhận thông số mô hình từ nhà sản xuất linh kiện bán dẫn hoặc từ xưởng chế tạo bán dẫn, nên chất lượng kết quả phụ thuộc vào mô hình bạn nạp. Mô hình động cơ và pin thường là phần yếu nhất, vì chúng đổi theo tải và tuổi.
Quy trình đối chiếu trong mô hình minh họa:
- Chạy kịch bản bơm cộng bánh trong mô phỏng và lưu đồ thị.
- Trên bo đầu tiên, đo điện áp tại chân cấp trong đúng kịch bản.
- Đặt hai đồ thị cạnh nhau. Lệch nhiều thì chỉnh nội trở pin hoặc mô hình động cơ cho khớp phép đo, rồi chạy lại các kịch bản khác.
- Đường mô phỏng
- Đường đo trên bo thật
- Khoảng lệch tại chỗ trũng
Mô phỏng mạch không thay được mọi phép thử. Nhiệt của linh kiện, nhiễu điện từ phát ra và thu vào, và sóng vô tuyến Wi-Fi không nằm trong mô hình này; chúng cần đo trên mẫu thật.
Ví dụ trong đời sống
Đây là kịch bản minh họa, chưa phải kết quả đo. Một người làm mô hình đặt bơm và hai bánh lên cùng một nguồn pin. Trên bo đầu tiên, vi điều khiển thỉnh thoảng khởi động lại mỗi lần robot bắt đầu chạy và bơm bật. Họ dựng netlist của đúng mạch ấy trong ngspice, chạy phân tích quá độ và thấy đồ thị điện áp chạm đường giới hạn lúc bơm bật. Thêm một tụ lọc vào netlist, đồ thị giữ trên đường. Sau đó họ đo trên bo, hai đồ thị gần nhau và kết luận mô hình dùng được. Khi đổi sang loại pin khác, họ đo lại và chỉnh nội trở trong mô hình trước khi tin kết quả mới.
Hiểu lầm thường gặp
Mô phỏng ra đạt thì bo thật sẽ đạt. Mô phỏng chỉ đúng trong phần mô hình mô tả. Bước đối chiếu với phép đo trên bo đầu tiên là phần không bỏ được.
Chỉ cần mô phỏng một lần ở giá trị danh định. Dung sai và tuổi linh kiện làm kết quả dao động, nên cần quét thông số hoặc chạy Monte Carlo.
Mô phỏng mạch kiểm luôn cả firmware. Mô phỏng mạch xử lý điện áp và dòng điện. Mã chạy trên vi điều khiển được kiểm ở một tầng khác.
Câu hỏi thường gặp
ngspice và KiCad khác nhau thế nào?
ngspice là bộ mô phỏng nhận netlist, không có phần vẽ sơ đồ. KiCad có trình soạn sơ đồ và dùng ngspice để mô phỏng chính sơ đồ đó, nên không cần viết netlist tay.
Mô phỏng mạch có miễn phí không?
ngspice là mã nguồn mở, và có công cụ chạy trong trình duyệt như của Falstad. Với từng công cụ khác, hãy đọc điều khoản của nhà cung cấp trước khi dùng.
Tôi có cần mô hình của hãng để mô phỏng không?
Có, nếu muốn kết quả sát linh kiện thật. ngspice nhận thông số mô hình từ nhà sản xuất, và dùng lại được thông số của PSPICE hoặc LTspice.
Tóm tắt
- Mô phỏng mạch chạy mô hình toán của mạch bằng họ công cụ SPICE như ngspice, KiCad và LTspice.
- Mạch đáng thử là cầu H động cơ, mạch bơm với diode dập, nguồn hạ áp, cầu chia áp đo pin, đường sạc và sụt áp khi bơm cùng bánh chạy.
- Kết quả là câu đạt hoặc không đạt, rồi được đối chiếu với phép đo trên bo thật, còn nhiệt, nhiễu điện từ và vô tuyến vẫn cần mẫu thật.
Thuật ngữ trong bài
Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.
- SPICE
- Họ chương trình mô phỏng mạch điện bắt nguồn từ Đại học California, Berkeley, nhập mạch bằng netlist và tính điện áp, dòng điện.
- netlist
- Danh sách các linh kiện của mạch và các nút nối chúng, dùng làm đầu vào cho bộ mô phỏng.
- phân tích quá độtransient analysis
- Kiểu phân tích mở rộng phân tích một chiều sang miền thời gian, dùng để xem điện áp và dòng điện thay đổi khi tải bật.
- quét một chiềuDC sweep
- Lặp lại phân tích một chiều trên một dải mức của nguồn vào để xem đáp ứng thay đổi thế nào.
- diode dậpflyback diode
- Diode đặt song song hai đầu động cơ để ngắn mạch dòng ngược khi cắt nguồn, bảo vệ transistor.
- sụt ápbrownout
- Tình trạng điện áp nguồn xuống dưới mức an toàn; bộ phát hiện sụt áp của ESP32 có thể đặt lại chip khi đó.
Bài này chưa được đánh dấu là đã xem
Thấy nội dung sai hoặc chưa an toàn?
Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.
Có thể bạn cũng quan tâm
Nâng caoMô phỏng chuyển động robot lau trong căn nhà ảo thế nào?
Dựng căn nhà ảo cho đội robot lau sàn nhỏ: chọn trình mô phỏng, cảm biến giả, nối với ROS 2 và chạy nghiệm thu nhiều lần, kể cả khi cắt liên kết.
Robotics (Robot học)8 phút đọc
Nâng caoNhiều robot lau chia khu vực và dùng chung trạm thế nào?
Cách một đội robot lau chia sàn thành khu vực, giao khu cho từng robot, xếp hàng dùng chung trạm và giao lại khu khi một robot hỏng.
Robotics (Robot học)8 phút đọc
Trung cấpLàm sao robot lau nhận ra khu vực bừa bộn để báo người?
Cách robot lau gộp va chạm, kẹt, ô không tới được và ảnh chụp thành điểm bừa bộn của từng khu vực, rồi báo người đúng lúc, ít báo nhầm.
Trí tuệ nhân tạo (AI)7 phút đọc
Nâng caoRobot lau phủ kín một phòng theo đường nào?
Cách robot lau phủ kín phòng: chia ô quanh vật cản, chọn đường qua lại, nhớ ô đã lau, sửa sai số vị trí và xử lý ô bị chặn.
Robotics (Robot học)8 phút đọc
Nguồn
Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.
- SPICE (Simulation Program with Integrated Circuit Emphasis) — UC Berkeley EECS Technical Report(mở trong thẻ mới)
UC Berkeley EECSBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
- Don Pederson: Creator of SPICE — EECS at Berkeley(mở trong thẻ mới)
UC Berkeley EECSBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
- ngspice, the open source Spice circuit simulator(mở trong thẻ mới)
ngspiceBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- ngspice user's manual (HTML)(mở trong thẻ mới)
ngspiceBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- Schematic Editor — KiCad 9.0 documentation(mở trong thẻ mới)
KiCadBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- Falstad circuit simulator(mở trong thẻ mới)
Paul FalstadBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- Adafruit Arduino Lesson 13. DC Motors — Transistors(mở trong thẻ mới)
AdafruitBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- Fatal Errors — ESP32 — ESP-IDF Programming Guide(mở trong thẻ mới)
EspressifBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- 5.3 Product Verification — NASA Systems Engineering Handbook(mở trong thẻ mới)
NASABậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
