Jump to content

Recommended Posts

Just thought I would put this here for now. I'm currently working on assembling the PCB that I have right now.

 

It uses just about all of the pins, which means that it can't really work with any other boards, and technically isn't a BoosterPack because of the form factor, but I digress.

 

Because the resolution of the image that I have is too large, here's a link.

 

Share this post


Link to post
Share on other sites

Yeah, it's just that the list is quite long:

  • 5v Regulator (TPS53318)
  • 3.3v Regulator (TPS62082)
  • 4 Motor Controllers (DRV8800)
  • 4 SPI Magnetic Encoders (ADS5050)
  • 6 Servos
  • 6 ADC Pins
  • 4 GPIO (PCA9557)
  • 2 N-Channel Mosfets (FDMA1024)
  • 6DoF IMU (MPU6050)
  • XBee Header
  • Bluetooth (RN-41)
  • Micro SD Card
  • Power Monitor (INA220)

A few notes:

  • There's a separate 3.3v regulator on this board because with so many things using the 3.3v rail, I wanted to make sure that I wouldn't run into the 400mA max rating on the Launchpad regulator.
  • The motor controllers have an interesting feature where they can be paralleled to handle about twice the amperage. 
  • The XBee and Bluetooth cannot be used simultaneously unless one is routed to a separate UART connection.
  • The Micro SD Card is directly under the shielded part of the XBee, but is clear of the XBee antenna so signal integrity should be ok (at least I think so).
  • The 5v regulator is capable of supplying up to 8A continuous current (given a good enough power source), which should be enough to power the Servos and possibly even an external  BeagleBone. That's the goal at least...

Even though I've been making circuits for years now, this is by far the largest system that I've designed. I'll be amazed if it all works out of the oven.

Share this post


Link to post
Share on other sites

Wow, I had forgotten about this post.

 

So a few updates:

  • First PCB:
    • Very little worked.
    • The 5v regulator worked once or twice, but due to bad reflowing it didn't ever work again.
    • The 3.3v Regulator has too much paste and shorted out.
    • I got the wrong package of IO Expander, and had to solder directly to the Motor Enable signal to test out motors. They worked.
    • The IMU and Power Monitor both respond with I2C Acks
    • The 100uF capacitor was larger than I thought, and had to leave them out. for this PCB.
    • Indicator LEDs would not be tested due to faulty power rails.
  • Second PCB:
    • Much more working.
    • Reflow worked much better. Both 5v and 3.3v rails work wonderfully! I think I'll be using this 5v circuit more often, even if it is a pain to assemble.
    • The IO Expander works, and can turn on/off the Motor Controllers at will!
    • IMU still responds to I2C w/ and Ack.
    • I flipped the Power Monitor and ended up ripping a pad off the footprint, so that function might need to wait until the third PCB.
    • Motors go!
    • I'm having issues controlling the Servos after initialization, but that's a software fix.
    • More software to write: ADC, IMU, UART Interface, I2C IO Expander (Clean it up a bit)
  • Third PCB:
    • A placeholder for things that I plan to test
    • Bluetooth, XBee, Power Monitor, Smartphone to UART interface

 

As a side note, I was able to charge my phone using my board, the launchpad, a Micro to USB cable, and a OTG adapter. Surprisingly, the MCU got hotter than the 5v regulator, but shorting the RST line to GND fixed that for the time being.

 

Updates to the next revision can be found here and here.

Share this post


Link to post
Share on other sites

Updates!

I did a few more things on the Second PCB, and made some PCB and schematic changes (check the repo).

Among them:

  • Added a blocking diode from 5v -> VBUS. Now, when only the USB connector is plugged in, the Motors and Servos don't actually draw power from the USB cable. (Too much power drawn from the USB port will disable it)
  • Fixed a pin naming issue
  • Moved the IO and FET inputs. The USB HID connector was in the way. (Actually, now that I look, I think they still might be in the way...)
  • Changed the UART select headers for Bluetooth/XBee modules to SMD
  • Make silkscreen corrections

Also, more things are working:

  • Servos finally work. The issue wasn't with software, it was me being dumb with hardware. The numbering of the Servos was reversed, and I was only ever testing with one Servo...
  • Solenoids were successfully driven w/ the FET IO, but I needed to connect another battery in series to get it working.
  • A friend of mine cleaned up my make file (all of this is being done in Linux btw), and I was able to get it working in my system

