Table des matières:

Capteur Gyroscope Stone Lcd + Accélération : 5 Étapes
Capteur Gyroscope Stone Lcd + Accélération : 5 Étapes

Vidéo: Capteur Gyroscope Stone Lcd + Accélération : 5 Étapes

Vidéo: Capteur Gyroscope Stone Lcd + Accélération : 5 Étapes
Vidéo: This sprocket carries extra water!! #mtb #mountainbike #shorts 2024, Novembre
Anonim
Stone Lcd + Capteur Gyroscope Accélération
Stone Lcd + Capteur Gyroscope Accélération

Ce document vous apprendra comment utiliser un capteur gyroscope accéléromètre STM32 MCU + MPU6050 + affichage du port série STONE STVC070WT pour une DÉMO.

STVC070WT est l'affichage série de notre société, son développement est simple, facile à utiliser, vous pouvez aller sur le site de notre société pour toute différence d'affichage:

Étape 1: OUTIL DE PIERRE

OUTIL DE PIERRE
OUTIL DE PIERRE
OUTIL DE PIERRE
OUTIL DE PIERRE
OUTIL DE PIERRE
OUTIL DE PIERRE
OUTIL DE PIERRE
OUTIL DE PIERRE

Il est à noter que notre écran prend en charge la communication par port série. Certains modèles prennent en charge TTL/RS232/RS485, mais certains ne prennent en charge que RS232. Si le port série de votre MCU est le niveau logique TTL, vous devez ajouter un MAX3232 pour la conversion de niveau. Si vous voulez savoir quel écran prend en charge TTL et lequel prend en charge à la fois TTL et RS232, vous pouvez le consulter sur notre site Web:

www.stoneitech.com/product/industrial-type

Nous pouvons voir que les écrans "de type industriel" et "de type avancé" ne prennent généralement en charge que le RS232 ou le RS485, et que seuls les écrans de "type civil" peuvent prendre en charge le TTL/RS232/RS485. Si vous choisissez le "type avancé" ou le "type industriel", mais votre SCM ne prend en charge que le TTL, vous devez alors effectuer la conversion suivante:

D'autres informations pertinentes peuvent être consultées ou téléchargées sur le site officiel:

Trois étapes de développement de l'écran d'affichage STONE:

Concevez la logique d'affichage et la logique des boutons avec le logiciel STONE TOOL et téléchargez le fichier de conception sur le module d'affichage. Le MCU communique avec le module d'affichage STONE via un port série.

Avec les données obtenues à l'étape 2, le MCU effectue d'autres actions.

Étape 2: Présentation du projet

Présentation du projet
Présentation du projet
Présentation du projet
Présentation du projet
Présentation du projet
Présentation du projet
Présentation du projet
Présentation du projet

Présentation du projet

Ce que je vais vous montrer aujourd'hui est une démo de la gravité, du gyroscope, de l'angle d'Euler, les fonctions sont les suivantes:

  • Trois zones de texte affichent les valeurs d'accélération
  • Trois zones de texte affichent les valeurs du gyroscope
  • Trois zones de texte affichent les valeurs de l'angle d'Euler
  • Une zone de texte affiche l'heure de rafraîchissement actuelle
  • Deux boutons ajustent le temps de rafraîchissement

Tout d'abord, nous devons utiliser Photoshop pour concevoir deux interfaces d'interface utilisateur, et les résultats de la conception sont les suivants:

La première image est l'image de l'écran principal et la deuxième image est l'effet de bouton. Ensuite, nous ouvrons "TOOL2019" et concevons les effets dans le TOOL:

Deux composants principaux sont utilisés:

Unité d'affichage numérique

Bouton incrémental

Après la conception, l'effet de l'opération de simulation est visible dans l'interface de simulation:

Étape 3: MPU-6050

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

Le mpu-6050 est la première puce de traitement de mouvement 6 axes intégrée au monde. Par rapport à la solution multi-composants, il élimine le problème de la différence entre le gyroscope combiné et l'axe temporel de l'accélérateur et réduit beaucoup d'espace d'emballage. Lorsqu'il est connecté à la synchronisation du magnétomètre à trois axes, le mpu-6050 fournit une sortie de fusion de mouvement complète à 9 axes aux ports I2C ou SPI (SPI n'est disponible que sur le mpu-6000).

Portée de détection

