YOu are entering a world where Electro Magnetic Compatibility is at risk. Pay attention to the stray current spikes that radiate noise (Egress) and their influence on other circuits of high impedance (Ingress). YOu probably also have ripple or the conducted egress and ingress as well.
For radiated noise a handy tool is a small AM radio (not FM) nearby, to locate such noise issues if you dont have a scope.
Noise suppression management may include some common mode chokes to the track or pot lines. Perhaps some supply rail filtering may need to be added around the track.
I would use ferrite beads for each driver with caps after the bead and then use twisted pairs to send the current after going thru a ferrite torroid or similar common mode choke, like those used in Video cables.
Its good to have a kit of parts for such issues.
Add decoupling caps to the breadboard for both sides.
Suggestion:
You don't really need the digital pot, the op amp to amplify the pot's output voltage, or the nice multicolor marker lines, to do what you require.
Explanation:
"DIMMING CONTROL (OPTIONAL) 1 ~ 10VDC or PWM signal : 100Hz ~ 3KHz"
means the dimmer can be operated either by varying a DC analog voltage (Solution 1 below), or by varying only the duty cycle a PWM signal at your choice of frequency in the 100 Hz to 3 KHz range (Solution 2 below).
Solution 1:
Use a 10 volt regulated power supply such as a wall-wart, or even just a 9 Volt battery, and a potentiometer, in the following configuration:
A 9 Volt battery would be good enough for general use, the only constraint being it would reach only up to 90% of full brightness setting of the dimmer.
The center wiper contact of the potentiometer goes to the analog dimming input pin D+, and the negative side of the battery connects to one of the end contacts of the pot, and to the D- pin of the dimmer.
Solution 2:
Connect one of the PWM outputs of the Arduino, for example pin 3, 9, 10, or 11, to the PWM input pin D+ of the dimmer, and connect one of the GND pins of the Arduino to the D- pin of the dimmer. The default PWM frequency of the Arduino is approximately 490 Hz, within the acceptable range for your dimmer.
Set the dimming level you want, on a scale of 0 to 255, using AnalogWrite()
in an Arduino sketch. By not changing any default frequencies, the operation of the Arduino will not be affected in any adverse way.
EDIT: Added Solution 3, from a Meanwell dimming thread on a discussion forum.
This solution is useful for Meanwell dimmers which only support the 0-10 Volt analog dimming method, and do not have a PWM option.
From the relevant post: This circuit will let you dim a D driver with the PWM outputs from the Arduino.
Notes:
- The dimmer input Ground pin referred to above should be one of the pins of the control input connector of the dimmer - NOT the neutral line of the mains, if the dimmer you refer to is used for mains dimming
A link to the datasheet of the dimmer will be useful to determine whether the dimmer control input needs some form of optoisolator - should not be the case, but better safe than sorry
Update: Meanwell dimmer controller D+ and D- input pins do not need to be externally isolated.
- Assumption: Your concept of using the op-amp was to be able to achieve a 10 Volt signal range without providing any 10 Volt power supply... That doesn't work, the op amp itself requires a 10 volt supply at the minimum, to be able to provide 0 to 10 Volt output.
- Assumption: Your use of the digital potentiometer was purely for the purpose of programmatically controlling voltage from a microcontroller. In that case, the analog potentiometer voltage divider shown above in Solution 1 can be used as an input to the microcontroller, powered from the microcontroller's Vcc pin instead of the battery. The PWM output as in Solution 2 would then remain as stated, for actually controlling the dimmer.
- OP mentions in a comment that the PWM dimming works thus: 100 Hz = supply off, 3 KHz = max brightness. The datasheet for the Meanwell ELN-30/60-XXD(P) contradicts this, stating:
In other words, the PWM duty cycle defines the brightness, regardless of the PWM frequency, within the allowable range of 100 Hz to 3 KHz.
Best Answer
simulate this circuit – Schematic created using CircuitLab
Figure 1. Analog input on motor controller.
Many industrial motor controllers are designed to work from a 0 - 10 V signal. To provide flexibility they usually provide a reference voltage - typically 10 V - so that a pot can be used if an analog control signal is not available. If this is the case on your controller then you may be in luck.
These measurements should give you enough information to decipher how the analog input works. If all is good you can control directly from an amplified analog signal with no need for a digital pot.