Oddiy ignalar tuproq pinlari kabi harakat qilish mumkinmi?

Shunday qilib, nima qilishni xohlayotganim, motorni nazorat qilish va har qanday qo'shimcha qismlarsiz uni ikki tomonga aylantira olishdir.

Shunday qilib, agar hmp (ortiqcha qutb) yoqilgan bo'lsa va hmm (minus qutb) erga o'xshab ishlasa, vosita o'ngga burilishni boshlashi kerak.

Ammo, agar hmp ushbu holatda tuproq va hmmni ortiqcha qutbga o'xshatsa, u boshqa yo'lni aylantira boshlaydi.

Bilaman, ehtimol bu ishlamaydi. Men faqat tajriba qilyapman.

int Hmp=12;//the plus pole
int Hmm=11;//the minus pole

while (HR=0 || Sr > Sl+300) { 
  pinMode(Hmp, OUTPUT);
  digitalWrite(Hmp, HIGH);
  pinMode(Hmm, INPUT);
}

while (HR=1 || Sl > Sr+300) {
  pinMode(Hmp, INPUT);
  pinMode(Hmm, OUTPUT);
  digitalWrite(Hmm, HIGH); 
}
4
@dannyf - yo'q, u ishlamaydi va foydalanuvchining ishlamaganligi haqida allaqachon bildirgan. Buning sababi, FETsning yarim ko'prigiga topologik jihatdan o'xshash bo'lsa bo'lsa, chipdagi chiqish drayveri vositani ishlatish vazifasiga bog'liq emas. Siz tashlab ketishning to'liq bo'lmasligi va nihoyat bunday narsalarni chalg'itib qo'yishning yomon odatini ishlab chiqdingiz, garchi baxtiyor bo'lsa-da, kamida bu safar siz javob yozish shaklini suiiste'mol qilmadingiz.
qo'shib qo'ydi muallif rossp, manba
"Bilaman, ehtimol, bu ishlamaydi." u ishlaydi. u pastki tomonga o'tish deb ataladi. ko'p tomonlama ikki tomonlama motorlar, masalan, bu yo'l bilan qisman boshqariladi.
qo'shib qo'ydi muallif dannyf, manba

5 javoblar

Yo'q, u ishlamayapti - hatto undan ham yomoni, siz Arduino bilan qovushishingizga xavf tug'dirasiz - quyidagi sabablarga ko'ra:

  1. Arduino axborot uzatish pinlari ishlash uchun yetarlicha oqimga ega emas (yoki cho'milmaydi).

  2. Dvigatelning enduktik qaytarilishi Arduino pimlarini qovurishi mumkin.

Siz xohlagan narsani qilishning to'g'ri usuli Arduino ma'lumot piningiz tomonidan boshqariladigan H-ko'prigi yordamida . Arduino uchun ko'plab Motor Dvigatel PCB modullari mavjud (ularning ko'pchiligi samarasiz L298 haydovchining ICga asoslanadi), bu sizning e'tiboringizga shunchaki e'tibor bermaslik kerak, buning o'rniga TB6612FNG haydovchi IC yoki shunga o'xshashlarga qarash kerak, chunki bu juda yaxshi echim bo'lishi mumkin) Ushbu funktsiyani amalga oshirish.

10
qo'shib qo'ydi
L298 va L293 juda qadimgi yuqori yo'qotish qurilmalaridir. Ayniqsa, batareya bilan ishlaydigan dasturlarda, batareya to'plamining bir xonasida, vositani burilish o'rniga, bu chipli chiplarning yo'qotishlarini kamaytirish uchun ketadi. Ular, aslida, sukut bo'yicha gaplashishni to'xtatishlari kerak - buning o'rniga, bir FET hal foydalanish, masalan, TB6612FNG yaxshi motor qalqoni L29x o'rnini oladi.
qo'shib qo'ydi muallif rossp, manba
Fikringiz uchun rahmat, @ChrisStratton. Men siz bilan roziman va javobni shu tarzda yangilab turaman.
qo'shib qo'ydi muallif Arperum, manba

I just tried what you suggest, and it works fine, with only one (big) caveat: you can only power this way very low power motors. I did this to drive the linear motor that moves an HDD head assembly. This motor works perfectly fine with less than 18 mA.

Arduino pimlarini YUQORI va LOW holatlari o'rtasida almashtirishni unutmang, INPUT orqali emas. PINni INPUT ga sozlash pinning himoya diyotlari orqali motorning induktiv tushishiga qarshi. Ustida Boshqa tomondan, ushbu vosita indüktansı ehtimol kichikdir ...

For anything that can draw more than 40 mA, I would use an H-bridge. For something between 20 and 40 mA, I may take the risk of driving it directly if it's for an experiment where I am not too much concerned about the risk of loosing my Arduino.

