Simulate a 10k 10v potentiometer with arduino for a motor with inverter

Good morning,
I have the following problem, actually I have an ABB inverter ACS380 for a small motor 0,5 KW.
Actually I have a Eaton R10k potentiometer connected to control it, the analog input works with 10v, I created a remote controller and a receiver with 2 ESp8266 and wifi, on the remote I have the R10k potentiometer and on the receiver I have a PWM output, actually I'm controlling a led but my idea is to find a digital potentiometer that will receive input in 3,3v and have an external source power to connect the 10v input( I already programmed the receiver that in case of failure connection the emergency button will be activated).
Can someone of you please let me know if this type of potentiometer exist?
Other option I have in mind is to create a voltage multiplier, but I don't know the performance following the input from the remote(I would like to not have big latency).
The last option I had in mind is to connect a servo to a 10k potentiometer and mechanically control it, but I think there are other digital options available on the market.

thanking you in advance for the replies and sorry for my English.

See the table at the end of https://www.analog.com/media/en/news-marketing-collateral/product-selection-guide/Choosing_the_Correct_Digipot.pdf Some are high voltage.

Another approach is to stick a 10k across the terminals and use a DAC to generate the wiper voltage,
although you'll likely need a 5V DAC and an opamp x2 gain circuit. You need the 10k to avoid triggering the safety cut-out (which detects a wiring fault to the pot). You basically simulate the
track with the resistor and the wiper with the DAC.

But first you need to check if the inverter control electronics is ground-referenced, or if it floats at
mains voltage, which is obviously much more dangerous to work with and would force you to take
various procautions.

The Microchip MCP41HV51 digital pot will work fine with the +10 volt reference of the ACS380.

The ACS380 also accepts a frequency input of 0 to 16KHz which can be scaled to any speed/frequency range, it depends if the drive is in scalar or vector control. All that is needed is a single transistor voltage level translator to 24 vdc and driving the input reference with a frequency reference output from the ESP8266. The duty cycle is unimportant, just the frequency. The input range can be adjusted through parameter group 11, the speed range can be any arbitrary frequency range so long as it is within from 0 to 16KHz.

thanks very much to both of you, I think I will go with 0 to 16KHz, I will look to the ACS380 to check where I have to connect it because i can do it now, i will buy anyway some of the MCP41HV51 to try that way too.
I will use that code to test it.

#define OUT 9          // OUT PIN

void setup()
{
  Serial.begin(9600);
  pinMode(OUT, OUTPUT);
}

void loop()
{
  if(Serial.available()) 
  {
    long frequency = Serial.parseInt();
    Serial.print(Set_frequency(frequency));
    Serial.println(" Hz");
    delay(3000);
  }
}


long Set_frequency(long freq)
{
  TCCR1A = 0b01000000; 
  uint16_t ocr;
  if(freq < 134) 
  {
    TCCR1B = 0b00001010; 
    ocr = 1000000UL/freq - 1;
    freq = 1000000UL/(ocr+1);
  }
  else 
  {
    TCCR1B = 0b00001001;
    ocr = 8000000UL/freq - 1;
    freq = 8000000UL/(ocr+1);
  }
  OCR1AH = highByte(ocr);
  OCR1AL = lowByte(ocr);
  TIMSK1 = 0;
  return freq;
}

The frequency input/output only exist if you purchased the standard I/O variant ACS380-04xS with standard digital & analog I/O because frequency is handled only through DIO1 and DIO2. If you purchased a version with a fieldbus module (Ethernet, Profibus, etc), you will not have the DIO capability.

In the end I ordered the MCP4151 as you suggested and I wired with an arduino, working perfectly with 5v only on the breadboard, but I'm a little bit confused how to wire it with the 10v fom my ACS380, I have 3 wires connected to the potenziometer +10v ground ans signal, signal, actually I have the 5v on pin 8 and 5, I suppose I have to wire the pin 8 with the 5v, put the ground from my acs380 and arduino in common and the pin n5 to the 10v from the acs380. Am I wrong?

nemoz_z:
, I suppose I have to wire the pin 8 with the 5v, put the ground from my acs380 and arduino in common and the pin n5 to the 10v from the acs380. Am I wrong?

Afraid so. Datasheet for the MCP4151 states (under absolute maximum ratings): "Voltage on all other pins (PxA, PxW, PxB, and SDO) with respect to VSS ............................ -0.3V to VDD + 0.3V", and your VDD is +5V. 10V on pin 5 will probably let out the magic smoke!

