Jump to content
elektro-skateboard.de
  • Teensy programmieren


    barney

    Aufgabenstellung:

    Für die Teensy Projekte kommt immer wieder die Frage auf, wie bekomme ich diesen seltsamen Quellcode in den Teensy hinein. Diese Kurzanleitung soll dabei helfen.

    Was wird benötigt:

    Entwicklungsumgebung (Software):

    Achtung: die Installation mit Adminrechte durchführen!

    Arduino-IDE
    Arduino IDE 1.8.4: Achtung, nur die derzeit zulässige Version 1.8.4 für Teensudino verwenden: http://arduino.cc/en/main/software
     
    Teensy Studio
    Teensyduino 1.39 oder höher:http://www.pjrc.com/teensy/td_download.html (Bei der Installation alle Librarys auswählen!)
    Achtung PC-Nutzer: Admin Rechte für die USB-Treiber werden bei der Installation von Teensyduino benötigt.
     
    Achtung MAC-Nutzer:
    Wird der Teensy 3.1 als USB-Device erkannt?
    Es gibt beim MAC im Arduino keine Serielle Schnittstelle zum Auswählen des Teensys, hier muss das Device "usbmodemxxxx" ausgewählt werden. Einfacher Test ist das Kompilen der ADC-Demo Datei mit Ausgabe über Serieller Schnittstelle. Wenn das richtige "usbmodemxxxx" ausgewählt wurde kann man unter TOOLS -> Monitor die Ausgabe der Messwerte sehen.
     
    Achtung
    Seit der Version 1.21 werden mehr Hinweise beim Kompilieren angezeigt. Ungenutzte Variablen fallen jetzt auf. Einfach ignorieren!
     
    Beispiel:
    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\OneWire\OneWire.cpp: In member function 'void OneWire::write_bit(uint8_t)':
    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\OneWire\OneWire.cpp:178:14: warning: unused variable 'mask' [-Wunused-variable]
    IO_REG_TYPE mask=bitmask;
    
    
    
    
    Seit der Version 1.22 werden die Libs <ADC> und  <i2c_t3> mitgeliefert und werden deswegen nicht mehr extra benötigt. Diejenigen, die diese Lib im eigenen libraries-Verzeichnis stehen haben, bitte diese löschen.
     
    Es wird ein Verzeichnis
    c:\Users\EUER_BENUTZERNAME\Documents\Arduino\
    angelegt. Die ZIP-Datei mit dem Projekt und der Library muss wie folgt eingefügt werden (z.B.):

    c:\Users\Laptop-02\Documents\Arduino\Elektroskate_Teensy31_v41p7_ADC_LIB_SwitchDriveMode_Leiterplatt

    arduino-doc-pfad_0.jpg

    c:\Users\Laptop-02\Documents\Arduino\libraries\

    arduino-lib-pfad.jpg

    Hier sind recht viele Librarys zu sehen, dass liegt bei mir an den verschiedenen Projekten! In eurer Version sollte nur noch die NunchukTeensy Library exisitieren.

    Jetzt erst die Arduino-IDE starten (liegt auf dem Destktop als Icon vor):

    arduino-exe.jpg

    Dann unter:
    Datei -> Sketchbook ->  Elektroskate_Teensy31_v41p7_ADC_LIB_SwitchDriveMode_Leiterplatt
    auswählen.

    arduino-datei-select.jpg

    Einstellungen in der Arduino-IDE

    1. Unter TOOLS -> Board den Teensy 3.1 auswählen
    2. Unter TOOLS -> USB-Type Serial auswählen
    3. Unter TOOLS -> CPU-Speed 96MHz auswählen
    4. Unter TOOLS -> Layout German auswählen

    Wenn alles eingestellt wurde, kann der erste kompillier Versuch gestartet werden: kompile.jpg

    Nach wenigen Sekunden sollte folgendes stehen:

    kompile_erfolgreich.jpg

    (Die Speichergröße wird bei euch nicht mehr so stimmen!)

    An dieser Stelle sollte keine Fehlermeldung, höchstens nur Warnungen, stehen!

    Jetzt den Teensy 3.1 per USB-Kabel anschließen und unter

    TOOLS -> Serial-Port

    die Schnittstelle auswählen, wo der Teensy zu erreichen ist. Machmal muss die Entwicklungsumgebung dafür neu gestartet werden!

    Um das Programm in den Teensy zu übertragen kompileupload.jpg drücken.

    Der Quelltext wird übersetzt und dann in den Teensy per Uploader

    teensy-uploader.jpg

    automatisch in den Teensy übertragen.

    Das sollte es sein.

     

    Für das Debugging (Kontrolle ob der Teensy das Programm tatsächlich angenommen hat und ausführt) kann nach Übertragung des Programms in der Arduino > v1.8.4 IDE unter:

    TOOLS -> Serial Monitor

    gestartet werden. Jetzt sollten aktuelle Werte im Sekundentakt neu ausgegeben werden.

     

    Debugging:

    In

    elektroskate_cutom_settings.h

    // Welche Schnittstellen sollen verwendet werden
    // Serial  -> USB-Anschluss Teensy 3.1
    // Serial1 -> Bluetooth Schnittstelle, auf die Baudrate in Elektroskate_Custom_Parameters achten!
    #define Serial_BT Serial1       // Sollen die Werte fuer die BT-Schnittstelle auf USB oder Serial fuer das Debugging ausgegeben werden?
    #define Serial_DB Serial        // Ausgabe der Debug Werte auf USB oder Serial ausgegeben werden?
    
    
    
    

    Kann die Ausgabe der Messwerte (Temperatur, Strom, Spannung, Leistung, Akkumulierte Leistung) auf die USB-Schnittstelle umgeleitet werden.

    TOOLS -> Serial Monitor

    Zeigt dann die Werte an.

    Wer noch mehr möchte, kann in der o.g. Datei folgendes einstellen

    // Debugflag
    #define DEBUG              FALSE // Aktivieren der Debugausgabe (TRUE,FALSE)
    #define DEBUG_Funktion     FALSE // Aktivieren der Debugausgabe Welche Funktionen werden aufgerufen (TRUE,FALSE)
    #define DEBUG_ISR          FALSE // Aktivieren der Debugausgabe Aufruf der ISR Interrupt Service Routinen (TRUE,FALSE)
    #define DEBUG_Nunchuk      FALSE // Aktivieren der Debugausgabe Nunchuk Werte x,y-Achse, Beschleunigung, c,z-Button(TRUE,FALSE)
    #define DEBUG_Messung      FALSE // Aktivieren der Debugausgabe interne Messwerte und Berechnungen (TRUE,FALSE)
    #define DEBUG_Motorsteller FALSE // Aktivieren der Debugausgabe interne Werte Motorsteller (TRUE,FALSE)
    #define DEBUG_DriveMode    FALSE // Aktivieren der Debugausgabe interne Werte Motorsteller (TRUE,FALSE)
    
    
    

    Wird ein Flag auf TRUE umgestellt, wird über die Debug-Schnitstelle (hier USB) weitere Informationen ausgegeben.

    Achtung: #define heißt nicht, das define auskommentiert ist!

    Wenn man z.B.: wissen möchte, ob der Nunchuk richtig ausgelesen wird, sollte folgendes eingestellt werden:

    #define DEBUG_Nunchuk      TRUE
    #define Serial_BT Serial1
    
    

    Die TRUE Einstellung aktiviert die Ausgabe der Nunchuk Werte. Damit die Messdaten der Sensoren nicht dazwischenschlagen, wird die Ausgabe der Sensordaten auf die BT-Schnittstelle (Bluetooth) umgeleitet. Man kann bei einem Angeschlossenen BT-Modul auch die Debugausgabe auf das BT-Modul umleiten.

    #define Serial_DB Serial1

    Software
    https://github.com/esk8b/bambam-controller/tree/master/Software
     

    Änderungshistorie
    letzte Änderung: durch: Verlauf: Version:
    01.11.2014 Barney Ersterstellung V00
    15.02.2015 Barney Anpassungen, Debug V01
    19.04.2015 Barney Teensyduino 1.22, Arduino 1.63 V02
    11.10.2015 Barney Teensyduino 1.25, Arduino 1.65 V03
    24.01.2015 Barney Git-Verweis V04
    09.09.2017 Barney Teensyduino 1.39, Arduino 1.8.4, Git-Upload wegen ADC.h V05

     



×
×
  • Neu erstellen...