3
qo'shib qo'ydi
> Men faqat siz taklif qilgan narsani sinab ko'rdim, va u yaxshi ishlaydi ... Bu ishlaydigan hech kimni ajablantirmaslik kerak. Odatda, bir GPIO piminin tuzilishi, bir ko'prik yoki kam yon kaliti. Shuning uchun u ishlashi kerak. Bu oddiy elektronika.
qo'shib qo'ydi muallif dannyf, manba
> Faqat bitta (katta) ogohlantirish bilan ... Va bu ham ajablantirmaydi. Har qanday yukni haydashda siz uning cheklovlarini tushunishingiz kerak. Va bu holatda chegara qo'zg'aysan oqimi va chalg'igan kuchlanish jihatidan qattiqdir.
qo'shib qo'ydi muallif dannyf, manba
Katta afzalligi shundaki, bu pinlarda odatda siqishni diyotlari mavjud. Induktiv yuklanish uchun ular erkin g'ildiraklar diodlari sifatida harakat qilishadi.
qo'shib qo'ydi muallif dannyf, manba

Ikkala pinni OUTPUT rejimida ham qo'yish kerak. DigitalWrite() "positive" pin HIGH va "negative" pin LOW.

Biroq, bu holatda yaxshi fikr emas:

  1. Dvigatelning quvvat talabi 40 mA dan iborat raqamli chiqish pinidan ortiq.
  2. Orqaga EMF. Dvigatelni to'xtatgandan so'ng, sizning pinleringizga qisqa vaqt zarba beriladi. Yomon.

Dvigatelni boshqarishning to'g'ri usullari quyidagilardan iborat:

Arduino controlled motor

Bu faqat bitta yo'nalishni nazorat qiladi. Yo'nalishni o'zgartirish uchun sizga H-Ko'prik kerak. Bir H ko'prigi ikki yo'nalishda motorni boshqaradigan elektron plata.

3
qo'shib qo'ydi
Bu ham noto'g'ri - siz motorni dan Arduino motoriga kuchlantirishingiz kerak emas. Shuningdek, siz bipolyar tranzistorlar zamonaviy FETs bilan solishtirganda vosita nazoratining yomon ishini qilmoqdalar va 2.2K asosiy rezistorni ishlatish, ehtimol, boshqa narsalarni cheklashi mumkin. Bipolyar tranzistorlar ishlatilganda samarali "ikkilamchi" darlinglar norma hisoblanadi.
qo'shib qo'ydi muallif rossp, manba
Yo'q, bu o'rni ham buni qilishning yaxshi usuli emas. Yuqorida aytib o'tganimizdek, FET haydovchisi foydalanish kerak.
qo'shib qo'ydi muallif rossp, manba
Ehtimol keyingi safar oldin kutib tursangiz, ehtimol sizdan birini ko'rishingiz mumkin. Men bu savolga javob yozish sahifasidan javob oldim. Ammo, avvalo muhokama qilish kerak bo'lgan dolzarb mavzudagi barcha shov-shuvlarni inobatga olgan holda, asl savol nafaqat qiziqish bilan shug'ullanish uchun qiziqarli.
qo'shib qo'ydi muallif rossp, manba
@Chris. Siz haqsiz. Tegishli usul - to'g'ri quvvat manbaiga ulangan o'rni haydash uchun opto izolyatordan foydalanish. Sizning qimmatli fikringiz uchun tashakkur.
qo'shib qo'ydi muallif user31481, manba
@Chris. Bu savolga javobingizni kutib turing.
qo'shib qo'ydi muallif user31481, manba
Rahmat sizga janob. :)
qo'shib qo'ydi muallif Brent, manba

Men ishlay olmayman deb o'ylamayman.

Siz MOSFET Hni qo'llaydigan Pololu Pololu DRV8838 kabi arzon modulni ishlatasiz. -harakat.

(Eslatma: Pololu bilan hech qanday aloqasi yo'q.)

2
qo'shib qo'ydi

an'anaviy pimlarni tuproq pinlari kabi harakat qilish mumkinmi?

Ha, ha ha: Men hozir ko'zimga qarab, ikkala GPIO o'rtasida bir-biri bilan doimiy ravishda (kod orqali) yonib turadi, shuning uchun uni boshqa GPIO pinidan siltab qo'yaman.

GPIO piniga qo'llanadigan oddiy cheklovlar bu erda qo'llaniladi.

0
qo'shib qo'ydi
Bu yomon, yomon maslahat. Ko'rib turganingizdek, LED taxminan 30 mA ni tashkil qiladi. Hatto kichik shahar mexanizmi ham bu miqdorni ko'p marta tortadi va GPIO pinlari ancha cho'zilishi mumkin.
qo'shib qo'ydi muallif M Katz, manba