Hi All, I am currently trying to build a data acquisition device utilizing the uno board. I would like to use Matlab to control the board, since the work which lead to this point was established using Matlab. The general idea is to be able to source potentials,uniformly, to a test circuit and then read the output at nodes of interest. I currently have digital pins 2-5 acting as output and analog pins 1-4 acting as input. I am able to detect nodal potentials accurately, it is the sourcing portion that evades me. I am utilizing a low pass filter of a 3.9k resistor and a 0.1uF capacitor for each digital input. I find that I am not able to accurately source a potential. If interested I can privately share the Matlab file I am using, I would attach it, but it is not an allowed file type. Thanks!
What do you mean by "source potentials"?
Give more detail on what you are doing.
what resolution are you trying to achieve ?
you must use the PWM in order to create a DV voltage (my crystal ball reveals that you want to create a voltage potential in order to use for some application)
are you trying to create a high resolution voltage signal ?
you really need to offer more details.
alas, the headline never seen.... psychic wins lottery - - AGAIN !
Sorry for the lack of detail in my explanation. At the nodes of some arbitrary circuit of interest, the one I have generated for testing the application contains 4 nodes whose edges are purely resistive, I would like to be able to input a DC potential. My plan is to do so by using the digital pins. I have no set resolution in mind, any suggestions are more than welcome. My only constraint is that what I input must be uniform, as in every time I set the input it must be the same. Example: I would like to input 2V to node 1, so I configure digital pin 2 to output and write it to HIGH (or 1 in Matlab). I then have the jumper run to my low pass filter, and then to my node. I am struggling with making this happen uniformly, currently I am not able to get a consistent output from each pin. Each low pass filter is of the same construction, same make of resistor and capacitor, same resistance and capacitance values for each. Thanks again.
You're trying to power your test circuit with a digital output pin on the arduino?
Depending on where you share ground, the current the circuit draws between ground and pin2 will likely be in excess of what pin2 can supply.
Also, I'm not sure everyone here will understand your use of graph terminology to describe circuits. Terms like 'purely restive edges' might be better called resistors, or restive elements - and a 'node' is just a connective wire (that might split more than two ways).
"Example: I would like to input 2V to node 1, so I configure digital pin 2 to output and write it to HIGH (or 1 in Matlab). I then have the jumper run to my low pass filter, and then to my node. I am struggling with making this happen uniformly, currently I am not able to get a consistent output from each pin. Each low pass filter is of the same construction, same make of resistor and capacitor, same resistance and capacitance values for each. "
If you write to the digital output, you get a high of 5v. How are you getting 2v? You need to use a voltage divider or PWM.
A LPF with a 3k9 resistor and a 100n capacitor will have ~4volt t/t ripple with a 500herz PWM signal, according to Ltspice. The cap needs to be 10-100uF (or the PWM frequency has to be increased) for a smooth DC voltage. Leo..
Lots of good points here.
First order RC time constant = 390010010-9 = 0.39ms
500Hz has a period of 2ms …
Thank you all again for all of your help. I will change the capacitors to 100uF. I have attached a diagram of the test circuit, black dots represent nodes. I simulated the entire setup in Multisim, it appears as though each pin should at maximum draw 1.1mA. Correct me if I am wrong, but the maximum current for the pins is 40mA?