Hallo alle,
ich habe mir einen Thermodrucker gegönnt, weil sowas zum Debuggen
einfach praktisch ist.
https://www.berrybase.de/bauelemente/elektromagnetische-bauelemente/thermodrucker/adafruit-mini-thermobondrucker
Im Standard-Druck funktioniert das perfekt und wenn ich z.B. das
Steuerzeichen (Decimal) 18 84 schicke, dann wird die Testseite
ausgedruckt - passt also.
Der Thermo-Ausdruck ist per default ziemlich blass und kaum lesbar.
Die density (=Druckstärke) ist einstellbar - von 0 bis 4.
Das Steuerzeichen lautet:
(Decimal) 18 35 n
Wie gross ist nun n?
Im Manual (siehe Anlage) steht auf Seite 48:
DC2 # n
Set printing density
ASCII: DC2 # n
Decimal: 18 35 n
Hexadecimal: 12 23 n
D4..D0 of n is used to set the printing density
Density is 50% + 5% * n(D4-D0)
D7..D5 of n is used to set the printing break time
Break time is n(D7-D5)*250us
Welche Zahlen (Decimalzahl) für D0..D4 und D7..D5 muss ich nun schicken?
Bei meinen Versuchen mit n (0 bis 20) blieb der Ausdruck immer gleich
blass.
Ich probierte für n auch 5 und 95, aber ohne Erfolg.
Wie gross ist nun das richtige n?
Beste Grüsse,
Thomas
Woher hast du die Info.
Weil in der Anleitung zu den Teil steht nix drin.
Da steht nur das man die Texte auf BOLD setzen kann.
Was kosten eigentlich die Rollen für das Teil und wie viel Meter hat
eine. ??
Ich habe ein Brother-QL-560 aber für gewisse Sachen wäre ein anderes
Gerät sicher interessanter.
Schlaumaier schrieb:> Weil in der Anleitung zu den Teil steht nix drin.>> Da steht nur das man die Texte auf BOLD setzen kann.
Doch, die Anlage ist 70 Seiten lang (ca 100 Funktioen) und auf Seite 48
steht mein Problem.
Mein Drucker kann maximal 37mm Durchmesser Papier aufnehmen, das sind
ca. 30m Papier.
Thermopapier gibts bei ebay.
Der Drucker stammt von adafruit:
https://www.adafruit.com/product/597
Dort steht mehr drüber.
Ja mag sein aber leider haben sie die nicht verlinkt oder ich bin zu
blind die zu finden.
Thomas R. schrieb:> D4..D0 of n is used to set the printing density> Density is 50% + 5% * n(D4-D0)
Wenn ich das da aber richtig interpretiere bedeutet das folgendes.
Man hat eine MINDEST-Dichte von 50 %.
Setzt man nur D0 bis D4 mit Werten (bzw. liest die aus) ergibt das
folgende Logik.
Dichte = 50 % + 5% * (D4=max - D0= min)
Da wir Punkt-vor-Strich gelernt haben ergibt das folgendes Ergebnis.
50 % + (5 x (d4-d0))
Einfach erklärt du must wissen was D4 + D0 für Werte haben und diese
dann via Formel einsetzen.
Es ist immerhin Thermo-Druck. Was bedeutet du brauchst eine Grundhitze
(50%) und eine Max-Hitze = D4 (-50% physikalisch gesehen)
Noch einfach gesagt. Finder Heraus welchen Wert D0 + D4 hat.
Mit D7..D0 sind bestimmt die Bits eines Byte gemeint, nicht konkrete
Werte (in hexadezimal).
Die unteren 5 Bits:
> D4..D0 of n is used to set the printing density> Density is 50% + 5% * n
Die oberen 3 Bits:
> D7..D5 of n is used to set the printing break time> Break time is n*250us
Stefan ⛄ F. schrieb:>> D4..D0 of n is used to set the printing density>> Density is 50% + 5% * n
Wäre auch möglich. Das wären dann ein Max.Wert von 90%. Was Sinn macht.
= 50 % + (5 x "4 Bits auf High" = 8) Binär.
= 50 + 40 = 90
Weshalb ich ja die Anleitung selber lesen wollte. ;)
Schlaumaier schrieb:> = 50 % + (5 x "4 Bits auf High" = 8) Binär.
4 Bits auf High haben den Wert 0x1111 = 15 in Dezimal, nicht 8.
Es sind aber 5 Bits, entsprechend 0 - 31 in Dezimal.
Stefan ⛄ F. schrieb:> Es sind aber 5 Bits, entsprechend 0 - 31 in Dezimal.
jo. hast völlig recht. Ist nicht mein Tag heute.
Aber ne komische Prozentrechnung haben die schon. Den mit 5 Bits kommen
die lt. Formel über 100 %. Oder ich habe ein gewaltigen Denkfehler.
Wie schon gesagt. Nicht mein Tag. Mein eigenes Prg. komme ich auch nit
weiter. ;((
Schlaumaier schrieb:> Den mit 5 Bits kommen die lt. Formel über 100 %.
100% ist vielleicht der normale Wert, und man kann darüber hinaus gehen.
Oder die Wert >100 werden als "ungültig" ignoriert. Das müsste man ja
ausprobieren können wenn das Ding überhaupt mal reagieren würde.
Stefan ⛄ F. schrieb:> Das müsste man ja> ausprobieren können wenn das Ding überhaupt mal reagieren würde.
Setzten allein macht nicht glücklich. ;) Man muss sie ihm auch
mitteilen.
Ich denke mal dazu steht in der Anleitung so was wie ein Functionsaufruf
bzw. eine Speicherstelle die man mit den neuen Werten beglücken muss.
Ich benutze bei meinen Brother-QL-560 auch ein SDK damit das Teil macht
was ich will ;)
Falls die Anleitung (mit den Infos) im Netz steht kann der TO ja mal ein
Link posten. Dann können wir das Problem besser eingrenzen.
WIRO schrieb:> Probier mal:> Das müsste 205% ergeben:> Decimal: 18 35 31> Hexadecimal: 12 23 1F>> Das müsste 100% ergeben:> Decimal: 18 35 10> Hexadecimal: 12 23 A
Wenn ich Decimal 18 84 schicke kommt der Testdruck, das passt also.
Dann schickte ich Decimal 18 35 10 und dann hat sich der Drucker
bewegte - also LF!
Für mich sieht das nach einem Bug in der Firmware aus, oder?
Schlaumaier schrieb:> Falls die Anleitung (mit den Infos) im Netz steht kann der TO ja mal ein> Link posten. Dann können wir das Problem besser eingrenzen.
Ganz oben in diesem Thread ist das ganze Manual als komplettes PDF, 70
Seiten.
Mehr gibt es nicht.
Vielleicht verweigert er, wenn printing break time=0 ist.
Dann könnte man probieren:
printing break time=1 ms = 4 * 250 µs
mit density 100%
ergibt binär: 100 01010
entspricht insgesamt dezimal:
18 35 138
WIRO schrieb:> Vielleicht muss die Heating Time ESC 7 n1 n2 n3 noch erhöht> werde?:> "If heating time is too short, blank page may occur."
Ich probierte:
decimal 27 55 0 0 0
dann ASCII 123456789
decimal 27 55 255 255 255
dann ASCII 123456789
All das änderte nichts an der Schwärzung.
Der Herstelle schreibt:
// Datasheet recommends a 50 mS delay before issuing further commands,
// but in practice this alone isn't sufficient (e.g. text size/style
// commands may still be misinterpreted on wake). A slightly longer
// delay, interspersed with NUL chars (no-ops) seems to help.
Das sagt viel aus, oder ist das chinesische Ingenieurkunst!
Ich werde erst morgen weitere Versuche machen.
Bis dann,Thomas
Mal ein anderer Ansatz, ohne dass ich das Manual gelesen habe:
Ich nehme an, das Teil benötigt eine externe Versorgung.
Die Thermo-Dots benötigen (mSec) reichlich Strom, der sich durch die
Dot-Anzahl impulsweise rasch auf ganze Amperes summieren kann.
Ist sichergestellt, dass die Versorgung das nicht nur kann, sondern auch
ein loEsr Elko unmittelbar am Drucker auf der Versorgung liegt?
Ich habe schon komplette Boards und Firmware für "nackte"
Thermo-Druckmodule entwickelt daher kenne ich das o.g. Problem.
Hermann Kokoschka schrieb:> Ich nehme an, das Teil benötigt eine externe Versorgung.
Zitat der Quelle :
. Außerdem benötigen Sie eine geregelte 5 bis 9 VDC-Stromversorgung, die
während des Hochstromdrucks 1,5 A oder mehr liefern kann.
Also ein Brauchbares Handy-Netzteil wäre nicht schlecht. ;)
Nachtrag:
Die alternative für den To wäre sich die Beispiel-Codes man zu
installieren und diese zu nutzen. Libs für Arduino + Python habe ich
z.b. gesehen.
Aber für ich ist das Ding als Alternative für mein Brother gestorben.
Juckte mich eh nur falls es billige Rollen gegeben hätte als Alternative
gegen "teure Rollen wechseln". ;)
Zur Stromversorgung:
Das Ding ist für 5...9V spezifiziert.
Mit 5V ist der Druck völlig unlesbar.
Jetzt versorge ich mit einem DC/DC Wandler 12V/9V 3A.
Dazu habe ich noch 2*18650 LiIon-Zellen parallel geschaltet.
Es ändert sich nichts, bleibt also dabei:
Die Firmware ist faul und es sind wohl "Denkpausen" nach jedem Zeichen
nötig - siehe oben (27.12.2021 20:18).
An meiner SW kann es nicht sein, da ich diese Experimente nur mit einem
Terminal machte.
https://sourceforge.net/projects/realterm/
Nach jedem Steuerzeichen nachte ich einen Selftest.
Der zeigt immer: "Print Density: normal"
Thomas R. schrieb:> Die Firmware ist faul und es sind wohl "Denkpausen" nach jedem Zeichen> nötig
Es gibt ja eine Firmware auf der Seite von Adafruits. Hast du die mal
probiert. ???
Thomas R. schrieb:> Wo (Link) finde ich diese Firmware?> Und wie kriege ich die rein?
Wenn du deinen eigenen Link aufmachst dann steht da. "Natürlich würden
wir Sie nicht mit einem Datenblatt und einem "Viel Glück!" zurücklassen.
- *Wir haben ein komplettes Tutorial und eine passende CircuitPython und
Arduino*
Bibliothek, die folgendes demonstriert: "
Das ist ein Link.
Links dann auf DOWNLOADS. Alles weitere muss dir die HP sagen.
Zitat der Seite :
Firmware Changer
If you'd like to risk it, you can revert/change the firmware using this
tool that is from the manufacturer. We haven't tried it. It's completely
utterly unsupported and you may break your printer. We won't replace it
if it stops working due to a firmware change!
Also lautet die Entscheidung.
Das Riskio mit der Firmware eingehen oder das Teil umzuschicken.
Ich finde du mußt schon zu viel Strom da rein pumpen. Aber ist logoweis
deine Entscheidung.
Vielleicht muss zwischen den gesendeten Steuerbytes immer eine kleine
Pause gemacht werden, also die Bytes zunächst mal langsam einzeln senden
und nicht als geschlossener String. (Entsprechend Text von 20:18 Uhr)
Thomas R. schrieb:> Jetzt versorge ich mit einem DC/DC Wandler 12V/9V 3A.> Dazu habe ich noch 2*18650 LiIon-Zellen parallel geschaltet.
Und die explodieren dabei nicht? Ich frage, weil zwei Lithium Akkus
maximal auf 8,6 Volt geladen werden dürfen.
Ich tippe hier weniger auf die Stromversorgung. Anhand der Reaktion auf
das gesendete Steuerkommando scheint das Kommando nicht erkannt zu
werden.
Man sieht beim Senden von
Decimal: 18 35 49 48
dass sofort nach 18 35 die Ziffer "1" (=49) ausgegeben und die
Kommandoeröffnung ignoriert wird. Vielleicht ist nach 18 35 tatsächlich
eine kleine Pause erforderlich.
> Man sieht beim Senden von Decimal: 18 35 49 48 dass sofort nach 18 35> die Ziffer "1" (=49) ausgegeben und die Kommandoeröffnung ignoriert> wird.
Genau, das Kommando 18 35 scheint keinen Parameter zu erwarten. Dass es
keine Pause benötigt, sieht man daran, dass die 49 erkannt wurde. Evtl
ist es garnicht implementiert. Was unter "Density" verstanden wird, ist
eh schwammig - an verschiedenen Stellen hat es unterschiedliche
Bedeutung.
Ich würde eher mal unter ESC-7 (Seite 47/48) schauen.
foobar schrieb:> Ich würde eher mal unter ESC-7 (Seite 47/48) schauen.
Genau das würde ish auch sagen. Bei Thermodruckern wird die Schwärzung
über "Hitze" (heat) und "Druckgeschwindigkeit" (speed). Da scheint mir
der Befehl
ESC 7 n1 n2 n3 besser zu passen.
8.2.8 Miscellaneous Function Command
ESC 7 n1 n2 n3
[Name] Setting Control Parameter Command
[Format] ASCII: ESC 7 n1 n2 n3
Decimal: 27 55 n1 n2 n3
Hexadecimal: 1B 37 n1 n2 n3
[Description] Set “max heating dots”,” heating time”, “heating
interval”
n1=0-255 Max printing dots, Unit(8dots),Default:7(64 dots)
n2=3-255 Heating time, Unit(10us),Default:80(800us)
n3=0-255 Heating interval, Unit(10us),Default:2(20us)
The more max heating dots, the more peak current will cost when
printing, the faster printing speed. The max heating dots is 8*(n1+1)
*The more heating time, the more density*, but the slower printing
speed. If heating time is too short, blank page may occur.
The more heating interval, the clearer, but the slower printing speed.
Nochmal was anderes:
Wurde hier eigentlich schon die String-Terminierung diskutiert?
Also, ob am Ende mit CR oder LF oder CR/LF abgeschlossen werden muss?
Fehler dort könnten verschluckte Zeichen / Fehlfunktionen erklären.
Stefan ⛄ F. schrieb:> Wer redet denn von Strings? Wir sind bei einzelnen Bytes.
Ist doch egal, aus der Sicht des Druckers macht das keinen Unterschied.
Letzlich ist es immer eine Befehlsfolge mit ggf. unterschiedlicher
Länge, also sollte der Drucker schon erfahren, wann der Befehl endet.
Thomas R. schrieb:> Auch das habe ich probiert: Decimal: 18 35 138> Danach kam mein ASCII-Text: 123456789> Gedruckt wurde e123456789
Sowas zum Beispiel wäre dann typisch.
Hermann Kokoschka schrieb:> Länge, also sollte der Drucker schon erfahren, wann der Befehl endet.
Jeder Befehl hat eine Spezifizierte Länge. Das war bei Druckern schon
immer so. Beispiele:
https://support.epson-europe.com/onlineguides/de/lq2190/html/apspe_3.htm
Wenn die Befehle eine bestimmte Sequenz als Ende-Markierung bräuchten,
hätte der TO das längst bemerkt. Er hat ja schon andere Befehle
erfolgreich ausgeführt.
> also sollte der Drucker schon erfahren, wann der Befehl endet.
Das weiß er von selbst - jedes Kommando hat eine feste Länge bzw (z.B.
bei Font-/Image-Uploads) steht die Länge im Kommando selbst.
> Auch das habe ich probiert: Decimal: 18 35 138> Danach kam mein ASCII-Text: 123456789> Gedruckt wurde e123456789
Dennoch halte ich DIES für einen relevanten Hinweis.
Das überschüssige "e" im Ausgabebuffer des Druckers kann doch nur
bedeuten, daß der vorherige Befehl nicht korrekt interpretiert wurde.
Um das alles heraus zu finden würde ich den Code der Arduino-Libs (o.a.)
analysieren.
Viele der Befehle da sind ja im Handbuch auch drin. Also vergleichen
und Schlussfolgerungen ziehen.
Ist vielleicht die einfachere Methode.
Verwirrend:
density=10 --> 50% +(10 x 5%), soweit ok, aber dann schieben die einen
uint8 mit Dezimalwert 10, b1010 um 5 Bits nach links = b1_01000000, also
Überlauf.
breakTime wird an Bitposition 0..2 verodert, entsprechend der
Beschreibung würde man Bitposition 7..5 erwarten.
writeBytes() ist überladen und nimmt 1 bis 4 uint8 entgegen und schiebt
sie an den Drucker.
Obiges Ergebnis müsste sein:
ASCII_DC2, '#', b01000010
18 35 66
Außer aus dem Überlauf würde noch ein weiterer uint8 gezaubert, was ich
mir aufgrund des Codes nicht vorstellen kann, dann wäre es:
18 35 01 66
Naja. Man müsste den Code testen am existierenden Objekt.
Immerhin ist die Anleitung die Version 2.* . Die erste ist eine
China-Englis ch-Anleitung.
Und 3 Fach übersetzte Anleitungen, da ist der Fehlerquotient gigantisch
;)
Aber wenn die Code funktioniert, ist man der Lösung in meinen Augen
schon mal ein Schritt näher. Nachmachen wie es andere machen, ist sehr
oft eine gute Idee.
MWS schrieb:> Verwirrend:> density=10 --> 50% +(10 x 5%), soweit ok, aber dann schieben die einen> uint8 mit Dezimalwert 10, b1010 um 5 Bits nach links = b1_01000000, also> Überlauf.
Allerdings, also soooo ganz ausgegoren scheint der Adafruit-Kram auch
nicht zu sein, aber falls es funktioniert...?
Wieso ist ÜBERHAUPT dieser ganze Density-Zirkus nötig, ich würde mit
Verlaub eigentlich erwarten dass der Drucker beim einschalten erstmal
Default-Werte hat, um ÜBERHAUPT lesbar zu drucken...
Lt. TO sieht man ja praktisch nix. Bitte nicht hauen, aber nicht dass da
noch eine Schutzfolie auf der HeatDot-Zeile klebt oder so was.
Oder das Papier ist scheisse?
Hermann Kokoschka schrieb:> Lt. TO sieht man ja praktisch nix. Bitte nicht hauen, aber nicht dass da> noch eine Schutzfolie auf der HeatDot-Zeile klebt oder so was.> Oder das Papier ist scheisse?
Oder das Heizelement zu schwach.
Ich will ja keine Werbung machen. Aber mein Brother-QL-560 hat von Werk
aus,schon alle richtigen Einstellungen. Nur bei China-Papier hat er
Probleme mit den Transport weil das Papier 0.8 mm zu breit ist.
Allerdings ist mein Teil auch wenn ich die Fotos vergleiche 4-6 x so
groß. ;)
Bei Thermo-Papier kommt es auf die Beschichtung an. Der schnellste Test
ist, ein Papier WEIT !!! über eine Flamme zu halten. Dann es langsam
über der Flamme zu senken. Je weiter weg, das Papier reagiert desto
besser. Und es wird NICHT braun zuerst über der Flamme, im Gegensatz zu
echten Papier.
Sobald die Hitze das Papier trifft ist da SOFORT ein großer schwarzer
Fleck. !!!
Ich habe diesen Test bei uns in der Firma bei jeder Lieferung von Papier
für unsere ZEBRA-Drucker gemacht. Das ist der Mercedes unter den
Thermo-Druckern. ;) Und das vor allen Preislich. !!
Stefan ⛄ F. schrieb:> Eine richtig heiße Kaffeetasse müsste schon genügen, um einen großen> schwarzen Kreis auf das Papier zu zaubern. So bin ich das jedenfalls> gewohnt.
Stimmt. Aber ich trinke nur kalte Kohlensäurehaltige Getränke.
Wir reden hier von einer Reaktions-Temperatur von ´+/- 65°C .
Was auch der Grund ist, warum das Zeug + die Sonne sich nicht mögen. Die
Sonne kann nämlich im Sommer locker ähnliche Temperaturen erzeugen auf
einen Objekt. Besonders wenn kein Wind o.ä. da ist.
Ich habe auch so einen Drucker und konnte die Density auch nicht
beeinflussen. Der Adafruit Drucker hält übrigens, was Druckqualität
betrifft, keinen Vergleich mit professionellen Marken-Druckern wie z.B.
der Brother CMP10 oder Epson POS Drucker aus. Bei diesen Druckern ist
das Schriftbild und Graphiken einwandfrei schwarz auch bei den
Defaulteinstellungen. Ich machte letztes Jahr Experimente mit
Streifenschreiber SW und wollte auch so einen Adafruit Drucker
verwenden. In Single Dot Graphik kann man die Pixel oft kaum sehen. Beim
CMP10 sind sie dagegen einwandfrei.
Bei den CMP10 ist der Druckkopf ein breiter Keramikstreifen und druckt
alle Pixel-Zeilen gleichzeitig. Beim Adafruit Drucker wird aber der
Druckkopf beim Drucken zeilenweise hin und her bewegt. Sind also
gänzlich verschiedene thermische Druckmethoden. Beim CMP wird eine ganze
Pixelsequenz seriell in die Druckkopf Elektronik eingelesen und dann vom
uC als Befehlsimpuls ausgegeben.
Wahrscheinlich ist das der Unterschied zwischen Low-Cost und
industriellen Druckern die wie in POS Anwendungen jeden Tag hunderte m
drucken müssen. Die Adafruit Dinger sind damit nicht vergleichbar und
für viele Zwecke auch vollkommen ausreichend. Nach 50km ist Schluß mit
den meisten Druckköpfen. Auch kann sich der Druckkopf je nach Daten
überhitzen.
Schlaumaier schrieb:> Stefan ⛄ F. schrieb:>> Eine richtig heiße Kaffeetasse müsste schon genügen, um einen großen>> schwarzen Kreis auf das Papier zu zaubern. So bin ich das jedenfalls>> gewohnt.>> Stimmt. Aber ich trinke nur kalte Kohlensäurehaltige Getränke.>> Wir reden hier von einer Reaktions-Temperatur von ´+/- 65°C .>> Was auch der Grund ist, warum das Zeug + die Sonne sich nicht mögen. Die> Sonne kann nämlich im Sommer locker ähnliche Temperaturen erzeugen auf> einen Objekt. Besonders wenn kein Wind o.ä. da ist.
Mit einen fokussierten 50mW UV Laser kann man auf thermischen Papier
schön drucken und sogar das Papier in Brand stecken:-)
Gerhard O. schrieb:> Wahrscheinlich ist das der Unterschied zwischen Low-Cost und> industriellen Druckern die wie in POS Anwendungen jeden Tag hunderte m> drucken müssen.
HM. Mein Brother QL-560 hat mich ca. 50 Euro gekostet. 10 Euro extra im
Vergleich zu den QL-550. Einziger Unterschied, meiner kann das Papier
automatisch + auf Knopfdruck abschneiden. Ich habe nach ca. 6.000
Etiketten mal das Messer wechseln müssen weil ein Billig-Papier was ich
getestet habe das Messer stumpf gemacht hat und es anfing zu reißen.
Das Zauberteil da. kostet 53 Euro. Ich habe mal gegoogelt. Brother Teile
im Vergleich kosten auch unter 60 Euro.
Und wie schon erwähnt, die haben eine Super-SDK für Software-Steuerung.
Include DLL, und schon stehen ein alle Befehle zu Verfügung. Und das
klappt sehr gut. Gestestet unter meiner Schallplatten-Verwaltung.
Schlaumaier schrieb:> Gerhard O. schrieb:>> Hier ist Info über den CMP10:>> Bei knapp 400 Euro würde ich mich auch mit den Adafruit-Teil herum> ärgern. ;)
Mein CMP10 kostete in der Bucht auch nicht mehr. Neu würde ich den CMP
auch nicht kaufen wollen. Für Hobbygebrauch wäre der sonst Overkill. Ich
betreibe ihn ja auch direkt mit uC.
Hermann Kokoschka schrieb:>> Auch das habe ich probiert: Decimal: 18 35 138>> Danach kam mein ASCII-Text: 123456789>> Gedruckt wurde e123456789>> Dennoch halte ich DIES für einen relevanten Hinweis.> Das überschüssige "e" im Ausgabebuffer des Druckers kann doch nur> bedeuten, daß der vorherige Befehl nicht korrekt interpretiert wurde.
Vielleicht muss man nach dem Kommando zum Abschluss einfach <CR>
und/oder <LF> schicken!?
Gerhard O. schrieb:> Mit einen fokussierten 50mW UV Laser kann man auf thermischen Papier> schön drucken und sogar das Papier in Brand stecken:-)
Ich wollte mit der Kaffeetasse auf eine einfache Methode hinweisen, mit
der man die Sensitivität des Papiers auf normale Verhältnisse
kontrollieren kann.
Löcher rein brennen kann jeder.
Stefan ⛄ F. schrieb:> Löcher rein brennen kann jeder
Stefan,
darum geht es mir doch nicht. Ist mir beim Experimentieren nur
aufgefallen. Damals ging es um einen HP7475A Plotter für direkte
Belichtung von photoempfindlichen LP Material zu testen. (Was übrigens
sehr erfolgreich war)
Man könnte vielleicht mit rotierenden Spiegeln und Timing einen
thermalen Laser Vektorplotter oder Pixeldrucker bauen...
Gruß,
Gerhard
Nur mal aus Spass:
Dies Teil bei Pollin für 0,45Euro. (noch erhältlich)
Klasse Mechanik mit Sensoren und hochwertigem Open-Lever sogar mit
brauchbarem Datenblatt. Druckt 384 Pixel auf 50mm ThermoRolle, gestochen
scharf.
TTL-Pixel seriell in die 384er-HeatDot-Zeile schieben, "Brenn-Burst"
schwärzt dann das Papier. Sensoren für PaperAvail, LeverPos und
DotZeilen-Temperatur.
Daraus habe ich vor Jahren Mini-Drucker gebaut, eigenes Board+Firmware.
Druck-Kontrast per Brenndauer, was natürlich den Pixelzeilen Vorschub
tangiert, druckt aber "lesbar" fast so schnell wie Supermarkt-Kassen.
Sogar pixel-individuelle "4 Graustufen" möglich, dazu 4 Durchläufe der
jeweils betroffenen Pixel mit unterschiedlicher Brenndauer, ERST dann
der PixelZeilen-Vorschub, natürlich langsamer, lohnt aber:
Klasse Bitmaps, mit 384 Pixel geht schon was...
PCB nicht grösser als das Druckmodul, darunter montiert, Schlitze für 3
Flexlayer unten durchzustecken und "steckerfrei" zu löten.
Ich wollte kompakten Aufbau UND 5V Versorgung.
Problem war da die Stepper-Steuerung @Platzproblem, mit winzigen
TI-FET-Brücken klappte es dann. 1-seitige PCB mit kaum mehr als 5
Brücken, Toner-Transfer...
ATMEGA328 steuert, brennt, überwacht, meldet, hat Fonts, kann
Fett/kursiv/underline generieren und kommuniziert @RS232 mit dem Host.
Zum "Papier-Abriss" hatte ich gekürzte "PUK-Sägeblätter" montiert,
klappt wundervoll, mal als "Maker-Tipp".
Eines Tages möchte ich das Projekt gerne nochmal aufgreifen, vielleicht
-soweit möglich- den "EPSON RX/SX-Standart" einbauen,
"stefanus" brachte mich darauf, Dank dafür.
Zunächst mal besten Dank für eure Kommentare
Ich habe alle Steuerzeichen für Density probiert und die funktionieren
nicht.
Inzwischen habe ich diverse andere Steuerzeichen getestet. Alle anderen,
die probierte (bold, character, etc), funktionieren.
Bei der Density funktioniert überhaupt nichts - da ist wohl ein
Firmwarefehler reingebaut.
Ich probierte auch den Emphasized-Mode ("betonen"), das funktioniert,
aber die Druckqualität ist und bleibt miserabel - siehe Anlagen (3mal
ohne Emphasized-Mode und 3mal mit Emphasized-Mode) .
Mein EPSON TM-T88V, der ist in fast jedem Supermarkt verwendet wird, hat
ein klares Druckbild und der hält ewig.
Offenbar sind die Druckmethoden (EPSON/Adafruit) sehr unterschiedlich.
Thomas R. schrieb:> Zunächst mal besten Dank für eure Kommentare> Ich habe alle Steuerzeichen für Density probiert und die funktionieren> nicht.> Inzwischen habe ich diverse andere Steuerzeichen getestet. Alle anderen,> die probierte (bold, character, etc), funktionieren.> Bei der Density funktioniert überhaupt nichts - da ist wohl ein> Firmwarefehler reingebaut.> Ich probierte auch den Emphasized-Mode ("betonen"), das funktioniert,> aber die Druckqualität ist und bleibt miserabel - siehe Anlagen (3mal> ohne Emphasized-Mode und 3mal mit Emphasized-Mode) .> Mein EPSON TM-T88V, der ist in fast jedem Supermarkt verwendet wird, hat> ein klares Druckbild und der hält ewig.> Offenbar sind die Druckmethoden (EPSON/Adafruit) sehr unterschiedlich.
Dein Druckbild sieht nicht so gut aus. Vielleicht stimmt da etwas doch
nicht mit der HW.
Hier ist aber ein Beispiel von meinen Experimenten:
Beitrag "Re: Zeigt her eure Kunstwerke (2020)"
Ich habe auch einen TM-88V und das sind definitiv andere Liga.
So wie ich das an den Bildern erkenne ist die Stromversorgung einzelner
"Thermozellen" (k.a. wie die heißen) nicht sauber gegeben. Das kann man
daran erkennen das immer die selben Stellen unsauber sind.
Ohne zu frech zu werden, das Thermoelement ist entweder sehr großzügig
in den Toleranzen oder schlicht billige Ausschussware kurz vor der
E-Schrott-Tonne.
Das Bild ist Lichtjahre, also leider-wirklich-Lichtjahre entfernt von
dem was JEDER Supermarkt an Schärfe und Kontrast per +15cm/sec
hinkriegt.
"Homemade"-Ergebnisse sind besser, auch jeder Flaschenpfand-Automat!
Irgendwas stimmt hier-im-Kern nicht!
Vielleicht wirklich ein Schrott-Produkt, ärgerlich überteuert?
So erscheint es, dürftige Aussschussware (wie zuvor erwähnt)
Es steht dem TO ja doch frei, per Tankstelle, Supermarkt,
Flaschenautomat Kontrast, Schärfe/Sauberkeit und Tempo zu vergleichen.
Gemessen an dem Bild sind die ALLE BESSER.
Daher nochmal: Irgendwas stimmt hier-im-Kern nicht!
Gerhard O. schrieb:> Hattest Du Deine Drucker FW in C geschrieben oder ASM?
Die FW ist komplett in Assembler.
Die eigentliche Druckausgabe + Motorsteuerung liegen in einem schnellen
TimerInt.
Hermann Kokoschka schrieb:> Gerhard O. schrieb:>> Hattest Du Deine Drucker FW in C geschrieben oder ASM?>> Die FW ist komplett in Assembler.> Die eigentliche Druckausgabe + Motorsteuerung liegen in einem schnellen> TimerInt.
Hallo Hermann,
danke. Machtest Du das Design am Anfang mit State-Diagrams/Flowcharts um
keine Details zu übersehen? War das ein privates Hobbyprojekt oder warst
Du da beruflich schon mit dem embedded Design von thermischen Druckern
vorbelastet? Hattest Du das Design vorher simuliert?
Es würde mich interessieren ob man das auch in C mit etwas inline ASM
hinkriegen würde. Schnell ist er ja, der 328er. Früher wurden die
meisten Drucker mit viel langsameren Mikros verwirklicht.
Ich kaufte mir vor Jahren von EPSON einen vorprogrammierten uC mit dem
man ziemlich einfach einen thermischen Drucker mit bewegten Kopf
verwirklichen konnte. Allerdings habe ich mich danach doch nicht mehr
beschäftigt weil es relativ preisgünstige Drucker gebraucht gibt. Mit
dem TM88 und dem CMP10 bin ich sehr zufrieden. Die sind auch
superschnell.
Gerhard