Saya menggunakan 2 motor DC identik dan roda kastor. Motor terhubung ke driver motor L293D dan dikendalikan oleh RPi .
Robot tidak lurus. Ini berbelok ke kanan. Saya menjalankan kedua motor pada 100% PWM .
Apa yang saya coba untuk memperbaiki kesalahan:
- Saya menyesuaikan PWM roda lebih cepat menjadi 99% , tetapi robot hanya berbalik ke sisi lain;
- Saya menyesuaikan berat pada robot dan masalahnya masih berlanjut.
Saya pernah mencoba menjalankan motor tanpa beban. Apakah itu penyebabnya, seperti yang kemudian saya katakan kepadanya, menjalankan motor DC tanpa beban merusaknya?
Jika itu bukan penyebabnya, tolong beri tahu saya cara mengatasi masalah ini tanpa menggunakan sensor apa pun untuk mengendalikannya.
Jawaban:
Aku posting ini sebagai jawaban karena yang jawabannya.
Kamu tidak bisa
Seperti @ BendingUnit22 menyebutkan, Anda mencoba kontrol "loop terbuka". Kebisingan dan variasi berarti robot Anda tidak akan pernah mengemudi garis lurus sempurna.
Motor dapat memiliki resistensi gulungan yang berbeda (arus penggerak / torsi berbeda), roda dapat memiliki ukuran yang berbeda, roda dapat memiliki karakteristik traksi yang berbeda, bantalan kastor dapat "kaku", kastor mungkin tidak lurus sempurna ketika kendaraan mulai , lantai mungkin memiliki karakteristik gesekan permukaan yang bervariasi (baca: debu atau karpet) - daftarnya terus bertambah.
Satu- satunya cara untuk menjelaskan hal-hal di luar kendali Anda (apa yang saya sebutkan di atas + lebih banyak) adalah dengan menggunakan sensor umpan balik.
Anda dapat mencoba untuk mendapatkan kinerja loop terbuka yang lebih baik dengan memperbaiki masalah yang saya sebutkan, tetapi ada lebih banyak lagi dan Anda tidak dapat mengendalikan semuanya.
sumber
Karena masalah loop tertutup terbuka telah disebutkan, saya akan memberikan komentar kepada "Saya pernah mencoba menjalankan motor dc tanpa beban".
Ya, Anda mungkin merusak motor Anda dengan ini tetapi Anda juga dapat merusak atau menghancurkan motor Anda dengan beban. Kerusakan datang dari arus dan suhu yang dihasilkan. Jika tidak ada asap dan bau yang keluar dari motor, kemungkinan besar tidak rusak. Dari pengalaman saya, saya dapat mengatakan bahwa motor dc skala hobi akan mulai menurun pada suhu lebih dari 100 ° C. Dan Anda pasti akan melihat suhu seperti itu
EDIT:
Saya memikirkan hal ini lagi dan saya mungkin mendapat ide yang mungkin dibicarakan oleh rekan Anda. Ada jenis khusus AC-Motor. Ini adalah motor sinkron yang tidak bersemangat. Pada dasarnya mereka dibangun untuk penghancuran diri. Jika Anda menyalakannya, mereka akan mulai berakselerasi hingga mereka membongkar sendiri. Tetapi jika Anda menempatkan beban yang berat pada mereka, mereka tidak dapat mencapai keadaan ini, hanya karena momen besar yang harus mereka terapkan pada beban. Jadi Anda bisa menggunakannya untuk tujuan yang masuk akal. Pokoknya Anda pasti tidak menggunakan motor seperti ini di aplikasi Anda.
sumber
Apa yang Anda gambarkan disebut kontrol loop terbuka, dan untuk melakukan ini Anda memerlukan dua motor yang persis sama, dua roda persis sama, pusat gravitasi robot berada di tengah antara roda, sirkuit listrik simetris yang sempurna, dan akhirnya permukaan level seragam yang sempurna untuk dijalankan.
Untuk mencapai ini, Anda biasanya memesan puluhan atau ratusan setiap bagian, dan kemudian melakukan pengujian signifikan untuk menemukan dua motor yang paling cocok satu sama lain dalam hal daya dan kecepatan vs tegangan dan PWM. Lakukan hal yang sama untuk roda, pengontrol motor dan bagian lainnya.
Proses ini disebut binning - setelah tes ini Anda mengurutkannya sesuai dengan kemampuan atau karakteristiknya. Ini dianggap jauh lebih mahal baik dalam waktu dan sumber daya untuk dilakukan dengan benar daripada mengubah ke model loop tertutup, dan bahkan tidak memperhitungkan kondisi tanah yang buruk.
Namun, ini adalah salah satu cara untuk mencapai kebutuhan Anda tanpa sensor tambahan.
sumber
Meskipun tidak akan pernah sempurna, mungkin ada cara sederhana untuk membuatnya lebih lurus.
Jika pada 100% -100% mobil selalu belok kiri, dan pada 100% -99% mobil selalu belok kanan, Anda harus dapat memperbaikinya dengan mencoba nilai di antaranya.
Mulailah dengan 100% -99,5% dan lanjutkan dengan 100% -99,75% atau 100% -99,25% tergantung pada hasilnya. Ini harus segera menyatu dengan situasi di mana Anda akan langsung 'rata-rata'.
sumber
Nah, jika masalahnya tidak terletak pada perbedaan dalam perangkat keras atau perangkat lunak untuk setiap roda, maka mungkin masalah dengan ketidaksempurnaan alami baik dalam cara Anda membangun robot atau cara motor diproduksi. Koneksi mungkin tidak solid atau RPI mungkin tidak menghasilkan arus yang sama. Anda mungkin ingin menggunakan pengontrol kecepatan. Coba dulu itu.
Jika itu tidak berhasil, pabrikan Anda mungkin tidak membuat motor yang identik dan Anda mungkin hanya perlu mengkalibrasi motornya. Ini mungkin berarti penskalaan nilai motor yang lebih kuat sehingga daya 100% ke motor yang kuat cocok dengan yang lemah.
sumber
Roda dengan motor dc harus b di depan. Dan roda coster di belakang. Maka itu akan bergerak lurus hanya ke arah depan
sumber