-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Midi nur wenn es kalt ist, oder wie stabil ist ein Quarz?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672

    Midi nur wenn es kalt ist, oder wie stabil ist ein Quarz?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe vor einiger Zeit hier im Forum schon mal mein Problem mit einer Midi-Übertragung beschrieben. Leider habe ich noch keine Lösung gefunden. Ich wollte mich mal wieder drum kümmern, deshalb dieses neue Thema hier.

    Es geht um die Steuerung eines DSP-Prozessors an meiner Hifi-Anlage über seine Midi-Schnittstelle. Die Midi-Sequenzen zum steuern kommen von einem ATTiny4313. Der Tiny läuft an einem 4,0000 MHz Quarz und hat einen Infrarot-Empfänger, über den ich RC-5 Code von meiner Fernbedienung empfange. Dieser Empfang klappt immer und einwandfrei. Ich kann dies prüfen, da ich über die Fernbedienung Das Power-Relais für den DSP steuern kann. Die Tiny-Schaltung ist immer an Strom, um auch im "Standy-By" die IR-Signale zum einschalten zu empfangen.

    Grundsätzlich: Die Erzeugung der Midi-Squenzen funktioniert. Aber nur, wenn die Schaltung "kalt" ist. Mein alter Beitrag hier im Forum ist vom Februar. Da habe ich die Schaltung und die Software entwickelt. Es hat während der Entwicklung immer einwandfrei funktioniert. Die Fehlfunktion habe ich dann erst im tatsächlichen Einsatz festgestellt. Wenn der DSP einige Zeit an ist, und es im Gehäuse wärmer wird mag er keine Midi-Signale mehr empfangen. Aktuell im Sommer wenn es warm ist funktioniert der Empfang auch nach einer Abkühlungszeit nicht mehr.

    Ich verstehe das nicht, denn für diese Probleme habe ich ja extra einen Quarz verbaut. Es ist dieser hier: http://www.reichelt.de/index.html?AC...;ARTICLE=32837
    Laut Datenblatt möchte er 20pF Kondensatoren, bestückt habe ich diese 22pF: http://www.reichelt.de/index.html?ACTION=3;ARTICLE=9281

    Da der Empfang grundsätzlich im kalten Zustand funktioniert gehe ich davon aus, dass die Hard- und Software korrekt ist. Trotzdem hier ein Ausschnitt der Midi-Schaltung:

    Klicke auf die Grafik für eine größere Ansicht

