PWM output for cassette player motor


#1

Hi folks!
I recently found a working cassette player/walkmen and thought it would be fun to knock up a mellotron style hack for my axoloti! I have only a little electronics knowledge but seems like it might be possible to directly run the motor from a PWM output on the Axoloti to control the motor speed for pitch. These old, kind of crappy devices arent cheap these days and I'm a little worried about screwing it up. Are there any issues I should consider before testing this out and accidently frying something? Particulars:

DC to cassette player is 3v
I am proposing to wire a switched jack to the tape motor that would recieve PWM directly from the axoloti

Other older posts seem to indicate the existing frequency of the PWM might be quite high for a DC motor? 94hz or something?

Would v much appreciate some input if anyone has time. I will definitely post photos and updates for future users wanting to give this a shot!


#2

Testing the idea of using the PWM directly hasn't worked. The motor turns at a very low speed, by using a ctrl dial in the patch I can slow the speed down slightly (60/64) before the motor and playback stop entirely. The fast forward/rewind buttons work fine weirdly and must use a dedicated 2nd motor somewhere else.

If I can find an electronics store thats open tomorrow I will try using a transistor as suggested in this post https://sebiik.github.io/community.axoloti.com.backup/t/how-to-drive-a-dc-motor/3013/7 @Gavin seems to have posted a circuit diagram thats gone missing. Searching for "2n222 dc motor" produced a variety of circuits for arduinos that look pretty simple. Will give it a shot.


#3

definitely use a transistor (mosfet) and a dedicated power supply to drive the motor. axoloti has not enough power to drive a motor...


#4

Yes, you need a transistor that can let enough current through for the motor to overcome some mechanical resistance.
If you have no cassette in, "play" is harder work for the motor than rewind or fast forward, so it's no wonder that the latter works while "play" doesn't. The reason for this is that fast forward and rewind only move empty gears around (as long as there is no cassette inserted), while during "play" a rubber roller is pressed against the capstan, so there is more friction there which can easily stop an under-powered motor (it probably gets only one tenth of its nominal current from the Axoloti).
Another point: a cassette player usually has some control circuit to stabilize the motor speed against changes in mechanical load, supply voltage and temperature. It used to be two transistors that added some more voltage when the motor drew more current, but your device probably has a dedicated IC for that. And perhaps even a sensor for the actual speed. You might want to use that circuit (and only change its setpoint to change the motor speed), unless you are really into that aspect of the Mellotron.


#5

I also plan to have my second axoloti being able to control motors, especially cassette players.
I have this lying around:
https://www.taydaelectronics.com/breakout-boards/l9110s-motor-driver.html

I have not tested it yet, but I think it will work easily as it's made for logic levels and arduino.

Plus, you can drive two motors!


#6

I tried the transistor + diode/capacitor circuit option and have had no results. Circuits from these sources for arduinos:

I tried 3v/5v/9v external power and nothing. I could easily be missing something here but I'm fairly confident I breadboarded those circuits properly. Next step will be to see if I can get my head around how to use a l9110s to drive the circuit (Thx @Paulus) the prebuilt modules look good but my local store doesn't stock those and I'd rather avoid shipping times, but that will be my next step if I can't get the IC to work for me on my own.


#7

v interesting suggestion! I had a look and the IC you described seems to be an LA4167, there is documentation for it so maybe I could figure it out. But I imagine I'd need to cut traces on the board and rewire from the IC somehow? I think that might be too advanced for me, I'm still pretty new to this stuff. Interesting to get a better understanding of how the device works tho!


#8

Alright I got it working. This persons video was a big help in simplifying the topics and making sense of what I was actually trying to do.

For other electronics newbs like me who want to understand how to do this:
- Take power from somewhere (I just took it from the VDD on the Axoloti board) and connect it the collector pin of the transistor
- PWM from the axoloti goes to the base (middle) pin
- connect the PWM modified output from the emitter pin to the motor
- the other motor wire goes to ground of the power source

it worked without a resister, diode or capacitor in the circuit. They are probably important so I'm going to add them back in and try to learn why before I stop bread boarding!

Next steps are the axo patch, installing an input jack on the cassette player, and knocking up the full circuit on strip board.


#9

now, replace the vdd with your external power supply + and connect ground of axoloti and the external power supply. really the whole point is to use an external supply controlled by axoloti, not vdd from axoloti :slight_smile:


#10

If there is a trimpot connected to pin 20 (as the example circuit in the datasheet suggests), that would be the obvious point to attack. But you'd need smooth DC voltage instead of PWM, and in the proper voltage range, and then there is the risk of damaging the IC by mistake, so I agree that it is easier and more promising to directly access the motor instead.


#11

It does seem to work fine off the axo power tho, why would (or should) I use external power instead? That would mean having to run more cables and find another power source. Seems convenient to just use what's already available. Is there something else to consider I can't see?

When I find two more cassette players ill do the same mod (I plan to make a 3 voice paraphonic hybrid synth with this set up) perhaps I'll need external power then?


#12

because a motor can draw a substantial amount of current, especially when it is started and has some friction. did you try it with the cassette inserted?

how do you power the axoloti?

if it works, good for you. it certainly is not good practice. i am not sure if you might harm the axoloti, but it is certainly not a robust solution


#13

Axoloti is powered through USB. It works fine and as planned with a cassette using power from the axoloti.

But sounds like its better to use separate power in the long run to avoid damaging the axoloti. I'll look at external power for the final build, thanks!