Dual Potentiometer Interference

Discussion in 'The Projects Forum' started by joshmac, Jan 16, 2013.

  1. joshmac

    Thread Starter New Member

    Jan 16, 2013
    3
    0
    Hello everybody,

    First of all, I apologise if this topic has been already been discussed, I have searched, however, I haven't found anywhere that gives an answer, most problems were MCU code based. Also thank you in advance for any help given. I have been designing electronic circuits for many years now, however, my knowledge is primarily digitally based, so it doesn't really help me in this situation.

    The Circuit:
    I am using a Tronix DACIO 300 (fantastic little device) with 2x Parallax potentiometer 2-axis joysticks, they are 10KΩ each axis. I have written a small VB application to display the information on progress bars on screen. That part was simple and has given me no problems. The joysticks are connected to the DACIO with a 6" piece of cable to ensure there is almost no loss or floating resistance in the cable.

    The Problem:
    I believe the potentiometers are interfering with each other. When Joystick 1 is for example fully forward (0Ω to the DACIO), it basically nulls the Joystick 2 and visa versa, however individually they work with no problems at all. I think this may be because they are sharing the same 5v rail and sharing the same 0v rail. The board is responding with no communication errors.

    I have written a program to monitor all of the analog inputs on the DACIO and I have found they the ones that are not connected do have floating voltages (Could this cause issues?).


    Things I have tried, but have had no luck:
    I have added a decoupling capacitor across the potentiometers.
    I have added a 10k resistor in series with both the pots to try and lower mAh draw.
    I have replaced the 10k resistors with diodes in an attempt to isolate the pots.
    I have tested the PCB with the joysticks on seperatly and they are outputing fine.
    I have replaced the DACIO pcb and IC.

    Thank you in advance and any help is appreciated.
    Josh
     
  2. MrChips

    Moderator

    Oct 2, 2009
    12,440
    3,361
    It could be in the software. Perhaps the software is mixing data from the two channels. Can you look at the serial data stream on Hyperterm to confirm the validity of the data?
     
    joshmac likes this.
  3. tshuck

    Well-Known Member

    Oct 18, 2012
    3,531
    675
    Going off what MrChips said, you could use a couple voltage dividers at different voltages so that you know what you should be getting, then use the terminal program to verify the output.
     
    joshmac likes this.
  4. joshmac

    Thread Starter New Member

    Jan 16, 2013
    3
    0
    Thanks for the ideas peoples,

    The PIC software I dont have access to. But the VB software basically acts as a terminal software, it simply does the following;

    Code ( (Unknown Language)):
    1.  
    2. SerialPort1.Write("!A0;")
    3. Threading.Thread.Sleep(50)
    4. ValueRight.Text = SerialPort1.ReadExisting()
    5. Threading.Thread.Sleep(100)
    6. SerialPort1.Write("!A7;")
    7. Threading.Thread.Sleep(50)
    8. ValueLeft.Text = SerialPort1.ReadExisting()
    9.  
    I have checked the stream through HyperTerminal and Termite, and the data does get received (i dont know how to put this), its not corrupted, but the data is still all over the place and the values are way off. Even without touching the joysticks.

    The joysticks are spring loaded, and I have tested them and they do measure a very stable 5K in both directions, so they are acting as a voltage divider for me. I have measured the voltage while they are plugged in and they are giving around 2.51v going into the DACIO, and its stable with no visible fluctuations. However, when I read with 0.001 resolution, and I make Joystick 1 = 0Ω, and I move joystick 2, the voltage does slightly fluctuate on Joystick 1 by around 0.01 volts

    The very odd thing is, when I any 1 port, everything works as a treat.

    Today I will be trying to add a LM747 dual channel unity gain amp in an attempt to isolate the inputs as much as possible and run them off a seperate power supply (common gnd ofcourse). I strongly doubt it will change anything, but its just-in-case.

    Thanks for the tips, please keep them coming :)
     
  5. joshmac

    Thread Starter New Member

    Jan 16, 2013
    3
    0
    Hi everyone,

    Just an update. I have been in contact with TroniSoft and the guy in the tech dept was good enough to wire up the same circuit as I had and do a bench test. Apparently the firmware has been recently recompiled after some minor changes and it had a firmware issue where the delay between the mux readings had been bypassed for some reason. so a basic bench test did not pick it up, as 1 analog channel at a time works a treat.

    But the guys there have been great working with me to discover the problem, and it has now been fixed and they are replacing the IC's i recently purchased, so no hard feelings here.

    Thanks for your suguestions and help,
    Josh
     
  6. tshuck

    Well-Known Member

    Oct 18, 2012
    3,531
    675
    Glad to hear it! It's always nice to hear that it wasn't your fault!;)
     
Loading...