Name:	Midi.png
Hits:	52
Größe:	4,6 KB
ID:	28790

    Und hier zur Übersicht die relevanten Code-Teile für das Übertragen der Midi-Daten:

    Code:
    #define AVRGCC
    
    #include <avr/io.h> 
    #include <compiler.h>
    
    #define Midi_BAUD                    31250l
    #define Midi_UBRR                    (F_CPU / (Midi_BAUD * 16) - 1)
    
    
    
    void Midi_sendData (U8 channel, U8 command, U8 data1, U8 data2)
    {
        U8 statusByte = (command & 0xF0) + ((channel - 1) & 0xF);
    
        while (!(UCSRA & (1<<UDRE)));
        UDR = statusByte | 0x80;
        
        while (!(UCSRA & (1<<UDRE)));
        UDR = data1 & 0x7F;
        
        while (!(UCSRA & (1<<UDRE)));
        UDR = data2 & 0x7F;
    }
    
    
    int main(void)
    {
        DDRB =  0b00000111;                                                        // IOs konfigurieren
        PORTB = 0b11111000;
    
        DDRD =  0b00110110;
        PORTD = 0b11001001;
    
        
        UBRRH = (U8)(Midi_UBRR>>8);                                                // Midi-Baud-Rate setzen:
        UBRRL = (U8)Midi_UBRR;
        UCSRC = (1<<UCSZ1) | (1<<UCSZ0);                                        // 8 Bit, 1 Stopp-Bit, kein Parity
        UCSRB = (1<<TXEN);                                                        // USART für Midi-Übertragung initalisieren    
        UCSRA = 0;
    
    
        if (DSP_defeat_status)
            Midi_sendData (Midi_channel, Midi_ControlerChange, 19, 1);
        else
            Midi_sendData (Midi_channel, Midi_ControlerChange, 19, 2);
    }
    Hat vielleicht jemand eine Idee, woran das liegen kann?

    Zur vollständigkeit hier noch der Link zum alten Thread vom Februar: http://www.roboternetz.de/community/...Hilfe-bei-Midi

    Viele Grüße
    Andreas

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Was ist denn beim MiDi Interface Eingang für ein Optokoppler verbaut?
    Ganz oft wird da ein CNY17 II verwendet. Mit diesem Sch... Ding hab ich mich schon viel geärgert.
    Ein PC900 oder ein Vergleichstyp funktionieren dagegen meistens problemlos.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo Andreas,

    Überbrücke testweise einmal einen der beiden 220R Widerstände.

    Dann wird der Optokoppler mit 7.5mA anstatt 5mA betrieben.
    Wenns an der mangelnden Empfindlichkeit des Optokopplers im warmen Zustand liegt, sollte es zumindest besser werden.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    Die MIDI-Baudrate von 31250Bd wird bei 4MHz und dem UBRR=7 exakt getroffen, es gibt also schon mal keinen systematischen Timing-Fehler.
    Wie lange ist denn die Pause zwischen zwei aufeinanderfolgenden MIDI-Paketen? Wenn ununterbrochen gesendet wird, gibt es Probleme mit der Synchronisierung. Dann muss nach dem letzten Byte eine Pause von z.B. 1-2 Bitdauern eingehalten werden, um beim nächsten Paket wieder synchronisieren zu können.
    Grüße, Bernhard
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Quarze sind schon recht Temperaturstabil. Auch ein schlechter Quarz sollte mit 100 ppm/K und vielleicht 30 K Abweichung von der Nenntemperatur nur 0,3 % bei der Frequenz daneben liegen. Auch mit falschen Werten für die Kondensatoren kann man den Quarz kaum so weit verstimmen, dass die Frequenz zu weit abweicht. Die Gefahr wäre da eher das der Quarz dann bei höherer Temperatur (des ICs) nicht mehr schwingt, wenn die Kondensatoren grenzwertig sind.

    Empfindlicher auf die Temperatur sind Optokoppler.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Hallo,

    vielen Dank für die Hinweise. An dem Empfänger hätte ich jetzt gar nicht gedacht. Aber ihr seid euch da ja recht einig. Bei einem Kaufgerät für den professionellen Bühneneinsatz hätte ich nicht an solche grobe Fehler gedacht, wie ihr sie beschreibt.

    Im DSP ist ein 7805 an den Boden geschraubt und nutzt das Gehäuse als Kühlkörper. Vom Trafo kommen 2x 12V AC. Den Strom habe ich nicht gemessen, aber die Spannungsdifferenz und die vielen LEDs lassen schon ahnen, dass das Gehäuse nach etwas Betrieb zur Heizung wird.

    Ich werde den DSP mal aufschrauben und schauen was für Optokoppler verbaut sind. Ich könnte theoretisch sogar dahinter einspeisen, wollte mir die galvanische Trennung aber bewahren, da es um Audio geht und meine Schaltung mit dem Atmel noch mit anderen Geräten meiner Anlage verbunden ist.

    Der Tipp mit dem Überbrücken der 220R ist auch gut. Ich werde berichten. Vielen Dank bis jetzt!

    @BMS: Den Quarz habe ich extra so gewählt, dass die Baudrate genau getroffen wird. Ich vermute, dass seine Frequenz auch stabil ist und bleibt, sonst würde die RC-5 Auswertung auch irgendwann aus dem Ruder laufen.
    Zwischen den "Datenpaketen", also den 3 Midi-Bytes ist immer sehr lang Pause. Es wird bei jedem Tastendruck auf die Fernbedienung jeweils ein Midi-Befehl generiert. Bis ich dann wieder drücke vergehen Sekunden.

    Viele Grüße
    Andreas

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der RC-5 Code ist wohl schon weniger Zeitkritisch als die UART Übertragung für Midi. Möglich wäre ggf. noch, dass da zwar ein 4 MHz Quarz dran hängt aber immer noch der interne Takt genutzt wird. Allerdings hat man da ja nur 1 MHz oder 8 MHz so ohne weiteres zur Auswahl.

    Das Problem sind da halt leicht Optokoppler weil es für die einfachen Typen da mit der Geschwindigkeit schon eng wird. Auch die Treibertransistoren könnte auf die Temperatur reagieren, allerdings ist da die Richtung eher mehr Stromverstärkung bei steigender Temperatur - das sollte also eher weniger Problem machen. Sofern es nicht extrem heiß wird sollten auch Leckströme nicht das Problem werden.

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Hallo,

    ich habe heute mal den DSP geöffnet und ihr hattet recht. Es ist ein CNY17-Optokoppler am Midi-Eingang verbaut:

    Klicke auf die Grafik für eine größere Ansicht

Name:	DSP1100_Optokoppler.jpg
Hits:	17
Größe:	112,3 KB
ID:	28801

    Allerdings ist es ein CNY17-3. Ich habe mal ins Datenblatt geschaut. Der CTR Wert unterscheidet sich vom Typ 2. CTR sagt mir aber nichts. In den Rise- und Fall-Zeiten sind beide gleich.

    Ich habe testweise einen 220R auf meiner Platine überbrückt, wie von euch vorgeschlagen, leider hat dies nicht geholfen. Als nächstes werde ich einen PC900 ausprobieren. Gibt es eventuell noch andere Vorschläge für passende Optokoppler?

    Da das Ding offen war hier ein Bild des 7805:

    Klicke auf die Grafik für eine größere Ansicht

Name:	DSP1100_7805.jpg
Hits:	14
Größe:	64,1 KB
ID:	28802

    Und dem LED-"Weihnachtsbaum":

    Klicke auf die Grafik für eine größere Ansicht

Name:	DSP1100_LEDs.jpg
Hits:	12
Größe:	41,3 KB
ID:	28803

    Das Gehäuse wird nach einiger Zeit "handwarm". Aber bei den derzeitigen Außentemperaturen funktioniert die Midi-Übertragung auch nicht, wenn das Gerät lange Zeit aus war.

    Viele Grüße
    Andreas

  9. #9
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Analog bin ich ja eher ahnungslos, aber bei deiner Schaltung hätte ich Bedenken:



    Selbst wenn V14 durchgesteuert ist würde ich an der Basis von V6 noch soviel Spannung erwarten, dass ich für das Sperren von V6 keine Garantie übernehmen würde.

    Gruß

    mic

    P.S.: Hat sich erledigt. In der Sättigung hat der BC547 eine CE-Spannung von unter 250mV bei der hier verwendeten Einstellung ICE=5mA und IB von ca. 4,3mA:
    http://www.fairchildsemi.com/ds/BC/BC547.pdf

    Schönes WE noch...
    Geändert von radbruch (02.08.2014 um 17:08 Uhr)

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  10. #10
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Größe CTR ist das Current transfer ratio, also das Verhältnis aus Phototransistor Strom und LED Strom beim Optokoppler.

    Den Strom für die LED zu erhöhen kann ggf. helfen, wenn das Problem eine abnehmende Intensität der LED ist, also ein zu kleines CTR bei hoher Temperatur. Es kann die Sache aber auch verschlechtern, weil der Optokoppler dann (stärker) in die Sättigung geht und damit langsamer wird. Beim Optokoppler wüste ich jetzt keine 1:1 alternative - die schnelleren haben mit 8 Pin Gehäuse. Ein Möglichkeit wäre ggf. die Beschaltung des Optokopplers etwas zu ergänzen: Entweder ein zusätzlicher Widerstand (ca. 100-200 K) zwischen den Pins 4 und 6, zusammen mit mehr Strom für die LED - das reduziert die Empfindlichkeit und beschleunigt den Optokoppler etwas. Oder alternativ eventuell auch eine kleine Schottkydiode (z.B. BAS70, ggf. sogar BAT 17 ) zwischen den Pins 5 und 6 (Kathode an 5) um eine Sättigung zu verhindern.

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] Serielle Kommunikation nur wenn ISP gesteckt ist
    Von sledge77 im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 25.08.2011, 09:34
  2. Antworten: 3
    Letzter Beitrag: 16.11.2006, 18:01
  3. Tiny26... Ist ein Quarz nötig?
    Von freshi im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 31.10.2005, 23:24
  4. Wie stabil ist: Azetalharz (Hostaform C)
    Von dundee12 im Forum Mechanik
    Antworten: 3
    Letzter Beitrag: 26.08.2005, 17:53
  5. Standard Quarz oder Quarzoszillator, was ist besser?
    Von Sauginius im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 26.05.2004, 21:38

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •