tape head amp issues

Started by AdamB, January 18, 2021, 03:42:39 AM

Previous topic - Next topic

AdamB

OK so I managed to test the latest transport and electronics and it's *mostly* a success;

Well; what I've learnt is that the thing that kills the oscillator is running the motor. As soon as the motor kicks on, the oscillator starts to fail, and as the motor spins up to a higher RPM and draws more current the oscillator stops running entirely. So. It appears on the surface of it that the power supply can't supply enough current.

I've concluded that it's not the arduino or associated motor controller circuitry, as cutting the wires to the motor and just sticking them straight onto the +5V output of the regulator has the same behaviour.

Now - what I can do is power the motor from a separate power supply and then everything works and it sounds pretty good - the latest transport is a lot smoother and yea it works well. All the controls work as expected save for me wiring some of the pots backwards, doh! and some pot values need tweaking; but the control board where the pots are mounted is a separate PCB connected to the main board by a ribbon cable, so it's easy to experiment with different controls now.

So now I need to figure out how to get the motor working off of the same power supply as everything else. I've tested the following which all have similar results;
9V 1A supply
12V 1.5A supply (what's interesting with this one is that I have to plug in the motor *after* I switch on everything else, or the motor kicking on seems to "trip" the power supply on the arduino and cuts it's power - I'm assuming this is back EMF from the motor starting up?).
9V 3A (this is one of those variable supplies so I'm suspicious about it actually being able to deliver 27W of power).

All have the same issue with oscillator dying when the motor starts. So my question is, is this just a matter of finding a supply that can supply enough current or is there possibly something more fundamental about the setup of my power supply section in my circuit that is causing this?
[indifferent::engine]
http://www.indifferentengine.com

anotherjim

Back emf in a motor opposes the applied voltage so reduces current! Apart from the instant voltage is first applied, it doesn't happen until it rotates and increases with speed. That said, I'd always fit a reverse protection diode across a DC motor that doesn't need to reverse direction. If the drive control is solid-state, it definitely needs the protection diode, whether or not it's the cause of this problem (though it may be included in the controller).
If the mechanical load on the motor is high, it starts slow and back-emf isn't really happening and the current will be down to whatever winding resistance the motor has. If you have PWM control, you can have a start-up delay and slow ramp-up. Also, an Arduino powers up with I/O as inputs until the setup code makes any of them outputs, so the external circuits should cater for that.
There should also be a small ceramic cap (10nF to 100nF) immediately across the motor terminals to cut RF noise. The motors can should also be connected to the power 0v. The OCD fitment is 3 caps. One across the terminals and one from each terminal to the can/ground.



AdamB

OK cool, the schematic for the motor/oscillator/power is here for reference:
https://www.dropbox.com/s/uxnuheik7usoejt/motor_and_bias.png?raw=1

So with some more testing I can confirm that for some reason putting a big old 1000uF cap across the terminals of the motor seems to sort the problem; I do have a 100nF ceramic cap in there already but I guess it needs MOOOOREEEE. 1000uF is probably overkill, I just had them on the bench so stuck one in to see what would happen, I should probably experiment with values to see what works best.
[indifferent::engine]
http://www.indifferentengine.com

anotherjim

Yes, that motor controller is the right way to do it with the pull-down resistor on the MOSFET gate.
The big cap is acting as a current reservoir and after boot up, it ought to be fully charged and able to start the motor when switched on, however, if the motor stalls, the cap will discharge and the motor winding resistance will set the current ("stall current") which might get you back to PSU dropout. Not necessarily a bad thing if it stops something from burning out and a good argument for a regulator just for the motor.
You can measure the motor resistance and see how low it can be (10-30ohm), but many tape motors have built-in speed regulators that prevent you.



AdamB

OK latest PCBs are in and... early indications are that it's sorted. I fixed the problem by whacking 2 more massive 1000uF caps in - one around the motor poles and one close to the +9V supply of the transistor in the oscillator. Now with a 1A 9V supply all works well. I've yet to connect up the tape output because I ran out of parts, but I'm hoping this is it now. Which means a little bit of work to the 3D printed parts and it's done - I should have a basic demo in the next few days.
[indifferent::engine]
http://www.indifferentengine.com

AdamB

Latest demo:



Guts:


The controls are on a separate PCB (shown at the top hidden under the main board). It connects to the main board via 24pin ribbon cable (the two IDC box headers). The tape unit and playback amp are hidden underneath the main board (you can just make out 3 pulleys poking out from behind the top of the main board). I decided not to put a footswitch on this - it's all 3D printed plastic so I didn't think it'd be very sturdy for standing on. Instead, there's a "Remote" jack that you can plug in any momentary (or latching with a software tweak) footswitch - the arduino reads the state of the switch and uses a relay to switch the effect in and out. It's true bypass, and the entire audio signal path is analog with the Arduino just controlling switching, lighting (LEDs on the control board) and the motor speed.

Next steps; I gotta do some more cad work to pretty the enclosure up and design a backplate. I also need to account for the 3 absolutely huge 2200uF caps. Then I need to work on choosing better pot values to get reasonable ranges for the brightness of the repeats and levels and what not. But getting there!
[indifferent::engine]
http://www.indifferentengine.com