Older blog entries for ericzayers (starting at number 13)

25 Sep 2004 (updated 25 Sep 2004 at 10:55 UTC) »

Today is the AHRC meeting AND the CTK church carnival where the modified bass is to be put on display. I'm not sure I can make both. On top of that, I am feeling sick.

My audio circuit woes are that:

  1. There is a lot of hiss in the background when I record.
  2. There is noise caused by motors (I have mitigated against this somewhat)
  3. There is distortion.
  4. The volume isn't loud enough.

There is every indication that the LM386 isn't powerful enough to cut the mustard. I bumped up the power to 9V on the amp and that helped some. I built a "Better" amp circuit based on the LM386 that had less distortion, but it still wasn't loud enough and it is still on the breadboard. I don' t know that I have time to solder it up for the festival (starts at 10am)

The end result is that the hack "worked" but isn't quite as impressive as I had hoped. I acquired another fish robotic toy called "Rocking Fish" which is a really bad knockoff of Billy Bass which is a bad knockoff of "Boogie Bass". So what I did is made a little umbilical cord and now the control circuit moves *both* fish. I hope that kind of makes up for the lame sound quality I am getting.

I will try to update my webpage tomorrow.

I hate audio circuits.

Kudos to robots.net for the quick recovery from the hard disk crash!

My Billy Bass hack project is nearly complete. You can record 2 messages, and the head, tail, and body movements to go with it. For 15 glorious minutes, everything seemed to be working. Now, the sound isn't coming out, but I'm sure I'll figure it out.

  • Moved everything from the solderless breadboard over to a perf board and soldered the cicruit all up.
  • Used a DB-25 connector to interface the original circuit to the new circuit.
  • I've programmed the PIC controller for all the functions (record head{1,2}, tail{1,2}, mouth{1,2}, voice{1,2} and play)
  • The Switch & LED are mounted in Billy's original case.
  • Wired up the LM386 circuit on the breadboard to power an 8ohm speaker from the ISD application notes. It doesn't sound great, but it will do.
  • Added a 'polyswitch' to guard against unintentional shorts.

Still to go:

  • Solder in the Audio Amp circuit
  • Mount the microphone.
  • Print the switch settings to look "nice."

Just as I predicted, I still haven't made a nice schematic. I've got some pencil drawings I've been going by. Other problems I've run into:

  • Every @#$!#$!@$ wire from the original circuit has broken off. Now I understand Marty Vona's (famous Billy Bass Hacker) rant about strain relief!
  • The body motor has some kind of problem. Something is sticking, so the body doesn't move out anymore. The gear from the motor head slips off, but that is just a symptom of the prevoius problem. I've taken the motor apart twice to try to figure out what's wrong but haven't had any luck.
  • It is really hard to stuff Billy Bass back into his rubber skin if you have to do a repair (such as re-solder a broken wire inside.)
  • Although I'm still able to control the motors by tapping into the original circuit, the original circuit doesn't play a silly song anymore. My guess is that 3.3 V circuits don't like 5V signals with no resistors.
  • Since the original IC seems to be dead, I had to re-route the pushbutton signal. The Cds cell based motion detector won't work with my modified circuit at the moment.
  • Yes! Too much heat really will fry a transistor!
  • RF interference from nearby radio station.

Preliminary web page is here.

The Billy Bass hack is coming along nicely.

  • I modified my PIC programmer with a 10 pin header in order to do In Circuit Serial Programming (ICSP). I like this much better than a boot loader, but I have to figure out if I can isolate the programming pins from the rest of the circuit. I've been programming the chip directly on my breadboard.
  • I've isolated the motor control parts of the circuit and broken them out to my breadboard.
  • I turned a 10 way switch into a voltage divider that I can read on one pin with the PIC's A/D converter. Right now, all the '819 is programmed to do is read the switch and turn some LEDs on to display the output of the switch.
  • I wired up the ISP Chipcorder chip on my breadboard and built the reference application circuit from the datasheet using all the parts I have.
  • The op amp chip that Marty Vona used is now a hard to find part. I hooked it up to a very common LM386 audio amp to the speaker output of the Chipcorder. The sound quality coming out of that thing is really poor. I'll have to figure out how to jazz it up a bit. I'm not really sure what I'm doing with this audio amplifier stuff. I think I will have it drive a PNP and NPN transistor to make a push-pull type of circuit to drive the speaker that I got from the 'techlib' web site.

I really ought to spend some time now to draw up the circuit in Eagle, but I love to solder, so it is hard to resist the temptation to lay down some circuitry.

I found some new stepper motors for the Linefollower robot on eBay that advertized "high torque". What have I got to lose? If these motors are high enough torque, then I might not have to build a gear train after all! However, these steppers are bipolar, so I won't be able to use the darlington array I have now and change to use an H-Bridge. That will mean an extra chip on board to control both motors.

