Utskrifter på termoskrivare
I ett gammalt mätinstrument jag skrotat hittade jag en
termoskrivare, med beteckningen MTP201-20B, som skriver på 57 mm
brett termopapper. Jag har inte hittat några datablad eller
annat på modulen, men jag tror den går att använda ändå.
|
Den här bilden
visar undersidan av skrivarmodulen. Den konstiga grejen
som finns i springan (strax ovanför mitten av modulen)
är en "vriden stav" som gör att pappret bara
matas frammåt när skrivarhuvudet åker tillbaks. Detta
gör at utskriven text blir rak. |
|
Detta är
ovansidan. Man ser motorn nere till vänster,
"Spiralen" som driver skrivarhuvudet längst
upp, och själva skrivarhuvudet står längst till höger
efter spiralen. |
|
Enhetens kretskort är väldigt
litet, och innehåller inga "riktiga"
komponenter. Där finns fem anslutningar märkta
"M+", "M-", "T",
"TR" samt "R". |
|
Efter lite undersökande kom jag
fram till att modulen kan beskrivas på detta sätt:
Helt klart är att motorns drivspänning kopplas in till M+
och M-. 5 Volt ger en "behaglig" hastighet på
skrivaren, och är också vad elfakatalogen säger att
den liknande skrivaren MTP201/24B skall drivas med.
OBSERVERA dock att skrivarhuvudet inte kan matas med 5
volt! (mer om skrivarhuvudet senare)
Mellan T och TR sitter något som ger pulser
allteftersom motorn snurrar. Jag har inte ritat ut någon
strömbrytare eftersom jag inte vet vad det är. Den
normala resistansen mellan dessa anslutningar är 288
Ohm, och när jag vrider för hand på motorn syns det
inte vad som händer. När motorn går så ger min
kontinuitetstestare ljudpulser c:a 100 ggr per sekund
(vid 3V till motorn. 5V ger c:a 200 pulser per sekund),
så man kan på något sätt använda detta som
"pixelklocka". Hade jag ett oscilloskop hade
jag snabbt sett vad som sker.
Switchen mellan TR och R är en vanlig strömbrytare
som öppnas när skrivarhuvudet står längst till
vänster.
Sladden som går till skrivarhuvudet har en gemensam
(common) anslutning till alla värmeellement. Den
gemensamma anslutningen identifieras lättast genom att
se vilken ledning i kabeln som är tjockast. En normal
inkoppling är att koppla common till en
matningsspänning eller till jord, och låta transistorer
driva elementens ingångar (märkta D0 till D6 av mig). 5
V var faktiskt oanvändbart vid inkoppling till
skrivarhuvudet, och troligen måste mindre än 3 volt
användas.
|
|
Provade saker:
- Provat köra motorn på olika spänningar, och
har bestämt mig för att 5 volt är bra.
- Provat driva huvudet med olika spänningar. Nedan
kommer förstoringar (alla i samma förstoring)
av linjer ritade med skrivaren. Observera att
kvittot jag skrev på inte var helt vitt, utan
har lite irriterande fläckar på sig. Jag köper
en ny rulle när jag börjar bli klar med bygget.
5 V till skrivarhuvudet är alldeles för mycket när
man bara ger motorn 3 volt. Man ser att linjen är
svartast runt kanterna och att mitten helt har
bränts bort.
När man ger ökar motorns spänning till 5 volt ger
5 volt till skrivarhuvudet fortfarande för mycket
värme. Det ser något bättre ut då motorns
snabbare hastighet gör att samma värmen inte hinner
bränna lika mycket som i fallet ovan.
3 V är ganska bra till skrivarhuvudet när man ger
motorn 3 volt. Nu ser man att hela linjen är
jämnsvart. Man ser också att detta är svartare än
vad man brukar få på kvitton, så tre volt är
kanske också för mycket (eller så kör man motorn
med 5 volt och skrivarhuvudet med 3 volt. Jag har
inget variabelt spänningsagregat hemma, så jag får
testa ut rätt spänningar senare.
- Drivit några intilliggande huvuden samtidigt. Nu
håller jag ledningar mot kontakterna till
skrivarhuvudet, så det är lite bökigt. Ska
fixa en ordentlig kontakt innan jag fortsätter
experimentera.
Man ser att svärtan från två intilliggande linjer
går ihop, samt att två linjer med ett mellanrum
syns tydligt.
- Kontrollerade om skrivaren kan skriva ut
sammanhängande grafik, men det går inte.
Skrivaren matar fram papperet så långt när den
börjar på ny rad att man skulle få stora vita
horisontella streck om man försöker skriva ut
stora bilder. Skrivaren passar däremot utmärkt
för textutskrifter.
Saker att prova:
- Ta reda på vad som händer mellan T och
TR-anslutningarna när motorn är igång. Min
första gissning är att dess resistans (på 288
Ohm) går ned mot noll Ohm periodiskt när motorn
är påslagen. Jag behöver ett oscilloskop.
- Bygga en drivare för skrivarhuvudet. Jag har
några darlingtondrivare i IC-kapsel (ULN2803A),
som säkert blir bra för detta. Den kretsen
driver dessutom åtta kanaler, så då kopplar
jag in en extra effekttransistor på en av
utgångarna så får jag en motordrivning också
(Med separat drivspänning). Viktigt är att inte
låsa sig vid en specifik drivspänning till
motorn eller skrivhuvudet innan vi vet vad som
är optimalt.
- Ta reda på mer om skrivarens prestanda. Ett
sätt är att driva skrivarhuvudet med en signal
från en oscillator, och se hur nära man kan
sätta två vertikala linjer. Det kan också vara
bra att testa svärtningen vid olika
drivspänningar, prova PWM av drivspänningen och
liknande för att kunna skriva ut i gråskala.
Sen kan man också ta reda på om ett element
påverkar elementen ovan och under sig själv,
för då kan man kanske fixa något snyggare
utskrifter.
- Sen behöver man också ta emot data från
själva skrivaren, och för att göra detta
enkelt så jordar man anslutningen TR, och
sätter pullupp-motstånd på T samt
R-anslutningarna. Det kan behövas någon extra
ellektronik till T-anslutningen... Sen är dessa
signaler redo att kopplas till skrivarporten
eller en mikrokontroller.
- Skriva mjukvara som kontrollerar skrivaren. Ska
bara skifta ut sju pixlar ( i en lodrät linje) i
taget av en sju pixlar hög bild, och låta
signalen man får från T och TR avgöra när
nästa sju pixlar ska skiftas ut. Kan vara
trevligt att skriva ut både och annat,
eventuellt med gråskala. En grundfont att prova
är en 7x5-pixlars font. Går säkert att hitta
gratis / rippa från grafikkortet / ripa från
linux... Den stora frågan är om fonten och
styrprogrammet kan klämmas ihop till < 2kb
så den ryms i min favorit-AVR.
- Sen kan man göra roliga saker som att internt
dubbla pixelklockan i mjukvaran och skriva ut med
dubbla upplösningen horisontellt. Är
skrivarhuvudena tillräckligt små i bredd
(vilket dom verkar vara) så kommer man att få
bättre utskrifter (om motorn inte går extremt
ojämnt eller skrivarhuvudenas termiska tröghet
är stor).
- Försöka komma på när man över huvud taget
behöver ha en sån här skrivare.
Skrivaren kommer att bli enkel att koppla ihop
med en mikrokontroller, så jag kan kanske bygga
en logikanalysator med inbyggd skrivare, eller
ett enkelt oscilloskop med inbyggd skrivare,
eller pulsmätare med inbyggd skrivare. Sen kan
man ha den kopplad till datorn (via serieport
eller paralellport) för att logga vad som
händer (t.ex tid och datum varje gång datorn
slås på eller av), eller skriva ut saker.
|
OBS! Du bygger alltid på egen risk, jag garanterar inte att något fungerar för dig.
Du ansvarar själv för risken att skada dig själv/andra/saker/datorer/eller annat!