6-маъруза. Сервомотор билан ишлаш. Босқичли мотор билан ишлаш



Download 474,69 Kb.
Sana30.04.2022
Hajmi474,69 Kb.
#598111
Bog'liq
6-маъруза


6-маъруза.


Сервомотор билан ишлаш. Босқичли мотор билан ишлаш

Режа

1. Arduino ёрдамида серво моторни бошқаришни ўрганиш.
2. Серво моторли бурмалар.


1. Arduino ёрдамида серво моторни бошқаришни ўрганиш

Биринчидан, серво восита чиқиш милининг автоматик олдинга ва тескари йўналишда айланишини қандай таъминлаш кераклигини кўриб чиқамиз. Шундан сўнг, биз қўшимча равишда контактларнинг занглашига олиб борадиган потенциометрни киритамиз.


Керакли тугунлар
Серво драйверни бошқариш техникасини ўзлаштириш учун сизга керак бўлади:
1 та сервомотор

1 ўзгарувчан қаршилик (потенциометр) 10 кОм

Монтаж платаси



1 та Aduino Uno микроконтроллери



Father-father коннекторлари

1 та конденсатор 100 мкФ (шарт эмас)



'Sweep' (автомтик айланиш) га уланиш схемаси.
Ушбу тажриба учун сиз фақат серво моторни Ардуино-га улашингиз керак.

Сервомоторда 3 та алоқа мавжуд. Ипларнинг ранги ишлаб чиқарувчига қараб фарқ қилиши мумкин, аммо қизил ҳар доим 5В пин бўлиб, GND пин қора ёки жигарранг бўлиши мумкин. Қолган учинчи алоқа серво моторнинг ҳолатини бошқариш учун ишлатиладиган сигналдир. Одатда сариқ рангда бўлади. Ушбу пинни Arduino-даги 9-рақамли пин билан боғлаймиз.


Сервосларнинг пинларида улагичлар мавжуд, уларнинг ичига улагичларни (симларни) ўрнатиб, нон панелидан ва кейин Arduino-га улашингиз мумкин.



2. Серво моторли бурмалар

Баъзан, уланганда, серволар берилган буйруқларни ишламайди ёки нотўғри ишлайди. Бундан ташқари, бу маълум USB портларига уланганда рўй бериши мумкин. Бунинг сабаби шундаки, серволар жуда кўп куч талаб қилади, айниқса мотор ҳаракатлана бошлаганда. Қувватни тежашнинг бундай тебранишлари Arduino бўйлаб кучланишни сезиларли даражада пасайтириши мумкин. Ҳатто кенгаш қайта ишга тушиши мумкин.


Агар бу рўй берса, сиз ростлаш панелидаги GND ва 5V релслар орасидаги кондннсатор (470 мкФ ёки ундан кўп) қўшишингиз керак.

Конденсатор электр токини сақлаш учун ўзига хос резервуар вазифасини бажаради. Сервомотор ишлай бошлаганда, у конденсатордан ва Arduino нинг қувват манбаидан бир вақтнинг ўзида қолган қувватни олади.


Конденсаторнинг узун оёғи ижобий контактдир, у 5V га уланади. Салбий терминал кўпинча "-" билан белгиланади.
Arduino " Sweep" эскизи (автоматик айланиш)
Қуйидаги эскизни Arduino -га юкланг. Юклангандан сўнг, серво мотор бир йўналишда, кейин эса тескари йўналишда айланиши керак.
Дастур стандарт "sweep" эскизига асосланган бўлиб, уни "servo" папкасидаги Arduino Examples менюсида топишингиз мумкин.

#include


int servoPin = 9;
Servo servo;
int angle = 0; // даражадаги серво бурчак
void setup()
{
servo.attach(servoPin);
}
void loop()
{
// 0 дан 180 даражагача бўлган ўсиш
for(angle = 0; angle < 180; angle++)
{
servo.write(angle);
delay(15);
}
// энди 180 дан 0 даражага орқага
for(angle = 180; angle > 0; angle--)
{
servo.write(angle);
delay(15);
}
}

Серво двигателлари бир қатор импулслар билан бошқарилади. Сервосларни бошқаришни соддалаштириш учун махсус кутубхона (Arduino library) ёзилган. Ушбу кутубхона ёрдамида сиз чиқиш милининг ҳақиқий айланиш бурчагини кўрсатиб, сервони бошқаришингиз мумкин.