My line sensors seemingly failed again after all this. I believe I was running them with too much current. OK. I am positive of this. One LED looked brown when I looked down into it. Another had actually cracked under the heat shrink. I replaced the 2 that were not working and now the readings are off. Replaced the 3rd IR LED with a part from the same soure and line detection works very well now.

I am taking a break from building the line follwing robot. The next thing is to build an improved drivetrain. The time I have to work is 4:30-6:30 am when the rest of the family is asleep. From past experience, I need to be a little more exact in my measurements, so I will have to come up to speed on some kind of CAD package so I can print out blueprints and spray mount them onto the pieces I am drilling on.

The church fall carnival comes up soon (End of September) and I want to hack Billy Bass first. I took Billy apart last night. The mouth motor isn't functioning and I need to track that down and try to fix it. I am converting Marty Vona's 8051 design to use a PIC 16F819. I'm having to consolidate a few dip switches to be read by a single pin w/ an A/D converter to make it fit onto the 18 pin PIC. Microchip has the outline of how to do this in their "Tips and Tricks" document. Wish me luck!

I drove down I-85 in North Atlanta and saw a sign for Fry's Electronics. Could it be true? Is Fry's coming to Atlanta? Their web site says nothing about it.

And the answer is that the tri-state register bit for AN0 was not set to 1 (high impedence). Things work much better now. I ended up with a 10K resistor between ground and my IR sensors. I lowered the current through my IR LEDs significantly with a higher value resistor and it still works fine, so I soldered it all back together and I'm detecting lines now.

If nothing else, at least I now have lots of useful test points on my board.

17 Aug 2004 (updated 17 Aug 2004 at 11:16 UTC) »

I've been working off and on for the past 2 weeks on the reading of the IR sensors on my line following robot. I took a break to add counters to my web pages and build a TV antenna. I've learned a lot about op-amps in the mean time and wired one up, hoping that would help.

After lots of debugging work and lots of suggestions from the AHRC mailing list, I have found a vital clue. My IR sensor circuit works great... that is, until I hook the output to the a/d input pin on the processor. I'm out of time to debug this morning, but now I have something more solid to go on.

The microphone pre-amp worked out great! I tested it out on my home stereo, then took it to church with me on Sunday and the guy that runs the sound board was trusting enough to plug it in. It could possibly be improved by adding a potentiometer to control the preamp gain, but works well enough. I'll definately try printing more circuit boards in the future. I bought some surface mount parts from 'nfceramics' on eBay.

28 Jul 2004 (updated 28 Jul 2004 at 13:58 UTC) »

Yesterday I etched my first PCB. I want to design my own for a Billy Bass Hack, but for my first try, I thought I would go with a pre-engineered circuit: A microphone pre-amplifier. I used the "toner transfer" method popularized by Tom Gootee. At first I tried cheapo inkjet photo paper from Office Depot and it was pretty much a disaster (couldn't get the paper off of the board.) So I broke down and drove the extra distance to Staples to get the paper that Tom was so excited about:

Staples' SKU (Item Number) for the "Picture Paper" (30-sheet package): 471861

If you have tried the toner transfer method before but not used this paper, it is worth another try. It gave me wonderful results. The only glitch I ran into was that it looked like the copper wasn't coming off in one place, so I grabbed a paper towel, soaked it in etchant (wearing rubber gloves, of course!) and rubbed at it. That last bit of copper just wouldn't come off! Then, after about 4 minutes, I took a closer look: It wasn't copper at all - it was some kind of company logo printed on the fiberglass board. Duh... So now I have one trace that I rubbed through and will have to solder back together.

I think I am going to like making PCBs a lot better than point to point soldering prototypes. As much as I like soldering, I hate trying to hold everything still while the solder is flowing and cooking the PVC on my wires.

The line following robot circuit is complete. I have tested the flashing of the IR leds and the A/D detection circuitry. Left to go are:

  • Attempt to build Drivetrain #3
  • Detect a line
  • Control logic to steer the motors to follow the line.

Building drive train #3 I have gotten more sophisticated. I got a center finder so that I can accurately make a hole in the center of the wooden wheels I first bought. Then I found a piece of hardware at the local ACE hardware that makes an excellent wheel hub and attaches to a 5/32 piece of piano wire for an axle.

As for building the gear train, I asked for donations of old printers/fax machines at work and now have gotten 10 devices. I have yet to take apart 8 of them. I'm sure there is a matching set of suitable gears in there somewhere.

I bought a Brother HL-5140 laser printer. After a lot of fussing and cussing I got it to work under RedHat Linux version 9 using the 'gimp-print' driver and cups. It works pretty well - I'm happy with it.

I made a web page for my line following robot project:


I built a little gear train to go with the motor. It kind of sort of works (there is a quicktime animation on the website so you can see what I mean.) Unfortunately, one wheel is larger than I wanted my entire robot to be.

I'm not sure about the line following circuit. I'm planning to flash the IR leds in sequence and then measure the current on the A/D converter. If anyone has some suggestions on that part of it, I'd be grateful.

4 older entries...

Share this page