- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 22

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716

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

    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: https://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
    2.213
    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
    66
    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
    33
    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
    716
    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

Ähnliche Themen

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

Berechtigungen

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

Labornetzteil AliExpress