Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projekte:epson-stylus-sx100 [2016-06-04 17:41] crackiprojekte:epson-stylus-sx100 [2017-01-17 01:01] (current) – external edit 127.0.0.1
Line 7: Line 7:
 Uebrig sind: Uebrig sind:
  
-  * Contact Image Sensor mit LEDs+  * [[projekte:contact_image_sensor|Contact Image Sensor]] mit LEDs
   * Schrittmotor (96 Schritte, 18 Ohm, ~0.2-0.3 Ampere)   * Schrittmotor (96 Schritte, 18 Ohm, ~0.2-0.3 Ampere)
   * zwei DC Motoren, vmtl brushed   * zwei DC Motoren, vmtl brushed
Line 16: Line 16:
  
 Beschriftungen: FC11B913F56 F KTH0351-2 Beschriftungen: FC11B913F56 F KTH0351-2
 +
 +Numerierung:
 +  * Rohm: Pin 1 aussen.
 +  * PCB: Pin 1 innen <- die nehmen wir
 +
 +==== Beleuchtung ====
  
 Die LEDs brauchen so 2-3 Volt, Strom ~20 mA bringt schon Licht. Die LEDs brauchen so 2-3 Volt, Strom ~20 mA bringt schon Licht.
Line 21: Line 27:
 die TO Pins am PCB sind: V+, Blau, Rot, Gruen. die TO Pins am PCB sind: V+, Blau, Rot, Gruen.
  
-Numerierung: +Bei 5V Versorgung sollte mit folgenden Widerständen nach Erde gezogen werden fuer weisses PapierRot:50, Grün:50, Blau:220.
-  * RohmPin 1 aussen. +
-  * PCBPin 1 innen <- die nehmen wir+
  
 <pagebreak> <pagebreak>
Line 33: Line 37:
 |     4 |    |    |    |  x |    | LED GND Blau | |     4 |    |    |    |  x |    | LED GND Blau |
 |     5 |    |  R |  G |  B |  x | LED + | |     5 |    |  R |  G |  B |  x | LED + |
 +
 +==== Datensignale ====
  
 Spannung 1 mA: Spannung 1 mA:
Line 43: Line 49:
 |    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 | |    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               | Aout       | 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 |
 +
 +==== Insgesamt ====
  
 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
Line 50: Line 58:
   * 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)
Line 78: Line 91:
     * 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>
Navigation



You are not allowed to add pages