INHOUDSOPGAWE:

Die skep van 'n op afstand beheerde Arduino-selfbalanserende robot: B-robot EVO: 8 stappe
Die skep van 'n op afstand beheerde Arduino-selfbalanserende robot: B-robot EVO: 8 stappe

Video: Die skep van 'n op afstand beheerde Arduino-selfbalanserende robot: B-robot EVO: 8 stappe

Video: Die skep van 'n op afstand beheerde Arduino-selfbalanserende robot: B-robot EVO: 8 stappe
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, Julie
Anonim
Image
Image
Die skep van 'n op afstand beheerde Arduino-selfbalanserende robot: B-robot EVO
Die skep van 'n op afstand beheerde Arduino-selfbalanserende robot: B-robot EVO
Skep 'n op afstand beheerde Arduino selfbalanserende robot: B-robot EVO
Skep 'n op afstand beheerde Arduino selfbalanserende robot: B-robot EVO

Deur jjrobotsjjrobots Volg meer deur die skrywer:

Pybot: Python + 3D -gedrukte robotarm
Pybot: Python + 3D -gedrukte robotarm
Pybot: Python + 3D -gedrukte robotarm
Pybot: Python + 3D -gedrukte robotarm
Eenvoudige gemotoriseerde roterende skerm (gebaseer op Arduino + beheer vanaf u slimfoon)
Eenvoudige gemotoriseerde roterende skerm (gebaseer op Arduino + beheer vanaf u slimfoon)
Eenvoudige gemotoriseerde roterende skerm (gebaseer op Arduino + beheer vanaf u slimfoon)
Eenvoudige gemotoriseerde roterende skerm (gebaseer op Arduino + beheer vanaf u slimfoon)
Robotarmgreper
Robotarmgreper
Robotarmgreper
Robotarmgreper

Oor: Ons hou van robotte, selfdoen en snaakse wetenskap. JJROBOTS is daarop gemik om Open robotprojekte nader aan die mense te bring deur hardeware, goeie dokumentasie, bouinstruksies+kode, "hoe dit werk" inligting te verskaf … Meer oor jjrobots »

------------------------------------------------

UPDATE: hier is 'n nuwe en verbeterde weergawe van hierdie robot: die B-robot EVO, met nuwe funksies

------------------------------------------------

Hoe werk dit?

B-ROBOT EVO is 'n op afstand beheerde selfbalanserende arduino-robot wat gemaak is met 3D-gedrukte onderdele. Met slegs twee wiele kan B-ROBOT sy balans deurgaans behou deur sy interne sensors te gebruik en die motors aan te dryf. U kan u robot beheer, laat beweeg of draai deur opdragte via 'n slimfoon, tablet of rekenaar te stuur terwyl dit sy balans behou.

Hierdie selfbalanserende robot lees sy traagheidsensors (versnellingsmeters en gyroskope wat op die MPU6000 -chip geïntegreer is) 200 keer per sekonde. Hy bereken sy houding (hoek ten opsigte van die horison) en vergelyk hierdie hoek met die teikenhoek (0º as hy balans wil behou sonder om te beweeg, of 'n positiewe of negatiewe hoek as hy vorentoe of agtertoe wil beweeg). Deur die verskil tussen die teikenhoek (kom ons sê 0º) en die werklike hoek (laat ons sê 3º) te gebruik, bestuur hy 'n beheerstelsel om die regte opdragte na die motors te stuur om sy balans te handhaaf. Die opdragte vir die motors is versnellings. As die robot byvoorbeeld vorentoe gekantel word (hoek van robot is 3º) stuur hy 'n opdrag na die motors om vorentoe te versnel totdat hierdie hoek tot nul verminder word om die balans te behou.

Stap 1: 'n bietjie meer in diepte …

'N Bietjie meer in diepte …
'N Bietjie meer in diepte …
'N Bietjie meer in diepte …
'N Bietjie meer in diepte …
'N Bietjie meer in diepte …
'N Bietjie meer in diepte …

Die fisiese probleem wat B-ROBOT oplos, word die omgekeerde pendel genoem. Dit is dieselfde meganisme wat u nodig het om 'n sambreel bo u hand te balanseer. Die spilpunt is onder die massamiddelpunt van die voorwerp. Meer inligting oor Inverted Pendulum hier. Die wiskundige oplossing vir die probleem is nie maklik nie, maar ons hoef dit nie te verstaan om die balansprobleem van ons robot op te los nie. Wat ons moet weet, is hoe ons die balans van die robot moet herstel, sodat ons 'n beheersalgoritme kan implementeer om die probleem op te los.

'N Beheerstelsel is baie handig in robotika ('n industriële outomatisering). Dit is basies 'n kode wat inligting van sensors en doelopdragte as insette ontvang en gevolglik uitsetsignale skep om die robotaktuators (die motors in ons voorbeeld) aan te dryf om die stelsel te reguleer. Ons gebruik 'n PID -beheerder (proporsioneel + afgeleide + integraal). Hierdie tipe kontrole het 3 konstantes om kP, kD, kI aan te pas. Van Wikipedia: ''n PID -kontroleerder bereken 'n' fout' -waarde as die verskil tussen 'n gemete [invoer] en 'n gewenste setpoint. Die beheerder probeer om die fout te verminder deur ['n uitset] aan te pas. " U vertel dus die PID wat u moet meet (die "Invoer"), waar u die meting wil hê (die "Setpoint",) en die veranderlike wat u wil aanpas om dit te laat gebeur (die "Output".)

Die PID pas dan die uitset aan om die invoer gelyk te stel aan die setpoint. Ter verwysing, 'n watertenk wat ons tot 'n vlak wil vul, die inset, setpoint en uitset is die vlak volgens die watervlak sensor, die gewenste watervlak en die water wat in die tenk gepomp word. kP is die proporsionele deel en is die belangrikste deel van die kontrole, hierdie deel is eweredig aan die fout. kD is die afgeleide deel en word toegepas op die afgeleide van die fout. Hierdie deel hang af van die dinamika van die stelsel (hang af van die robot, gewigsmotors, traagheid …). Die laaste een, kI word toegepas op die integrale van die fout en word gebruik om konstante foute te verminder, dit is soos 'n afwerking op die finale uitset (dink aan die afwerkingsknoppies op 'n RC -stuurwiel om die motor heeltemal reguit te laat loop, kI verwyder die offset tussen die vereiste teiken en die werklike waarde).

Op B-ROBOT word die stuuropdrag van die gebruiker by die motor se uitset gevoeg (een motor met 'n positiewe teken en die ander met 'n negatiewe teken). As die gebruiker byvoorbeeld die stuuropdrag 6 stuur om na regs te draai (van -10 tot 10), moet ons 6 by die linker motorwaarde voeg en 6 van die regter motor aftrek. As die robot nie vorentoe of agtertoe beweeg nie, is die gevolg van die stuuropdrag 'n draai van die robot

Stap 2: Wat van die afstandsbediening?

"laai =" lui"

Aanbeveel: