Und noch ein Erweiterungsboard

  • Da es scheinbar noch nicht genügend verschiedene Erweiterungsboards für den VDR gibt ;) , habe ich auch mal einen Prototypen gebaut.


    Die Features:

    • LCD-Anzeige von Uhrzeit und Datum (batteriegepuffert) bei ausgeschaltetem VDR, Graphlcd-Anzeige bei eingeschaltetem Zustand
    • LCD-Hintergrundbeleuchtung wird der Umgebungshelligkeit angepasst
    • Bedienung des VDR sowohl durch Fernbedienung als auch durch Drucktasten am Gerät möglich
    • Einschalten des VDR durch Fernbedienung, Gerätetaster oder Real-Time-Clock (Timergesteuerte Aufnahme)
    • SCART-Anschluss von J2
    • Audio-Ausgänge von J2 (analog, digital optisch, digital coaxial)
    • Aufspielen neuer Firmware im Betrieb
    • Anschluss der Erweiterungsplatine über ein einziges USB-Kabel
    • Alle Schematics, Layouts und Software werden frei verfügbar sein (je nach Nachfrage)


    Nährere Informationen und Bilder gibt es hier:
    Infos zum VDR-Erweiterungsboard

  • Dankeschön. Geätzte Platinen sind eigentlich kein Problem, habe ja auch einfach die Eagle-Files zu nem PCB-Hersteller geschickt und die fertigen lassen.
    Vom Preis her war mein Prototyp plus LCD-Display plus Frontplatte natürlich etwas teurer als andere Erweiterungsboards, habe aber gemerkt, dass ich einige Bauteile überhaupt nicht brauche (z.B. EEPROM, Serielle Schnittstelle, Reset-Relays,...) und jemand natürlich auf solche Spässe wie Tastenmatrix verzichten kann.
    Dadurch und durch größere Stückzahlen bei der Fertigung kann der Preis natürlich sehr gedrückt werden (ich behaupte mal einfach so zwischen 70 und 100€).

  • Gratuliere! :respekt


    Da sind ja ein paar sehr nette Features dabei (z.B. Uhrzeit im Standby, Dimmer)
    Das Ganze schaut wirklich gut aus.


    Bin schon ganz gespannt wie's weitergeht. ;)


    Gorgo

  • Unregistered: Nicht beruflich, mache das nur, weil es beim Doktorarbeitschreiben so viel anderes wichtigeres zu tun gibt 8) Hatte als Assi bei nem Lehrstuhl für Informatik in Praktika mal öfters mit so Sachen zu tun und wollte nun selber mal etwas bauen.


    Bin gerade noch dabei, die Software (Daemon) etwas zu überarbeiten, da scheint es noch ein paar Bugs zu geben.

  • Recht viel drauf auf der Platine, fast schon zu viel..
    Wozu die RTC/Weckfunktion?

  • Hi,


    vorweg erstmal :respekt ! Echt nett, finde die Tasten gut.
    Als verbesserungsvorschlag evtl. noch für den J2 und Scart einen "Überspannungsschutz" damit sich keiner die Karte grillt wenn über Scart mal etwas mehr Saft kommt......


    Schöne Grüße und weiter so!!

    Life on earth may be expensive,
    but it does include an annual free trip around the sun.


    Derzeit Aktuelles Sytem: (Bindet immer noch alle Ressourcen)
    Fertigstellung 8.9.06,16.35Uhr, 52cm lang,3280gr,
    85db im Full-Power Modus , Brudersystem seit 20.12.08 in Betrieb.


    Derzeit auf Eis (fast):
    Systemdaten: MainBoard mit AMD Irgendwas, 256MB, Hauppauge WinTV DVB-S (1.x?), NEC 2-Layer DVD Brenner, Maxtor 80GB HDD, Realtek LAN. c´t VDR6.? jigdo version

  • Ja, ist einiges drauf auf der Platine, was eigentlich unnötig ist. Dachte aber, dass ich zu Debug- und Erweiterungszwecken z.B. eine Serielle Schnittstelle und nen SPI-Connector mit drauf baue. Auch das Reset-Relais ist für die Hühner (bei mir überhaupt nicht angeschlossen). Das EEPROM für den USB-Transceiver braucht man auch nicht.
    Die RTC hätte man sich zwar auch sparen und den ATMega128 die Zeitrechnung übernehmen lassen können, ich wollte aber das Datum mit Monaten und Schaltjahren nicht selber ausrechnen und ausserdem wird durch das SuperCap-Backup auch bei Stromverlust die RTC mit Spannung versorgt (hält mindestens 3 Wochen ohne Stromanschluss, länger habe ich es noch nicht ausprobiert) und zählt so schön ihre Zeit / Datum weiter.
    Mit der Alarm-Funktion der RTC kann man unabhängig vom Motherboard bzw. Bios und dessen NVRAM-Unterstützung das Hochfahren des Rechners für Aufnahmen garantieren.
    Das war z.B. bei meinem Motherboard immer ein Problem (Neustart erforderlich usw.)...


    s.lipkow: Die Idee hinter den Tasten war eigentlich, dass ich das ganze als CD/MP3-Player Ersatz auf Parties mitschleifen kann und wie gewohnt CDs und die MP3-Sammlung damit ohne Fernbedienung abspielen kann.

  • feine Sache :cool1 aus der Softwarebeschreibung lese ich heraus, das der T6963c unterstützt wird. Ich wollte mir schon lange mal so ein externes Tisch-Display (240x128 ) mit paar Tasten bauen über USB, ich denke mal das wäre damit möglich. Wie siehts mit dem Timing aus, gibts da Probleme?


    Gruß Fr@nk

  • Ja, zur Zeit wird ausschließlich der T6963C unterstützt.
    Für andere Displays müsste man sowohl den Microcontroller-Code als auch den GraphLCD-Library-Code anpassen, was mir aber nicht möglich ist, da ich eben nur dieses eine T6963C-Display besitze. Ich denke aber, dass einfach ein paar kleine Funktionen abgeändert werden müssten, also nicht weiter tragisch.


    Bezüglich Timing (ich verstehe jetzt unter Timing mal die USB-Kommunikation, der Rest ist eh unkritisch):
    Die paar Tasten/Fernbedienungsevents über USB fallen nicht weiter auf. Problematischer sind die GLCD-Daten vom VDR, da der meistens ein Fullscreen-Refresh fährt (5KB, die durch das Daemon-Frontend Protokoll noch auf ca 10KB aufgebläht werden. Datenabhängig sind es noch mehr, da bestimmte Zeichen escaped werden müssen, um nicht als Befehl interpretiert zu werden). Da USB-Fullspeed jedoch bis zu 1,5MB/s an Datenrate bietet, ist das bei einem Display-Refresh von ca. 5 mal pro Sekunde auch kein Problem.
    Dann kommen noch ein paar Datenpakete vom Rechner zum Frontend (z.B. Switch To Standby, Set Alarm,...), welche aber auch nicht nennenswert sind.

  • ich wäre auch sehr an diesem erweiterungsboard intressiert, aufgrund der sache mit dem datum / uhrzeit bei ausgeschaltetem zustand :)


    infinite

    kuifje
    asus m2n-vm | Athlon 5600 | Nvidia 9300GE | TT S2-3200
    yaVDR 0.4 | 1.7.21
    haddock
    asus p4pe | 2ghz | 3x DVB-S Budget | 2x500gb
    debian lenny 2.6.29.3 | e-tobi 1.7.0 | streamdev cvs | live


    <30.12.07 <igel>sid fuer den gewissen kick>
    <01.04.08 <igel>ich kann eh nix ausser debian pakete installiern>
    <15.12.09 igel hasst linux>
    <23.02.10 <igel> easyvdr is nur easy wenn es easy is>

  • Zitat

    Original von infinite
    ich wäre auch sehr an diesem erweiterungsboard intressiert, aufgrund der sache mit dem datum / uhrzeit bei ausgeschaltetem zustand :)


    infinite


    dito. Sehr schönes Board hast du da gebastelt. Allerdings würde mir auch die Ansteuerung vom Display mit der Uhrzeit reichen.


    Ich will jetzt nicht zu viel verlangen, aber kannst du den Teil vielleicht separieren? Also wirklich nur die Ansteuerung des LCD mit Zeitanzeige im Standby.


    Gruß,


    Fleischwurst

  • Sicher würde das gehen. Allerdings ist es wahrscheinlich so, dass jeder gerne eine etwas andere Konfiguration hätte:
    - mit/ohne IR-Einschalter bzw. Fernbedienungserkennung
    - mit/ohne Helligkeitsregelung
    - mit/ohne Audioausgänge
    - mit/ohne SCART
    - mit/ohne Tastenfeld
    Leider läßt sich das Design nicht für jede dieser Konfigurationen einfach so anpassen bzw. es gäbe für bestimmte Konfigurationen viel einfachere und bessere Lösungen.


    Beispielsweise wäre es für eine reine Standby-Display-Geschichte besser, direkt den Parallel-Port des Rechners an den ATMega128 zu hängen bzw. mit einem Multiplexer zwischen dem Parallel-Port und dem ATMega128 einfach umzuschalten. Dann bräuchte man auch keine Änderung des GraphLCD-Treibers. Die Kommunikation mit dem Rechner würde ich dann per serieller Schnittstelle machen. In meiner Konfiguration ist es aber so, dass ich aufgrund des USB-Chips und den Tastern nicht genügend freie IO-Pins am ATMega128 mehr habe, um den Parallelport des Rechners auch noch dran zu hängen.


    Wie gesagt: Falls Interesse besteht, kann ich die Schematics, Layouts und die Software (Quellcode) zum Download anbieten und jeder kann sich daraus basteln, was er genau benötigt. Für Fragen dazu stehe ich selbstverständlich zur Verfügung.
    Wenn von vielen Leuten eine bestimmte Konfiguration favorisiert wird, werde ich diese gerne bauen, aber ich habe weder Lust noch Zeit, für jeden Wunsch ein individuelles Design zu basteln. Dafür ist es ja frei verfügbar...

  • Eins noch:


    Das Eeprom am FTDI ist unter Umständen nicht so nutzlos, wie du denkst:


    a) Kannst du dir bei FTDI eine eindeutige PID besorgen und die dort ablegen.


    b) Haben die Windows-Treiber teilweise Probleme mit mehreren Default-FTDI's am gleichen USB - hier hilft dann auch die "Personalisierung" per Eeprom.
    Wenn denn jemand das Gerät unter Windows betreiben möchte - ob die Linux-Treiber diese Probleme auch haben, weiss ich leider nicht :).


    c) Erscheint beim Einstecken des Gerätes an den USB dann "Mein Super VDR AV-Board" - ist ja auch ne schicke Sache :)


    Achja: Hab ganz vergessen - schicke Sache das! :]


    arghgra

  • Schon klar, deswegen hatte ich es auch mit draufgebaut.
    Die Linux-Treiber funktionieren aber auch ohne die Personalisierung per EEPROM und da ich im Normalbetrieb die Bootmessages nicht mitlese, brauche ich auch keine personalisierte Plugin-Message ;)
    Bei Windows weiß ich nicht, wie es mit der Erkennung aussieht.
    Da ich den VDR und die Erweiterung ausschliesslich unter Linux betreibe (wie wahrscheinlich die meisten hier), ist es einfach so, daß ich das EEPROM nicht benötige und es bei einem kommenden Design einfach weglassen würde...

  • Hallo Pert,


    ich bin nicht von Fach, hab aber mal bei Atmel auf der Webseite ein wenig gestöbert. Was wäre davon zu halten wenn ein ATmega1280 oder 2560 eingesetzt wird? Der hat noch ne menge mehr Ports frei :) , braucht aber auch nen anderen Sockel :( 100 Pin. Das erstmal von hier....kosten bei Reichelt für den 2560 so um 14€


    Wenn Du magst kann ich Dir mein 64x128 Display zusenden zum Anpassen, ist grad ausgebaut.


    Schöne Grüße


    Sven

    Life on earth may be expensive,
    but it does include an annual free trip around the sun.


    Derzeit Aktuelles Sytem: (Bindet immer noch alle Ressourcen)
    Fertigstellung 8.9.06,16.35Uhr, 52cm lang,3280gr,
    85db im Full-Power Modus , Brudersystem seit 20.12.08 in Betrieb.


    Derzeit auf Eis (fast):
    Systemdaten: MainBoard mit AMD Irgendwas, 256MB, Hauppauge WinTV DVB-S (1.x?), NEC 2-Layer DVD Brenner, Maxtor 80GB HDD, Realtek LAN. c´t VDR6.? jigdo version

    Einmal editiert, zuletzt von s.lipkow ()

  • Der 2560 sieht gut aus, da könnte man dann direkt den Parallelport an den Microcontroller hängen.
    Vorteil:
    - Keine Änderung der Graphlcd-Lib notwendig, Unabhängigkeit vom verwendeten LCD (solange es über den Parallelport angesteuert wird)
    Nachteil:
    - Zusätzliches Kabel vom Parallelport zum Erweiterungsboard notwendig, welches man entweder über einen Schlitz im Gehäuse wieder nach innen führen müsste oder man baut noch nen Connector ins Gehäuse ein. Auf dem Board selbst ist auf der Anschlussseite kein Platz mehr, da die SCART-Buchse fast die gesamte Boardbreite benötigt. Ich fand halt die Lösung über ein einziges USB-Kabel (evtl. sogar intern) relativ sauber.


    TQFP100 zu löten ist mit Lötstopplack kein Problem (IMHO auch für Anfänger):
    Einfach etwas Lötleitpaste auf die Pads, leicht vorverzinnen, IC draufdrücken und mit nem dicken fetten Lötkolben kurz mal quer über alle Pins fahren. Eventuelle Brücken einfach mit Entlötlitze absaugen. Klingt brutal, funktioniert aber prima.


    Aufgrund mehrerer anderer Projekte habe ich leider keine Zeit, die µC-Code auf dein Display anzupassen.
    Ist aber keine Magie: Einfach mal mit dem LCD-Datenblatt hinsetzen und schauen, welcher Pin für was gut ist bzw. welche Befehle es versteht. IMHO funktionieren die meisten Display-Controller relativ ähnlich, d.h. es geht nur um ein paar kleine Anpassungen im Code (z.B. Befehlsopcodes, Initialisierung, Breite/Höhe,...).
    Im Oktober habe ich wieder etwas mehr Luft, dann könntest Du mich nochmal anhauen...


    Gruß,
    Pert

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!