Shaping of signal only with analog components - Page 1
Forum section: electronics / projects

author: ricko_uk
author_rank: Super Contributor
timestamp: July 23, 2020, 02:15:19 pm
content: Hi,I have to feed thecurrent(not the voltage) through a solenoid so that it follows a bell-curve shape as shown in the attached pictureor as close as possible given the requirements below. That pulse is only once off (not repetitive).The main requirements are:- there is no micro or any other means to use DAC to create that waveform. It needs to be created just by analog means/components.- the PSU can only be turned on and off so possibly the rising edge can be created when turning on and the falling edge when the power is turned off- the solenoid is has an inductance of 40mH and a DCR of 26R- the voltage applied is only 12V- ideally the "curvature" of the three "knees" bottom left curve, bottom right curve and curve at the top/apex to be adjustable (i.e. their radius for lack of better word) by changing the values of the components (not the solenoid)Could anybody with analog experience suggest any solution?Many thanks

author: m98
author_rank: Frequent Contributor
timestamp: July 23, 2020, 03:31:05 pm
content: What do you want to achieve with that, and what timescale should the pulse be on? Do you want to limit EMI? Then just use a parallel capacitor on the solenoid.

author: nfmax
author_rank: Super Contributor
timestamp: July 23, 2020, 03:42:06 pm
content: You want to generate what looks like a Gaussian pulse? It's a little-known fact, but if you cascade a series of identical low-pass filters, of whatever response, the impulse response becomes closer and closer to a Gaussian as the number of stages increases. The LTSpice model attached shows 16 cascaded RC filters (with 'perfect' voltage buffers between stages) converting a rectangular pulse into a pretty good Gaussian. Four quad OPAMPs would do the job. Then you feed the voltage output into a standard voltage-to-current converter stage driving your solenoid. NO micros involved!It may not be what you want, but it may help

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 23, 2020, 04:16:40 pm
content: Nice thing about the bell curve, it's an eigenfunction of the Fourier transform, down to proportional constants.Okay, bigwords, let me explain."Eigenfunction" here just means it looks the same after FT. A Gaussian pulse has a Gaussian spectrum and vice versa.So what? You can construct a filter with a Gaussian frequency response, and a short impulse through it will have a Gaussian waveform. (The pulse must be much shorter than the time constant of the filter, otherwise it smears out a bit -- somewhere between an impulse, and a square wave with sigmoidal rising and falling edges.)Downside: the Gaussian function is not a rational function, i.e., it's composed of elementary functions, not a ratio of polynomials. The best you can do is a truncated polynomial best-fit. (There are plenty of polynomial functions with similar hilly shapes, 1/(1+x^2) for example, but none of them have the exponential cutoff of the Gaussian -- which has consequences in terms of statistics, analysis, etc. In particular, the hilly shape is only in the frequency domain. Rational polynomials are not eigenfunctions of the Fourier transform, so you won't get the same waveform as spectrum, only arbitrarily close.)And a best-fit means you're probably going to need a lot of poles, i.e., a lot of L and C (or R, C and opamps). Which means, while it could still be adjustable... you might want to look atwhyyou want this, rather than to just go and do it.Another way to understand this limitation, is to consider causality: a Gaussian wave has infinite extents, no beginning or end, only exponential cutoffs in either direction. An arbitrarily long filter, can have arbitrarily long delay, but it still must have zero output for t < 0, and some approximation of an exponential tail for 0 < t << t_peak. (The exponential decay after t_peak is quite normal, at least.)So a better question is, why do you need such a particular waveform?Also, you provide some units (L, R, V), but not enough to even determine whether your request is fundamentallypossible-- that is, the pulse width and height. Presumably the width is greater than 2ms and the height is less than 500mA...Given your last requirement, it seems you don't want a Gaussian as such, but perhaps a piecewise linear velocity or acceleration function? Which does not have exponential cutoffs (beyond the settling time inherent in the system), and has, say, quadratic sections transitioning between regions. These can be constructed by multiply integrating square pulses, the heights of which determine the curvature and the durations of which determine the breakpoints (if the output amplitude is constant, these might be timed by comparator, so that the integrator gain doesn't need to be trimmed).Tim