Сервисни бошқариш буйруқлари Arduino-га ўрнатилган буйруқларга ўхшаш, аммо сиз уларни барча лойиҳаларда ишлатмаслигингиз сабабли улар алоҳида кутубхонада сақланади. Серво кутубхонасидаги буйруқлардан фойдаланмоқчи бўлсангиз, Arduino IDE-даги эскизингизга қуйидаги сатр билан кутубхонани киритишингиз керак:
#include
Серво-ни бошқарадиган портни аниқлаш учун биз 'servoPin' ўзгарувчисидан фойдаланамиз.
Кейинги сатр:
Servo servo;
'Servo' туридаги янги 'servo' ўзгарувчини ишга туширади. Кутубхона серво учун жавобгар бўлган 'int' ёки 'float' каби янги маълумотларни тақдим этади. Шу тарзда сиз саккизта сервомоторни ишга туширишингиз мумкин. Масалан, агар бизда иккита серво бўлса, қуйидагиларни ёзишимиз мумкин:
Servo servo1;
Servo servo2;
'setup' функциясининг танасида биз 'servo' ўзгарувчисини серво моторни бошқарадиган буйруқ ёрдамида пин билан мослаштиришимиз керак:
servo.attach(servoPin);
Ўзгарувчан 'angle' серво айланишнинг жорий бурчагини даражаларда кўрсатиш учун ишлатилади. 'loop' функциясининг танасида биз иккита 'for' циклидан фойдаланамиз. Бири айланиш бурчагини бир йўналишда ошириш учун, иккинчиси 180 даража бурилиш қилганимизда орқага қайтиш.
Буйруқ:
servo.write(angle);
Серво чиқиш милининг айланиш бурчагини параметр сифатида кўрсатилган бурчакка қараб янгилашни серво-га айтади.
Серво уланиш схемаси потенциометр билан ('Knob')
Кейинги қадам, ўзгарувчан қаршилик резисторини бураб, серво чиқиш милининг ҳолатини бошқариш учун потенциометрни қўшишдир.
Arduino-га А0 пинини қўйиш учун сиз потенциометрни ва потенциометрдан сигнал алоқасидан ўтказгични қўшишингиз кифоя.

Arduino 'Knob' эскизи (сервонинг потенциометр назорати)


Серво чиқиш милининг ҳолати потенциометр тугмасининг бурилиш бурчаги билан бошқариладиган дастур, илгари муҳокама қилинган автоматик айланишдан ва дастлабки ҳолатига қайтишдан осонроқдир.
#include
int potPin = 0;
int servoPin = 9;
Servo servo;
void setup()
{
servo.attach(servoPin);
}
void loop()
{
int reading = analogRead(potPin); // от 0 до 1023
int angle = reading / 6; // от 0 до 180
servo.write(angle);
}

Эскизга 'potPin' номли ўзгарувчини қўшди.


Серво милни ҳолатига келтириш учун Arduino А0 қийматини ўқиймиз. Ушбу пиннинг қиймати 0 дан 1023 гача бўлади. Серво фақат 180 даража айлантириши мумкинлиги сабабли, биз ҳосил бўлган қийматларни ўлчашимиз керак. А0 пинидан қийматларни 6 га бўлиш орқали 0 дан 170 гача бўлган бурчакка эга бўламиз, бу биз учун жуда яхши.
Серво моторлари - умумий маълумот
Серво моторлар - робототехника, мехатроник лойиҳалар, Arduino лойиҳаларида тез-тез ишлатиладиган моторлар турларидан бири.
Серво чиқиш милининг ҳолати пулс узунлиги билан белгиланади. Серво ҳар 20 миллисекундда пулсларни қабул қилиши мумкин. Агар high пулс 1 миллисекундга чўзилса, серво бурчаги нолга тенг бўлади. Агар 1,5 миллисекунд бўлса, унда серво марказий ҳолатга ўтади, ва агар 2 миллисекунд бўлса, у 180 даражага мос келадиган жойга чиқади.

Сервосларнинг ҳаддан ташқари ҳолатлари фарқ қилиши мумкин. Бундан ташқари, кўплаб серволарни 170 даражага айлантириш мумкин. Тўлиқ 360 даража айланадиган 'continuous' серволар ҳам мавжуд.


Серво ва Arduino билан тажриба ўтказиш
'sweep' расмини очинг ва кечикишни 15 миллисекунддан 5 миллисекундгача қисқартиринг. Сервослар қанчалик тез айлана бошлаганига эътибор беринг.
'knob' расмини ўзгартиришга уриниб кўринг. Потенциометрнинг қийматларига ишонишнинг ўрнига, Arduino IDE серияли монитор ойнасида кўрсатган қийматлардан фойдаланиб, серво бошқарувни амалга оширинг.
Бир оз ишора: эскиз кетма-кет монитордан бурчак қийматларини ўқиши учун сиз Serial.parseInt() функциясидан фойдаланишингиз мумкин. Ушбу функция кетма-кет монитордан рақамли қийматларни таҳлил қилади (ўқийди).


Назорат саволлари

1. Arduino ёрдамида серво моторни бошқаришни ўрганиш.


2. Серво моторли бурмалар.
3. Серво мотор тушунчаси?
Download 474,69 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish