MPU6050: modúl le haghaidh suite le Arduino

Bord MPU6050

Más gá duit tionscadal a chruthú agus é a shuíomh, is é sin, tá a fhios conas a chuirtear é maidir le spás, is féidir leat an modúl a úsáid MPU6050. Is é sin, is aonad tomhais táimhe nó IMU (Aonaid Tomhais Inertial) é an modúl seo le 6 chéim saoirse (DoF). Sin a bhuíochas leis na braiteoirí cineál luasghéaraithe 3-ais agus gyroscóp 3-ais a chuireann sé i bhfeidhm chun oibre.

Is féidir leis an MPU6050 seo a bheith ar an eolas faoin gcaoi a bhfuil an réad atá ann suite le húsáid ann iarratais nascleanúint, goniometry, cobhsú, rialú gotha, srl. Is gnách go n-áiríonn fóin phóca an cineál braiteoirí seo chun, mar shampla, feidhmeanna áirithe a rialú trí ghothaí, mar shampla stopadh má dhéantar an fón cliste a chasadh air, feithiclí a thiomáint i gcluichí físe tríd an bhfón póca a chasadh amhail is dá mba roth stiúrtha é, srl.

Cad is luasghéaraithe agus gyroscóp ann?

Samplaí MEMS

Samplaí MEMS

Bhuel, déanaimis dul i gcodanna. Is é an chéad rud a fheiceáil cad iad na braiteoirí sin in ann luasghéarú agus casadh a bhrath, mar is féidir a bhaint óna n-ainmneacha féin.

  • Luasghéarmhéadar: luasghéarú a thomhas, is é sin, an t-athrú ar luas in aghaidh an aonaid ama. Cuimhnigh gurb é an t-athrú ar threoluas le ham (a = dV / dt) an sainmhíniú ar luasghéarú san fhisic. De réir Dara Dlí Newton, ní mór dúinn freisin go bhfuil a = F / m, agus is é sin a úsáideann luasmhéadair chun obair, is é sin, úsáideann siad paraiméadair fhórsa agus mhais an ruda. Ionas gur féidir é seo a chur i bhfeidhm i leictreonaic, úsáidtear teicnící MEMS (Micrea-Chórais Mheicniúla Leictreacha), atá difriúil ó ghnáththeicnící déantúsaíochta sliseanna leictreonacha, ós rud é go gcruthófar páirteanna meicniúla i MEMS. Sa chás seo, cruthaítear rianta nó eilimintí atá in ann luasghéarú a thomhas. Tugann sé seo le tuiscint gur féidir go leor aonad eile a thógáil, mar shampla treoluas (má tá luasghéarú comhtháite in am), má tá sé comhtháite arís, tá an díláithriú againn, srl. Is é sin le rá, paraiméadair an-suimiúla chun eolas a fháil ar shuíomh nó ar ghluaiseacht réad a bhrath.
  • Giroscóp: ar a dtugtar gyroscóp freisin, is gléas é a thomhaiseann treoluas uilleach réad, is é sin, an díláithriú uilleach in aghaidh an aonaid ama nó cé chomh tapa agus a rothlaíonn corp timpeall a ais. Sa chás seo, úsáidtear teicnící MEMS chun an luas seo a thomhas ag úsáid éifeacht ar a dtugtar Coriolis. A bhuíochas leis seo, is féidir an treoluas uilleach a thomhas nó, tríd an treoluas uilleach a chomhtháthú maidir le ham, is féidir an díláithriú uilleach a fháil.

Modúl MPU6050

Pinout MPU6050

Anois go bhfuil a fhios agat cad iad an luasghéaraithe agus an gyroscóp, an modúl MPU6050 Is bord leictreonach é a chomhtháthaíonn an dá ghné seo chun ligean duit na hathruithe seo a thomhas i suíomh eiliminte agus ar an gcaoi sin a bheith in ann imoibriú a ghiniúint. Mar shampla, nuair a ghluaiseann réad soilse faoi stiúir, nó rudaí eile atá i bhfad níos casta.

Mar a dúirt mé, tá 6 ais saoirse aige, DoF, Luasaire luasghéaraithe 3-ais X, Y, agus Z, agus gyroscóp 3-ais eile chun treoluas uilleach a thomhas. Caithfidh tú a chur san áireamh gan botúin a dhéanamh ar an mbealach a shuíonn tú an modúl agus treo an uainíochta do na tomhais, mar má dhéanann tú an comhartha mícheart beidh sé rud beag chaotic. Féach ar an íomhá seo a leanas ina sonraítear treo na n-aiseanna (tabhair faoi deara, áfach, go bhfuil an PCB féin clóite ar thaobh amháin):

Bileog Sonraí MPU6050

Ag smaoineamh air seo agus an pinout, níos mó nó níos lú tá gach rud soiléir agat chun an MPU6050 a úsáid. Mar a fheiceann tú san íomhá roimhe seo, tá na naisc simplí go leor agus tugann sé deis do chumarsáid I2C a bheith comhoiriúnach le mórchuid na micrea-rialaitheoirí, an Arduino san áireamh. Tá friotóir tarraingt suas ag na bioráin SCL agus SDA ar an gclár chun nasc díreach a dhéanamh le bord Arduino, mar sin ní gá duit a bheith buartha faoi iad a chur leat féin.

Chun oibriú leis an dá threo ar an mbus I2C, is féidir leat iad seo a úsáid bioráin agus treoracha:

  • AD0 = 1 nó Ard (5v): do sheoladh I0C 69x2.
  • AD0 = 0 nó Íseal (GND nó Nc): le haghaidh seoladh 0x68 den bhus I2C.

Cuimhnigh gurb é voltas oibriúcháin an mhúnla 3v3, ach ar ámharaí an tsaoil tá rialtóir ionsuite aige, mar sin is féidir é a cheangal le 5v an Arduino gan fhadhb agus athróidh sé go 3.3v é.

Dála an scéil, friotaíocht inmheánach a bheith aige le GND, mura bhfuil an bioráin seo ceangailte, an seoladh de réir réamhshocraithe beidh sé 0x68, ós rud é go mbeidh sé ceangailte de réir réamhshocraithe le talamh, agus é á léirmhíniú mar loighciúil 0.

Comhtháthú le Arduino

Ceangal Arduino agus MPU6050

Is féidir leat a fháil tuilleadh faisnéise faoin mbus I2C san alt seo. Tá a fhios agat cheana féin go bhfuil na bioráin a úsáidtear don bhus éagsúil ag brath ar bhord Arduino, ach sa Arduino UNO Is é an bioráin analógach A4 agus A5, le haghaidh SDA (sonraí) agus SCL (clog) faoi ​​seach. Is iad na bioráin Arduino amháin iad, in éineacht leis an gceann 5v agus GND chun cumhacht a thabhairt don bhord, ba cheart duit a úsáid. Mar sin tá an nasc chomh simplí agus is féidir.

Le haghaidh fheidhmeanna an MPU6050 is féidir leat na leabharlanna a úsáid ar féidir leat tuilleadh faisnéise a fháil sa nasc seo le haghaidh na I2C den mhodúl agus modúl an bhus MPU6050.

Níl cláir bhoird Arduino ró-éasca leis an MPU6050, mar sin níl sé do thosaitheoirí. Ina theannta sin, agus teorainneacha luasghéarú nó raonta na n-uillinneacha ar eolas agat, is féidir leat calabrú chun a fháil amach cad é an ghluaiseacht nó an luasghéarú cruinn a bhí ann. Mar sin féin, ionas gur féidir leat sampla a fháil ar a laghad maidir le conas trácht a dhéanamh ar é a úsáid, is féidir leat an cód seo a fheiceáil ón Sceitse samplach do do Arduino IDE a léifidh na luachanna arna dtaifeadadh ag an luasghéaraithe agus an gyroscóp:

// Bibliotecas necesarias:
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"

// Dependiendo del estado de AD0, la dirección puede ser 0x68 o 0x69, para controlar así el esclavo que leerá por el bus I2C
MPU6050 sensor;

// Valores RAW o en crudo leidos del acelerometro y giroscopio en los ejes x,y,z
int ax, ay, az;
int gx, gy, gz;

void setup() {
  Serial.begin(57600);    //Función para iniciar el puerto serie con 57600 baudios
  Wire.begin();           //Inicio para el bus I2C 
  sensor.initialize();    //Iniciando del sensor MPU6050

  if (sensor.testConnection()) Serial.println("Sensor iniciado correctamente");
  else Serial.println("Error al iniciar el sensor");
}

void loop() {
  // Leer las aceleraciones y velocidades angulares
  sensor.getAcceleration(&ax, &ay, &az);
  sensor.getRotation(&gx, &gy, &gz);

  // Muestra las lecturas que va registrando separadas por una tabulación 
  Serial.print("a[x y z] g[x y z]:\t");
  Serial.print(ax); Serial.print("\t");
  Serial.print(ay); Serial.print("\t");
  Serial.print(az); Serial.print("\t");
  Serial.print(gx); Serial.print("\t");
  Serial.print(gy); Serial.print("\t");
  Serial.println(gz);

  delay(100);
}

Más bunleibhéal tú agus níl a fhios agat go maith conas clár a dhéanamh le Arduino IDE, beidh sé seo deacair duit a thuiscint, ionas gur féidir leat dul i gcomhairle lenár lámhleabhar leis an gcúrsa tosaigh do chláir Arduino saor in aisce ...


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

Bí ar an chéad trácht

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.