This is an old revision of the document!
Table of Contents
epson-stylus-sx100
Bernd hat einen Epson Stylus SX 100 gedroppt.
Das Multifunktionsgeraet wurde zerlegt. Die Hauptplatine hat sich dematerialisiert.
Uebrig sind:
- Contact Image Sensor mit LEDs
- Schrittmotor (96 Schritte, 18 Ohm, ~0.2-0.3 Ampere)
- zwei DC Motoren, vmtl brushed
- gammelige Zahnriemen
- zwei optische Encoder, eine Encoderscheibe, ein Encoderstreifen (hat Cracki eingesackt)
Contact Image Sensor
Beschriftungen: FC11B913F56 F KTH0351-2
Die LEDs brauchen so 2-3 Volt, Strom ~20 mA bringt schon Licht.
die TO Pins am PCB sind: V+, Blau, Rot, Gruen.
Numerierung:
- Rohm: Pin 1 aussen.
- PCB: Pin 1 innen ← die nehmen wir
Spannung 1 mA:
+ \ - | 1 | 2 | 3 | 4 | 5 | Beschreibung des Pins |
---|---|---|---|---|---|---|
1 | x | N/C (so weit sich erkennen laesst) | ||||
2 | x | LED GND Rot | ||||
3 | x | LED GND Gruen | ||||
4 | x | LED GND Blau | ||||
5 | R | G | B | x | LED + |
Spannung 1 mA:
+ \ - | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Vias | Geometrie | relativ | Vermutung | Beschreibung des Pins |
---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | x | 0.61 | 1.85 | 1.51 | 1.85 | 1.85 | 1.85 | 1 | dünn | zwischen oberer Flaeche und Schrauben | ||
7 | 1.22 | x | 1.34 | 0.99 | 1.34 | 1.34 | 1.33 | 2 | breit | oben | 3V3 | |
8 | 1.85 | 0.61 | x | 1.51 | 1.85 | 1.85 | 1.82 | 1 | dünn | von unten hochstechend | ||
9 | 0.41 | 0.35 | 0.41 | x | 0.41 | 0.41 | 0.40 | 3-5 | breitestes | unten | GND | ueber #8 |
10 | 1.84 | 0.61 | 1.84 | 1.50 | x | 1.84 | 1.83 | 1 | breit | mitte | Vref | driftet langsam, wenn Versorgung angeklemmt (andere pins sind nah an GND) |
11 | 1.85 | 0.61 | 1.85 | 1.51 | 1.85 | x | 1.85 | 1 | dünn | unter der Mittleren Flaeche, ueber #12 | ||
12 | 1.84 | 0.61 | 1.84 | 1.50 | 1.83 | 1.84 | x | 1 | dünn | ueber der unteren Flaeche, unter #11 |
sieht verdammt nach http://rohmfs.rohm.com/en/products/databook/datasheet/module/contact_image_sensor/flatbed/lsh3008-ca10a.pdf aus
Zuzuweisen:
- 12 Analog Out
- 11 Mode, scheint zwischen DPI umzuschalten (0/L:, <3000 pixel, 1/H: ~5500 pixel)
- 10 Vref (sollte auf GND fest. wenns hoeher ist, gibts kein gescheites bild mehr)
- 6 Startpuls
- 8 Clock
Startpuls wird bei fallender Clock gesampelt. Wenn Startpuls, dann werden die Werte in den Ausgabepuffer geschickt. Dann mit Clock rauscyceln. Belichtungszeit haengt wohl vom Intervall zwischen Startpulsen ab.
coloring code
import re, colorsys rex = re.compile('(?:<span[^>]*>)?([0-9].[0-9]{2})(?:</span>)?') def color(value, min, max): value = (value - min) / (max - min) (r,g,b) = [int(v*255) for v in colorsys.hls_to_rgb(value, 0.85, 1.0)] return "#{:02x}{:02x}{:02x}".format(r,g,b) def colorize(match): value = match.group(1) return '<typo bg:{1}>{0}</typo>'.format(value, color(float(value), 0.4, 2.5)) source = open("foo.txt").read() open("foo.txt", "w").write(rex.sub(colorize, source))