Table of Contents

Teensy 3.2

Einführung

Teensy 3.2 ist ein Arduino IDE kompatibles Entwicklungsboard von PJRC. Das Teensy 3.2 Board ist eine Weiterentwicklung des Teensy 3.1, neu ist ein zusätzlicher Spannungsregler verbaut und der Typ des Bootloader IC wurde geändert.

Bildquelle: Teensy 3.2 by SparkFun Electronics is licensed under CC BY 2.0

Ein Kopf hinter PJRC ist Paul Stoffregen, er ist massgeblich für die Hardware und Software Entwicklung des Teensy 3.2 verantwortlich. Paul ist nicht Teil des Arduino Teams, besitzt aber dennoch einen Entwickler Zugang zur Arduino Repository und hat schon verschiedene Verbesserungen beigetragen. Entsprechend gut kennt er sich mit den Internas der Arduino Software aus.

Hardware

Das Teensy 3.2 Board basiert auf dem Cortex M4 Prozessor MK20DX256VLH7 von NXP (Datenblatt). Folgende Funktionen bietet der Mikroprozessor auf dem Teensy 3.2 Board:

Zusätzlich ist noch ein MKL02 von NXP verbaut, das ist ein Mi­k­ro­con­t­rol­ler mit einem ARM Cortex M0+ Kern. (Datenblatt) In diesem ist der Bootloader gespeichert. Der MKL02 kann nicht über die Arduino IDE gesteuert oder programmiert werden.

Schema

direkter Link zum Schema auf der Teensy 3.2 Projektseite

Pinbelegung

direkter Link zur Pinbelegung auf der Teensy 3.2 Projektseite

5V tolerante Eingänge

Alle digitale Pins des Teensy 3.2 Boards sind 5V tolerant. Das heisst, auch wenn die Speisung nur 3.3V beträgt, dürfen Signale mit bis zu 5V an den entsprechenden Pins angeschlossen werden. Als nicht digitale Pin gelten die folgenden Pins und dürfen daher mit maximal 3.3V verbunden werden: Program, Reset, VBat, A10, A11, A12, A13, A14 und AREF. (An 3.3V, GND und AGND dürfen auch keine 5V Signale angeschlossen werden). Alle anderen Pins sind 5V tolerant.

Unterschied Reset und Program

Das Teensy 3.2 Board besitzt einen Reset und einen Program Eingang. Durch das Verbinden des Reset Eingangs mit 0V, wird ein Reset durchgeführt. Wird an den Program Eingang 0V angelegt, wird das Teensy 3.2 Board in den Programmier-Modus versetzt. Der kleine Taster auf dem Board ist mit dem Program Eingang verbunden.

Echtzeituhr (RTC) aktivieren

Um die integrierte RTC verwenden zu können, muss ein zusätzlicher Quartz eingelötet werden.

Die Spezifikation:

Passend ist zum Beispiel der CFS206-32.768KDZF-UB von Citizen. Bezugsquelle: Mouser Digikey

Auf der unteren Seite des Teensy 3.2 Boards kann der Quarz eingelötet werden. Die Position ist markiert.

Eine Beispielanwendung ist unter Beispiele/Time/TimeTeensy3 in der Arduino IDE abrufbar. Zusätzlich existiert noch der Befehl

Teensy3Clock.compensate(num);

Mit der Funktion compensate(num) kann die RTC kalibriert werden, falls sie zu schnell oder langsam läuft. Mit einer positiven Zahl wird die Uhr beschleunigt, mit einer negativen Zahl verlangsamt. Der Wert ist in ppm / 8 (parts per million). Mit compensate(-40) wird die Geschwindigkeit der Uhr um 5ppm verlangsamt.

Damit die RTC bei einem Speisungsunterbruch die aktuelle Zeit nicht vergisst, kann eine zusätzliche Backup Batterie angeschlossen werden. Dazu kann eine 3V Knopfzelle verwendet werden, angeschlossen an den VBat Eingang, verhindert sie das stehen bleiben der internen Uhr.

Eagle PCB Library

Eine Eagle Library mit verschiedenen Teensy 3.2 Footprints kann hier (bitbucket.org) heruntergeladen werden.

Software

Das Teensy 3.2 Board kann mit Hilfe der Teensyduino Erweiterung in der normalen Arduino IDE programmiert werden. Dazu muss zuerst die Arduino IDE von Arduino.cc heruntergeladen und installiert werden. Danach wird die Teensyduino Erweiterung heruntergeladen und installiert. In der Arduino IDE kann unter Tools/Board Teensy 3.2 / 3.1 ausgewählt werden. Wird nun Programmcode auf das Teensy 3.2 Board übertragen, öffnet sich automatisch der Teensyduino Loader und erklärt den nächsten Schritt.

Bibliotheken

Die Teensyduino Erweiterung bringt viele zusätzliche Bibliotheken mit, die während der Installation mitinstalliert werden könne. Ob eine Bibliothek mit dem Teensy 3.2 Board kompatibel ist, kann auf dieser Seite nachgeschaut werden.

Ressourcen