La plage de détection de vitesse angulaire du mpu-6050 est de ±250, ±500, ±1000 et ±2000°/ SEC (DPS), ce qui permet de suivre avec précision les actions rapides et lentes. De plus, les utilisateurs peuvent programmer et contrôler la plage de détection des accélérateurs sur ±2g, ±4g±8g et ±16g. Les données du produit peuvent être transmises via IIC jusqu'à 400 kHz ou SPI jusqu'à 20 MHz (SPI n'est disponible que sur mpu-6000). Le Mpu-6050 peut fonctionner sous différentes tensions, la tension d'alimentation du VDD est de 2,5 v ± 5 %, 3,0 v ± 5 % ou 3,3 v ±5 %, et l'alimentation de l'interface logique VDDIO est de 1,8 v ±5 % (le VDD n'est utilisé que pour le MPU6000). La taille de l'emballage du mpu-6050 de 4x4x0.9mm (QFN) est révolutionnaire dans l'industrie. Les autres caractéristiques comprennent des capteurs de température et des oscillateurs intégrés qui ne varient que de ±1 % dans l'environnement d'exploitation. Application

Jeux de détection mobile réalité augmentée, EIS: Electronic Image Stabilization (OIS: Optical Image Stabilization) interface utilisateur du navigateur piéton avec geste "zero-touch". Smartphone, tablette, produit de jeu portable, console de jeu, télécommande 3D, appareil de navigation portable, UAV, voiture d'équilibre.

Caractéristiques

Sortie numérique de matrice de rotation à 6 ou 9 axes, quaternion, données de calcul de fusion d'angle d'Euler. ±1000 et ±2000°/ SEC. Il peut être contrôlé par un programme et la plage de contrôle du programme est de ±2g, ±4g, ±8g et ±16g. Supprimez la sensibilité entre l'accélérateur et l'axe du gyroscope et réduisez l'influence des paramètres et de la dérive du capteur. Le moteur DMP (Digital Motion Processing) réduit la charge des algorithmes de fusion complexes, de la synchronisation des capteurs, de la détection posturale, etc. La base de données de traitement des mouvements prend en charge les algorithmes de déviation de temps de fonctionnement et de correction de capteur magnétique intégrés à Android, Linux et Windows. Capteur de température avec sortie numérique et entrée numérique Prise en charge de la broche de synchronisation Technologie de stabilisation de la phase d'ombre électronique vidéo et interruption du contrôle programmable GPS Prise en charge de la reconnaissance des gestes, des secousses, du zoom avant et arrière de l'image, du roulement, de l'interruption de descente rapide, de l'interruption à g élevé, de la détection de mouvement zéro, détection tactile, détection de secousses. La tension d'alimentation de VDD est de 2,5 V ± 5 %, 3,0 V ± 5 % et 3,3 V ± 5 %. Le courant de fonctionnement de VDDIO est de 1,8 V ± 5 %: 5 mA; Courant de veille d'un gyroscope: 5uA; Courant de fonctionnement de l'accélérateur: 350 uA, courant du mode d'économie d'énergie de l'accélérateur: 20 uA à 10 Hz I2C en mode rapide jusqu'à 400 kHz, ou interface hôte série SPI jusqu'à 20 MHz, générateur de fréquence intégré sur toute la plage de température uniquement ±1 % de variation de fréquence. L'emballage minimum et le plus fin (4x4x0,9 mm QFN) conçu pour les produits portables a été testé pour répondre aux normes RoHS et environnementales. À propos de l'épingle

SCL et SDA se connectent à l'interface IIC de MCU, à travers laquelle MCU contrôle MPU6050. Il existe également une interface IIC, AXCL et XDA, qui peut être utilisée pour connecter des périphériques esclaves externes, tels que des capteurs magnétiques, pour former un capteur à neuf axes. VLOGIC est la tension du port IO et la broche la plus basse peut atteindre 1.8v. Généralement, nous pouvons utiliser directement VDD. AD0 est la broche de contrôle d'adresse de l'interface IIC (connectée au MCU), qui contrôle l'ordre le plus bas de l'adresse IIC. Si GND est connecté, l'adresse IIC du MPU6050 est 0X68 et 0X69 si VDD est connecté. Remarque: l'adresse ici ne contient pas l'ordre le plus bas de transfert de données (l'ordre le plus bas est utilisé pour la lecture et l'écriture). Ci-dessous le module mpu-6050 que j'ai utilisé:

Étape 4: Microcontrôleur STM32

Microcontrôleur STM32
Microcontrôleur STM32

Le MCU STM32F103RCT6 a des fonctions puissantes. Voici les paramètres de base du MCU:

Série: STM32F10X

Noyau: ARM - COTEX32

Vitesse: 72 MHz

Interface de communication: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB

Equipements périphériques: DMA, contrôle moteur PWM, PDR, POR, PVD, PWM, capteur de température, WDT

Capacité de stockage du programme: 256 Ko

Type de mémoire de programme: FLASH

Capacité RAM: 48K

Tension - alimentation (Vcc/Vdd): 2 V ~ 3,6 V

Oscillateur: interne

Température de fonctionnement: -40°C ~ 85°C

Paquet/logement: 64-lqfp

Dans ce projet, j'utiliserai UART, GPIO, Watch Dog et Timer de STM32F103RCT6. Ce qui suit est l'enregistrement de développement de code pour le projet. STM32 UTILISE le développement du logiciel Keil MDK, dont vous devez être familier, je ne présenterai donc pas la méthode d'installation de ce logiciel. STM32 peut être simulé en ligne via j-link ou st-link et d'autres outils de simulation. L'image suivante est la carte de développement STM32 que j'ai utilisée:

Ajouter un pilote sérieSTM32F103RCT6 possède plusieurs ports série. Dans ce projet, j'ai utilisé le canal du port série PA9/PA10 et le débit en bauds du port série a été fixé à 115200.

Veuillez nous contacter si vous avez besoin d'un code complet:

www.stoneitech.com/contact Nous vous répondrons dans les 12 heures.

Étape 5: Pilote MPU-6050

Pilote MPU-6050
Pilote MPU-6050
Pilote MPU-6050
Pilote MPU-6050

Ce code UTILISE le mode de communication IIC pour lire les données du MPU6050, et la communication IIC UTILISE la simulation logicielle IIC. Il existe de nombreux codes associés, je ne les collerai donc pas ici.

Veuillez nous contacter si vous avez besoin d'un code complet: https://www.stoneitech.com/contact Nous vous répondrons dans les 12 heures.

Veuillez voir l'image suivante pour l'effet de l'opération:

Pour en savoir plus sur le projet cliquez ici

Conseillé: