Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
projekte:epson-stylus-sx100 [2016-06-04 17:22] – cracki | projekte:epson-stylus-sx100 [2016-06-04 18:43] – [Arduino] cracki |
---|
* PCB: Pin 1 innen <- die nehmen wir | * PCB: Pin 1 innen <- die nehmen wir |
| |
| <pagebreak> |
Spannung 1 mA: | Spannung 1 mA: |
^ + \ - ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ Beschreibung des Pins ^ | ^ + \ - ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ Beschreibung des Pins ^ |
Spannung 1 mA: | Spannung 1 mA: |
^ + \ - ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 ^ Vias ^ Geometrie ^ relativ ^ Vermutung ^ Beschreibung des Pins ^ | ^ + \ - ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 ^ Vias ^ Geometrie ^ relativ ^ Vermutung ^ Beschreibung des Pins ^ |
| 6 | x | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#b2f1ff>1.51</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#bdb2ff>1.85</typo> | 1 | dünn | | | zwischen oberer Flaeche und Schrauben | | | 6 | x | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#b2f1ff>1.51</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#bdb2ff>1.85</typo> | 1 | dünn | | Startpuls | zwischen oberer Flaeche und Schrauben | |
| 7 | <typo bg:#b2ffcc>1.22</typo> | x | <typo bg:#b2ffe6>1.34</typo> | <typo bg:#caffb2>0.99</typo> | <typo bg:#b2ffe6>1.34</typo> | <typo bg:#b2ffe6>1.34</typo> | <typo bg:#b2ffe4>1.33</typo> | 2 | breit | oben | 3V3 | | | | 7 | <typo bg:#b2ffcc>1.22</typo> | x | <typo bg:#b2ffe6>1.34</typo> | <typo bg:#caffb2>0.99</typo> | <typo bg:#b2ffe6>1.34</typo> | <typo bg:#b2ffe6>1.34</typo> | <typo bg:#b2ffe4>1.33</typo> | 2 | breit | oben | 3V3 | | |
| 8 | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#ffe0b2>0.61</typo> | x | <typo bg:#b2f1ff>1.51</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#b6b2ff>1.82</typo> | 1 | dünn | | | von unten hochstechend | | | 8 | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#ffe0b2>0.61</typo> | x | <typo bg:#b2f1ff>1.51</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#b6b2ff>1.82</typo> | 1 | dünn | | Clock | von unten hochstechend | |
| 9 | <typo bg:#ffb4b2>0.41</typo> | <typo bg:#ffb2bd>0.35</typo> | <typo bg:#ffb4b2>0.41</typo> | x | <typo bg:#ffb4b2>0.41</typo> | <typo bg:#ffb4b2>0.41</typo> | <typo bg:#ffb2b2>0.40</typo> | 3-5 | breitestes | unten | GND | ueber #8 | | | 9 | <typo bg:#ffb4b2>0.41</typo> | <typo bg:#ffb2bd>0.35</typo> | <typo bg:#ffb4b2>0.41</typo> | x | <typo bg:#ffb4b2>0.41</typo> | <typo bg:#ffb4b2>0.41</typo> | <typo bg:#ffb2b2>0.40</typo> | 3-5 | breitestes | unten | GND | ueber #8 | |
| 10 | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#b2f4ff>1.50</typo> | x | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#b9b2ff>1.83</typo> | 1 | breit | mitte | Vref | driftet langsam, wenn Versorgung angeklemmt (andere pins sind nah an GND) | | | 10 | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#b2f4ff>1.50</typo> | x | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#b9b2ff>1.83</typo> | 1 | breit | mitte | Vref | driftet langsam, wenn Versorgung angeklemmt (andere pins sind nah an GND) | |
| 11 | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#b2f1ff>1.51</typo> | <typo bg:#bdb2ff>1.85</typo> | x | <typo bg:#bdb2ff>1.85</typo> | 1 | dünn | | | unter der Mittleren Flaeche, ueber #12 | | | 11 | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bdb2ff>1.85</typo> | <typo bg:#b2f1ff>1.51</typo> | <typo bg:#bdb2ff>1.85</typo> | x | <typo bg:#bdb2ff>1.85</typo> | 1 | dünn | | 300/600 dpi | unter der Mittleren Flaeche, ueber #12 | |
| 12 | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#b2f4ff>1.50</typo> | <typo bg:#b9b2ff>1.83</typo> | <typo bg:#bbb2ff>1.84</typo> | x | 1 | dünn | | | ueber der unteren Flaeche, unter #11 | | | 12 | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#ffe0b2>0.61</typo> | <typo bg:#bbb2ff>1.84</typo> | <typo bg:#b2f4ff>1.50</typo> | <typo bg:#b9b2ff>1.83</typo> | <typo bg:#bbb2ff>1.84</typo> | x | 1 | dünn | | Aout | 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 | sieht verdammt nach [[http://rohmfs.rohm.com/en/products/databook/datasheet/module/contact_image_sensor/flatbed/lsh3008-ca10a.pdf]] aus |
* 10 Vref (sollte auf GND fest) | * 10 Vref (sollte auf GND fest) |
* wenns hoeher ist, gibts kein gescheites bild mehr | * wenns hoeher ist, gibts kein gescheites bild mehr |
* 11 DPI Mode (0/L: 300 dpi ~2600 pixel; 1/H: 600 dpi ~5200 pixel) | * 11 DPI Mode |
* macht auf jeden Fall, wieviele Clocks man pro Zeile rausholen kann | * macht auf jeden Fall, wieviele Clocks man pro Zeile rausholen kann |
| * 0/L: 300 dpi ~2600 clocks |
| * 1/H: 600 dpi ~5268 clocks |
| * nach anderen datenblaettern hat man 82 clocks "output period", dann kommen die pixel (inkl. vorne und hinten dummypixeln) |
| * 600 dpi: 5184 pixels |
| * 300 dpi: 2592 pixels |
* 12 Analog Out | * 12 Analog Out |
* bei steigender Clock gehts scheinbar los (kommt von GND hoch fuer jeden Pixel neu, gefuehlte 100ns hier) | * bei steigender Clock gehts scheinbar los (kommt von GND hoch fuer jeden Pixel neu, gefuehlte 100ns hier) |
* warte, 0-20 Millisekunden haben geklappt | * warte, 0-20 Millisekunden haben geklappt |
| |
| ==== Arduino ==== |
| |
| <code> |
| #define START 2 |
| #define CLOCK 3 |
| #define DPIMODE 4 |
| |
| bool dpimode = 1; |
| uint16_t pixels = dpimode ? 5184 : 2592; |
| |
| uint32_t linetime = 20000; // us |
| uint32_t sched = 0; |
| |
| void setup() { |
| pinMode(START, OUTPUT); |
| pinMode(CLOCK, OUTPUT); |
| pinMode(DPIMODE, OUTPUT); |
| |
| digitalWrite(DPIMODE, dpimode); |
| |
| sched = micros(); |
| } |
| |
| void loop() { |
| digitalWrite(START, HIGH); |
| digitalWrite(CLOCK, HIGH); |
| digitalWrite(CLOCK, LOW); |
| digitalWrite(START, LOW); |
| |
| for (uint16_t counter = 0; counter < 82 + pixels; counter += 1) |
| { |
| PORTD |= _BV(PORTD3); |
| //delayMicroseconds(1); |
| PORTD &= ~_BV(PORTD3); |
| //delayMicroseconds(1); |
| } |
| |
| sched += linetime; |
| int32_t dt = sched - micros(); |
| while (dt > 0x4000) |
| { |
| delayMicroseconds(0x4000); |
| dt -= 0x4000; |
| } |
| if (dt > 0) |
| delayMicroseconds(dt); |
| } |
| </code> |
==== coloring code ==== | ==== coloring code ==== |
<code> | <code> |