Loading...

STM32F4G (ARM University Program Lab-in-a-Box)

Το STM32F4G προσφέρθηκε δωρεάν στα πλαίσια του ARM University Program Lab-in-a-Box. Το STM32F4G περιέχει έναν ισχυρό επεξεργαστή arm των 32bit,στατική ram και flash μνήμη. Επίσης έχει τη δυνατότητα σύνδεσης πολλών περιφεριακών.Παρακάτω θα παραθέσουμε μερικές εφαρμογές υλοποιημένες πάνω στον stm32f4 σε συνδυασμό με την πλακέτα της flight electronics.

Παρακάτω παραθέτουμε 6 εφαρμογές που έχουν υλοποιηθεί με τον Stm32f4G και το Flight board.

Η σχεδίαση των εφαρμογών έγινε από τους φοιτητές Μούλιο Γρηγόρη, Μώκο Σωτήρη και Λιάγκο Παντελή σε συνεργασία τον Δρ. Τοπάλη Ευάγγελο.

  • Χειρισμός κίνησης των LEDs με το κουμπί USER του board.
  • Αλλαγή φορά περιστροφής και ταχύτητας των LED με το κουμπί USER.
  • Αλλαγή φοράς και ταχύτητας περιστροφής των LED μέσω του επιταχυνσιόμετρου.
  • Έλεγχος κίνησης του motor του FLIGHT board μέσω του κουμπιού USER του STM.
  • Έλεγχος κίνησης του dc κινητήρα του FLIGHT board μέσω επιταχυνσιόμετρου.
  • Έλεγχος στροφών του dc κινητήρα του FLIGHT board μέσω PWM και επιταχυνσιόμετρου.

  • Χειρισμός κίνησης των LEDs με το κουμπί USER του board

    Σε αυτή την εφαρμογή στόχος είναι να χειριστούμε τα led που βρίσκονται στην πλακέτα μας με το πάτημα του κουμπιού user. Θέτουμε τα πατήματα του κουμπιού user σε έναν μετρητή ,counter, ο οποίος αυξάνεται κατά ένα κάθε φορά που πατιέται το κουμπί. Τα LEDs θα ανάβουν ανάλογα με την τιμή του μετρητή. Όταν η τιμή του μετρητή θα είναι 2 θα ανάβει το κόκκινο led ενώ όταν είναι τέσσερα θα ανάβει το πράσινο. Σε κάθε άλλη περίπτωση θα παραμένουν σβηστά.

    Τα flowcharts της εφαρμογής.

    Ο κώδικας στην εφαρμογή του keil θα είναι ο εξής.

    /*

    * * Keil project gia LEDS kai koumpi USER

    * * Prin ksekinhsete, epilekste thn katallhlh suskeuh, sta deksia tou "Load"

    * * @ide Keil uVision 5

    * @packs STM32F4xx Keil packs version 2.2.0 or greater required

    * @stdperiph STM32F4xx Standard peripheral drivers version 1.4.0 or greater required

    *//* Eisagwgh kuriwn module */

    #include "stm32f4xx.h"

    /* Eisagwgh bibliothikwn */

    #include "defines.h"

    #include "tm_stm32f4_delay.h"

    #include "tm_stm32f4_disco.h"

     int main(void) { /* Metraei poses fores path8hke to koumpi*/

    int counter=0;  /* Energopoihsh tou Susthmatos */

    SystemInit(); /* Energopoihsh tou Delay */

    TM_DELAY_Init(); /* Energopoihsh twn leds sto board */

    TM_DISCO_LedInit(); /* Energopoihsh tou koumpiou User sto board */

    TM_DISCO_ButtonInit();

    while(1) {

    if (TM_DISCO_ButtonPressed())

    counter++;

    if (counter==2){ /unt* An o coer=2 tote anapse ta leds me auth th diadoxh*/

    TM_DISCO_LedOn(LED_RED); 

    } /* An o counter==4 tote anapse ta diaforetika*/

    else if (counter==4){

    TM_DISCO_LedOn(LED_GREEN);

    }

    /* Alliws krata ta svhsta*/

    else

    TM_DISCO_LedOff(LED_ALL);

    /* vazoume auto to delay gia na uparxei akriveia sto pathma
    tou koumpiou kai na mhn pairnei me kathe pathma terasties
    times */

    Delayms(500);

    }

    }

    Στο βίντεο φαίνεται η λειτουργία της πλακέτας με τον παραπάνω κώδικα.



    Η εικόνα στο πρόγραμμα Labview όπου έχει οπτικοποιηθεί η πλακέτα stm32f4g είναι η εξής.

    Στο πρόγραμμα Labview η εικόνα του block diagramm θα είναι η εξής.

    Υπάρχει και η δυνατότητα λήψης του αρχείου του προγράμματος Labview από τον παρακάτω σύνδεσμο.

    Labview File