Saya punya
- Arduino
- mikrokontroler
- hal digital lainnya
dan ketika saya menghubungkan a
- motor
- pompa
- pemanas
- hal arus tinggi lainnya
Saya mengalami
- pengukuran ADC aneh
- reboot
- crash
- kesalahan dalam komunikasi digital
- perilaku tak terduga lainnya
Catu daya saya berukuran tepat untuk memberi daya pada semua perangkat ini. Saya tidak punya osiloskop jadi saya tidak bisa melihat banyak apa yang sebenarnya terjadi di sirkuit. Apa kemungkinan penyebabnya?
digital-logic
noise
grounding
Phil Frost
sumber
sumber
Pertimbangkan dua sirkuit ini:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Apakah mereka sama? Dalam model elemen disatukan mereka. Namun, model kami mengabaikan apa yang mungkin menjadi fakta yang relevan: kabel nyata memiliki hambatan. Mari kita perkenalkan skema pasangan bahwa model itu:
mensimulasikan rangkaian ini
Pertimbangkan di sirkuit di sebelah kanan apa yang terjadi ketika arus yang ditarik oleh motor berubah. Satu saat itu mati dan menggambar 0A, lalu menyala, dan menggambar 1A. 1A ini harus mengalir melalui R1 dan R3. Menurut hukum Ohm , maka harus ada penurunan tegangan pada resistor ini1 A ⋅ 1 Ω = 1 V . Dengan 1V dari tegangan suplai hilang pada masing-masing R1 dan R3, dari perspektif mikrokontroler, tegangan suplai tiba-tiba 10V, bukan 12V.
Banyak elektronik digital tidak suka ketika tegangan suplai mereka berubah dengan cepat. Masalah tambahan terjadi ketika ada beberapa perangkat yang mencoba untuk berbicara satu sama lain melalui bus digital, tetapi arus yang tinggi di rel pasokan memberikan masing-masing perangkat gagasan yang berbeda tentang apa "tanah" itu. Lihatlah "tanah" untuk MCU, dan motor dalam hal ini. Semua resistor memiliki 1A di dalamnya, dan dengan demikian 1V melintasi mereka. "Ground" di MCU berbeda 1V dari "ground" di motor! Jika ini adalah perangkat digital yang menandakan "0" dengan membuat tegangan sama dengan "ground", mereka tidak akan berkomunikasi dengan baik ketika mereka tidak bisa sepakat tentang apa "ground" itu.
Solusi untuk ini adalah menjalankan kedua koneksi catu daya untuk setiap perangkat sepenuhnya kembali ke baterai atau regulator tegangan, dan membuat semua koneksi catu daya untuk setiap perangkat di sana. Ini adalah situasi yang dimodelkan dalam sirkuit di sebelah kiri. Di sini, ketika motor menyala, akan ada arus tinggi di R5 dan R7. Akan ada penurunan voltase di sini, tetapi motor tidak akan keberatan. Sementara itu, arus di R6 dan R8 tidak berubah, dan begitu juga tegangannya. Dengan demikian, tegangan suplai yang terlihat oleh mikrokontroler adalah konstan.
Anda tidak harus melakukan ini sepanjang waktu, untuk setiap perangkat, tetapi Anda perlu memikirkan di mana arus tinggi akan berjalan ketika sirkuit Anda menyertakan perangkat semacam itu. Ingatlah bahwa semua kabel Anda memiliki hambatan, dan dengan demikian akan mengalami penurunan tegangan ketika arus tinggi melewatinya. Kemudian rencanakan kabel atau jejak Anda sehingga arus tinggi tidak mengalir melalui pasokan untuk komponen sensitif, yang menyebabkan masalah kebisingan.
Ini hanyalah satu penjelasan yang mungkin. Jawaban lain pasti akan memberikan kemungkinan tambahan.
sumber