» über uns

Zeige Ergebnis 1 bis 17 von 17
  1. #1
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard 4in2 AMP-Umschalter mit Arduino

    Hallo,
    dann will ich mal mein erstes Posting machen....

    Ich habe in meiner Bastelbude oft bis zu 4 (leider manchmal mehr) Verstärker/Receiver stehen. Teils zu sammeln, teils zum ausprobieren.

    Für ein anderes Projekt habe ich den Arduino Nano entdeckt und passende Relais waren für einen Umschalter auch schnell in china gefunden. ein OLED Display soll das ganze abrunden.

    Hier der Versuchsaufbau:






    Ich möchte später am Gehäuse nur drei Schalter/Taster und das Display haben. Keine LED und kein schnickschnack.

    Es gibt also einen Taster für "vor" und einen Taster für "zurück" um die Amps umzuschalten. Der dritte Schalter (rastender Taster) schaltet zwischen Lautsprecher-Ausgang 1 und 2 um.

    Hier mal das Schaltbild:


    Zum Code für den Arduino später mehr.
    Geändert von EoA (23.02.2018 um 14:18 Uhr) Grund: Typo

  2. #2
    Erfahrener Benutzer
    Registriert seit
    25.01.2014
    Ort
    München
    Beiträge
    112

    Standard

    Hi EoA,

    GENIAL!
    Genau soetwas steht auch noch auf meiner ToDo liste.
    Ich denke, man kann das Teil auch "rückwärts" verwenden und 4 Paar Lautsprecher an zwei Amps verwalten!?
    Die gaanz motivierten Bastler könnten die Relais "doppelt auslegen" und die Quelle gleich mitumschalten - so könnte man auch Für jeden der 4 Kanäle ein eigenes Poti mit einschleifen und wirkungsgradbedingte Pegelunterschiede ausgleichen.
    Das Teil wäre dann perfekt für Direkt- / Blindvergleiche geeignet.

    Ich lese auf jeden Fall schon mal interessiert mit! =)

    Gruß
    M
    PS: Willkommen im Forum

  3. #3
    nach zu Laut kommt Stille Benutzerbild von Olaf_HH
    Registriert seit
    19.11.2012
    Ort
    Hamburg
    Beiträge
    4.067

    Standard

    Hi,
    Hast du bedacht, das alle! Ausgangsleitungen der amps gegeneinander potential frei sein muessen, du also alle plus und minus leitungen getrennt schalten musst?
    Die blauen relais wuerde ich fuer diese Anwendung nochmal ueberdenken.
    Idee finde ich aber sehr gut.
    In Hamburg sagt man, Moin

    Olaf_HH






  4. #4
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard

    Zitat Zitat von Olaf_HH Beitrag anzeigen
    Hi,
    Hast du bedacht, das alle! Ausgangsleitungen der amps gegeneinander potential frei sein muessen, du also alle plus und minus leitungen getrennt schalten musst?
    Die blauen relais wuerde ich fuer diese Anwendung nochmal ueberdenken.
    Idee finde ich aber sehr gut.
    Der Blick auf den Schaltplan beantwortet deine Frage. Es wird IMMER plus und minus geschaltet.

    Die blauen Relais haben sich bei anderen bisher bewährt.
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  5. #5
    nach zu Laut kommt Stille Benutzerbild von Olaf_HH
    Registriert seit
    19.11.2012
    Ort
    Hamburg
    Beiträge
    4.067

    Standard

    Hi, danke. Hab ich aufm tablet wohl falsch gesehen.
    Bei kleinleistungen sind die auch gut. Setzt n freund in industriellen schaltungen ein. Bei hoeheren schaltstroemen hat er die wegen der Langzeitqualitaet diese dann nicht mehr fuer lastschaltungen verwendet. Die kontakte haben nach 2 Jahen einen hoeheren wiederstand gehabt.
    In Hamburg sagt man, Moin

    Olaf_HH






  6. #6
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard

    Zitat Zitat von Olaf_HH Beitrag anzeigen
    Hi, danke. Hab ich aufm tablet wohl falsch gesehen.
    Bei kleinleistungen sind die auch gut. Setzt n freund in industriellen schaltungen ein. Bei hoeheren schaltstroemen hat er die wegen der Langzeitqualitaet diese dann nicht mehr fuer lastschaltungen verwendet. Die kontakte haben nach 2 Jahen einen hoeheren wiederstand gehabt.
    Ja das mag sein, werde ich dann mal messtechnisch begleiten. Zum Glück kostet so eine 8-Relais-Platine in China nur ca. 8-10€, was einen Austausch nach 2 Jahren problemlos macht.

    Ich persönlich würde nicht unter hoher Last den Verstärker umschalten, schon meinen Boxen zu liebe...
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  7. #7
    Erfahrener Benutzer
    Registriert seit
    25.01.2014
    Ort
    München
    Beiträge
    112

    Standard

    Hi Jungs,
    Ich hab mit genau solch einer Relaisplatine (allerdings mit nur einem Relais) mal einen "Mühlentimer" für meine Espressomühle gebaut. Das Relais schaltet dort seit gut zwei Jahren jeden Tag zwischen 5 und 10 Mal einen 800W Elektromotor (der jedes Mal gegen "verklemmte" Kaffeebohnen anläuft) ein und nach vorberechneten 2-4 Sekunden wieder aus.
    Bislang tut das Chinabrett dies nach bestimmt dreitausend Schaltzyklen noch immer ohne einen Mucks.
    Ich war zunächst auch skeptisch, hab es dann aber bei den lächerlichen Preisen einfach mal probiert ("Es steht ja 10A druff") und ein zweites Board auf Vorrat gekauft (mit dem ich dann nen Schütz geschalten hätte).


    Wenn wir mal großzügig mit 10W in 4 Ohm rechnen, kommen wir auf grob eineinhalb Ampere. Darüber lacht selbst das Billigrelais ;-)

    Du steuerst die Relais über ein IC an, oder? Mit dem Arduino Mega müsste das ja auch noch "direkt" gehen, der hat ja >30 Digitalausgänge.

    Edit: Was vielleicht nicht ganz verkehrt wäre, gerade wenn du viele Amps testest: In den "Sternpunkt" könnte man zentral noch einen Lautsprecherschutz zwischenschalten...

    Gruß
    Geändert von arlecchino (23.02.2018 um 19:23 Uhr)

  8. #8
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard

    Ich steuer die Relais direkt über den Arduino. Sieht man doch schön im Schaltplan, der den Arduino beinhaltet

    Lautsprecherschutz? Was genau meinst du damit? Es wird immer erst freigeschaltet und dann die andere Quelle zugeschaltet - sieht man später im Code.

    Nicht benutzte Eingänge werden über einen Lastwiderstand (8 Ohm 50W oder 100W) abgeschlossen um auch Röhrenverstärker zu schützen.

    Zur Haltbarkeit der Relais habe ich ähnliche Aussagen. Danke für die Bestätigung.
    Geändert von EoA (24.02.2018 um 13:33 Uhr)
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  9. #9
    Erfahrener Benutzer
    Registriert seit
    25.01.2014
    Ort
    München
    Beiträge
    112

    Standard

    Wer die Augen auf macht sieht mehr.

    Mit Lautsprecherschutz mein ich ein Modul wie dieses hier - das trennt die Verbindung wenn der Amp Probleme macht und Gleichspannung anliegt.
    Einschaltverzögerung wäre jetzt weniger relevant, das ist bei ner Arduino-Lösung ja nur eine zusätzliche Zeile Code ;-)

  10. #10
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard

    Hier mal ein Teil des Code:

    Code:
    #include <SPI.h>
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    
    #define OLED_RESET 4
    Adafruit_SSD1306 display(OLED_RESET);
    
    #define NUMFLAKES 10
    #define XPOS 0
    #define YPOS 1
    #define DELTAY 2
    
    
    #if (SSD1306_LCDHEIGHT != 32)
    #error("Height incorrect, please fix Adafruit_SSD1306.h!");
    #endif
    
    
    int buttonstatevor = 0;
    int buttonstaterueck = 0;
    int buttonstateoutput = 0;
    int amp1 = 6; //digital output pin6
    int amp2 = 7; //digital output pin7
    int amp3 = 8; //digital output pin8
    int amp4 = 9; //digital output pin9
    int output1 = 10; //digital output pin 10
    int counter =0; //counter auf 0 setzen
    //int out =0;
    String LS1,ampdisplay;
    
    void setup()
    
    {
    Serial.begin(9600);
    
      // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
      display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3C (for the 128x32)
      display.clearDisplay();  
      display.setTextSize(2);
      display.setTextColor(WHITE);
      display.setCursor(0,0);
      display.println("No Amp!");
      display.println("Push Btn!");
      display.display();
      pinMode(amp1, OUTPUT);
      pinMode(amp2, OUTPUT);
      pinMode(amp3, OUTPUT);
      pinMode(amp4, OUTPUT);
      pinMode(output1, OUTPUT);
      pinMode (2, INPUT); //Taster vorwärts
      pinMode (3, INPUT); // Taster rückwärts
      pinMode (4, INPUT); // Taster Lautsprecherumschalter
      digitalWrite(amp1,HIGH); //Relais abgefallen
      digitalWrite(amp2,HIGH); //Relais abgefallen
      digitalWrite(amp3,HIGH); //Relais abgefallen
      digitalWrite(amp4,HIGH); //Relais abgefallen
      digitalWrite(output1,HIGH); //Ausgang Relais abgefallen
      LS1 = String("LS1");
      ampdisplay = String("No Amp!");
    
    }
    ausserhalb des Loops die Funktion um etwas in das Display zu schreiben:

    Code:
    void displaywrite (String ampdisplay, String LS1) {
         display.clearDisplay();  
         display.setCursor(0,0);
         display.println(ampdisplay);
         display.println(LS1);
         display.display();
    }
    Und noch der Code für den "Vorwärtstaster" im Loop

    Code:
    void loop()
    
    {
      
    buttonstatevor = digitalRead(2); //Taster einlesen (vor)
    buttonstaterueck = digitalRead(3); //Taste einlesen (zurück)
    buttonstateoutput = digitalRead(4); //Lautsprecher Auswahltaste einlesen
    
    if (buttonstateoutput == HIGH) { 
      
       LS1=String("LS2");
       digitalWrite(output1, LOW);
       displaywrite (ampdisplay,LS1);
       delay(100);
      }
      else 
      { 
        digitalWrite(output1, HIGH);
        LS1=String("LS1");
        displaywrite (ampdisplay,LS1);
        delay(100);
        
       } //Auf ampdisplay umschalten
    
    
    if (buttonstatevor == HIGH) {
    
        if (counter == 0) 
        {
         digitalWrite(amp4, HIGH); //amp4 ausschalten
         digitalWrite(amp3, HIGH); //amp3 ausschalten
         digitalWrite(amp2, HIGH); //amp4 ausschalten 
         delay(300);
         digitalWrite(amp1, LOW); //amp1 einschalten
         Serial.println("AMP1 eingeschaltet");//Serielle Debugmeldung
         ampdisplay=String("Amp 1");
         displaywrite (ampdisplay,LS1);
         exit;
        }
    
        if (counter == 1) 
        {
         digitalWrite(amp4, HIGH); //amp4 ausschalten
         digitalWrite(amp3, HIGH); //amp3 ausschalten
         digitalWrite(amp1, HIGH); //amp1 ausschalten
         delay (300);
         digitalWrite(amp2, LOW); //AMP2 einschalten
         Serial.println("AMP2 eingeschaltet");
         ampdisplay=String("Amp 2");
         displaywrite (ampdisplay,LS1);
         exit;
        }
    
    if (counter == 2) 
        {
         digitalWrite(amp4, HIGH); //amp4 auschalten
         digitalWrite(amp1, HIGH); //amp1 auschalten
         digitalWrite(amp2, HIGH); //amp2 auschalten
         delay(300); 
         digitalWrite(amp3, LOW); //amp3 einschalten
         Serial.println("AMP3 eingeschaltet");
         ampdisplay=String("Amp 3");
         displaywrite (ampdisplay,LS1);
         exit;
        }
    
        if (counter == 3) 
        {
         digitalWrite(amp3, HIGH); //amp3 auschalten
         digitalWrite(amp1, HIGH); //amp1 auschalten
         digitalWrite(amp2, HIGH); //amp2 auschalten
         delay(300);
         digitalWrite(amp4, LOW); //amp4 einschalten
         Serial.println("AMP4 eingeschaltet");
         ampdisplay=String("Amp 4");
         displaywrite (ampdisplay,LS1);
         exit;
        }
        
        if (counter == 4) 
        {
         digitalWrite(amp1, HIGH); //amp1 auschalten
         digitalWrite(amp2, HIGH); //amp2 auschalten
         digitalWrite(amp3, HIGH); //amp3 auschalten
         digitalWrite(amp4, HIGH); //amp4 auschalten   
         Serial.println("alles aus");
         ampdisplay=String("No Amp!");
         displaywrite (ampdisplay,LS1);
         exit;
        }
       delay (1900);
       counter++;
       if (counter > 4) counter = 0;
       Serial.println(counter); //Debug counter state
     }
    Rückwärts kann man sich dann vielleicht denken - falls nicht einfach nachfragen.

    Viel Spaß beim Nachbauen oder Weiterentwickeln.
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  11. #11
    Erfahrener Benutzer
    Registriert seit
    17.04.2009
    Ort
    Dettenhausen
    Beiträge
    1.056

    Standard

    Hallo zusammen,

    da klinke ich mich mal in die Diskussion ein.
    Sowas liegt auch auf meinem Basteltisch.

    Hab mir extra einen analogen Sat-Receiver dafür gekauft.
    Nur als Gehäuse. Da ist genügend Platz drin, nicht so klein wie die aktuellen Gehäuse. Vor allem an der Rückwand des Gehäuses ist genug Platz für vieeele Anschlüsse.

    Mein Plan:
    Eine Quelle (Cinch-Eingang), 4 Ausgänge (Cinch), an diese werden bis zu 4 DUTs angeschlossen (Endstufen), Endstufenausgänge dann wieder über Polklemmen zurück in dieses Gerät und dann werden diese Ausgänge auf den einen Lautsprecher geschaltet.
    Oder Eine Endstufe, deren Ausgang wieder hier herein und auf bis zu 4 Lautsprecher geschaltet.

    Das ganze fernbedienbar, Arduino-Beispiel code gibt es ja für sowas.
    Mit LC-Display. Auch einfach über Arduino machbar.

    Und vor Allem:
    Ein PGA2311 als Vorverstärker ist mit dabei. Damit können einzelnen DUTs korrekt ausgepegelt werden, damit ja keiner lauter ist als der Andere, sonst gewinnt der lauteste.
    Lautstärke wird dann immer beim Umschalten automatisch angepasst.
    2311 hat auch den Vorteil, dass der "bis zu 660 Ohm Impedanz" ansteuern kann, der kann also alle 4 Endstufen treiben, das muss nicht extra umgeschaltet werden.

    Und mit zufälliger Zuordnung der Probanden. Der Arduino merkt sich in jeder Runde, welches Gerät aktiv war und nach Abschluss des Tests wird das Protokoll über das Display durchgescrollt oder per seriellem Interface an einen Rechner gesendet.

    D.h. man kann alleine einen Blindtest durchführen.
    Arduino Code hab ich mir aus Beispielen zusammengesucht. Ist gerade eine große Baustelle.

    EoA, mit welchem Tool hast du denn das Schaltbild gezeichnet?

    Viele Grüße

    Ulf
    Member of
    "Stuttgart audio expert group - an association/community of interest of engineers, scientists (acoustics, physics), and musicians"

  12. #12
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard

    Hi Ulf,

    mit Eagle von Autodesk - für den privaten Einzelanwender kostenlos. Libaries für den Arduino findest du im Internet.
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  13. #13
    Erfahrener Benutzer
    Registriert seit
    17.04.2009
    Ort
    Dettenhausen
    Beiträge
    1.056

    Standard

    Ah, DAS ist Eagle.
    Ja, damit sollte ich mich endlich mal beschäftigen.

    Ok, danke.
    Member of
    "Stuttgart audio expert group - an association/community of interest of engineers, scientists (acoustics, physics), and musicians"

  14. #14
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10

    Standard

    So fertig... Projektende. Falls noch jemand am Quellcode interessiert ist kann ich ihn hier posten. Bis neulich.













    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  15. #15
    Benutzer
    Registriert seit
    13.01.2012
    Beiträge
    77

    Standard

    Ich bin begeistert und möchte auch so etwas bauen.
    Code wäre super
    Viele Grüße und viel Freude damit
    Claus

  16. #16
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

  17. #17
    HiFi-Fan
    Registriert seit
    12.02.2018
    Ort
    Bochum
    Beiträge
    10
    VG

    Sascha

    Lange Tage und angenehme Nächte.
    P.S. Früher war nicht alles besser. Wir waren nur jünger. Ging aber auch vorbei. - Uwe Schleifenbaum

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •  
Powered by vBadvanced CMPS v4.3.0