Billy has been to the gym, and is now running with more power! As suggested here, I changed the AC adapter to a more powerful one. I now use an old laptop adapter capable of putting out 19 volts and 3 amperes. To get the voltage down I use a 7809 regulator (9 volts, 1 ampere), and now the mbed has no problem staying on during Billys "moves". The regualtor is running very hot after only a short moment (a minute or so) even when the motors are not connected or in use. I put a heat sink on it which also gets very hot. Is this normal? I'm afraid it will melt if it's on for a longer time (and it's supposed to be always on).
To lower the voltage a bit more for Billys motors, I placed a diode in front of the power line going to the L293D. Multimeter measurements show a voltage of about 8 volts. With this setup Billy really got a new life. He is no more a lazy fish wagging his tail and body in a tired way. Now his moves are quicker and more responsive. :) I also tried to put a second diode in series to drop the voltage to about 7 volts, but then Billy got a bit slow again, so I only use one diode.
Thanks to everyone for your input and advice!
However, my problems are not gone yet. :( I'm not sure if it would be better to start a new thread about this, but I'll put it here for now.
My next trouble regards the sound quality of the waveplayer. I bought a cheap low power audio amp from ebay (NJM386D kit) to amplify the sound signal coming from the mbed's analog out pin. When running the (updated) Waveplayer the mbed plays the sound nicely, but there's a very annoying buzz sounding a soon as I connect power to the mbed. The buzz is higher in frequency than 50 or 60 Hz, and I have no idea of how to get rid of it.
The output volume coming from the mbed seems to be very quiet, and I have to use the maximum gain (200) in the amp to get the volume to a suitable level. This is probably why the buzz noise also gets amplified so much? Analog electronics is a really difficult thing... :)
Here is a picture of my breadboard (click on it for a bigger version). The regulator with heat sink is in the upper left corner. The audio amp is next to it, and the mbed is in the upper right corner. Below the mbed is the L293D and you can see the wires going to Billys motors at the bottom. The speaker is Billys original 8 ohm 0.5 watt model. The small black component below the mbed is the diode that lowers the voltage for the L293D input.
The AC adapter connectors are in "idle" state, I move the black (ground) connector to the black terminal when powering on the whole system.
As you probably already have noticed, I'm working on my Billy Bass hack (see notebook).
Now I got around to connect the L293D motor driver to the mbed and give it a try on Billy. So I wired it up on my breadboard and gave it a try. I use the digital outs to command the L293D, and the whole breadboard (mbed, L293D and SD card) is powered using a "wall wart" style 6 volts 500 mA power source.
As I ran my test program which moves Billys tail, body and mouth, I found out that I'm running out of power. When Billys both motors are in action the mbed resets as a cause of lack of power.
I put my "electrician skills" to work and added some capacitors found in my spare parts box to fix the power loss during heavy load. After adding enough capacitors (electrolyte) the mbed stayed on for the whole program, so I guess I'm on the right way at least? I noticed it took at least 3000uF of capacitors (10 volts) to keep the system running. The mbeds leds were still showing some fading during stress, so I added some more. Now I have 3 x 3000uF which seems to do the trick.
As a test I also took out my heavy artillery (one 10000uF and one 6800uF), and with them added the mbed stays on without power for about a second when idle :)
My question is: is this what I have done a good or bad idea, and what would you suggest to handle the power supply during stress? (different capacitors, different power source?)
I have no idea about how to calculate correct amount of capacitors...