Passive Preamp: Arduino based, remote control, Relay R2R, input selection

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
balanced version has some problems

Hi
I wanted to apply the volume control circuit of maxw as balanced. I put a selectable preamp (eijndhoven.net) on the input and a selectable buffer on the exit. I used the analog regulator LT3045 and the digital regulator LM338. I am having some problems in volume control which I designed by maxw, which I applied as balanced.
Problem-free circuits: input selector, preamp, buffer, LM338, LT3045, Encoder.
Problematic circuits: R2R attenuator.

My problem with the R2R attenuator is that when I adjust the audio with the encoder, the sound rises or decreases unbalanced. In some steps, there is no sound on the right channel or left channel. in just a few steps, the sound comes full on all channels ...

1. The volume is not logarithmic and does not work regularly.
2. In some steps, there is no sound on the right channel and left channel.

What can be wrong? software or hardware? (resistor values or other)
Thanks you Best regards

PhAVbq.jpg
[/url][/IMG]
slcR4M.jpg
[/url][/IMG]
iYMqDd.jpg
[/url][/IMG]
 

Attachments

  • preamp sch brd.zip
    222.9 KB · Views: 85
  • Preamp rev.1.zip
    288.1 KB · Views: 84
Looks like a really nice design!

My problem with the R2R attenuator is that when I adjust the audio with the encoder, the sound rises or decreases unbalanced. In some steps, there is no sound on the right channel or left channel. in just a few steps, the sound comes full on all channels ...

I had this before and it was because in the code the relays were not assigned the correct bit. For example, if you have 8 relays on one bank of 8x GPIO and the relay for bit 0 is connected to GPIO0, relay for bit 1 is connected to GPIO1, relay for bit 2 is connected to GPIO2 and so on, then you can simply send the attenuator value directly to the GPIO bank. BUT the problem is that in almost all the layouts I made it was not possible to connect the relays in this perfect way due to the layout of the PCB. So I had to write a sort of "translation" for the attenuator value to the actual GPIO value. And then if you're using latching relays, it's even more complicated because each relay needs 2 GPIO to set and switch.

In this project it was simply a matter of reversing/mirror the binary attenuator value as you can see here: preamp-passive/preamp-passive.ino at master * FutureSharks/preamp-passive * GitHub

In another project (an input selector), since the relays were connected essentially to random GPIO pins, I had a hard code the mapping as you can see here: preamp-two/input_selector.py at master * FutureSharks/preamp-two * GitHub

If this isn't the problem then you can always debug by sending an attenuator value like 171 and you should see the relays on in the pattern of "10101011"
 
I'm new here and plan to build something similar.
Maybe it's too late sercan but coincidentally I'm a software engineer who likes diy and audio.
My daily business is based on fullstack and devops development so I'm not a embedded guy but maybe I can be of help.


Send me a message if you still need help with the arduino and the relay.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.