Inhaltsverzeichnis:

Stone LCD + Beschleunigungs-Gyroskopsensor - Gunook
Stone LCD + Beschleunigungs-Gyroskopsensor - Gunook

Video: Stone LCD + Beschleunigungs-Gyroskopsensor - Gunook

Video: Stone LCD + Beschleunigungs-Gyroskopsensor - Gunook
Video: STONE Intelligent TFT LCD Display Module with Controller + Program to Replace HMI & PLC 2024, November
Anonim
Stone LCD + Beschleunigungs-Gyroskopsensor
Stone LCD + Beschleunigungs-Gyroskopsensor

In diesem Dokument erfahren Sie, wie Sie eine STM32-MCU + MPU6050-Beschleunigungsmesser-Gyroskopsensor + STONE STVC070WT-Seriell-Port-Display für eine DEMO verwenden.

STVC070WT ist das Seriendisplay unseres Unternehmens, seine Entwicklung ist einfach und benutzerfreundlich. Sie können die Website unseres Unternehmens für alle Displayunterschiede besuchen:

Schritt 1: STEINWERKZEUG

STEINWERKZEUG
STEINWERKZEUG
STEINWERKZEUG
STEINWERKZEUG
STEINWERKZEUG
STEINWERKZEUG
STEINWERKZEUG
STEINWERKZEUG

Es ist erwähnenswert, dass unser Bildschirm die Kommunikation über die serielle Schnittstelle unterstützt. Einige Modelle unterstützen TTL/RS232/RS485, andere jedoch nur RS232. Wenn der serielle Port Ihrer MCU der TTL-Logikpegel ist, müssen Sie einen MAX3232 für die Pegelumwandlung hinzufügen. Wenn Sie wissen möchten, welcher Bildschirm TTL unterstützt und welcher sowohl TTL als auch RS232 unterstützt, können Sie auf unserer Website nachsehen:

www.stoneitech.com/product/industrial-type

Wir können sehen, dass Bildschirme vom Typ "Industrietyp" und "Erweiterter Typ" im Allgemeinen nur RS232 oder RS485 unterstützen und nur Bildschirme vom Typ "Ziviltyp" TTL / RS232 / RS485. Wenn Sie den "Erweiterten Typ" oder "Industrietyp" wählen, Ihr SCM unterstützt jedoch nur TTL, dann müssen Sie die folgende Konvertierung durchführen:

Weitere relevante Informationen können auf der offiziellen Website eingesehen oder heruntergeladen werden:

Drei Schritte der STONE-Bildschirmentwicklung:

Entwerfen Sie die Anzeigelogik und Tastenlogik mit der STONE TOOL-Software und laden Sie die Designdatei auf das Anzeigemodul herunter. Die MCU kommuniziert mit dem STONE-Anzeigemodul über eine serielle Schnittstelle.

Mit den in Schritt 2 erhaltenen Daten führt die MCU andere Aktionen aus.

Schritt 2: Projektvorstellung

Projektvorstellung
Projektvorstellung
Projektvorstellung
Projektvorstellung
Projektvorstellung
Projektvorstellung
Projektvorstellung
Projektvorstellung

Projektvorstellung

Was ich Ihnen heute zeigen werde, ist eine Demo von Schwerkraft, Gyroskop, Eulerwinkel, Funktionen sind wie folgt:

  • Drei Textfelder zeigen Beschleunigungswerte an
  • Drei Textfelder zeigen Gyroskopwerte an
  • Drei Textfelder zeigen Euler-Winkelwerte an
  • Ein Textfeld zeigt die aktuelle Aktualisierungszeit an
  • Zwei Tasten stellen die Aktualisierungszeit ein

Zuerst müssen wir Photoshop verwenden, um zwei Benutzeroberflächen zu entwerfen, und die Designergebnisse sind wie folgt:

Das erste Bild ist das Hauptbildschirmbild und das zweite Bild ist der Schaltflächeneffekt. Dann öffnen wir "TOOL2019" und gestalten die Effekte im TOOL:

Zwei Hauptkomponenten werden verwendet:

Numerische Anzeigeeinheit

Inkrementaltaste

Nach dem Design ist der Effekt des Simulationsbetriebs in der Simulationsoberfläche zu sehen:

Schritt 3: MPU-6050

MPU-6050
MPU-6050
MPU-6050
MPU-6050
MPU-6050
MPU-6050

Der mpu-6050 ist der weltweit erste integrierte 6-Achsen-Motion-Processing-Chip. Im Vergleich zur Mehrkomponentenlösung beseitigt sie das Problem der Differenz zwischen dem kombinierten Gyroskop und der Beschleuniger-Zeitachse und reduziert viel Bauraum. Bei Anschluss an das Drei-Achsen-Magnetometer-Timing bietet der mpu-6050 eine komplette 9-Achsen-Bewegungsfusionsausgabe an die I2C- oder SPI-Ports (SPI ist nur beim mpu-6000 verfügbar).

Erfassungsbereich

Der Messbereich der Winkelgeschwindigkeit des mpu-6050 beträgt ±250, ±500, ±1000 und ±2000°/SEC (DPS), wodurch schnelle und langsame Aktionen genau verfolgt werden können. Darüber hinaus können Benutzer den Erfassungsbereich von Beschleunigern auf ± 2 g, ± 4 g ± 8 g und ± 16 g programmieren und steuern. Produktdaten können über IIC bis 400kHz oder SPI bis 20MHz übertragen werden (SPI ist nur auf mpu-6000 verfügbar). Mpu-6050 kann unter verschiedenen Spannungen arbeiten, die Spannungsversorgung von VDD beträgt 2,5V ±5%, 3,0V ± 5 % oder 3,3 V ±5 %, und die Stromversorgung der Logikschnittstelle VDDIO beträgt 1,8 V ±5 % (VDD wird nur für MPU6000 verwendet). Die Verpackungsgröße des mpu-6050 von 4x4x0,9mm (QFN) ist revolutionär in der Branche. Zu den weiteren Merkmalen gehören eingebaute Temperatursensoren und Oszillatoren, die in der Betriebsumgebung nur ±1 % variieren. Anwendung

Mobile Sensing Games Augmented Reality, EIS: Elektronische Bildstabilisierung (OIS: Optical Image Stabilization) Benutzeroberfläche des Fußgängernavigators mit "Zero-Touch"-Geste. Smartphone, Tablet-Gerät, Handheld-Spielprodukt, Spielkonsole, 3D-Fernbedienung, tragbares Navigationsgerät, UAV, Balance-Auto.

Eigenschaften

Digitale Ausgabe von 6- oder 9-Achsen-Rotationsmatrix, Quaternion, Euler-Winkelforma-Fusionskalküldaten. 3-Achsen-Winkelgeschwindigkeitssensor (Gyroskop) mit 131 LSBs/°/ SEC-Empfindlichkeit und vollem Rastererfassungsbereich von ±250, ±500, ±1000 und ±2000°/ SEK. Es kann durch ein Programm gesteuert werden, und der Programmsteuerungsbereich beträgt ±2 g, ±4 g, ±8 g und ±16 g. Entfernen Sie die Empfindlichkeit zwischen dem Beschleuniger und der Gyroskopachse und reduzieren Sie den Einfluss der Einstellungen und Sensordrift. Die DMP-Engine (Digital Motion Processing) reduziert die Belastung durch komplexe Fusionsalgorithmen, Sensorsynchronisation, Haltungserkennung usw. Die Bewegungsverarbeitungsdatenbank unterstützt die in Android, Linux und Windows integrierten Algorithmen zur Betriebszeitabweichung und magnetischen Sensorkorrektur. Temperatursensor mit digitalem Ausgang und digitalem Eingang Sync-Pin-Unterstützung für Video, elektronische Schattenphasenstabilisierungstechnologie und GPS-programmierbare Interrupt-Unterstützung für Gestenerkennung, Schütteln, Vergrößern und Verkleinern des Bildes, Rollen, Rapid-Sink-Interrupt, High-G-Interrupt, Zero Motion Sensing, Touch Sensing, Shake Sensing. Die Versorgungsspannung von VDD beträgt 2,5 V ±5 %, 3,0 V ±5 % und 3,3 V ±5 %. Der Betriebsstrom von VDDIO beträgt 1,8 V ± 5 %: 5 mA; Ruhestrom eines Gyroskops: 5uA; Beschleuniger-Betriebsstrom: 350uA, Beschleuniger-Stromsparmodus: 20uA@10Hz I2C im schnellen Modus bis zu 400kHz, oder serielle SPI-Hostschnittstelle bis zu 20MHz eingebauter Frequenzgenerator bei vollem Temperaturbereich nur ±1% Frequenzvariation. Die kleinste und dünnste Verpackung (4x4x0,9mm QFN), die auf tragbare Produkte zugeschnitten ist, wurde getestet, um RoHS- und Umweltstandards zu erfüllen. Über den Stift

