Zum Inhalt springen

Synkino – endlich einfach vertonen


Friedemann Wachsmuth

Empfohlene Beiträge

Es geht übrigens nach wie vor jeden tag ein Stück voran.

Im Moment bin ich eifrig am Frontend, also am Bedienteil zu Gange, das ganze soll ja möglichst benutzerfreundlich werden, und das erfordert ein bisschen Mühe. 

 

Die Bildrate, die am Projektor für den gewählten Ton-Track einzustellen ist, ermittelt Synkino aus dem Dateinamen. Heißt meine Tonspur zum Beispiel 008-18.m4a, werden 18 fps als Soll-Frequenz eingestellt (und angezeigt). Die Zeit, die angezeigt wird (siehe Foto oben) ist die "Audiozeit", also an welcher Position der "Tonkopf" gerade steht. Ebenso angezeigt wird, ob Ton und Bild gerade absolut synchron sind – ist das mal nicht der Fall, blinkt das "Sync" Symbol und die Abweichung wird in Anzahl der Einzelbilder angezeigt, bis sie Synchronisation wieder einrastet.

 

Ein paar Parameter, die das System braucht, sind aber projektorspezifisch: Zum Beispiel, wie viele Sektoren die Umlaufblende hat, wie die Projektorgeschwindigkeit gemessen wird, oder wie weit der Abstand zwischen Startmarkenerkennung (Vorspannende) und Bildfenster ist. Damit man das (und anderes) nicht ständig neu eingeben muss, wenn man mal den Projektor wechselt, wird Synkino mehrere Projektor-Konfigurationen speichern und verwalten können.

 

So kann man etwa seinen 16mm, den Super 8 und auch den alten Normal-8 Projektor mit den beiden benötigten Sensoren ausstatten (das ist kinderleicht) und kann dann am Synkino einfach auswählen, welcher Projektor gerade angeschlossen ist. So klappt es mit dem Synchronton auch an langen, mehrformatigen Filmabenden. :)

 

Ich bin zunehmend zuversichtlich, in Deidesheim zumindest eine einigermaßen hübsche Vorabversion zeigen zu können. Zwar kommen demnächst noch ein paar Reisen auf mich zu, aber noch ist ja auch nicht April...

Bearbeitet von F. Wachsmuth (Änderungen anzeigen)
  • Like 3
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

Ich zeichne gerade den kompletten Schaltplan, damit ich mich bald ans Routing machen kann – da kommt doch einiges zusammen, so etwas komplexes habe ich wohl  noch nie zuvor gebaut. :)

Ich hoffe, bis Deidesheim die erste Platinenrevision fertig (und bestückt) zu haben und dass sie dann auch so gut funktioniert wie mein Breadboardhaufen hier...

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

So, hier der Status Quo des Schaltplans. 

Morgen mit frischem Kopf geh ich noch einmal auf Fehlersuche, dann beginnt das Routen. Ich fürchte ja, für Lochrasterplatine ist das doch etwas zu komplex geworden... gerade mit dem Audioteil, der ja nicht brummen soll. Da wird eine saubere Trennung der Masseflächen nötig sein.

 

Wr Fehler findet oder Fragen hat: Immer melden bitte.

 

Synkino_sch.thumb.png.ec1374189cc15799dcea2ced07b55a97.png

 

Synkino.pdf

Link zu diesem Kommentar
Auf anderen Seiten teilen

Beim Blick auf die Schaltung ist mir aufgefallen, dass EYE_OUT1 bzw 2 nur an den Lichtsensoren auftauchen. Wo und wie werden sie angeschlossen?

 

Bei dem ICSP-Sockel des Audio-328 solltest du einen Jumper in die MISO_3V-Leitung machen, damit man bei Benutzung den VS1053 abklemmen kann. Sonst bekommt er 5V bei der Programmierung ab.

 

Vielleicht kannst du die nicht benutzten PINs der 328 auf Lötpads ausführen, damit man bei Umbau und Tuningideen auf sie zurückgreifen kann. Falls z.B. ein Verstärkermodul eingebaut wird mit Steuerung über den Bedien-328 oder doch mal der RFID-Leser ergänzt werden soll :10_wink:.

Vielleicht wäre das sogar auch für die benutzten Pins günstig, damit man die Schaltung z.B. für ein anderes Display anpassen kann.

Bearbeitet von Theseus (Änderungen anzeigen)
Link zu diesem Kommentar
Auf anderen Seiten teilen

Friedemann, meinst du, die Elkos am Ausgang des MAX4741 sind richtig herum gepolt. Spielt zwar bei den geringen Spannungen und der Qualität der Elkos heute kaum noch eine Rolle, wundert mich jedoch, die Polung. wenn du nicht gleich Bipolare nehmen willst.

Jens

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hach, großartig ist dieses Forum, so hab ich mir das gewünscht :)

@Jensg hat natürlich Recht, die Koppel-Elkos waren falschrum – und Tantals hätten das wohl gar nicht lustig gefunden. Vielen Dank dafür, Adlerauge!

Auch @Theseus hat eine herben Fehler gefunden, ohne Jumper hätte ich mir da per ICSP vermutlich den DSP weggebraten. Es ist aber auch eine Krux mit den 5V, vielleicht schaffe ich es doch noch, mit 8 MHz bei 3.3V auszukommen. Dann kann ich mir auch den 74HC4050 ersparen, einen LDO und vermutlich auch noch zwei AA-Zellen.  

 

Die Idee, bisher unbenutzte Pins herauszuführen, ist prima. Hab ich mir für die anstehenden Routingnächte notiert. 

 

Die EYE_OUT werden dann an das Screw-Terminal (bei den 74HCT14) geklemmt, im Schaltplan fehlt nur die Verbindung, da das nicht per Leiterbahn passieren soll. Die "Augen" kommen auf kleine Extra-Platinchen, die man von der Hauptplatine trennen kann und soll.

 

Nach dem Aufräumen poste ich mal ein Update, bestimmt findet ihr dann noch etwas. :)

Ich geh die Spannungsversorgung auch noch mal anders an, hatte da heut nacht noch ein paar Ideen...

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Synkino.thumb.png.6cf15925ba1161ab50a70f510ae3dc3e.png

 

So, hier ein noch mal deutlich überarbeiteter Schaltplan. Vielen Dank für die guten Hinweise noch mal.

 

Ich will versuchen, die Schaltung ein bisschen zu erklären:

 

Links oben haben wir die Stromversorgungen. Neu hinzugekommen ist der Doppel-MOSFET Q1, mit dem ein Ein-/Ausschalten per Tastendruck und/oder Software möglich gemacht wird, so braucht es keine Hardware-Schalter (nur den Taster SW1) und der Elektronik wird nicht unnötig plötzlich der Strom entzogen. Den LM1117 für die 5V habe ich durch einen MCP1702 ausgetauscht, der zieht nur ca. 3 uA Ruhestrom und hat einen noch mal geringeren Drop-Off. So sollten vier AA-Zellen eine gute Weile reichen, wenn nicht, werden es eben fünf oder sechs, das muss ich noch testen.

Der AP7312 dahinter ist einfach ein kombinierter (und guter) LDO für 3.3V und 1.8V. Ich brauche tatsächlich alle drei Spannungen.

Zur Funktionsweise: Nach anlegen einer Spannung bleibt der MOSFET "off", an Pin 6 des IRF7319 kommen also noch keine 5V an. Erst ein kurzer Druck auf SW1 latcht das System auf "on". Zum Abschalten gibt es zwei Möglichkeiten: Entweder man drückt ca. 3 Sek den SW1 (so wird versehentliches Abschalten verhindert), oder der Control-Atmega zieht PWR_OFF auf low. So kann sich Synkino auch selbst abschalten, was Batterie sparen sollte. Zu guterletzt ist das ganze auch vorbereitet für kontrollierteres Runterfahren: Ein kurzer Druck auf SW1 im On-Betrieb togglet PWR_OFF, liegt er an einem Interrupt-Pin könnten die uC sich so kontrolliert runterfahren. Ist aber derzeit noch nicht nötig, zumindest so aber später mal möglich. :)

 

