Zum Inhalt springen

Friedemann Wachsmuth

Mitglieder
  • Gesamte Inhalte

    13.050
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    539

Beiträge erstellt von Friedemann Wachsmuth

  1. Ohne Hinterspülung löst sich die Rußgelatine nicht.

    Was war das für eine Maschine, Mono? Ich dachte, ich kenne alle Entwicklungsmaschinen. Würde mich extrem interessieren. Ich kenne keine einzige Schmalfilmmaschine auf Trommelbasis. Spindel-Selbstbau gabs, und Rahmen, aber Trommel? Und dann noch E6?

  2. Das mit dem Bedarf an einem Umkehrkit verstehe ich nicht.

     

    Man kaufe sich Dokumol, Natriumsulfit und Adofix bei Fotoimpex, Kaliumdichromat und Schwefelsäure bei Suvatlar. Feinwaage gibts bei Ebay. Die SIcherheitshinweise sind zu beachten, aber das würde für ein fertiges Kit genauso gelten.

  3. Lustig, wie Kahl meine Ideen klaut und zu Geld machen will... richtig gut fänd ich es ja, wenn er sie auch ALLEN anbieten würde, nicht nur einer kleinen Elite an auserwählten Kunden. Marwan (schwedenstahl) hat meine HT-Rohr-Idee ja schon auf die Jobo ATL portiert.

     

    (Die andere Idee die er klaute, ist Colornegmaterial mit Umkehrentwicklung. Erschien wenige Wochen nach meinem Experiment, und natürlich war ich als Kunde kategorisch ausgeschlossen!)

     

    Kahl hat ja damals von Jobo schon die Spritzgussformen für deren Schmalfilmetwicklungsgerätschaften gekauft. Daher wohl die Kooperationsbereitschaft.

     

    Schön aber, dass es sowas jetzt als fertiges Produkt "gibt". Ich sehe allerdings einen groben Konstruktionsfehler, es bleibt also abzuwarten, ob das Ding funktioniert. (Und 500ml Chemie für 2-3 Super 8 Filme verwenden zu wollen ist ambitioniert.)

  4. Das ist ja echt elegant. PID-Regler wäre natürlcih die Krönung, aber mir persönlich zu hoch. Früher hätte man ne PLL gebaut, aber der Meo will ja offenbar keinen Takt, insofern ist Deine Steuerung schon echt gut.

    Das mit den Störungen ist komisch. Passiert es auch, wenn Du den Arduino per Batterie (bzw. Notebook-USB) betreibst? Hast DU ein Oszilloskop, mit dem Du mal ein paar Pegel beobachten könntest? EIn zusätzlicher Sieb-Elko an VCC wird auf jeden Fall nicht schaden...

  5. Nein, das war kein Bashing, S8ler. Wollte ich Dir auch nicht vorwerfen, nur vorbeugen. Sorry. :)

    Ich habe beide Kassetten ausführlich verglichen -- im Zweifel läuft die GK-Kassette wesentlich friktionsärmer und auch zuverlässiger. Schwierigkeiten können aber beide machen/haben.

     

    Ein Problem mit der Steifheit des Velvia tritt meinen Beobachtungen nach gelegentlich in der Vorratskammer mit dem unbelichteten Film auf. Beide Kassetten haben hier einen "Bremsmechanismus", der ein Abwickeln des Filmvorrats durch z.B. Erschütterungen verhindern soll. Dabei darf diese Bremse auch nicht zu viel Friktion mitbringen... eine delikate Sache. Gerade deshalb übrigens rate ich vom "Klopfen" bei Klemmern dringend ab. Gerde beim Velvia ist das wohl kontraproduktiv.

  6. Lieber S8ler und liebe Leute,

     

    Herr Klose ist über 70 und nicht sehr computer-affin. Zudem ist er familiär maximal ausgelastet und betreibt seine FIrma quasi in der verbleibenden Freizeit, und die verbringt er nicht am Computer. Für einen Angestellten zur externen KOmmunikation reicht es nicht.

    Aber die Lösung ist recht einfach: Ruft ihn an! Ich habe gerade eben ausführlich mit ihm telefoniert. Das ist so viel informativer und besser als ein EMail-Austausch. Man kann über alles reden, auch mit ihm!

     

    Ich rate von "Forenbashing" ab, auch (oder: weil?) ich es selber früher oft praktiziert habe. Leider stehen Nutzen und Wirkung da aber kaum in einem guten Verhältnis.

    Fakt ist, dass die GK-Kassette eine hervorragende ENtwicklung ist, die aber ob ihrer KOmplexität nicht frei von Schweirigkeiten war. Fakt ist auch, dass Velvia einfach ein zu steifes Material ist, um immer gut zu funktionieren. Aber wie gesagt, man kann über alles reden!

     

    S8ler, nimm bitte kein Silikonspray, wenn, dann Teflonspray. Wenn Du Leerkassetten hast, topfe ich Dir Deine Klemmfilme gerne um. Oder mache Dir Wickel, die Du in eine Kaccema legen kannst.

  7. Du solltest die Geschwindigkeit via Interrupt (ISR) auslesen. Das ist wesentlich exakter. Desweiteren beachte, dass Du die Messwerte im Falle von Divisionen auch als float castest :)

    Ich messe die Umdrehungen per Reflektorlichtschranke an der Motorwelle (also optisch), im Prinzip ist das aber das gleiche.

     

    Hier mal ein bisschen Code, der zumindest messtechnisch gut funktionierte als ich ihn zuletzt laufen hatte... das ist nix fertiges, aber you get the idea und Debug-Output über die serielle. Ignoriere die rmp3.calls, das funktionierte so nicht richtig :)

     

    // Vrtonr 0.4
    
    #include <RogueSD.h>
    #include <RogueMP3.h>
    #include <SoftwareSerial.h>
    
    // Init RogueMP3
    SoftwareSerial rmp3_serial(6, 7);
    RogueMP3 rmp3(rmp3_serial);
    RogueSD filecommands(rmp3_serial);
    #define SONG "/test3.mp3"
    
    
    
    
    // Konfiguration Eye
    byte sollfps = 18;
    #define DISCSEGS 1          // Wieviele Segmente hat die Scheibe? Bzw. Motorwellenfaktor
    
    
    // Pin Deklarationen
    const int ledPin = 13;       // the pin that the LED is attached to
    int eye1Int = 0; // Pin 2
    // const int emitterPin = 5;       // Hier kann man noch Energie sparen
    
    // Modes!
    #define IDLE  1
    #define STOP  2
    #define RUN  3
    #define PLAY 4
    
    // Variablen-Deklarationen fürs Auge
    
    unsigned long rtStartMillis = 0;
    unsigned long rtMillis = 0;
    unsigned long filmStartMillis = 0;
    unsigned long currentMillis = 0;
    byte currentRtFrameCounter = 0;
    float speedOffset = 0;
    int lastSpeed = 100;
    int newSpeed = 100;
    boolean readLastImpMillis = false;
    boolean run_init = true;
    boolean idle_init = true;
    
    
    // Variablen für die ISR
    volatile long totalFrameCounter = 0;
    volatile byte rtFrameCounter = 0;
    volatile unsigned long lastImpMillis = 0;
    volatile byte mode = IDLE;
    
    
    // Los gehts: Setup
    
    void setup() {
    pinMode(eye1Int, INPUT);     
    digitalWrite(eye1Int, LOW);
    
    //  pinMode(emitterPin, OUTPUT);     
    //  digitalWrite(emitterPin, HIGH);
    pinMode(ledPin, OUTPUT);     
    Serial.begin(9600);
    rmp3_serial.begin(9600);
    Serial.println("rMP3 inited");
    
    rmp3.sync();
    rmp3.stop();
    rmp3.setvolume(10);
    rmp3.setspeed (newSpeed);
    rmp3.playfile(SONG);
    rmp3.playpause(); // Musik pausieren
    
    
    //  char status = 'S';
    uint8_t i;
    //  int16_t newtime;
    
    //  volume = rmp3.getvolume();  // this only gets the right volume
    
    
    // Attach the interrupt for our eye
    attachInterrupt(eye1Int, count, RISING);
    }
    
    void loop() {
    
    switch(mode) {
      case IDLE:
        idle();
        break;
      case STOP:
        stop();
        break;
      case RUN:
        run();
        break;
    }
    }  
    
    // ********************************************************************************************************
    
    void run() {
    if(run_init) {
      rmp3.playpause(); // Musik starten
      run_init = false;
      Serial.println(" PROJECTOR RUN : AUDIO START ");
    }
    
    // Prüfen, ob der Projektor läuft (wann war der letzte Interrupt?)
    // TODO: Brauche ich den Semaphor?
    if (readLastImpMillis) {
       lastImpMillis = millis();
       readLastImpMillis = false;
    }
    currentMillis = millis();
    currentRtFrameCounter = rtFrameCounter;
    
    //  if((rtFrameCounter) / DISCSEGS >= sollfps) {
    if(currentRtFrameCounter >= sollfps) {
      rtMillis = currentMillis - rtStartMillis;  // Wieviele ms hat es gedauert?
    
      Serial.print(currentRtFrameCounter);
    //    Serial.print((rtFrameCounter) / DISCSEGS);
      Serial.print(" f in ");
      Serial.print(rtMillis);
      Serial.print(" ms, so ");
    
      speedOffset = (float) ((float) rtMillis - 1000)/10;
      newSpeed = 100 + (int) speedOffset;
    
      Serial.print(speedOffset);
      Serial.print ("% off. FC: ");
      Serial.print(totalFrameCounter);
    
      Serial.print (", Film: ");
    
      Serial.print((totalFrameCounter/18)/60,DEC);Serial.print(':');
      if((totalFrameCounter/18)%60 < 10) Serial.print('0');
      Serial.print((totalFrameCounter/18)%60,DEC);
    
      Serial.print (totalFrameCounter/18);
    
      Serial.print (", Audio: ");
      playbackinfo pinfo;
      pinfo = rmp3.getplaybackinfo();
      Serial.print(pinfo.position/60,DEC);Serial.print(':');
      if(pinfo.position%60 < 10) Serial.print('0');
      Serial.print(pinfo.position%60,DEC);
      Serial.print(" Diff: "); Serial.print(pinfo.position-(totalFrameCounter/18));
      Serial.print(" New Speed: "); Serial.println(newSpeed);
    
      rtStartMillis = currentMillis;    // ms-Zähler zurücksetzen    
      rtFrameCounter = 0; // Umdrehungszähler zurücksetzen
    
      if (newSpeed != lastSpeed) {
        rmp3.setspeed(newSpeed);
        // delay(50);
        lastSpeed = newSpeed;
      }
    
    } 
    if (currentMillis - lastImpMillis > 250) {
      mode = STOP;
    }
    }
    
    
    void idle() {
    //  Serial.println(rtFrameCounter);
    rtStartMillis = millis(); // Es könnte ja gleich wieder losgehen... 
    
    if(idle_init) {
      Serial.print(" PAUSE AT ");
      playbackinfo pinfo;
      pinfo = rmp3.getplaybackinfo();
      Serial.print(pinfo.position/60,DEC);Serial.print(':');
      if(pinfo.position%60 < 10) Serial.print('0');
      Serial.println(pinfo.position%60,DEC);
      idle_init = false;
    }
    }  
    
    
    void stop() {
    Serial.println(" PROJECTOR STOP: AUDIO STOP ");
    rtFrameCounter = 0; // Roundtrip Umdrehungszähler zurücksetzen
    rmp3.playpause(); // Musik anhalten
    run_init = true;
    idle_init = true;
    mode = IDLE;
    }  
    
    
    // Wieviel Zeit ist seit Projektorstart vergangen?
    // An welcher Filmbildnummer sind wir jetzt?
    // An welcher Filmbildnummer müssten wir jetzt sein?
    // Wie ist die Differenz? In Bildern und in Sekunden?
    
    
    // ISR
    void count() {
    volatile static unsigned long last_interrupt_time = 0;
    volatile unsigned long interrupt_time = millis();
    // Cheeeeap debouncing
    if (interrupt_time - last_interrupt_time > 30) {
      totalFrameCounter++;
      rtFrameCounter++;
      readLastImpMillis = true;
      mode = RUN;
      last_interrupt_time = interrupt_time;
    }
    
    }
    

     

     

  8. Ich glaube nicht, dass das am Tonkopf liegt. Klingt eher nach Kondensatorproblem. Was ist das da links unten auf dem Bild für ein einbeinig balancierender MKT?

    Wie auch immer, ich würde erstmal die KOppelkondensatoren prüfen/tauschen bzw. das SIgnal mit dem Skope verfolgen. Vielleicht haut auch der Arbeitspunkt der Verstärkers ab weil ein Widerstand hochohmig geworden ist... oder ein Elko kriecht und zieht die Spannung runter. Gibt einige Möglichkeiten. :/

  9. Vermutlich nichts gutes. CD-3 (aus E6) und CD-4 (aus C-41) sind noch relativ verwandt, CD-1 ist anders. Ölgekapselte vs. Wasserlösliche Kuppler spielen da auch noch eine Rolle.

     

    Aber Versuch macht kluch...

     

    Aber bedenke: je älter, desto kälter. U9165 ist für 20-24° gedacht, sonst löst sich die Emulsion ab.

  10. Für Moviechromes KANN man mit E6 arbeiten. Wird halt fluffig, Pastell, blaue Schatten. Hat aber was. Gerade rot kommt toll. Mach lieber 30° als 38°.

     

    Bei Agfachrome brauchst du das alte Agfacolor-Rezept mit CD-1 als Farbentwickler (auch TSS genannt, Formel findest du mit googlen nach U9165, der entsprechenden Orwo-Vorschrift.) an CD-1 zu kommen ist schwer, es ist extrem giftig. Andere Farbentwickler funktionieren leider nur sehr unbefriedigend. Mit passender Chemie bekommt man aber echt tolle Ergebisse hin!

