Bagaimana cara menghubungkan printer saya ke pin GPIO serial?

15

Saya telah membeli Mini Thermal Printer dari Adafruit. Dokumentasi menyatakan:

Printer ini sangat ideal untuk berinteraksi dengan mikrokontroler, Anda hanya perlu output seri 3.3V hingga 5V TTL dari mikrokontroler Anda

Karena pin serial pada keluaran GPIO di 3.3VI mengasumsikan bahwa saya hanya bisa menghubungkan printer langsung ke pin dan itu hanya akan bekerja tanpa rangkaian perlindungan. Apakah itu asumsi yang naif? Apa lagi yang harus saya lakukan untuk menggunakan printer?

Jivings
sumber
1
Mungkin sangat sedikit selain dari perangkat lunak. Jika printer menghasilkan data balasan, Anda mungkin memerlukan pembatas tegangan untuk itu. Anda mungkin ingin bertanya di forum adafruit, karena mereka menjual printer dan pi juga.
Chris Stratton
Sejauh yang saya tahu tidak ada data balasan.
Jivings
1
@AlexChamberlain dalam satu kata, tidak. Itu bukan sesuatu yang orang khawatirkan dalam terjemahan logika sama sekali. Driver tegangan tinggi merusak penerima tegangan rendah, atau driver tegangan lebih rendah gagal didaftarkan oleh penerima tegangan tinggi ya, tetapi tidak menarik arus yang berlebihan saat mengemudi input logika sederhana dari keluarga lain.
Chris Stratton
2
Pernahkah kamu melihat ini? sparkfun.com/products/8745
Alex L
1
@RongNguyen Anda bisa membuatnya mencetak apa pun yang Anda suka, Anda hanya perlu melakukan kerja keras sendiri. Ada tutorial di sini .
Jivings

Jawaban:

5

Level tegangan bukan masalah, logika LVTTL '1' juga akan menjadi logika TTL '1'. Satu-satunya masalah adalah saat ini (tenggelam), seperti yang disarankan oleh Alex Chamberlain. Ini bisa jadi masalah.

Tenggelamnya arus ini tergantung pada sirkuit input printer, karena kita hanya bisa menebak bagaimana itu dibangun, mungkin lebih baik aman daripada menyesal!

Jadi agar aman menempatkan buffer CMOS di antara keduanya. A 74LCX244 misalnya. Jika sesuatu akan mulai berasap, itu bukan Raspberry Pi Anda.

Sunting: Saya melihat kritik tentang pernyataan saat ini, untuk mendukung pernyataan ini:

Kutipan dari klabs.org :

  • Output tahap CMOS bisa juga menjadi rumit dan karakteristik perangkat halus dapat menyebabkan kesalahan. Periksa semua spesifikasi dengan cermat! Sebagai contoh, banyak perangkat CMOS saat mengemudi memuat ditentukan pada level arus yang sangat rendah untuk sinyal '1' yang tinggi atau logika. Namun, input TTL mengambil arus besar dan tidak menghadirkan impedansi tinggi yang terlihat oleh input CMOS FET dan output mungkin terseret ke bawah.

Informasi lebih lanjut tentang masalah saat ini di sini: 5 V TTL dan CMOS Level Input dan Output :

  • CMOS -> TTL: Anda mungkin memerlukan penyangga untuk menangani arus tenggelam tambahan saat output CMOS rendah

Semoga ini membantu.

ikku
sumber
1

Saya percaya "TTL serial" berarti serial async yang akan Anda temukan di UART umum . Cara alami untuk memasang printer ini ke PI adalah dengan menemukan UART di papan (GPIO 14/15?) Atau melampirkan satu ke bus lain. Ada beberapa chip yang baik ( FTDI , CP2102 ) dan lebih buruk ( Prolific ) tersedia untuk USB dan memuat untuk I2C dan SPI. Jika perangkat menuntut jabat tangan, Anda juga harus khawatir tentang hal itu. Halaman Adafruit tampaknya tidak menggunakan (Tx / Rx hanya jika saya membacanya dengan benar).

Jika Anda ingin melakukan ini di atas GPIO yang sebenarnya (baik secara logis, tetapi melihat orang lain untuk peringatan tentang kompatibilitas electical), Anda dapat mencari "perangkat lunak uart".

XTL
sumber