Darunter ist, recht langweilig, ein bewährter 6-fach Level-Shifter, um zwischen 3v3 und 5V zu übersetzen.

 

Ganz unten links ist der Control-Atmega, der die Menüs ins Display malt, die Parameter entgegennimmt und verwaltet, die Sounddateien lädt und den Dreh-Encoder (als einziges Bedienelement, yay) ausliest. Die unbenutzten Pins habe ich jetzt noch wie vorgeschlagen an beiden uCs herausgeführt. Dieser uC spricht mit dem anderen (Audio-Atmega) via I2C und ein einfaches, aber effektives Protokoll – im Grunde schreitet man hier nur durch eine Finite State Machine.

An PD7 (zur Zeit nur als Ausgang) leitet wie oben beschrieben die Selbstabschaltung ein. AUD_EN an PD6 sorgt dafür, den rechts daneben liegenden MAX4741 Analogschalter schliessen zu lassen. So werden alle fiesen Popp-, Knack- uns sonstigen Störgeräusche aus dem Audiopfad im Ruhebetrieb sicher eliminiert. Machen wir da im "Audioteil" gleich weiter:

 

Die drei RC-Glieder an C17, C19 und C21 sorgen für Delta-Sigma-Decoding, damit wir ein sauberes AUX-Signal kriegen. Am kleinen Aktivlautsprecher hörte sich das auch ohne weiteres ganz okay an, ich war aber dann doch irritiert, als ich das Signal auf dem Oszilloskop sah. Man lernt nie aus... Der MAX ist zwar nicht ganz billig (2€ oder so), aber er ist definitiv HIFI-tauglich. Und leider ist das verzögerte Einschalten des Audiopfades nötig, denn sonst ploppt es übel. Grund ist vermutlich der C38 am RCAP Eingang des DSP, der quasi die AREF ist, aber eben kapazitativ eingestellt wird. Die Finnen werden irgendeinen Grund gehabt haben. 

 

Machen wir dadrüber am DSP weiter: Die Beschaltung folgt weitgehend der Application Note. Die GPIOs des DSP sind alle auf Low, der arme hat genug mit dem ständigen Resampling zu tun, da wollen wir ihn nicht noch mit anderen Dingen stören (zumal die IDE wirklich grausig ist). Gefüttert wird der DSP mit Daten von der uSD-Karte durch den Audio-uC, der auch den PID-Regler stellt. Ich erwäge an XTALI noch einen DSS zu hängen (den Si5351 mag ich), damit man statt fester Quarzfrequenz auch mit höheren Takten spielen kann. Damit wären auch Speed-Up Regelungen von 48 kHZ Signalen möglich, oder eben ein größerer Regelbereich bei 44.1 kHz Audio. Da da aber ausserhalb der Spezifikation des DSP ist und das auch anderes Timing stören könnte (SPI etc), wird das eher in einer späteren Version etwas. Wenn es denn überhaupt gebraucht wird. 

Was der DSP tut, ist vor allem auf der Softwareseite interessant. Das dokumentiere ich später mal separat, eher wohl auf Github als hier.

 

Mittig ganz unten werden die Signale der "Augen" von ein paar bewährten Schmitt-Triggern aufbereitet. Die Impulse des "Flackersensors" an Pin 2 der Schraubklemme gehen noch durch einen Tiefpass, denn dieser Sensor wird oft aussen liegen, etwa neben der Motorwelle (die ein oder zwei weisse Punkte aufgeklebt bekommt) oder eben Richtung Leinwand. Tiefpass ist nötig, da LED-Birnen im Raumlicht zum Beispiel sonst gerne überlagern. Hat mich auch eine  Weile gekostet, diese Fehlerquelle zu finden...

Der "tartmarken-Detektor" braucht weder Filter noch Verstärkung. Der bemerkt einfach, wenn der weisse Vorspann aufhört und sagt dem uC Bescheid. Die Distanz zwischen Startmarkenauge und Bildfenster speichert man in einem "Projektorprofil" des Synkino ein, damit geht es punktgenau los. So kann man diesen kleinen Sensor zB gut unterm Filmeinlauf montieren, oder wo es eben passt.

 

Ganz oben rechts ist (langweilig) der uSD-Kartenleser im SPI-Modus. Der darunter liegende uC ist gut damit beschäftigt, Daten von SD zum DSP zu schieben (per ISR), hat aber dank ein paar Optimierungen noch genug Luft, PID-Regler zu spielen, dem DSP neue Samplingraten zuzuwerfen und ein bisschen über I2C zu plaudern. Damit ist er dann aber auch eben echt am Anschlag. Nächstes mal werde ich wohl einen ARM7 bemühen, allerdings habe ich in der ARM-Welt eben noch quasi keinerlei Erfahrungen. Und warum nicht zwei AtMegas...

 

Beide uC kriegen ICSP und FTDI herausgeführt, damit man bequem flashen und debuggen kann. Die Serielle ist interessant für die Kommunikation im System, aber auch für EEPROM-Dumps... und wenn schon Seriell, dann ruhig gleich FTDI, so kann man den Synkino auch ohne AVR-Programmer ggf. mit neuer, eigener Software füttern.

 

Ganz unten rechts noch die beiden "Augen" auf Basis des QRE1113, das sind prima verlässliche, sehr kleine Reflexsensoren.  Fotodiode anschliessen geht auch, aber dann braucht es noch einen Trans-Impedanz-Verstärker und insgesamt fand ich die kleinen Reflexsensoren viel praktischer. Gabellichtschranken oder Hall-Sensoren sind aber ebenso denkbar, nur eben viel invasiver.

 

Soweit erstmal zur Hardware – bei Fragen oder weiteren Fehlern bitte unbedingt Bescheid sagen. Ich habe jetzt ein paar Tage Urlaub und hoffe, das Routing der Platine in er Zeit fertig zu kriegen...

 

 

Bearbeitet von F. Wachsmuth (Änderungen anzeigen)
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

So, dass Platinenlayout steht bereits etwa zur Hälfte. Es ist zwar nur ca. 1/3 der Teile noch nicht platziert, aber erfahrungsgemäß wirft man am Ende ja immer noch wieder ein paar Sachen um und macht Teile noch mal. Der Audioteil hingegen steht fest, und das war ein erheblicher Teil der Arbeit — er soll ja HiFi-Ansprüchen genügen und frei von Nebengeräuschen sein. :)

 

Nur noch zwei Urlaubsabende, aber ich werd eben so lange weitermachen, bis es fertig ist... und wenn es noch länger dauern sollte. Es ist definitiv mein mit Abstand komplexestes Hobby-Projekt bisher...

 

7FBEB966-51B6-4E32-8579-420AA6125DDA.thumb.jpeg.bbddd3061792794ac61ee206d6872457.jpeg

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

So, Synkino wird 9x7 cm groß, das steht jetzt schon mal fest. :)

 

DB38E052-F52D-44CC-AB51-E593A4396590.thumb.jpeg.5951dcaa3828b9a59ec4306d99b8f383.jpeg

3474BA3B-CCAB-454A-BE39-2C4A77EF162E.thumb.jpeg.b1816d0345f516db2c7ed53f4ca14508.jpeg

 

Ein bisschen Feinschliff fehlt noch — der Powerbutton kommt noch weiter nach rechts, ein paar Testpunkte für i2c, GND, I2S und den UART des DSP kommen dazu. Evtl. Auch noch ein zusätzliches EEPROM, denn zur Zeit muss der DSP-Code aus Platzgründen auf der uSD-Karte liegen....

 

Des weiteren kommen an den unteren Rand noch 8 “Augenplatinchen” (ca 8x10mm) zum Abbrechen, so kann man mit einer Platine 4 Projektoren ausstatten. 

 

Ich hoffe, Anfang nächster Woche die Gerberdateien für die Bestellung der ersten Revision (10 Stück) fertig zu haben. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • 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.