Di mana "kaki" tumbuh dari
Berbagai alat mesin yang dikendalikan perangkat lunak sekarang tersedia dan telah mendapatkan popularitas. Ini adalah pemotong dan pengukir laser dan milling. Dan juga printer 3D. Semua mesin ini memiliki satu simpul umum - motor stepper.
Dan mesin ini membutuhkan pengemudi.

Prinsip operasi mesin bukanlah subjek dari artikel ini. Kami hanya akan mempertimbangkan pengemudi. Yang perlu kita ketahui dalam konteks ini adalah sinyal kontrol apa yang perlu kita hasilkan untuk mengendalikan motor stepper. Ternyata ini adalah pulsa persegi panjang yang paling umum.
Ada sejumlah solusi driver dari berbagai perusahaan. Dalam artikel kami, kami akan mempertimbangkan solusi driver L9110 yang paling terjangkau dan analognya HG7881. Solusi ini sering digunakan di Arduino
Teori dan Praktek
Saya memutuskan untuk menggunakan chip L9110 dalam proyek saya.
Datasheet yang cukup mudah di-google . Baca. Semuanya sangat jelas. Karakteristik, pinout, tabel kebenaran ... Dalam semua hal, pengemudi tampaknya cocok. Tegangan switching adalah 12 volt, arus keluaran adalah 800 mA. - cukup.
Dan apa yang sebenarnya?
Tanpa penundaan dalam "kotak panjang" saya membuat papan tulis, menulis dan meluncurkan program uji ...
Hal pertama yang saya perhatikan pada perangkat saya adalah chip drivernya sangat panas. Perhatian! Pemalasan. Tanpa beban. Apakah keajaiban sirkuit ini?
Mungkin chip saya rusak?
Gagasan muncul untuk mempertimbangkan perangkat ini secara lebih rinci. Dan bukan hanya satu, tapi banyak.
Tidak lebih cepat dikatakan daripada dilakukan.
Sangat bagus bahwa saya memiliki soket SO-8 yang tersedia dan papan simulasi.
Nah, dan pengontrol berbasis STM32.
Dudukan dipasang dan pengukuran dilakukan.

Ya, omong-omong, selain langsung, simpul daya dalam chip tertanam logika eksklusif ATAU.
Dalam lembar data dijelaskan .
Karena saya sedang mempelajari efek memanaskan sirkuit mikro, lebih baik tidak membatasi diri pada logika dan nol, tetapi untuk menghilangkan tegangan nyata.
Sebagai hasil dari pengukuran, sebuah piring diperoleh:

Pertimbangkan baris 2 dan 3. Apa yang kita lihat di sini?
- Penurunan tegangan pada transistor keluaran, ketika ada beban, adalah sekitar satu setengah volt, yang pada arus 0,33 ampere menghasilkan 0,5 watt per saluran.
- Saat idle, sirkuit mikro mengkonsumsi 0,05 A, yang pada tegangan 12 V menghasilkan 0,6 watt per saluran.
Dengan kata lain, terlepas dari bebannya, ia mengkonsumsi sekitar 0,5 watt per saluran. Sekarang sudah jelas mengapa saya membakarnya.
Pemanasan yang kuat, tentu saja, merupakan kelemahan. Tapi mungkin chip melakukan fungsinya dengan baik? Di sini, osiloskop awalan 4-balok yang baru-baru ini dipasang berguna. Saya tidak berharap saya membutuhkan semua 4 balok secepat ini. Untuk pengujian, saya menulis sebuah program sederhana pada stm32, yang telah saya gunakan sejak lama di berbagai proyek. Program ini hanya menghasilkan 2 sinyal persegi panjang dengan perbedaan frekuensi tiga kali lipat.
Karena lebih baik melihat sekali daripada membaca berkali-kali, saya menerapkan pemindaian sinyal kontrol.

Tidak ada yang terlalu rumit. Pulsa persegi panjang hanya bergeser dengan perbedaan frekuensi 3 kali.
Bagian atas layar - sinyal input - output yang lebih rendah.
Segera terbukti bahwa dengan nilai sinyal yang berbeda pada input, nilai pada output cukup jelas, diatur tanpa penundaan dan dengan tepi tajam.
Jika sinyal pada input bertepatan, maka bagian depan lembut. mirip dengan pelepasan kapasitor.
Melihat melalui dokumentasi, saya tidak melihat apa pun yang menandakan perilaku tersebut.
Mungkin saya mengatur frekuensi input terlalu tinggi? Tidak ada batasan dalam lembar data.
Sudah mengetahui bahwa driver ini memiliki analog hampir 100% dari HG7881, saya
beralih ke dokumentasinya .
Dia menjelaskan lebih banyak tentang situasi misterius ini. Ternyata logika pengemudi sedikit lebih lebar. Dua unit pada input mengerem (yaitu, pada output kedua sinyal harus rendah.) Dan dua nol pada input adalah "menggantung" kontak. Kesenjangan.
Jadi, dua nol pada input harus "menangguhkan" output. Kemudian, perilaku kapasitor pelepasan cukup dapat diprediksi. Namun, dua unit pada input - harus nol yang dapat diandalkan pada output. Namun kenyataannya tidak demikian.
Saya bisa menyalahkan cacat ini pada "pabrikan Cina." Namun, saya menguji chip yang disolder dengan jujur ββdari papan Arduino. Pada apa - tidak satu chip. Dari beberapa papan. Artinya, kemungkinan pernikahan sangat berkurang.
Kesimpulan
Lingkup microcircuit L9110 lebih sempit dari yang dinyatakan, dan efisiensinya rendah.
Hamburan 0,5-0,6 watt pada satu tombol agak terlalu banyak. Bukan kebetulan bahwa solusi ini adalah yang termurah. (10 sen per chip. Di aliexpress).
Artikel-artikel berikut akan membahas driver motor stepper alternatif.