Saturday, June 21, 2014

LM3886 Amplifier Design


I've been meaning to build my own amplifier for a while now. My old tube amp is on its last leg and I need something that can withstand a little more damage to bring back to school with me in the fall.  Based on an example circuit from the Audio IC Users' Handbook and my interest in gain clone-type amplifiers, I decided to design myself an amplifier board based on the LM3886 IC.

The schematic I used is similar to the main example of the datasheet, with a little more added circuitry. Unfortunately, I won't be able to post a picture of the schematic due to copyright. The board that I designed functions as a one channel 68w amplifier, running off of +/- 28V.  In my finished amp, I'll be using two of this board [one for each channel] , as well as a power supply circuit board and a transformer.

I started off with searching Digikey for all the components I plan on using. I'm using all through-hole components in order to keep the board as simple as possible.  After finding all the parts I needed to produce two circuit boards, I began to focus on the board design itself.  I used the dimensions of the parts I ordered to design a small circuit board that holds just the amplifier IC and the components needed to run it.  I wanted the board to be as small as possible in order to minimize noise from circuit board traces, as well as to keep the PCB costs down.

My end result was what you see above. Note that IC1 is not labeled for the LM3886 because I used a different IC with the same footprint to design the board rather than creating a custom component.   Designing the board was quite the learning process, it was my first time using EAGLE to create a circuit board, as well as my first time ordering custom circuit boards.  I'm happy with the end result.

As a side note, I found that seed studio will produce custom PCB's for a very low cost, and ended up ordering 5 copies of my board for 9.99 - not bad at all! If you'd like a copy of the EAGLE schematic/board files I created I'd be happy to email them to you.

Sunday, June 15, 2014

BeagleBone Bluetooth Networking

You're looking a VNC and internet connection to my BeagleBone, all over Bluetooth of course!
So I've been spending a large amount of time messing around with a BeagleBone Black (BBB) lately.  I've experimented with wifi dongles, VNC, Ethernet over USB, and Bluetooth.  I started out programming the BBB from my Mac, and then ended up switching over to a Windows computer.  However, when it came time to set up a Bluetooth connection, I gave up and installed Ubuntu on my Windows computer.  After all, why would you want to program a linux development platform using anything other than linux?

Anyhow, it took me a long time to set up a proper Bluetooth connection.  I ended up creating an IP network connection over Bluetooth, allowing me to SSH and VNC into the bone wirelessly.  Cool stuff!  After a bit of thought, I realized that if I already established an IP connection to the BeagleBone, why not forward it internet through the same address! After a bit more experimentation with programming, I ended up with a BeagleBone that was both remotely accessible and connected to the internet using nothing but Bluetooth.  Below I detail the commands I used to do so, I couldn't find a specific guide for doing all of this on the web so I figured I'd make a tutorial.

First, connect your BeagleBone to the internet and run the following commands.  **These only need to be ran the first time you set up your Bluetooth connection** 

opkg install bridge-utils
opkg install bluez
nano ./test_nap

Next, paste this code into ./test_nap.  Press ^x followed by y to exit and save the file.  In order to make it executable, enter the command chmod +x ./test_nap

The following commands must then be run every time the BBB is rebooted in order to establish remote accessibility and internet over Bluetooth.

On the BeagleBone:

brctl addbr pan0
ifconfig pan0 192.168.99.1 up
./test_nap pan0 &
(press the enter key)

route add default gw 192.168.99.2

Now log out of your connection to the BeagleBone and type this command into your computer's command line:

hcitool scan

Choose the MAC address that corresponds to your BeagleBone based on the results of the hcitool scan command. In my case this is 00:02:72:AB:84:5B

sudo pand -n -c 00:02:72:AB:84:5B

sudo ifconfig bnep0 192.168.99.2

sudo su

iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE

iptables --append FORWARD --in-interface bnep0 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

That's it! Pull out your USB cable connection to the BeagleBone and try to connect to it remotely using ssh root@192.168.99.1, then use something along the lines of ping 8.8.8.8 to verify that you're connected to the internet.


The entire process, along with verification that it worked




Saturday, June 14, 2014

Why I Made A Blog

Hi, I'm Georges.  I'm a soon to be sophomore studying Electrical and Computer Engineering. I tend to keep myself busy, I'm pretty involved on my campus and I recently began working full time.  I started this blog to keep myself focused on what I love; technology and electronics.  I plan on using Coffee and Circuits as a way to share my projects and ideas with the world, as well as a medium for keeping track of my work.  I hope to create my own tech startup one day, and I consider this blog as one of my first steps in that direction. I welcome reader participation, I'd love to get some feedback on my posts.  Enjoy!