×
×
  • Neu erstellen...

Filmvorführer.de mit Werbung, externen Inhalten und Cookies nutzen

  I accept

Filmvorfuehrer.de, die Forenmitglieder und Partner nutzen eingebettete Skripte und Cookies, um die Seite optimal zu gestalten und fortlaufend zu verbessern, sowie zur Ausspielung von externen Inhalten (z.B. youtube, Vimeo, Twitter,..) und Anzeigen.

Die Verarbeitungszwecke im Einzelnen sind:

  • Informationen auf einem Gerät speichern und/oder abrufen
  • Datenübermittlung an Partner, auch n Länder ausserhalb der EU (Drittstaatentransfer)
  • Personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen, Erkenntnisse über Zielgruppen und Produktentwicklungen
Durch das Klicken des „Zustimmen“-Buttons stimmen Sie der Verarbeitung der auf Ihrem Gerät bzw. Ihrer Endeinrichtung gespeicherten Daten wie z.B. persönlichen Identifikatoren oder IP-Adressen für diese Verarbeitungszwecke gem. § 25 Abs. 1 TTDSG sowie Art. 6 Abs. 1 lit. a DSGVO zu. Darüber hinaus willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden. Weiterführende Details finden Sie in unserer  Datenschutzerklärung, die am Ende jeder Seite verlinkt sind. Die Zustimmung kann jederzeit durch Löschen des entsprechenden Cookies widerrufen werden.