Jump to content

Recommended Posts

Another week, another bit of progress.

 

Right now I'm working on making a library similar to MBed because I'm starting to make more and more objects for the BP, and I want the code to be as easy to use and understand as possible. I'm pleased with what I've finally decided on and will be implementing it shortly.

 

Made a new frame for the demo tank robot. Each layer has magnets and attaches with screws that I had laying around. It's a surprisingly strong hold. Each layer is separated as follows:

- Servos and other stuff

- Tiva Laucnhpad w/ top headers cut off + Robotics BP

- Smartphone + Omnicamera Lens

- Motors/Encoders + Six Cell NIMH battery Pack + Track

 

A picture will follow soon.

 

 

Oh, and I was able to get 12 servos completely driven and powered by the BP. Video above. I assembled a second board and gave/loaned it to a friend who wants to make a 12 servo crawler.

Share this post


Link to post
Share on other sites

For those that are keeping an eye on this, I wanted to give another update of sorts.

 

I'm currently looking to do another rev (2.1), and have been keeping track of all changes here. I realize that it's hard to say whether one change is better than another, but I would appreciate it if y'all could chime in. There are some changes that I'm looking to make to make the board much more functional and cheaper at the same time, the biggest one being the removal of the Bluetooth Module. By removing this, I think I can get it comfortably below $50/board. I'm also working on looking for alternate motor and power headers since I'd like to use the current measurement IC for the entire system, external to the BP.

 

I want to get the next rev sent out for fab by the end of the weekend so I can have a week to work on it before the Austin Mini Maker Faire!

 

 

On another note, software is still coming along. Like I mentioned before, I'm pleased with the implementation I've chose to pursue. It's a combination of MBED, Arduino, eLua, and another project that aims to abstract out most of the nitty gritty details, except that my implementation doesn't actually do that completely. I'm aiming for a nice OOP library that instead of abstracting out peripherals and little details, instead modularizes peripherals in such a way that is intuitive for Embedded System engineers, but at the same time hides a lot of the repetitive and implementation specific things. It's a bit weird to describe, but I have a few repos up if anyone is curious (word of warning, I haven't tried compiling it yet, and almost know for certain it won't compile yet).

 

So I'm aiming to get that completed, or at least functioning, by the end of the weekend, along with v2.1. Any input would be appreciated!

Share this post


Link to post
Share on other sites

Wow, it's almost a month since I last made made a post.

 

Updates:

  • PCB still needs to be rev'd. Got preoccupied doing other things.
  • I made a hovercraft using the booster pack. And it (kinda) works!
  • I was at the Austin Mini Maker Faire (proof!)
  • Oh, because I needed a better way to wirelessly control the robots over bluetooth, I make an Android App in less than a day to control both robots. The repo will be updated tonight with the app.

Share this post


Link to post
Share on other sites

RBP v3 routing completed! Gonna mull over the routing for a day while the silkscreen is completed, when if all is good, in two weeks, I'll have another rev!

Share this post


Link to post
Share on other sites

Nearly another month, and another update!

 

  • PCBs are back, and aside from USPS not delivering around $250 in packages (still tracking them down, but I'm not optimistic and simply reordered everything), v3 of the PCB will be assembled and tested by the end of next week! Looking forward to getting real time current readings up to 100A.
  • The IMU! Finally getting around to porting the MPU6050 from the I2Cdev project to the Tiva Launchpad + my I2C implementation. Aiming for it to be completed by the end of the week.
  • There's something to be said about Hovercrafts. Working on my Sparkfun AVC entry, hence all of this work being done.
  • Oh, the Android Hovercraft App has been fun to work on (need to test it somehow!).

Probably won't post another update until after the AVC, but I suppose I could post an updated version of the BoosterPack once I get it assembled.

Share this post


Link to post
Share on other sites

Here's your monthly update!

  • AVC has come and gone, and while it was fun, there was simply too many things that came up at the last minute for me to deal with. The Hovercraft eventually drove straight-ish, but was not able to make it past the first corner. Oh well. I'll be putting up the documentation backlog on hackaday.io for those that want to make one for themselves.
  • The Robotics BPv3 has a few more smaller issues, one of which being that I completely messed up the IO ordering (instead of the pins going 1,2,3,4,5,6,7,8, I did 4,3,2,1,8,7,6,5). Fortunately, it wasn't a dealbreaker, but I will want to fix this. Also, the SD Card connector has been marked NRND, so I'll have to replace that.
  • Something really weird was happening with the Launchpad during AVC such that unless I outputted variables via printf, they would get optimized out. There were loops that I was never entering, despite data being there, there were variables not getting updated, and all in all it was really weird. This is something I'm going to fix before releasing the firmware for the project.
  • Before AVC, I was able to update the control app for the Hovercraft. The fun really started when the night before I only slept 30 minutes and learned how to use GPS and the Sensors on my smartphone. Unfortunately, the IMU sensors on the phone were both noisy and slow, which meant that if I wanted to go straight, I'd need to get that MPU6050 working. Also, the GPS only worked at 1Hz, BUT I did get accuracy down to +/-4m, so there's that.
  • On the subject of the IMU, I think there's something really weird going on with my implementation of I2C. I could read individual packets, but never got the DMP working. I ended up sampling the Gyro at 1KHz, which while it got the job done, starved my command parser such that sometimes I received invalid commands. A huge issue when simply turning on the motors requires 6 back to back commands (one for setting the initial value, and one for enabling them).

 

Now time for a bigger announcement. I'd like to switch gears again to working on the Pick and Place. It's become a large enough bottleneck that I need one working sooner than later. BUT, I also still want to keep testing this board and working on software, so I'm going to try something. I've decided that for the next rev (v3.1 for those keeping track), I'm going to send out test boards so that people can actually put the boards through their paces. If anything this should help incentivise me in documenting how to use the board. This should also help me see how people want to use the board.

 

This is the first time that I've ever done this kind of thing, and I'll be sinking a good chunk of money into this, but I'm getting close to the point where I'd like for the project to be wrapping up, and hope that this will help. If for some reason I get a lot of response/demand for this, then I'll likely be looking for people that are much more active on working on projects than those who are new to embedded systems, simply due to the stage that the board is at. For those that are interested, PM me or post here for more questions. 

 

 

TL;DR: AVC was fun. Waay too many last minute issues to correct for. Found minor issues with the board.
I'll be giving away a few boards to hopefully receive feedback on the board, and find out what else needs improvement.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×