Ankündigung

Einklappen
Keine Ankündigung bisher.

8-Kanal Multiroom Audio Controller+Verstärker auf piCorePlayer Basis

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Ich würde diese Ausführung in 8-fach brauchen, ist eine Kopplung von zwei 4-fach möglich?
    lg
    Stefan

    Kommentar


      Zitat von trant Beitrag anzeigen
      Hochpass
      Blöde Frage, wie kann ich den Gain auf 26db bekommen, ich seh da keinen 0603 an Board und selbst wenn, die Dinger sind ja viel zu klein?
      0603 ist kein Bauteil sondern die Bauteilgröße vom Widerstand. Dass lässt sich noch ohne Auflichtmikroskop löten. Gute Pinzette und feine Lötspitze dann ist das in 2 Minuten erledigt. Nur Mut
      Zapft ihr Narren der König hat Durst

      Kommentar


        Ich würde auch einen 8-fach benötigen, aber beim 4 fach bin ich auch dabei

        Kommentar


          Hochpass Danke für die Info. Selbst wenn ich es versuchen würde (habe gestern Kabel an zwei solcher Bauteile an meinen Accesspoint gelötet um damit den Zugriff über die serielle Schnittstelle zu erreichen, und bin dabei fast verzweifelt), welche Widerstände wären es?
          lg
          Stefan

          Kommentar


            Mehrere Paltinen sind prinzipiell machbar.
            Also eine Platine kann maximal 4x Muing über je einen GPIO schalten. Ich habe dazu die mit Pulldown-Widerstand verwendet. Das passt zur Logik der Schaltung und der RaspberryPi hat mehr mit Pulldown, als mit Pullup. Das PowerOn läuft über einen Pullup GPIO.
            Verwendet habe ich für das Muting die GPIOs 9, 10, 11, 12 und für den PowerOn GPIO 24.
            An der Stiftleiste der Platine gibt es jeweils 2 verbundene Pins für Gnd, 3,3V und 5V sodaß hier von einer Platine zur nächsten verbunden werden kann. Dadurch könnte man die Spannungsversorgung durchschleifen.
            Was die Muting-Ausgänge betrifft, so muß man halt die Anzahl der GPIOs am RaspberryPi checken. Ebenso das PowerOn.
            Zuletzt geändert von papaarrugada; 11.03.2018, 17:50.

            Kommentar


              Ich schalte aktuell alle 16 Verstärker einzeln über die GPIOs des Raspberry und da wäre die Verwendung von zwei Platinen von dir der Weg in die richtige Richtung.
              lg
              Stefan

              Kommentar


                @ trant:

                evtl. kann ich Dir auch weiterhelfen.
                Ich hab meine Verstärker auch umgebaut. Soweit ich weiß, ist das neben dem Mutingeingang der zweitunterste 39K Widerstand, beschriftet mit "393".
                Der müßte jetzt ein 20K sein.
                Da ich keine 20k hatte, habe ich (und das ist nicht die beste Lösung) noch einen 39K darauf gelötet. Das ergibt dann einem Gesamtwiderstrand von 19,5K, was aber noch im erlaubten Toleranzbereich von 5% laut Datenblatt liegt (also 19K bis 20k).
                Wie gesagt, ich habe nichts anderes gehabt. Besser ist es, den Widerstand zu ersetzen.

                Kommentar


                  Danke, das sieht machbar aus
                  lg
                  Stefan

                  Kommentar


                    also hier noch meine versprochenen Skripte:

                    den bisherigen angehängten Parameter des GPIO-Outputs der jeweiligen Playerinstanz bitte entfernen weil das jetzt das Skript übernimmt.

                    es sind die beiden "muting.sh" und powerDelay.sh" im Ordner /home/tc

                    Code:
                    tc@piCorePlayer:~$ pwd
                    /home/tc
                    tc@piCorePlayer:~$ ll
                    total 16
                    -rw-r--r--    1 tc       staff         2615 Feb 15 18:53 muting.sh
                    -rwxr-xr-x    1 tc       staff          368 Dec  5 16:38 powerDelay.sh
                    -rwxr-xr-x    1 tc       staff          713 Sep 23 19:16 powerscript.sh
                    -rw-------    1 tc       staff           24 Sep 23 19:16 wifi.db
                    drwxr-xr-x    6 tc       staff          140 Jan  1  1970 www/


                    muting.sh:

                    Code:
                    #!/bin/sh -x
                    #/home/tc/www/cgi-bin/pcp-functions
                    #pcp_variables
                    
                    ##############################################
                    # Set the following according to your setup
                    ##############################################
                    MAC_ADDR=$1                     # Raspberry Pi MAC address
                    LMS_IP=192.168.0.222            # LMS IP address
                    INTERVAL=1                      # Set Poll interval
                    GPIO=$2                         # Set GPIO for muting
                    COMMAND="status 0 0"            # LMS player status command
                    DELAYOFF=3                      # Delay in no. of intervals
                    COUNT=0
                    DEBUG=0
                    TURNED_ON=0                     # Set flag with actual mode
                    ##############################################
                    
                    if [ $DEBUG = 1 ]; then
                      echo
                      echo "MAC_ADDR : "$MAC_ADDR
                      echo "LMS_IP : "$LMS_IP
                      echo "INTERVAL : "$INTERVAL
                      echo "GPIO : "$GPIO
                      echo "COMMAND : "$COMMAND
                      echo "DELAYOFF : "$DELAYOFF
                      echo
                    fi
                    
                    get_mode() {
                      RESULT=`( echo "$MAC_ADDR $COMMAND"; echo exit ) | nc $LMS_IP 9090`
                      echo $RESULT | grep "mode%3Aplay" > /dev/null 2>&1
                      if [ $? == 0 ]; then
                        echo "Playing $MAC_ADDR. Unmute GPIO$GPIO. Count: $COUNT"
                        COUNT=0
                        if [ $TURNED_ON == 0 ]; then
                          turn_on
                        fi
                      else
                        if [ $COUNT -ge $DELAYOFF ]; then
                          if [ $TURNED_ON == 1 ]; then
                            turn_off
                          fi
                          COUNT=0
                        else
                          COUNT=$(($COUNT + 1))
                          echo "Stopped $MAC_ADDR. Mute GPIO$GPIO. . Count: $COUNT"
                        fi
                      fi
                    }
                    
                    turn_on() {
                    #  sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
                    #  sleep .5
                      sudo echo "1" > /sys/class/gpio/gpio$GPIO/value
                      TURNED_ON=1
                      echo "Turn on: $GPIO"
                    }
                    
                    turn_off() {
                    #  sudo echo "1" > /sys/class/gpio/gpio$GPIO/value
                    #  sleep .5
                      sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
                      TURNED_ON=0
                      echo "Turn off: $GPIO"
                    }
                    ##############################################
                    # Initial GPIO setup
                    ##############################################
                    
                    #sudo chown tc /sys/class/gpio/export
                    #sudo echo "24" > /sys/class/gpio/export
                    #sudo chown -R tc /sys/class/gpio/gpio24/
                    #sudo echo "1" > /sys/class/gpio/gpio24/value
                    #sudo echo "out" > /sys/class/gpio/gpio24/direction
                    #sudo echo "0" > /sys/class/gpio/gpio24/value
                    
                    sudo chown tc /sys/class/gpio/export
                    sudo echo $GPIO > /sys/class/gpio/export
                    sudo chown -R tc /sys/class/gpio/gpio$GPIO/
                    # muting is active low
                    #sudo echo "1" > /sys/class/gpio/gpio$GPIO/active_low
                    sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
                    sudo echo "out" > /sys/class/gpio/gpio$GPIO/direction
                    sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
                    
                    
                    ##############################################
                    # Loop forever. This uses less than 1% CPU, so it should be OK.
                    ##############################################
                    while true
                      do
                        get_mode
                        sleep $INTERVAL
                      done


                    powerDelay.sh:

                    Code:
                    #!/bin/sh
                    
                    sudo chown tc /sys/class/gpio/export
                    sudo echo "24" > /sys/class/gpio/export
                    sudo chown -R tc /sys/class/gpio/gpio24/
                    sudo echo "1" > /sys/class/gpio/gpio24/value
                    sudo echo "out" > /sys/class/gpio/gpio24/direction
                    sudo echo "0" > /sys/class/gpio/gpio24/value
                    echo 'power off delay!'
                    
                    sleep 3s
                    
                    sudo echo "1" > /sys/class/gpio/gpio24/value
                    echo 'power on!'


                    Änderung in der /opt/bootlocal.sh mit debug Möglichkeiten:
                    Hier wird jeweils auch dem muting die passende Mac-Adresse und der GPIO-Output mitgegeben.
                    Das muting.sh wird 4x mit unterschiedlichen Parametern genutzt.

                    Code:
                    #!/bin/sh
                    # put other system startup commands here
                    
                    . /home/tc/powerDelay.sh &
                    . /home/tc/muting.sh 'ab:cd:ef:12:34:60' 9 > /dev/null &
                    . /home/tc/muting.sh 'ab:cd:ef:12:34:61' 10 > /dev/null &
                    . /home/tc/muting.sh 'ab:cd:ef:12:34:62' 11 > /dev/null &
                    . /home/tc/muting.sh 'ab:cd:ef:12:34:63' 12 > /dev/null &
                    #. /home/tc/muting.sh > /home/tc/logfile 2>&1 &
                    /opt/eth0.sh
                    
                    GREEN="$(echo -e '\033[1;32m')"
                    
                    echo
                    echo "${GREEN}Running bootlocal.sh..."
                    #pCPstart------
                    /home/tc/www/cgi-bin/do_rebootstuff.sh 2>&1 | tee -a /var/log/pcp_boot.log
                    #pCPstop------

                    und immer abspeichern mit:

                    Code:
                    sudo filetool.sh -b

                    Kommentar


                      Zitat von papaarrugada Beitrag anzeigen
                      @ trant:

                      evtl. kann ich Dir auch weiterhelfen.
                      Ich hab meine Verstärker auch umgebaut. Soweit ich weiß, ist das neben dem Mutingeingang der zweitunterste 39K Widerstand, beschriftet mit "393".
                      Jap. Notfalls kurz Multimeter dranhalten. Es gibt nur einen mit dem Wert.

                      @trant
                      Auch 20dB halte ich für einen guten Wert. Dafür muss man nur den entsprechenden 100k Widerstand runterlöten. (ich glaube der 3. in der Reihe). Das ist für jemanden der noch nie SMD gelötet hat noch einfacher.
                      Du wirst nicht mehr die maximale Ausgangsleistung abrufen können, aber wenn eh nur Deckenlautsprecher dran hängen ist das meiner Meinung nach der bessere Wert.
                      Zapft ihr Narren der König hat Durst

                      Kommentar


                        Also für 20 dB nur den 100k weg? Das wäre sogar perfekt, da ich aktuell sowieso nur maximal die halbe Leistung abrufe.
                        lg
                        Stefan

                        Kommentar


                          also es sind zwei betreffende Widerstände, die im Datenblatt R1 und R2 heißen, auf dem Verstärkerboard aber anders.

                          für die Verstärkung gilt folgende Tabelle für den Masterbetrieb (das ist der default)

                          gain | R1 | R2
                          -----------------------------
                          20 dB, 5,6k, OPEN --> 39k durch 5,6k ersetzen plus 100k entfernen
                          26 dB, 20k, 100k --> auf den 39k einen zweiten 39k parallel oder durch einen 20k ersetzen
                          32 dB, 39k, 100k --> wird ausgeliefert
                          36 dB, 47k, 75k
                          Zuletzt geändert von papaarrugada; 12.03.2018, 13:09.

                          Kommentar


                            Hallo an alle,

                            ich hab für mich auch ein System mit 8 Kanälen wie von mdf beschrieben aufgebaut.
                            Raspi 3B, 2x Logilink Soundkarte, Meanwell (5V) und Notebook Netzteil, 8x China-Verstärker, einfache Mute-Schaltung wie von mdf beschrieben, Max2Play Multisqueeze, Logitech MediaServer (noch) am PC

                            für einen ersten Test hab ich eine asound.conf mit 4 Kanälen auf einer Soundkarte aus dem max2play Forum genommen. alle Kanäle funktionierten einwandfrei.

                            dannach habe ich es mit 2 Soundkarten auf einem Raspi mithilfe von trant's asound.conf versucht.

                            Ich bekomme aber immer nur einen Player zu laufen. sobald ich einen zweiten starten will, kommt die Fehlermeldung "nicht Erfolgreich".

                            In den erweiterten Optionen der Player habe ich folgendes eingetragen:
                            Soundkarte: ogschlafz
                            Playername: OG_Schlafzimmer
                            ALSA Parameter: 80:4:: --> was bedeutet dieser Parameter?
                            Kommandozeilen Option: -o ogschlafz --> warum brauche ich das, war bei der 4 Kanal conf nicht nötig?

                            ich bin auf dem Gebiet leider ein blutiger Anfänger... die ganzen befehle die ihr hier alle so verstreut auflistet helfen mir leider nicht viel, da ich nicht weiß in welchem Zusammenhang das alles steht und wo genau die eingetragen werden müssen. Hab den Faden hier gefühlte 10x durchgearbeitet.

                            Ich hoffe es kann mir hier jemand weiterhelfen.

                            Danke!!!

                            rischr

                            Kommentar


                              Zitat von trant Beitrag anzeigen
                              Also für 20 dB nur den 100k weg? Das wäre sogar perfekt, da ich aktuell sowieso nur maximal die halbe Leistung abrufe.
                              Ja, ich glaube der 3. in der Reihe. Bitte nachmessen. Gain wird über einen Spannungsteiler am gain pin eingestellt. Der Spannungsteiler ist so hochohmig, damit man nicht zu viel Strom aus dem GVDD zieht, der interne Regler kann nicht viel Storm liefern. Für die 20dB Einstellung ist der Widerstandswert fast egal, da der Pegel auf GND gezogen wird ob mit 39k oder mit 5k6.

                              Den 100k Widerstand runter. Wird zu 99,9% funktionieren auch wenn ich es nicht ausprobiert habe.
                              Zapft ihr Narren der König hat Durst

                              Kommentar


                                Ach guck
                                hier bestätigt
                                https://e2e.ti.com/support/amplifier...s/f/6/t/256522
                                Zapft ihr Narren der König hat Durst

                                Kommentar

                                Lädt...
                                X