Inhoudsopgave:

Arduino Nano: Accelerometer Gyroscoop Kompas MPU9250 I2C-sensor met Visuino - Ajarnpa
Arduino Nano: Accelerometer Gyroscoop Kompas MPU9250 I2C-sensor met Visuino - Ajarnpa

Video: Arduino Nano: Accelerometer Gyroscoop Kompas MPU9250 I2C-sensor met Visuino - Ajarnpa

Video: Arduino Nano: Accelerometer Gyroscoop Kompas MPU9250 I2C-sensor met Visuino - Ajarnpa
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, November
Anonim
Image
Image

MPU9250 is een van de meest geavanceerde gecombineerde versnellingsmeter-, gyroscoop- en kompassensoren van klein formaat die momenteel beschikbaar zijn. Ze hebben veel geavanceerde functies, waaronder laagdoorlaatfiltering, bewegingsdetectie en zelfs een programmeerbare gespecialiseerde processor. Met bijna 130 registers, met veel instellingen, zijn ze echter ook erg moeilijk om mee te werken vanuit code.

Een paar weken geleden was GearBest zo aardig om een MPU9250-module te doneren om te sponsoren en er ondersteuning voor toe te voegen in Visuino. Het kostte 2 weken hard werken, maar uiteindelijk had ik niet alleen de ondersteuning voor MPU9250 geïmplementeerd, maar ik heb ook Acceleration To Angle-converter, Complementary (First and Second Order) en Kalman-filters toegevoegd die ermee kunnen worden gebruikt om te verbeteren precisie.

Dit is de eerste Instructable op de nieuwe MPU9250-ondersteuning in Visuino, en het laat zien hoe gemakkelijk het is om het te gebruiken met Visuino. In de volgende Instructables zal ik je laten zien hoe je de Acceleration To Angle-converter, de complementaire en Kalman-filters kunt gebruiken en echt goede resultaten kunt behalen met je sensormodule.

Stap 1: Componenten

Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino
Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino
  1. Eén Arduino-compatibel bord (ik gebruik Arduino Nano, omdat ik er een heb, maar elke andere is prima)
  2. Eén MPU9250-sensormodule (in mijn geval genereus geschonken door GearBest)
  3. 4 vrouwelijke-vrouwelijke jumperdraden

Stap 2: Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino

Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino
Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino
Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino
Sluit het MPU9250 Accelerometer Gyroscoopkompas aan op Arduino
  1. Sluit 5V VCC-voeding (rode draad), aarde (zwarte draad), SDA (groene draad) en SCL (gele draad) aan op de MPU9250-module (afbeelding 1)
  2. Sluit het andere uiteinde van de aardingsdraad (zwarte draad) aan op de aardingspin van het Arduino-bord (afbeelding 2)
  3. Sluit het andere uiteinde van de 5V VCC-voedingsdraad (rode draad) aan op de 5V-voedingspen van het Arduino-bord (afbeelding 2)
  4. Sluit het andere uiteinde van de SDA-draad (groene draad) aan op SDA/analoge pin 4 van het Arduino Nano-bord (Afbeelding 2)
  5. Sluit het andere uiteinde van de SCL-draad (gele draad) aan op SCL/analoge pin 5 van het Arduino Nano-bord (Afbeelding 2)
  6. Afbeelding 3 laat zien waar de Ground, 5V Power, SDA/Analog pin 4, en SCL/Analog pin 5, pinnen van de Arduino Nano zijn

Stap 3: Start Visuino en selecteer het Arduino-bordtype

Start Visuino en selecteer het Arduino-bordtype
Start Visuino en selecteer het Arduino-bordtype
Start Visuino en selecteer het Arduino-bordtype
Start Visuino en selecteer het Arduino-bordtype

Om te beginnen met het programmeren van de Arduino, moet je de Arduino IDE vanaf hier hebben geïnstalleerd:

Zorg ervoor dat u 1.6.7 of hoger installeert, anders werkt deze Instructable niet!

De Visuino: https://www.visuino.com moet ook worden geïnstalleerd.

  1. Start Visuino zoals getoond in de eerste foto
  2. Klik op de knop "Tools" op de Arduino-component (Afbeelding 1) in Visuino
  3. Wanneer het dialoogvenster verschijnt, selecteert u Arduino Nano zoals weergegeven in Afbeelding 2

Stap 4: In Visuino: MPU9250-component toevoegen en aansluiten

In Visuino: MPU9250-component toevoegen en aansluiten
In Visuino: MPU9250-component toevoegen en aansluiten
In Visuino: MPU9250-component toevoegen en aansluiten
In Visuino: MPU9250-component toevoegen en aansluiten
In Visuino: MPU9250-component toevoegen en aansluiten
In Visuino: MPU9250-component toevoegen en aansluiten
  1. Typ "mpu" in het filtervak van de Component Toolbox en selecteer vervolgens de component "Accelerometer Gyroscope Compass MPU9250 I2C" (Afbeelding 1) en zet deze neer in het ontwerpgebied (Afbeelding 2)
  2. Sluit de "Out"-pin van de AccelerometerGyroscopeCompass1-component aan op de "In"-pin van het I2C-kanaal van de Arduino-component (Afbeelding 3)

Stap 5: In Visuino: pakketcomponent toevoegen en verbinden

In Visuino: pakketcomponent toevoegen en verbinden
In Visuino: pakketcomponent toevoegen en verbinden
In Visuino: pakketcomponent toevoegen en verbinden
In Visuino: pakketcomponent toevoegen en verbinden

Om alle kanaalgegevens via de seriële poort van Arduino te verzenden, kunnen we de Packet-component gebruiken om de kanalen samen te bundelen en ze weer te geven in de Scope en Gauges in Visuino:

  1. Typ "pack" in het filtervak van de Component Toolbox en selecteer vervolgens de component "Packet" (Afbeelding 1) en zet deze neer in het ontwerpgebied
  2. Verbind de "Out" output pin van de Packet1 component met de "In" input pin van het "Serial [0]" kanaal van de "Arduino" component (Afbeelding 2)

Stap 6: In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren

In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren
In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren
In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren
In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren
In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren
In Visuino: 7 binaire analoge elementen toevoegen aan de pakketcomponent en hun namen specificeren
  1. Klik op de knop "Extra" van de Packet1-component (Afbeelding 1)
  2. Selecteer in de editor "Elementen" het element "Binair analoog" en klik vervolgens op de knop "+" (afbeelding 2) om het analoge element toe te voegen
  3. Stel in de Object Inspector de eigenschap "Name" van het analoge element in op "Compass(X)" (Afbeelding 3)
  4. Selecteer in de editor "Elementen" het element "Binair analoog" aan de rechterkant en klik vervolgens op de knop "+" aan de linkerkant om nog een analoog element toe te voegen
  5. Stel in de Object Inspector de eigenschap "Name" van het nieuwe analoge element in op "Compass(Y)" (Afbeelding 4)
  6. Selecteer in de editor "Elementen" het element "Binair analoog" aan de rechterkant en klik vervolgens op de knop "+" aan de linkerkant om nog een analoog element toe te voegen
  7. Stel in de Object Inspector de eigenschap "Name" van het nieuwe analoge element in op "Compass(Z)" (Afbeelding 5)
  8. Herhaal dezelfde stappen om nog 7 binaire analoge elementen toe te voegen met de namen "Accelerometer(X)", "Accelerometer(Y)", "Accelerometer(Z)", "Gyroscope(X)", "Gyroscope(Y)", "Gyroscope(Z)" en "Thermometer" (Afbeelding 6)

Stap 7: In Visuino: Configureer de visualisatie van het pakketelement voor de thermometer

In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren
In Visuino: de visualisatie van het pakketelement voor de thermometer configureren

De Visuino kan standaard de analoge elementen van de pakketcomponent in meters weergeven. Wel is het prettig om de temperatuur in Thermometer weer te geven. Visuino maakt het mogelijk om de manier waarop de analoge elementen worden weergegeven aan te passen.

  1. Selecteer in de Elementen-editor het laatste analoge element met de naam "Thermometer" (Afbeelding 1)
  2. Selecteer in de Object Inspector de eigenschap "Instrument" en klik op de knop "Pijl omlaag" naast de waarde ervan (Afbeelding 1)
  3. Selecteer in de vervolgkeuzelijst "Thermometer" (Afbeelding 2)
  4. Vouw in de Object Inspector de eigenschap "Instrument" uit en vervolgens de subeigenschap "Scale" (Afbeelding 3)
  5. Stel in de Object Inspector de waarde van de "Auto" sub-eigenschap van de "Scale" in op False (Afbeelding 3) Dit zal de automatische schaling voor de thermometer uitschakelen
  6. Stel in de Object Inspector de "Max" sub-eigenschap van de "Scale" in op 100 (Afbeelding 4) Dit zal de thermometer configureren om een schaal van 0 tot 100 te hebben

Stap 8: In Visuino: unieke pakketkoptekst opgeven

In Visuino: unieke pakketkoptekst opgeven
In Visuino: unieke pakketkoptekst opgeven
In Visuino: unieke pakketkoptekst opgeven
In Visuino: unieke pakketkoptekst opgeven

Om ervoor te zorgen dat Visuino het startpunt van het pakket vindt, hebben we een unieke header nodig. De component Packet gebruikt een speciaal algoritme om ervoor te zorgen dat de headermarkering niet in de gegevens verschijnt.

  1. Selecteer de Packet1-component (Afbeelding 1)
  2. Vouw in de Object Inspector de eigenschap "Hoofdmarkering" uit (Afbeelding 1)
  3. Klik in de Object Inspector op de knop "…" (Afbeelding 1)
  4. Typ in de Bytes-editor enkele getallen, zoals voorbeeld 55 55 (Afbeelding 2)
  5. Klik op de OK-knop om te bevestigen en de editor te sluiten

Stap 9: In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent

In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
In Visuino: sluit de MPU9250-component aan op de elementen van de pakketcomponent
  1. Klik in het vak "Out" met de pinnen van het "Compass" van de AccelerometerGyroscopeCompass1-component om alle Out-pinnen tegelijk aan te sluiten (Afbeelding 1)
  2. Beweeg de muis over de "In"-pin van het "Elements. Compass(X)"-element van de Packet1-component. De Visuino spreidt automatisch de draden zodat ze correct aansluiten op de rest van de pinnen (Afbeelding 1)
  3. Klik in het vak "Out" met de pinnen van de "Accelerometer" van de AccelerometerGyroscopeCompass1-component om alle Out-pinnen tegelijk aan te sluiten (Afbeelding 2)
  4. Beweeg de muis over de "In"-pin van het "Elements. Accelerometer(X)"-element van de Packet1-component. De Visuino spreidt automatisch de draden zodat ze correct worden aangesloten op de rest van de pinnen (Afbeelding 2)
  5. Klik in het vak "Out" met de pinnen van de "Gyroscope" van de AccelerometerGyroscopeCompass1-component om alle Out-pinnen tegelijk aan te sluiten (Afbeelding 3)
  6. Beweeg de muis over de "In"-pin van het "Elements. Gyroscope(X)"-element van de Packet1-component. De Visuino spreidt automatisch de draden zodat ze correct aansluiten op de rest van de pinnen (Afbeelding 3)
  7. Sluit de "Out" pin van de "Thermometer" van de AccelerometerGyroscopeCompass1 component aan op de "In" pin van de "Elements. Thermometer" input pin van de Packet1 component (Afbeelding 4)

Stap 10: Genereer, compileer en upload de Arduino-code

Genereer, compileer en upload de Arduino-code
Genereer, compileer en upload de Arduino-code
Genereer, compileer en upload de Arduino-code
Genereer, compileer en upload de Arduino-code
  1. Druk in Visuino op F9 of klik op de knop in afbeelding 1 om de Arduino-code te genereren en de Arduino IDE te openen
  2. Klik in de Arduino IDE op de knop Uploaden om de code te compileren en te uploaden (Afbeelding 2)

Stap 11: En speel…

En speel…
En speel…
En speel…
En speel…
En speel…
En speel…
  1. Selecteer in Visuino de ComPort en klik vervolgens op de vervolgkeuzelijst "Formaat:" en selecteer Packet1 (Afbeelding 1)
  2. Klik op de knop "Verbinden" (Afbeelding 1)
  3. Als u het tabblad "Scope" selecteert, ziet u de Scope die de X-, Y-, Z-waarden van de versnellingsmeter, gyroscoop en kompas uitzet, evenals de temperatuur in de loop van de tijd (afbeelding 2)
  4. Als u het tabblad "Instrumenten" selecteert, ziet u de thermometer en de meters met dezelfde informatie (Afbeelding 3)

U kunt de aangesloten en draaiende MPU9250 versnellingsmeter, gyroscoop en kompassensor zien op afbeelding 4.

Gefeliciteerd! Je hebt een MPU9250 versnellingsmeter-, gyroscoop- en kompas-meetproject gemaakt in Arduino, met visuele instrumentatie.

Op afbeelding 5 ziet u het volledige Visuino-diagram.

Ook bijgevoegd is het Visuino-project, dat ik voor deze Instructable heb gemaakt. U kunt het downloaden en openen in Visuino:

Aanbevolen: