Wie schließe ich meinen Drucker an die seriellen GPIO-Pins an?

15

Ich habe einen Mini-Thermodrucker von Adafruit gekauft. In der Dokumentation heißt es:

Dieser Drucker eignet sich ideal für die Verbindung mit einem Mikrocontroller. Sie benötigen lediglich einen seriellen 3,3-V- bis 5-V-TTL-Ausgang von Ihrem Mikrocontroller

Da die seriellen Pins am GPIO-Ausgang bei 3.3VI davon ausgegangen sind, dass ich den Drucker nur direkt an die Pins anschließen könnte und es nur ohne Schutzschaltung funktionieren würde. Ist das eine naive Annahme? Was muss ich noch tun, um den Drucker zu verwenden?

Jivings
quelle
1
Wahrscheinlich sehr wenig außer Software. Wenn der Drucker Antwortdaten ausgibt, benötigen Sie möglicherweise einen Spannungsbegrenzer. Vielleicht möchten Sie in den Adafruit-Foren nachfragen, da dort sowohl der Drucker als auch die Pi verkauft werden.
Chris Stratton
Soweit ich das beurteilen kann, gibt es keine Antwortdaten.
Jivings
1
@ AlexChamberlain in einem Wort, nein. Das ist überhaupt nichts, worüber sich die Leute bei der Logikübersetzung Sorgen machen. Ein Treiber mit höherer Spannung, der einen Empfänger mit niedrigerer Spannung beschädigt, oder ein Treiber mit niedrigerer Spannung, der von einem Empfänger mit höherer Spannung nicht zuverlässig registriert werden kann, ja, aber keine übermäßige Stromaufnahme, wenn ein einfacher Logikeingang von einer anderen Familie angesteuert wird.
Chris Stratton
2
Hast du das gesehen? sparkfun.com/products/8745
Alex L
1
@RongNguyen Sie können damit alles drucken, was Sie möchten. Sie müssen nur die harte Arbeit selbst erledigen. Es gibt ein Tutorial hier .
Jivings

Antworten:

5

Die Spannungspegel sind kein Problem, eine logische LVTTL-1 ist auch eine logische TTL-1. Das einzige Problem kann die (sinkende) Strömung sein, wie Alex Chamberlain bereits angedeutet hat. Dies kann ein Problem sein.

Dieser sinkende Strom hängt von der Eingangsschaltung des Druckers ab, da wir nur raten können, wie er aufgebaut ist.

Legen Sie sicherheitshalber einen CMOS-Puffer dazwischen. Ein 74LCX244 zum Beispiel. Wenn dann etwas zu rauchen anfängt, ist es nicht Ihr Raspberry Pi.

Edit: Ich bemerkte Kritik an den aktuellen Aussagen, um diese Aussage zu untermauern:

Zitat von klabs.org :

  • CMOS-Ausgangsstufen können auch schwierig sein und subtile Geräteeigenschaften können Fehler verursachen. Überprüfen Sie alle Angaben sorgfältig! Beispielsweise werden viele CMOS-Bauelemente beim Ansteuern von Lasten nur mit sehr niedrigen Strompegeln für hohe oder logische "1" -Signale spezifiziert. TTL-Eingänge nehmen jedoch erhebliche Ströme auf und weisen nicht die hohe Impedanz auf, die von CMOS-FET-Eingängen gesehen wird, und der Ausgang kann heruntergezogen werden.

Weitere Informationen zu dieser aktuellen Ausgabe finden Sie hier: 5-V-TTL- und CMOS-Eingangs- und Ausgangsspannungspegel :

  • CMOS -> TTL: Möglicherweise benötigen Sie einen Puffer, um zusätzliche Stromsenken zu verarbeiten, wenn der CMOS-Ausgang niedrig wird

Hoffe das hilft.

Ikku
quelle
1

Ich glaube, "TTL serial" bedeutet asynchrone Serien, die Sie in einem gemeinsamen UART finden würden . Eine natürliche Möglichkeit, diesen Drucker an einen PI anzuschließen, besteht darin, einen UART auf der Platine zu finden (GPIO 14/15?) Oder einen an einen anderen Bus anzuschließen. Es gibt einige gute ( FTDI , CP2102 ) und schlechtere ( Prolific ) Chips für USB und Lasten für I2C und SPI. Wenn das Gerät Handshake erfordert, müssen Sie sich auch darum kümmern. Die Adafruit-Seite scheint keine zu verwenden (Tx / Rx nur, wenn ich es richtig gelesen habe).

Wenn Sie dies über das aktuelle GPIO tun möchten (logischerweise in Ordnung, aber bei anderen Warnungen bezüglich der elektrischen Kompatibilität nachsehen), können Sie nach "software uart" suchen.

XTL
quelle