This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Analog Speed Reference for VFD. S curve, acceleration and Jerk.

Other Parts Discussed in Thread: RM46L430

I am using Hercules RM46L430

I am writing code for project which involves the use of analog speed reference to be given out to the VFD. Here VFD is separate and will be provided to us.


The Problem is getting a smooth S Curve from the VFD which means the analog signal provided by us has to fulfill this.In the VFD we are setting the acceleration to 0.

Kindly help me achieve the Smooth S curve using analog signal as speed reference to VFD. I am new bee, I think some algorithm or some would be required so that the analog output ( current or voltage rises or falls in  similar fashion).

The motor requires to be started and stopped frequently.

Motor Type: ACIM - 3-PHASE

Minimum Motor Rated RPM - 920

  • I will ask our motor control experts to help you with this. Sure we may need little more details on how you are interfacing.
  • Rohan,

    Yes we'll need some more information but we'll be happy to help.

    What are you actually trying to create with the RM46L430?    It sounds like you aren't actually controlling the motor (the VFD is closing the loop) but that you need to send a reference signal to the VFD in an open loop mode to implement some sort of ramp.  Is that correct?

    -Anthony

  • Anthony,

    Yes, Precisely, We control the VFD using Analog Speed Reference and VFD would COntrol the Motor. I would like to add the exact details as below.

    I am RM46L430 which will use SPI to Control Analog Output (Current or Voltage) using the Digital Analog Device. Now, a VFD (Closed loop type which will read a encoder fixed to the motor shaft) will take this analog signal as input for speed reference.

    As the RM46L430 has EQEP, the above mentioned encoder will also be read by our controller so that we can count the number of pulses in each direction of the motor to enable stop , slow down commands etc from the controller to the VFD.

    Now, During Start and stop, I am looking to have very smooth curve. Hence the analogue signal that I use should have that smooth gain and / or fall as the vfd will immitate it almost immediately. Generally VFD once issued a Speed reference there can be time set for the VFD to ramp to that speed (Acceleration time) where in the VFD will achieve that smooth curve by itself. However, Here we need to keep that acceleration time as 0(Zero) . This is why the analog signal gain or fall has to be very smoothly done so that the vfd reacts to it and the end resulted speed is very smooth ramped.

    Thanks in advance. Hope the above information helps.
  • Karthik,

    Yes Please. Hope I get this done soon.
  • Hi Rohan,

    There is a TI design www.ti.com/.../tidu707.pdf that shows how to make a linear ramp but it's with a digital output where the speed is proportional to the output frequency. We're working on something similar but that will run on the N2HET (with the N2HET generating the linear frequency ramp).

    But both of these generate digital signals and the speed is encoded as frequency not duty cycle - so I don't think they would translate well to an analog output. Can your VFD take a quadrature or pulse input instead of an analog input?

    If not what issue are you having the most trouble with? Is it the math to generate the sequence of DAC values, or setting up the MibSPI to transmit them ?

    Best Regards,
    Anthony.
  • Anthony,

    I appreciate your quick response. I have checked the file you have mentioned in your post. However that is a linear ramp up and down, Where as I am looking for a S curve, the kind that gives a smooth start and stop for the motor.

    yes you are right,the Trouble is the Math to generate the S curve. I can generate the analog signal using the math which is mentioned in the data sheet which tells the formula of which value to provide to give out a a particular voltage or current out.

    Using DAC 8760 the formula for Current output (between 4 and 20ma) = (16 X (Code / (2 raised to N)))+ 4

    where Code is the decimal equivalent of the code loaded on to DAC and N is the bit resolution (16 in this case)

    I am looking for a math which increases or decreases that "Code" variable (Not in a linear fashion but in a S curve Fashion) which in turn will give out the right analog output.

    I believe the Instaspin or Instamotion used in motor control may have this algorithm to increase a particular value. I can use the same to change my variable.

    Kindly let me know what you think of this.
  • Hi Rohan,

    Ok makes sense. The end of the eetimes article that is referenced by the TI design above includes information on how you can generate the 's-shape' - check out the section that starts 'power term'.

    Best Regards,
    Anthony
  • Hello Rohan,

    Can we close this thread ?