Looking to get my SPI encoders working, along with the DMP in the IMU and possibly ADCs before the night ends.

 

Next week(end), I'm thinking of doing the Third PCB, in which I'll start writing software for Bluetooth, XBee, the Power Monitor. The SD Card might have to wait until the next rev (I got SPI CLK and MOSI swapped on the PCB...).

 

Also, looking at the next rev of parts, I think I can get the input voltage as high as 25v (I think it peaks at 16v at the moment).

 

A small demo video might show up tonight; we'll see.

Share this post


Link to post
Share on other sites

Another Update!

This past weekend, I participated in a Hackathon, where I primarily worked on the software for the board, which can now be found here.
Things that went right:

  • Software was moved out of a the large blob and made much more modular. I'll have to retest things to make sure everything still works
  • The SPI Encoders worked!
  • Software QEI Encoders work as well!
  • ADC pins are now up and running

Things that need more work:

  • The SPI Encoders I designed worked, but not in the way that I needed them to. They can only provide absolute angle output as opposed to total revolutions. Oh well. QEI encoders it is.
  • The next rev will only support two(2) Encoders as opposed to four (4) because the Tiva only has two (2) QEI peripherals. Worst case, I've managed to write a nice, small QEI state machine that seems to get the job done for a consecutive pair of GPIO pins.
  • Moving the SD Card to Port F due to the Encoder change. Yes, that means that LEDs will rave when doing things w/ the SD card...
  • I have a lot of UART work to get done. Bluetooth and XBee are still non-functional.

 

ToDo List:

  1. Retest software modules
  2. Working Bluetooth, XBee, UART <> Android Smartphone interface
  3. Create PCB v2
  4. Create a Simple Scheduler (In Planning)
  5. I2C State Machine + sensors (I2C Line Sensor, Power Monitor, IMU)
  6. Acquire Tiva + PCB v2

As a final note, I've also posted this project in TI's University page.

Share this post


Link to post
Share on other sites

Heheh, actually, I haven't given price that much of a thought.

 

The initial plan was to make as many of the parts samplable from TI, cutting down on the cost as much as possible. If I had to guestimate, I think I would aim for this board's price point to be ~$60 w/o Bluetooth. With Bluetooth would be an extra ~$20.

 

Also, just got Bluetooth working today ^_^

Share this post


Link to post
Share on other sites

Brief update.

 

  • I can get a bit OCD when messing with circuits. I'm trying a different routing strategy involving using only mils (I use to do 25 mil for placement, .25 mm for traces), and have decided to ripup all of the traces and start from scratch.
  • I've changed the factory reset pin for Bluetooth to a tiny solder jumper, so that you can effectively put it in reset with a random piece of metal. The button was awkward to reach.
  • Fixed a few power domain issues, specifically one where if a XBee was plugged in and power was being supplied only from USB, the reset pin would be held low.
  • I was able to move some things around (4 mounting holes!), but that's caused quite a bit of routing headaches, so instead of fixing them, i just decided to start over w/ the routing.
  • I've spec'd the parts, and have determined that the max input voltage of this board is 22v! It can be pushed to 24v, but the Vin->5v regulator might complain a bit.
  • I need to select a slightly higher target voltage for the Vin -> 5v regulator. With the current draw that's happening, I constantly see the regulator in the 4.7-4.8v range, which is enough to confuse my phone's charging circuit.

 

 

Side note: Currently, I have an unused pin on the IO Expander. Anyone have any ideas as to what to do with it?

 

Side side note: Anyone see Sparkfun's new RedBot Mainboard? I couldn't help but compare and notice how much more advanced my board was. It makes me want to figure out how to get this board's assembly costs low :3

Share this post


Link to post
Share on other sites

Another brief update:

  • Still working on the v2 PCB
    • Adding option to conenct Servos directly to the battery
    • Adding option to run Motors off of 5v
    • Removing option to parallelize Motor Controllers (too niche for the difficulty in routing)
    • Added rectifiers for protection all around (FETs, 5v -> VBUS)
    • Modified FET header
    • Remapped some pins
    • Completely avoiding using mm while routing (instead using 6.25 mil for traces, 25 mil for parts
  • I'm currently working on a demo bot for a competition I'm helping run, and am aiming for a completion date of Oct 12th.
  • @@bluehash, the BoM is still in progress, but here's what I have so far
    • I'm interested to hear how you can help w/ assembly!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...