SCL und SDA verbinden sich mit der IIC-Schnittstelle der MCU, über die die MCU die MPU6050 steuert. Es gibt auch eine IIC-Schnittstelle, AXCL und XDA, über die externe Slave-Geräte wie Magnetsensoren angeschlossen werden können, um einen Neun-Achsen-Sensor zu bilden. VLOGIC ist die Spannung des IO-Ports, und der unterste Pin kann erreichen 1,8 V. Im Allgemeinen können wir VDD. AD0 direkt verwenden, ist der Adresssteuerpin der IIC-Schnittstelle (verbunden mit der MCU), der die niedrigste Ordnung der IIC-Adresse steuert. Wenn GND angeschlossen ist, ist die IIC-Adresse der MPU6050 0X68 und 0X69, wenn VDD angeschlossen ist. Hinweis: Die Adresse hier enthält nicht die niedrigste Ordnung der Datenübertragung (die niedrigste Ordnung wird zum Lesen und Schreiben verwendet). Unten ist das mpu-6050-Modul, das ich verwendet habe:

Schritt 4: STM32-Mikrocontroller

STM32-Mikrocontroller
STM32-Mikrocontroller

STM32F103RCT6 MCU verfügt über leistungsstarke Funktionen. Hier sind die grundlegenden Parameter der MCU:

Serie: STM32F10X

Kernel: ARM - COTEX32

Geschwindigkeit: 72 MHz

Kommunikationsschnittstelle: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB

Peripheriegeräte: DMA, Motorsteuerung PWM, PDR, POR, PVD, PWM, Temperatursensor, WDT

Programmspeicherkapazität: 256 KB

Programmspeichertyp: FLASH

RAM-Kapazität: 48K

Spannung - Stromversorgung (Vcc/Vdd): 2 V ~ 3,6 V

Oszillator: intern

Betriebstemperatur: -40°C ~ 85°C

Paket/Gehäuse: 64-lqfp

In diesem Projekt werde ich UART, GPIO, Watch Dog und Timer von STM32F103RCT6 verwenden. Das Folgende ist der Codeentwicklungsdatensatz für das Projekt. STM32 VERWENDET Keil MDK-Softwareentwicklung, mit der Sie vertraut sein müssen, daher werde ich die Installationsmethode dieser Software nicht vorstellen. STM32 kann online über j-link oder st-link und andere Simulationstools simuliert werden. Das folgende Bild ist das STM32-Entwicklungsboard, das ich verwendet habe:

Serieller Treiber hinzufügenSTM32F103RCT6 hat mehrere serielle Ports. In diesem Projekt habe ich den seriellen Port-Kanal PA9 / PA10 verwendet und die Baudrate des seriellen Ports wurde auf 115200 eingestellt.

Bitte kontaktieren Sie uns, wenn Sie einen vollständigen Code benötigen:

www.stoneitech.com/contact Wir werden Ihnen innerhalb von 12 Stunden antworten.

Schritt 5: MPU-6050-Treiber

MPU-6050-Treiber
MPU-6050-Treiber
MPU-6050-Treiber
MPU-6050-Treiber

Dieser Code VERWENDET den IIC-Kommunikationsmodus, um die Daten des MPU6050 zu lesen, und die IIC-Kommunikation VERWENDET die Softwaresimulation IIC. Es gibt viele verwandte Codes, daher werde ich sie hier nicht einfügen.

Bitte kontaktieren Sie uns, wenn Sie einen vollständigen Code benötigen: https://www.stoneitech.com/contact Wir werden Ihnen innerhalb von 12 Stunden antworten.

Bitte sehen Sie das folgende Bild für den Betriebseffekt:

Um mehr über das Projekt zu erfahren, klicken Sie hier