Bỏ qua tới nội dung
LSLab

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àn hình có sơ đồ mạch không nhãn và đường quá độ, cạnh động cơ, bo điều khiển và robot ở nền xa.

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ô phỏng lặp đi lặp lại: dựng mô hình, chạy, đọc đồ thị, chỉnh thiết kế rồi chạy lại.
  • 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 đi vào bộ mô phỏng và kết quả ra thành đồ thị.
  • 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óiHợp với
ngspiceMã 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 KiCadTrình soạn sơ đồ của KiCad có mô phỏng bằng ngspiceVẽ sơ đồ rồi mô phỏng chính sơ đồ sẽ làm bo
LTspicengspice dùng được thông số mô hình và netlist của PSPICE hoặc LTspiceDùng lại thư viện mô hình có sẵn của hãng
Công cụ trong trình duyệtMô phỏng của Falstad cho xem sơ đồ chuyển động, chấm vàng biểu thị dòng điệnLà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ạchCâu hỏi mô phỏng trả lời
Cầu H điều khiển động cơ bánhDò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ơmDiode 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ạcDò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ạyNguồ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.

Hai chỗ có xung ngược khi tắt tải: động cơ bánh trong cầu H và bơm có diode dập.
  • 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.

  1. 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.
  2. Chạy phân tích điểm làm việc để biết điện áp lúc tất cả đang nghỉ.
  3. Chạy phân tích quá độ, bật bơm và hai bánh cùng lúc.
  4. Đọ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á độ.

Trong ví dụ này, đường tụt sâu vượt giới hạn vận hành yêu cầu; sau khi thêm tụ vào mô hình, đường tụt nông hơn và nằm trên giới hạn. Cần kiểm lại với tải và linh kiện thực.
  • 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:

  1. Chạy kịch bản bơm cộng bánh trong mô phỏng và lưu đồ thị.
  2. Trên bo đầu tiên, đo điện áp tại chân cấp trong đúng kịch bản.
  3. Đặ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.
Đặt đường mô phỏng cạnh đường đo trên bo thật; khoảng lệch cho biết cần chỉnh mô hình đến đâu.
  • Đườ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.

Báo lỗi bài này
Xem tất cả bài của chủ đề

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.