Мазмуну:
Video: 28BYJ-48 Stepper Motor бурчтук позициялык көзөмөлү Arduino жана аналогдук джойстик менен: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул менин акыркы жылдык диссертациялык долбоорумдун бир бөлүгү катары колдонуу үчүн иштеп чыккан 28BYJ-48 тепкич моторун башкаруу схемасы. Мен муну мурда көргөн эмесмин, ошондуктан мен тапканымды жүктөйм деп ойлогом. Бул башка бирөөгө жардам берет деп үмүттөнөм!
Код негизинен тепкичтүү моторго аналогдук джойстиктин бурчтук абалын "көчүрүүгө" мүмкүндүк берет, башкача айтканда, джойстикти алдыга түртсөңүз, мотор "түндүккө" багытталат. джойстикти батышты көздөй түрткүлө, мотор ошол эле багытты көздөй бурулат.
Менин ишке ашыруу үчүн мен джойстикти кое берүү керектигин, башкача айтканда бурчтук позициясы жок болсо, мотор "үй" багытына кайтып келүүсүн талап кылдым. Үйдүн багыты чыгышка карайт, жана мотор (же сиз чыгаруучу валга тиркелген кандай көрсөткүчтү / түзмөктү ижарага алсаңыз да) күйгүзүлгөндө ушул тарапка каралышы керек.
Жабдуулар
Arduino Uno же окшош
нан жана секирүүчү зымдарды тандоо (эркектен эркекке, эркектен ургаачысына)
5V электр менен камсыздоо
Аналогдук джойстик модулу (идеалдуу түрдө баскыч баскычы бар, бул "үй" абалын жеңил эс алууну камсыз кылат
28BYJ-48 кадам мотору жана ULN2003 тепкич айдоочусу
Калем, кагаз жана блю-так (же моторго тиркөө үчүн башка көрсөткүч түзүлүш!)
1 -кадам: 1 -кадам: Орнотуу
Stepper моторун stepper айдоочусуна туташтырыңыз жана пиндерди төмөнкүдөй туташтырыңыз:
IN1 - Arduino пин 8
IN2 - Arduino пин 9
IN3 - Arduino пин 10
IN4 - Arduino пин 11
5V электр булагыңызды нан тактаңыздагы рельске туташтырыңыз жана ULN2003 5v кириштерин жеткирүү рельсине туташтырыңыз. жер темир жолун сиздин Arduino түзмөгүңүз менен жерге туташтырыңыз.
джойстик үчүн төмөнкүдөй туташтырыңыз:
Алмаштыруучу пин - Arduino pin 2
X огу - Arduino A0 (аналоги 0де)
Y огу - Arduino A1
+5V - Arduino 5V чыгаруу
GND - Arduino GND
Акыр -аягы, өзүңүздүн табакчаңыздын негизин башка Arduino GND пинге туташтырыңыз
2 -кадам: 2 -кадам: Кодексти түшүндүрүү
Мен жүктөп алуу жана колдонуу үчүн толук Arduino кодун киргиздим. Бирок бул жерде тиешелүү бөлүктөрдү түшүндүрүү үчүн колумдан келгендин баарын кылам.
Бул коддун теориясында джойстик ээлеген мейкиндик графага бөлүнүп, борборунда 0, 0 турат. бирок джойстиктин кириштери борбордо (болжол менен) 512де турат, андыктан бул эки функция X жана Y огунан окулган маанини "нөлгө" келтирүү үчүн колдонулат. Сиз колдонгон электр энергиясына жараша, ZeroX жана ZeroY функцияларындагы баалуулуктарды өзгөртүү керек болушу мүмкүн, ошондо сиздин джойстик эс алуу учурунда 0 ишенимдүү көрсөткүчтү берет.
X, Y баалуулуктары окулганда, алар биринчи math.h китепканасындагы atan2 () функциясын колдонуп радиандарга айландырылат. Бул функцияны түшүндүрүү бул көрсөтмө берүүнүн чегинен тышкары, бирок аны карап көрүңүз - бул геометриянын өтө жөнөкөй фокусу!
Акыр -аягы, радалардын эмес, градустарда иштегендердин жашоосун жеңилдетүү үчүн atan2 () менен эсептелген раддын мааниси градуска айландырылат.
Укуруктун жогору жагында "үйдүн" жайгашкан жерин жылдыруу үчүн джойстиктин убактылуу баскычын басууга мүмкүндүк берген кичинекей код үзүндүсү бар. Бул кодду сынап жатканда абдан пайдалуу болду, бирок мен аны кээ бир учурларда кандайча пайдалуу болорун көрүп тургандай калтырдым.
Эми коддун негизги бөлүгүнө өтүңүз! Биз джойстикти окуу менен баштайбыз, Y координаттары эки жолу 10 м кечигүү менен бөлүнүп, анан алардын бирдей экендигин текшерүү менен - мен джойстик анда -санда окууларды чыгарарын жана бул кичине кечигүү мотордун бурулушун токтотуу үчүн жетиштүү болгонун көрдүм.. Бул ошондой эле жетиштүү кыска кечигүү, ал атайылап киргизүүгө тоскоолдук кылбайт окшойт.
Коддун калган бөлүгү түшүнүктүү жана мен аны документтештирүү үчүн колумдан келгендин баарын кылдым; IF билдирүүлөрүнүн сериясы учурдагы джойстиктин бурчун мотордун бурчуна салыштырып, моторду ошол бурчка жылдырат. 28BYJ-48дин 5.689 даражасы бар, ошондуктан биз керектүү кыймылды ушул кызыктай санга көбөйтүп жатабыз!
Эң көп түшүндүрүүнү талап кылган коддун бир бөлүгү - бул мен "оролгон ишти" деп атадым. Ал тургай, джойстик & мотор болгон ж. +175 °, жана джойстик кийин -175 ° (джойстикте болгону 10 ° кыймыл, батыштын түндүгүнөн батыштын түштүгүнө чейин) кыймылга келди, мотор туура эмес багытта 350 ° жылат! бул үчүн атайын иш жазылган.
Каптоо иши мотор менен джойстиктин карама -каршы белгилери бар экенин текшерүүдөн башталат, башкача айтканда мотор оң жана джойстик терс, же тескерисинче. Ошондой эле джойстиктин жана мотордун абсолюттук (башкача айтканда оң маанилердин) суммасы 180 ° жогору экенин текшерет.
Эгерде бул эки билдирүү тең чын болсо, анда функция мотордун саат жебеси боюнча (кыймылдаткычтын мааниси терс) же сааттын жебесине каршы (эгер кыймылдаткычтын мааниси оң болсо) жылышы керекпи же жокпу текшерет.
Мотор бурчунун жана джойстиктин бурчунун абсолюттук баалуулуктары жыйынтыкталып, 360 ° дан кемитиле турган аралыкты аныктайт. Акырында, мотор бурчу (азыр джойстиктин бурчун чагылдырат) ушундай жаңыртылат.
3 -кадам: БҮТКӨН
Ошентип, кодду Arduinoго жүктөп, иштетүү гана калды! Долбоордун кандай иштээрин жакшы түшүнүү үчүн жогорудагы видеону караңыз. Бул камера гимбалдары, роботтук курал жана башка көптөгөн тиркемелер үчүн пайдалуу болмок!
Эгерде сиз кодду колдонсоңуз, мага кабарлаңыз, эгерде сиз кодду жакшыртууга мүмкүн болгон жерди көрсөңүз, мен сиздин пикириңизди уккум келет.
Сунушталууда:
28BYJ-48 5V Stepper Motor жана A4988 Driver: 4 Steps
28BYJ-48 5V Stepper Motor жана A4988 Driver: Сиз качандыр бир кезде Arduino же micro: bitтин бир нече гана чыгымдарын колдонуп, так бурчка бурулуучу роботту алууну каалагансызбы? Мунун баары арзан баада? Бул силер үчүн насаат! Бул көрсөтмөдө биз абдан арзан тепкичтүү моторду кантип колдонууну көрөбүз
Үч бурчтук робот: 6 кадам (сүрөттөр менен)
Үч бурчтук робот: Саламатсыздарбы, мен бул үйрөткүчтө, үйдө DC редуктору менен жөнөкөй роботту кантип жасоону бөлүшөм. Бул долбоор балдарга жөнөкөй робототехниканы киргизүү үчүн колдонулушу мүмкүн
Аналогдук джойстик #HMS2018: 8 кадам
Аналогдук джойстик #HMS2018: сизге бир Elegoo Uno R3 адруино, бир Elegoo джойстик модулу жана 5 Эркек DuPoint зымдары керек болот
CAR-INO: Arduino жана Bluetooth көзөмөлү менен эски RC машинасынын жалпы конверсиясы: 5 кадам (сүрөттөр менен)
CAR-INO: Arduino жана Bluetooth көзөмөлү менен эски RC машинасынын толук конверсиясы: Киришүү Саламатсызбы, мен биринчи көрсөтмөмдө сиз менен 1990-жылдан баштап эски рк машинасын жаңы нерсеге айландыруу тажрыйбам менен бөлүшкүм келет. Санта мага бул Ferrari F40, дүйнөнүн эң ылдам машинасын белекке бергенде, 1990 -ж
OmniBoard: Bluetooth көзөмөлү менен скейтборд жана Hoverboard гибриди: 19 кадам (сүрөттөр менен)
OmniBoard: Bluetooth көзөмөлү менен скейтборд жана Hoverboard гибриди: OmniBoard-бул Bluetooth Smartphone тиркемеси аркылуу башкарылуучу жаңы Электр Скейтборд-Говерборд Гибрид. Ал эркиндиктин бардык үч даражасы менен тең кыймылдай алат, алдыга жылат, өз огунун айланасында айланат жана