And, no scope. But your quickie test DOES suggest there's a difference in the rise rate! It's a pretty significant difference of 3 decibels.
Check out the image. The first peak is 15V when switched on through the Riden software, the second is a peak from a quick physical connection of the leads.
Will do more testing in a bit...
Quick recap! And sincere thanks to everyone who responded to this noob's questions.
Using a TekPower TP3005 (30 V, 5A) power supply to power a DC linear motor to strike a piano key. Turns out, not enough power is supplied by the TekPower to reach the upper force limit on the motor, so I got a Riden RD6012 (60V, 12A) buck converter to get more current going.
But, using the buck converter, there seemed to be less force out of the linear motor than there was when using the TekPower. It was suggested that maybe the Riden was ramping up too slowly to get a really effective key strike. The thought was that by the time it was putting out 100%, the key would already be down. The suggested way to test this was to contrast a key strike using a quick physical connection to the Riden with one actuated by sending the "on" signal via the software, or via the on switch on the Riden.
It turns out that this was right on the money - there is a very significant difference in the loudness & corresponding timbre of a struck key if I do a quick physical connection as opposed to letting the already-connected Riden go from 0 to the desired voltage. The difference is anywhere between 1-4 decibels, and, equally important, that bright & brassy sound of a piano string hit HARD now pops out.
So, I think maybe the solution is to get a delayed relay. Does that make sense? Put a timed relay in between the Riden output and the DC motor to give it whatever fraction of a second is necessary for the Riden to ramp up to full power.
Any suggestions for this timer relay? The voltages coming out of the Riden will be anywhere between 1.5 to 25, so any of those values would need to throw the relay and close that switch.
A delayed relay is a good idea... however just some initial thoughts:
1) A mechanical relay will need to operate well over the full range of coil voltages you're planning. Relay coils are usually rated for specific voltages and need to be close to this for guaranteed changeover (there'll be a data sheet spec for the lowest voltage for guaranteed changeover), and so you would need to spec a relay for the lowest voltage and overdrive it at the higher voltages (some may tolerate this, but again its a data sheet thing and not something I do often).
1a) Mechanical relays don't particularly like switching DC loads; but since you're only technically switching ON under power, and can switch the supply off before disengaging the relay... it could be okay but I'd be of the fence whether or not it'll survive nearly 2000 actuations... hopefully someone else will chirp in on that
2) A solid state relay (SSR) may very well work over the full voltage range, I'm sure time-delayed variants will exist, its just not something I've looked for
3) A an off the shelf USB based relay board would work well, but synchronising it with your PSU would need some thought or programming skills (I'll try and remember boards I've used before)
I was thinking that you could get by with an Arduino and an MOSFET.
For the fullest automation you want to coordinate the triggering of the MOSFET with the configuration of the power supply. Both are rather easy programming tasks -- if you're already familiar with Arduino programming.
For instance, here is a Python module to control a RD6006:
https://github.com/Baldanos/rd6006and it's easy to set up an Arudino to trigger a MOSFET on command from its USB port, so you could script your entire test procedure as a Python program. Writing the programs is certainly something the people on this forum could help with.
I was thinking that you could get by with an Arduino and an MOSFET.
For the fullest automation you want to coordinate the triggering of the MOSFET with the configuration of the power supply. Both are rather easy programming tasks -- if you're already familiar with Arduino programming.
Sadly, not familiar with any programming, never used an Arduino. Very much the newbie, in many respects, with lots to learn. I will have to rely on the software that came with the buck converter - which works perfectly for my needs.
The voltage ranges I'm working with run from 1.5V to 30V, and I can't seem to find any off-the-shelf delay relay modules with a range that goes that low. 6-30V seems to be the widest range I can find.
One way to go might be to get a delay relay that works in the 6-30V range, and just bypass the relay for the lower voltages, compensating for the force difference when using the delay when I put together my programmed key strike voltages. I really only need full, instantaneous power in the upper dynamics anyway.
Seems a bit half-assed, but it's the cheapest (and easiest) way to go at this point.
Maybe by the time my next sampling project rolls out, I'll have my sh*t together enough to build something that works! But for now, this could be more than adequate.
These sampling projects have been great for me in that they've helped my push the limits of my DAW and audio editing knowledge, pushed me into 3D graphics design for the GUI, and now they're nudging me toward the electronics end.
With a little help, the old brain moves forward, however sluggishly, and that's always a great thing.
Its that damned voltage being the killer! I had a bit of think around what's possible without any "design effort" and can't really come up with anything that would work from 1.5 to 30V.
I'll try and post something when I get a chance to finish of my coil driver but work's been getting in the way of implementing the fancy stuff and eliminating the position sensor (I did go overkill with velocity control)