Teenie-Entwicklung

Hat jemand den Teensy benutzt ? - Ich benötige sowohl eine serielle Schnittstelle als auch eine USB-Verbindung und das sieht gut aus. Alle Meinungen willkommen. Ist die Verwendung mit der Arduino IDE schwierig? Was sind die Nachteile im Vergleich zum Arduino?

Antworten (6)

Ich habe die Teensy-Hardware nicht verwendet. Das heißt, von den Spezifikationen her sieht es aus wie ein schön gestaltetes Stück Hardware. Die Teensy-Entwickler haben ihren eigenen Vergleich mit dem Arduino angestellt , aus dem ich zitiere:

Teensy verwendet einen ähnlichen Atmel AVR-Prozessor wie das Arduino-Board, aber es gibt Unterschiede. Das wichtigste ist das direkte, eingebaute USB auf dem Teensy im Vergleich zu seriell, das von einem separaten Chip auf dem Arduino in USB konvertiert wird. Teensy-Kommunikation VIEL schneller als Arduino. Ab Teensyduino 0.6 kann Teensy als USB-Tastatur und -Maus kommunizieren, was mit einem Arduino-Board mit festem USB-zu-Seriell-Wandlerchip unmöglich ist.

Teensy ist für die einfache Verwendung auf Steckbrettern in der kleinstmöglichen Größe konzipiert, die mit dem von Arduino-Shields verwendeten Formfaktor nicht kompatibel ist.

Obwohl viele Arten von Skizzen ausgeführt werden können, ist Teensy aufgrund der erheblichen technischen Unterschiede KEIN "Arduino-Klon". Die Teensy-Hardware und das Teensyduino-Software-Add-On werden vom Arduino-Entwicklerteam NICHT unterstützt oder unterstützt.

Hier sind einige weitere Vorteile, die der Arduino gegenüber dem Teensy hat:

  • Standalone-Betrieb : Der Teensy kann nur über den USB-Anschluss mit Strom versorgt werden. Daher muss alles, was Sie um ihn herum bauen, an einen USB-Anschluss (und höchstwahrscheinlich an einen Computer) angeschlossen werden. Wenn Sie mehr Leistung wollen / brauchen, müssen Sie Ihre eigenen Stromkreise entwerfen und bauen. Arduinos bieten viele Energieoptionen (USB, Batterie, Steckdose usw.) an Bord.
  • Einfachere Entwicklungstools : Sowohl Teensy als auch Arduino sind standardmäßig von GCC und AVR-Libc abhängig . Arduino fügt dann die Arduino IDE, Skizzen und andere Bibliotheken hinzu, die den Einstieg schneller und einfacher machen. (Sie können diese Tools verwenden, um mit Teensy zu entwickeln, aber sie werden nicht unterstützt und haben Einschränkungen).
  • Standardisierter physischer Formfaktor : Der konsistente Arduino-Formfaktor ermöglicht es den Benutzern, Prozessor- und Erweiterungsplatinen (Schilde) zu entwickeln, die gemeinsam genutzt und wiederverwendet werden können. Sie können Listen dieser Boards hier , hier und hier sehen . Diese Listen sind notwendigerweise unvollständig, da es Entwickler gibt, die kontinuierlich neue Boards entwickeln. Sogar der Arduino Mega kann Schilde verwenden, die für die frühesten Arduinos entwickelt wurden. Verschiedene Versionen von Teensy verwenden unterschiedliche physische Formen und Pinbelegungen .
  • Offenes Entwicklungsmodell : Die gesamte Arduino-Hardware, -Firmware und -Software ist mit offenen Lizenzen erhältlich, die es Ihnen ermöglichen, Ihre Änderungen ohne Angst vor rechtlichen Repressalien zu modifizieren, zu verbessern und zu verteilen. Teensy bietet nicht den gleichen Schutz.
  • Community : Es gibt VIELE Arduino-Entwickler, zusammen mit Websites, Tutorials, Büchern, Kits usw.

Auf der anderen Seite sollten Sie sich von all dem nicht davon abhalten lassen, den Teensy zu verwenden, wenn er Ihren Anforderungen entspricht – die Teensy-Plattform sieht für viele Anwendungen gut aus, bei denen der Arduino zu groß oder sperrig wäre.

Welche Einschränkungen erwähnen Sie bei der Verwendung von Arduino ide für die Entwicklung mit Teensy?
Betreff: Stromversorgung - Heutzutage können Sie ein USB-Netzteil für 1 US-Dollar erhalten. Fügen Sie eine USB-Verlängerung für weitere 1 $ hinzu und Sie sind fertig. Es gibt keine wirklichen Einschränkungen mit Arduino IDE für Teensy, die ich gefunden habe. Tatsächlich hat es MEHR Funktionen als das "offizielle" Arduino-Board (dank der neuen USB-Funktionen). Die Addon-Boards (Shields) können weiterhin mit dem Teensy verwendet werden, Sie müssen nur die Verbindungen manuell herstellen, anstatt sie einfach zusammenzustecken.
@davr, Sie vermissen meine Punkte: (1) Wenn Sie mehr Strom als 500 mA benötigen, benötigen Sie mehr als einen USB-Stromanschluss. (2) Wenn Sie eine Verbindung zu einem Arduino-Schild herstellen möchten, können Sie die Verbindungen fest verdrahten, während sie bei regulären Formfaktor-Arduinos einfach zusammenschnappen. Dies sind möglicherweise keine Einschränkungen für Sie, aber möglicherweise für einen anderen Entwickler, worauf ich nur hingewiesen habe.
Dies sollte wirklich nicht als Antwort markiert werden. Ich werde nicht wiederholen, worauf Paul unten hinweist.

Paul hier, Teensy-Entwickler. Offensichtlich ist meine Meinung darüber, ob Sie einen Teensy verwenden sollten, voreingenommen, aber in Bezug auf die technische Genauigkeit kenne ich die Details!

Erstens funktioniert Teensy definitiv mit der Arduino IDE, wenn Sie das Add-On-Paket Teensyduino installieren. Es gibt ein sehr einfach zu bedienendes automatisches Installationsprogramm. Dann können Sie einfach Teensy aus dem Menü Tools->Boards auswählen.

Wenn Sie ein serielles Gerät wie ein GPS mit NEMA 0183-Ausgang, eine SPS mit Modbus oder eine beliebige Anzahl anderer serieller Geräte anschließen möchten, ist Teensy auf jeden Fall viel einfacher als Arduino mit dem 168er- oder 328er-Chip.

Arduino verwendet die serielle Schnittstelle zum Herunterladen von Code. Sie müssen die RXD- und TXD-Pins mit dem FTDI-USB-Seriell-Konverter-Chip auf dem Arduino verbinden, zumindest während Sie neuen Code laden. Ihr erstes Problem ist also, wie Ihr Gerät den RXD-Pin ansteuert und nicht kollidiert. Sie können den Arduino beispielsweise mit einem DPDT-Kippschalter modifizieren, sodass Sie die RXD/TXD-Signale zwischen dem USB-Seriell-Konverter und Ihrem Gerät umschalten können. Dann müssen Sie jedes Mal den Schalter umlegen, es sei denn, Sie haben etwas Automatisierteres vor. Es gibt andere Ansätze, aber im Grunde verwendet der Arudino die serielle Schnittstelle. Wenn Sie sie also auch verwenden möchten, müssen Sie sich etwas Mühe geben, um sie irgendwie zu teilen.

Bei Teensy gibt es einen direkten USB-Anschluss, der für die gesamte Entwicklung verwendet wird. Sie können sich direkt mit dem seriellen RXD/TXD des Teensy verbinden, da es für nichts anderes verwendet wird. Sie verwenden die serielle Schnittstelle in den gleichen Funktionen (Beginn, Verfügbar, Lesen, Schreiben), aber Sie müssen eine Zeile hinzufügen, um den gewünschten Namen zu definieren. Diese Seite hat die Details:

http://www.pjrc.com/teensy/td_uart.html

Während Ihr Programm läuft, können Sie Serial.print() verwenden, das über den USB auf den Arduino Serial Monitor druckt. Es funktioniert genauso wie Serial.print (), außer dass es bei voller USB-Geschwindigkeit viel schneller ist als Arduinos serielle Schnittstelle, die maximal 115,2 kbps hat. Der USB ist auch doppelt gepuffert, so dass ein typischer Aufruf von Serial.print() die Kontrolle sehr schnell an Ihr Programm zurückgibt, während Arduino wartet (die serielle Schnittstelle puffert 2 Bytes).

Der Teensy hat echten USB, der theoretisch fast jeden Gerätetyp implementieren kann. In der Praxis sind Sie mit Teensyduino auf die Typen beschränkt, die im Menü Tools->Boards zur Verfügung stehen. Derzeit haben Sie die Wahl zwischen USB Serial (was fast genau wie Arduino ist, aber viel schneller) oder USB Keyboard/Maus. Beide unterstützen Serial.print() für den Serial Monitor. Mit Tastatur/Maus wird der Teensy zu einer Tastatur und Maus, während Ihr Programm ausgeführt wird. Sie können mit Keyboard.print() tippen (Achtung: Speichern Sie Ihre Arbeit zuerst!) und Funktionen wie Mouse.move(x, y) verwenden. Weitere Gerätetypen sind geplant.

Eine Art, wie sich der Teensy von Arudino unterscheidet, ist, dass sich USB jedes Mal ändert, wenn Sie neuen Code laden und neu starten (Arduino erscheint immer als USB-serielle Chip). Teensyduino bemüht sich sehr, Ihnen ein Erlebnis zu bieten, das einem echten Arduino sehr nahe kommt. Es gibt jedoch kein physisches Reset-Signal (Arduino verwendet das DTR-Signal von seinem seriellen USB-Chip). Das automatische Zurücksetzen wird in der Software emuliert, sodass Sie in den meisten Fällen einfach auf die Schaltfläche zum Hochladen klicken können. Wenn jedoch kein zuvor geladener Code ausgeführt wird oder es mit deaktivierten Interrupts abgestürzt ist, müssen Sie die Reset-Taste auf dem Teensy physisch drücken (ähnlich wie bei den älteren Arduinos, bevor Auto-Reset hinzugefügt wurde). Eine Meldung teilt Ihnen mit, ob Sie die Taste drücken müssen.

Wenn Sie vorhaben, vorhandenen Arduino-Code wiederzuverwenden, funktioniert er in den meisten Fällen hervorragend auf dem Teensy. Besonders wenn dieser Code die Arduino-Funktionen (Verkabelung) wie pinMode, digitalWrite usw. verwendet, wird er mit ziemlicher Sicherheit funktionieren. Der Teensy hat einen sehr ähnlichen Satz von AVR-Timern und Peripheriegeräten, sodass der meiste Code, der direkt auf die Hardware zugreift, mit wenig oder gar keinen Änderungen funktioniert. Einige Arduino-Programme (und sogar einige schlecht gestaltete Bibliotheken) setzen jedoch Annahmen fest, z. B. die RXD- und TXD-Pins, die den Arduino-Pins 0 und 1 entsprechen. Wenn Sie vorhaben, Code wiederzuverwenden oder bestimmte Bibliotheken zu verwenden, ist dies der Fall eine Überprüfung wert.

Teensy funktioniert nicht wirklich unter 2,5 Volt, und der USB kann nicht mit weniger als 3 Volt arbeiten. Es kann extern mit Strom versorgt werden, indem einfach Strom an die Pins angelegt wird, aber diese Leistung muss reguliert werden.

Ich habe mich bemüht, dies nicht zu einem Verkaufsargument zu machen. Ich hoffe, Sie berücksichtigen die technischen Details und treffen die Wahl, die für Ihr Projekt am besten geeignet ist.

Wow, ich denke, das qualifiziert sich als umfassend.
Hallo Paul, ich habe bestellt und verschickt, jetzt warte... (tippt mit den Füßen). John.

Wissen Sie, ob es möglich ist, diese so zu manipulieren, dass sie bei niedrigeren Spannungen arbeiten? 2,8, 1,8?