This should do the trick:
A1 is a single-supply rail-to-rail output op-amp, which with R3 and R4 form an amplifier with a gain of +2. R1 and C1 should be chosen to filter the PWM output (turn it into a DC level).

May need a decoupling cap on pin 8, especially if there's noise around.

The originally suggested part was MCP41HV51, not MCP4151. The HV version is quite capable of the handling the 10v signal.

Sorry, missed that. My bad. Here's a link to the MCP41HVX1 datasheet.

thanks to both of you, my mistake in ordering it, I will order the correct one.

WattsThat:
The originally suggested part was MCP41HV51, not MCP4151. The HV version is quite capable of the handling the 10v signal.

Was racking my brains last night while trying to get to sleep. How did I make such a schoolboy simple error?
This morning I saw #5, the post to which I was replying :slight_smile: !

Does anyone know an alternative to MCP41HV51 with different package than TSSOP (ST) or VQFN (MQ), bigger to be used on a breadboard for testing like PHT? I can't find anything ...

nemoz_z:
Does anyone know an alternative to MCP41HV51 with different package than TSSOP (ST) or VQFN (MQ), bigger to be used on a breadboard for testing like PHT? I can't find anything ...

Nothing from RS Components or Farnell. Looks like you may be stuck with my op-amp circuit. You could use one of your MCP4151s to drive it instead of PWM it you wanted - may be easier than filtering the PWM signal to get a nice stable level.

Just been having a look at the ACS380 firmware manual. It's pretty complicated, but I think you'll find that you can scale the analog speed reference input so you get 0 to 5V in corresponding to eg -max speed to +max speed or 0 to max speed or whatever, ie it doesn't have to be the full 10V span.

Then you can use your circuit of #5, with pins 4 and 7 of the MCP4151 connected to Arduino GND and ACSS380 analog GND , and pin 6 of the MCP4151 to the ACS380 speed reference input.

Can someone check me on this, please?

ACS380 firmware manual and hardware manual for reference.

johndg:
Just been having a look at the ACS380 firmware manual. It's pretty complicated, but I think you'll find that you can scale the analog speed reference input so you get 0 to 5V in corresponding to eg -max speed to +max speed or 0 to max speed or whatever, ie it doesn't have to be the full 10V span.

Then you can use your circuit of #5, with pins 4 and 7 of the MCP4151 connected to Arduino GND and ACSS380 analog GND , and pin 6 of the MCP4151 to the ACS380 speed reference input.

Can someone check me on this, please?

ACS380 firmware manual and hardware manual for reference.

Thanks for all your help, today I will receive the components to built the op-amp circuit, and even the tiny MCP41HV51, I will try both, then in case of failure I will start to change setting in the firmware. If i will manage to have the MCP41HV51 working I will design a pcb and someone will weld it for me.

@nemoz_z : A couple of points about the op-amp circuit. The 0V should be connected to Arduino GND and ACS380 analog GND, and the 10V to the ACS380 10V ref output.

I haven't looked into this, but it's a good idea to follow @MarkT's advice in #1 and connect a 10k resistor between the 10V ref and analog GND.

Yes, it is quite simple to drive the ACS380 with a 0-5 vdc reference, at the cost of some analog resolution which should not matter in 99.9% of the applications.

12.17 AI1 Min = 0
12.18 AI1 Max = 5 vdc
12.19 AI1 scaled at AI1 Min = 0
12.20 AI1 scaled at AI1 Max = 50Hz ,1500rpm or what suits the control mode and application (assuming SI units)

Any questions on the ACS380, just ask, I know the drive quite well.

WattsThat:
Yes, it is quite simple to drive the ACS380 with a 0-5 vdc reference, at the cost of some analog resolution which should not matter in 99.9% of the applications.

12.17 AI1 Min = 0
12.18 AI1 Max = 5 vdc
12.19 AI1 scaled at AI1 Min = 0
12.20 AI1 scaled at AI1 Max = 50Hz ,1500rpm or what suits the control mode and application (assuming SI units)

Any questions on the ACS380, just ask, I know the drive quite well.

Thanks very much to all the ones that helped me, @WattsThat, I decided to have 10v output so I can use the same circuit with another inverter I have even a Sew Eurodrive (not so sure i can change the vdc reference on it), anyway your inputs are very appreciated.