Мазмұны:
- 1 -қадам: Оқулықтың орны өзгертілді
- 2 -қадам: SnappyXO дифференциалды роботын жасаңыз
- 3 -қадам: Электрониканы қосыңыз
- 4 -қадам: PreciseMovement Arduino кітапханасын орнатыңыз
- 5 -қадам: код
- 6 -қадам: Бұл қалай жұмыс істейді
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
PrecisionMovement Arduino кітапханасының көмегімен Arduino роботыңызды белгіленген қашықтыққа тура бұрыңыз немесе белгіленген бұрышқа бұрыңыз.
Бұрылу кезінде үйкелісті азайту үшін роботқа домалақ шар тәрізді дөңгелек немесе баламасы қажет.
www.pololu.com/product/954
Сіз роботқа белгіленген қашықтыққа алға жылжуды немесе белгіленген бұрышқа бұрылуды айта аласыз. Бағдарлама өз позициясын өлі есеппен анықтайды. Позицияны бағалау тек дөңгелектің жылдамдығына байланысты болғандықтан, сырғу айтарлықтай қателікке әкеледі. Роботтың конструкторы сырғып кету қаупін азайту үшін мұқият болуы керек.
Бұл SnappyXO роботымен жұмыс жасау үшін сыналған.
1 -қадам: Оқулықтың орны өзгертілді
Оқу құралы төмендегі бетке көшірілді. Бұл оқулық енді сақталмайды.
sites.google.com/stonybrook.edu/premo
2 -қадам: SnappyXO дифференциалды роботын жасаңыз
Біз қолданатын PreciseMovement кітапханасы дифференциалды роботтармен ғана үйлесімді. Сіз басқа 2 доңғалақты роботтарды қолдануды таңдай аласыз.
3 -қадам: Электрониканы қосыңыз
Стандартты SnappyXO оптикалық кодтаушысы үшін:
D0 (кодер шығысы) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Мотор мен Arduino қуаты:
Қозғалтқыштың қуат көзі сіз қолданатын қозғалтқыштарға сәйкес келуі керек. SnappyXO жиынтығы үшін қозғалтқыш қуаты үшін 4АА батареялары және Arduino қуаты үшін 9В батареялары қолданылады. Олардың барлығының ортақ GND бар екеніне көз жеткізіңіз.
4 -қадам: PreciseMovement Arduino кітапханасын орнатыңыз
Жүктеу:
github.com/jaean123/PreciseMovement-library/releases
Arduino кітапханасын қалай орнатуға болады:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
5 -қадам: код
Arduino коды:
create.arduino.cc/editor/weenloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Бұл параметрлер түзетуді қажет етеді. Кодта ұсынылған таңбаланған басқа параметрлер жақсы өнімділік үшін реттелуі мүмкін.
- Қозғалтқыш түйреуіштерін ARDUINO PINS астында тексеріңіз және орнатыңыз.
-
LENGTH және RADIUS орнатыңыз.
- ҰЗЫНДЫҚ - сол дөңгелектен оң дөңгелекке дейінгі қашықтық.
- RADIUS - дөңгелектің радиусы.
-
PULSES_PER_REV орнатыңыз - бұл бір доңғалақты айналдыру үшін кодер шығатын импульстер саны.
- Есіңізде болсын, егер кодер дөңгелекті біліктен оқуға қосылмаса, бұл бір қозғалтқыш білігінің айналуы үшін кодер шығатын импульс санынан өзгеше.
- PULSES_PER_REV = (қозғалтқыш білігінің бір айналымына импульс) x (беріліс коэффициенті)
-
STOP_LENGTH орнатыңыз, егер сіз роботтың алға жылжуынан кейін асып түсетінін көрсеңіз.
Робот болжамды позиция нысанадан STOP_LENGTH қашықтықта болғанда тоқтайды. Осылайша, STOP_LENGTH - роботтың тоқтауы үшін қажетті қашықтық
-
PID параметрлері
KP_FW: Бұл алға қозғалыстың пропорционалды компоненті. Робот түзу жүрмейінше оны көбейтіңіз. Егер сіз оны реттеу арқылы түзете алмасаңыз, онда аппараттық құрал кінәлі болуы мүмкін. (мысалы, дөңгелектің сәйкес келмеуі және т
KP_TW: Бұл PID бұралу қозғалысының пропорционалды компоненті. Тек төмен мәннен бастаңыз және бұрылу жылдамдығы немесе бұрылу кезінде роботтың бұрыштық жылдамдығы жеткілікті жылдам болғанша көбейтіңіз, бірақ асып кетуді тудырмайды. Бақылау жүргізу үшін цикл функциясына келесілерді енгізу арқылы сіз роботты 0 -ден 90 -ға дейін ауыстыра аласыз
Мұны KP_FW реттеу үшін циклге қойыңыз:
mover.forward (99999);
Мұны KP_TW теңшеу үшін 0 -ден 90 -ға ауысу үшін циклге қойыңыз:
mover.twist (90); // 90 CW Twist
кешіктіру (2000);
mover.twist (-90) // Twist 90 CCW
кешіктіру (2000);
TARGET_TWIST_OMEGA -да бұрыштық жылдамдықты шынымен бұру үшін KI_TW -ті де реттеу керек екенін ескеріңіз, өйткені пропорционалды контроллер ешқашан нақты мақсатқа жетпейді. Дегенмен, дәл бұрыштық жылдамдықпен бұрылу қажет емес. Бұрыштық жылдамдық жеткілікті баяу болуы керек.
6 -қадам: Бұл қалай жұмыс істейді
Егер сіз оның қалай жұмыс істейтінін білгіңіз келсе, оқыңыз.
Алға жылжу түзу жолда таза іздеу алгоритмін қолдана отырып түзу сақталады. Pure Pursuit туралы толығырақ:
Айналмалы PID контроллері бұрылу бұрышының жылдамдығын TARGET_TWIST_OMEGA деңгейінде сақтауға тырысады. Назар аударыңыз, бұл бұрыштық жылдамдық дөңгелектердің емес, бүкіл роботтың бұрыштық жылдамдығы. Тек бір PID контроллері қолданылады және шығыс - сол және оң қозғалтқыштардың PWM жазу жылдамдығы. Бұрышты есептеу үшін өлі есеп жасалады. Бұрыш қателік шегіне жеткенде робот тоқтайды.
Ұсынылған:
Қозғалатын аниматронды көзбен Хэллоуин асқабақ - Бұл асқабақ көзді айналдыра алады!: 10 қадам (суреттермен)
Қозғалатын аниматронды көзбен Хэллоуин асқабақ | Бұл асқабақ көзді айналдыра алады!: Бұл нұсқаулықта сіз көзі қозғалса, барлығын қорқытатын Хэллоуин асқабағын жасауды үйренесіз. Ультрадыбыстық сенсордың триггерлік қашықтығын дұрыс мәнге келтіріңіз (9 -қадам), ал сіздің асқабақ тәтті алуға батылы барларды тас қылады
Қозғалатын қозғалысты қадағалаушыны жасаңыз (Arduino -дан Android Studio -ның арнайы қосымшасына дейін): 4 қадам
Қозғалатын қозғалысты қадағалаушы құрыңыз (BLE Arduino -дан Android Studio -ға арналған арнайы қолданбаға дейін): Bluetooth төмен энергия (BLE) - бұл төмен қуатты Bluetooth байланысының бір түрі. Киюге болатын құрылғылар, мысалы, мен Predictive Wear -де дизайн жасауға көмектесетін ақылды киімдер, батареяның қызмет ету мерзімін ұзарту үшін энергия шығынын шектеуі керек және BLE -ді жиі қолданады
Arduino дәл және дәл вольт өлшегіші (0-90В тұрақты ток): 3 қадам
Arduino дәл және дәл вольт өлшегіші (0-90В тұрақты ток): Бұл нұсқаулықта мен Arduino Nano көмегімен салыстырмалы дәлдікпен және дәлдікпен тұрақты токтың жоғары кернеуін (0-90в) өлшеуге арналған вольтметр құрдым. Мен қабылдаған сынақ өлшемдері жеткілікті дәл болды, көбінесе олардың көмегімен өлшенетін нақты кернеудің 0,3 в ішінде
Магнитпен қозғалатын құс: 5 қадам
Магнитті мотивацияланған құс: жоба туралы Жоба сізге мотивация ретінде твит жазатын құсты бейнелейтін ойыншық жасауды көрсетеді. Құстың «құрақ қосқыш» деп аталатын белгілі бір сезім мүшесі бар; Магнит осы элементке жақындағанда контактілер жабылады және
Arduino & L293d IC көмегімен қарапайым автоматты қозғалатын робот: 6 қадам
Arduino & L293d IC көмегімен қарапайым автоматты қозғалатын робот: Бұл arduino басқаратын негізгі робот, ол айналады және әдепкі код бойынша дөңгелек жолмен жүреді, бірақ сіз жолды оңай өзгерту үшін кодты өзгерте аласыз. Бұл кез келген адам жасай алатын қарапайым жоба, сондықтан егер сіз