Aktualisieren:

Wie in diesem Thread vorgeschlagen, funktioniert der USB-Teil des Geräts nicht unter 3 V. Ich habe mit Paul gesprochen, nachdem ich ein paar davon bestellt hatte. Der Standard-Teensy hat eine Stelle auf der Unterseite, um einen 3,3-V-Regler hinzuzufügen. Auf dem Teensy ++ (viel mehr I / O-Pins) schlägt Paul vor, dass ich entweder den + und - Leitungen vom USB folge, um einen Spannungsregler zu installieren, oder ich kann versuchen, ein USB-Kabel zu spleißen und eine Spannungsregelung hinzuzufügen. Um die Dinge in Zukunft zu vereinfachen, werden sie eine Version von Teensy ++ veröffentlichen, die Platz für die Installation eines 3,3-V-Reglers bietet. Mein Aktionsplan (für die nächsten ein oder zwei Tage) besteht darin, zu versuchen, ein Kabel zu spleißen. Ich werde das Gerät mit einem normalen 5V-Kabel programmieren und es dann mit einem 3,3V-Kabel für den Betrieb mit Strom versorgen. Für andere ist mein Vorschlag, dass, wenn Sie 3,3 V benötigen und KEINE 38 I / O-Pins benötigen, den Standard-Teensy besorgen.

Änderung:

Dieses Bild zeigt, wie man die Teensy++ Version 1.0 Platine manuell modifiziert, um einen Spannungsregler und Jumper zu installieren, damit sie zwischen 5 V und 3,3 V umgeschaltet werden kann. teensypp 3.3v modifikation( in voller Größe oder siehe flickr für eingebettete Notizen )

Pauls Antwort unten deutet darauf hin, dass dies nicht der Fall ist.

Sie sehen toll aus. Ich habe ein paar in der Post, also kann ich nicht aus erster Hand sprechen, aber ich sehe hauptsächlich Vorteile im Vergleich zum Arduino. Sie haben echten USB, sodass Sie keine Treiber installieren müssen, um das Gerät mit einem Computer zu verwenden, auf dem Sie nicht entwickelt haben. Sie haben mehr IO und Speicher und sind schön klein. Sie können auch den 3,3-V- oder 5-V-Betrieb auswählen.

Ich kann mir vorstellen, dass ein speziell für 168 oder 328 geschriebener Bibliothekscode möglicherweise nicht sofort einsatzbereit ist, aber das sollte leicht behoben werden können. Wenn es eine bestimmte Bibliothek gibt, die Sie für Ihr Projekt verwenden möchten, lassen Sie es mich wissen und ich kann sie testen, sobald meine Boards eintreffen.

Ich habe vor etwa einer Woche eine bekommen, sie funktioniert bisher ganz gut für mich. Ich habe nicht viel gemacht, außer mit seriellen Ports zu spielen und ein paar LEDs blinken zu lassen, aber ich habe Pläne dafür. Im Grunde habe ich es gekauft, weil ich nicht alles brauchte, was das Arduino-Board hat, der Teensy-Chip hat tatsächlich mehr RAM und Flash als der Arduino-Chip, und er ist ein paar Dollar billiger. Auch die Tatsache, dass es natives USB hat, anstatt einen externen FT-Chip für USB zu verwenden, ist nett.

Ich habe im Januar 2020 einen Teensy 4.0 gekauft, während ich in den Staaten war, nachdem ich alle Details überprüft und mit Arduino verglichen hatte. Nachdem ich aus den Staaten nach Asien gezogen bin, zeigt die pjrc-Website immer an, dass meine IP blockiert ist und ich nie auf ihr Forum zugreifen oder Diskussionen lesen konnte. Dies hat mich im Wesentlichen verlassen, um alles selbst zu beheben. Es ist sicherlich eine wichtige Einschränkung, die zu berücksichtigen ist, wenn jemand (insbesondere Anfänger) außerhalb der USA oder der EU Teensy in die Finger bekommen möchte. Allerdings habe ich festgestellt, dass die Grafikanwendungen sehr schnell sind, mit einem winzigen Unterschied zu Arduino.