author: Marco
author_rank: Super Contributor
timestamp: July 23, 2020, 09:58:32 pm
content: Quote from: ricko_uk on July 23, 2020, 02:15:19 pmPretty much impossible in analogue ... if you just wanted the first two knees and kept it symmetric you could create a gaussian and distort the top somehow, but this implies sequencing.You can do it with analogue components, but it's a partly digital function.

author: dmills
author_rank: Super Contributor
timestamp: July 24, 2020, 12:11:51 am
content: If you do this thing over a time scale short compared to the L/R time constant of your inductor, then the inductor looks basically like an integrator, in that the current is the integral of the applied voltage WRT time.The time derivative of a Gaussian curve looks kind of like what happens when you bandpass a square pulse.You can therefore get in the right sort of zone by bandpassing a square pulse and feeding the resulting voltage to your inductor which will integrate it and turn it into current.Yea, I know it is an approximation, but with appropriate filter values it should work kind of sort of.

author: langwadt
author_rank: Super Contributor
timestamp: July 24, 2020, 01:22:43 am
content: some adaptation of this?https://sound-au.com/articles/sinewave.htm#s7

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: July 24, 2020, 07:58:12 pm
content: Good answers above. I just want to relate my experiences of the last decade. Every time an analog solution looked like the easiest and least expensive way to get something done, it ended up being a failure. Why? Because the circuit was always too specific and the customer didn't know exactly what he/she wanted. What do you mean it can't do that? Can't you just change a resistor or something? Or, they decided it needed to be connected to a computer after all. Maybe they decided it needed to be adjusted from afar. Or automatically tuned. I've also been bitten by unique analog parts going out of production or no longer meeting the original specs. My conclusion is that, as much as I love analog, analog solutions for commercial problems are usually a mistake. Analog isn't dead, but it's on life support.

author: ricko_uk
author_rank: Super Contributor
timestamp: July 25, 2020, 04:55:55 pm
content: Thank you Tim and all!!Quote from: T3sl4co1l on July 23, 2020, 04:16:40 pmTim,to create a certain motion/acceleration in the solenoid.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 25, 2020, 06:13:32 pm
content: Oh dear...Is this just any solenoid, or is it a specialty servo solenoid of some sort?The bog standard kind, the force increases very rapidly with displacement, quadratically or cubically even I think. You would need a position sensor and transfer function to predistort it away, or more likely a force sensor to servo loop it.I seem to recall you were also working with coils (another kind of "solenoid", but there are no moving parts on just a coil..), no idea if you are aware of this or have solved it or anything.Tim

author: ricko_uk
author_rank: Super Contributor
timestamp: July 25, 2020, 07:21:17 pm
content: Hi Tim,thank you once again for all your input. The breadth and depth of your knowledge across so many areas is pretty impressive (I am referring also to all the very many other posts you provided detailed answers to, mine and others!).The solenoids are custom but don't yet have much details on them as the manufacturer is still working/refining them.Ref the other coils, there were various projects. Some for welding and extrusion thickness measurement and defect sensing. One was a pemf. Another was a CDI. Some of the boards are being made and other are being tested.Thank you again!!

author: nfmax
author_rank: Super Contributor
timestamp: July 25, 2020, 07:40:38 pm
content: Can you fit an accelerometer, velometer, or displacement transducer to the solenoid armature, and construct a closed-loop feedback control system? It might give better results (once you get it stable)

author: ricko_uk
author_rank: Super Contributor
timestamp: July 25, 2020, 07:42:43 pm
content: thank you nfmax for your suggestion,that's not an option, that's why we need that waveform.

author: nfmax
author_rank: Super Contributor
timestamp: July 25, 2020, 07:47:32 pm
content: Since you want to controllably increase and then decrease the current flowing through the solenoid coil, unless its inductance is very small compared to its resistance you will need to reverse the voltage across it. If I understood your original post correctly you only have a single 12V supply. However it isn't clear if the drive circuit will be powered up at all times, or if you require the 'Gaussian' current waveform to be generated as the supply is turned on & off. Can you clarify, please?Edit to ask: what is the maximum current? And what is the time scale of the waveform?