Thursday, August 1, 2013

So here is the new and improved H Bridge. It's been tested and works perfectly (First try!):

I also decided to color-code the wires this time since it actually works. One thing that I had to do though was take apart the motors and kind of smack the axle with a hammer on either side and re-grease them with white lithium grease. This is because the way we have the motors mounted on the base plate applies a torque on the shaft and forces the bearings to freeze up. Before I mount anything back on I need to design a new drive train to reduce the torque on the motor shafts. So yes, that does mean the driving of Alfred will be delayed again but this should be a much simpler issue to fix.

As of now, I am also working on getting Alfred to line follow. Since I have no knowledge of vision processing I am going to try to get it working by using four cadmium sulphide photocells on the bottom of Alfred just to get a stable version done as soon as possible. Then I can work on the more advanced stuff. This shouldn't be too hard to do considering there is a ton of documentation and code on how to do this available for the same project in RPI's IED course.

Oh, and duh, I will also need to whip up another one of these H Bridges for the other motor so I will also be occupied with that (these are very tedious). Hopefully I can get a good portion of these things done for my presentation Tuesday.

Monday, July 29, 2013

Today was a good day. Alfred is going to move! I'll let you see for yourself:
Some of the problems I ran into and how I fixed it:
-Heat-sinking. I needed to heat-sink the P channel MOSFETs because they were getting too hot and started smoking. I just soldered a piece of copper to it.
-It turns out the N channel MOSFETs I was using required a greater gate current than the Arduino was producing. I replaced them with logic level N channel MOSFETs.
-The NPN transistors were pulling too much current from the Arduino. To fix that I just put a 1K resistor between the pin and the base of the transistor.

So yeah, once I fixed those issues the H Bridge started H Bridging. I plan on getting this on a perfboard and installed in Alfred as soon as possible. Now to start figuring out how to program line following...

Thursday, July 25, 2013

So I haven't blogged in a while because I really wanted my next post to be a success story but I really should post all the failures because you learn just as much from them. So here we go:

What I've learned from my earlier H Bridge failures is I can't use 4 N Channel MOSFETs like I was doing without something called a high side driver. Basically, the source of an N Channel MOSFET needs to be directly connected to ground. In my H Bridge design the source of the top two MOSFETs led to the motor and then the bottom MOSFETs. In order for that to work I would need to drive the top two with a higher voltage using a high side driver. In order to fix that I would need to replace the top two N Channel MOSFETs with P Channel MOSFETs. Also, to protect my MOSFETs from voltage spikes when switching (which have destroyed a few of my MOSFETs) I would need to use protection Schottky diodes (just diodes that switches very fast) on the MOSFETs with the cathode at the source and the anode at the drain for the P Channel MOSFETs and vice versa for the N Channel MOSFET. So that design will look a little bit like this:

^^don't mind accidental gate wiring error (crossed)^^
or this:

...which better illustrates where the problem in this design was. See, since we are using P Channel MOSFETs now, we need to use pull up resistors instead of pull down, and if the Arduino were to come into contact with that 12V wire it would destroy the chip. So now we need to use NPN transistors to ensure there is no direct contact. It'll look like this, except on both side sides:

or this:

However, it doesn't spin the motor and now I'm have this problem where the P Channel MOSFET that's getting power starts smoking which I assume is bad. I'll keep updating if anything changes. In the meantime I've been learning Java in preparation for getting the line following to work which is also why I haven't been posting too much. Anyways, back to work.

Update: So I was looking at the breadboard in the above picture and realized I wired something wrong so I changed that and tested it. Now instead of smoke, nothing happens. I guess that's better but I would really like for the motors to spin.

Wednesday, June 26, 2013

New Circuits

The last H Bridge I blogged about didn't work at all. I made a new one that I believe will work now. The reason I say this is because in my last H Bridge, I left the MOSFETs floating (I forgot to ground the gates) which was a big mistake and I accidentally switched source and drain. In the top two MOSFETs, drain should be connected to 12V+ and source feeds to the motors. In the bottom two, drain is connected to the motors and source to ground. This is the way it should be. I had completely backwards. Oops. So here is the new H Bridge:

As you can see I also lost the inverter because since the gates will receive a PWM signal, the MOSFETs that I want to be open will be rapidly closing and opening unless the duty cycle is 100% or 0%. That means I need two signal wires; I can't use one. This H Bridge will be tested soon. Also, I put all of the solenoid controllers on a perfboard and those have been tested and work well.

I will get to testing the H Bridge soon and post results.

Update: The motor worked slowly for a couple seconds and then stopped. Currently figuring out why it stopped. No sparks or signs of broken components/short circuits. This is the only H Bridge I made that actually worked so far. I consider this progress.

Tuesday, May 28, 2013

Reconstruction: A New Beginning

I know it's been a while since the last update but, you know, finals and the ends of the semester. However the summer semester for RCOS started a week ago (today was the second meeting) and I'm starting to get back into rhythm. And yes, I will be the only one up here of the group so we'll see how it goes.

Now to get you guys updated:
After careful analysis of possible issues that may have occurred during the Night of Transistor Smoke, I may have come to a conclusion. When designing the H-bridge, we rated our MOSFETs for 2.7 amps, the free current rating of the motors we bought. However, the actual current that the components need to be rated for is the stall current, which is the maximum current the motor will take when it's applying it's maximum torque given the load it is under. This is 133 amps. But as much as I would love to say I solved the problem, the motors weren't given a load when we were testing so I'm kind of hoping these new 150 amp MOSFETs do the trick, and yes, you heard right, new MOSFETs from Newark. These guys were even nice enough to give me a personal call to make sure I got everything okay. Classy. Check it out:

I also decided to buy a couple inverter ICs just so everything can run off the same pin from the Arduino. Now, ladies and gentlemen, for the moment you've all been waiting for *cue drum roll*:

I know, it looks sketchy, but perfboards really hate 14 gauge wire and i just wanted to be safe this time. Anyways, I just need to solder on some battery leads and we're good to go (for now). I do in fact plan to get a custom board printed because when I say perfboards hate 14 gauge wire I mean they really REALLY hate 14 gauge wire. Plus I don't trust the fine traces with up to 133 amps so I soldered them thicker as well. So I guess that's all in the world of motor controllers for now.

Other things to be done in the not too distant future:
-Find suitable base-plate for Alfred
-Tune drink dispensing system

These items are planned to be done by the end of this week so stay tuned. For all you RCOS folks, I apologize for all the hardware but when this is done there will be a lot of Arduino code and Java coming your way.

Monday, April 29, 2013

The Road To Recovery

After sleepless nights of trying to get any kind of motor abilities from Alfred with the resources we had lying around, we've decided that spending the money on quality products might be a worth-while option. Although we are all too busy to continue on Alfred this semester, it will soon be decided if we will be order motor controllers, a new IOIO board, and/or make a custom PCB board for the solenoids. We currently have working face tracking and User Interface with the Samsung Galaxy tab, communicating with the Arduino Uno over bluetooth, and functionality with the drink dispensing system. So basically, it's a friendly vending machine. This last meeting we discussed plans for the summer and cleaned up a little. We are shooting for finishing early in the fall semester once we figure if we will be spending on the components previously mentioned. the final product is definitely on its way and surely won't fail to excite.

Thursday, April 11, 2013

Catastrophe/Moving Forward (Progress Update)

So far we have got at robot that can mechanically function and has been wired to work with a micro controller. Unfortunately there was an accident and one of our main links (I/O I/O board) between the tablet and the robot itself was compromised. We still think we can make it work. Our plan is to have Alfred more or less stationary, but turn and track people. As Alfred turns towards them as they come closer, the robot will stop moving much and let the user approach (specifically not moving for safety concerns). After they approach Alfred they can order a drink and interface with Alfred (e.g. Alfred can speak to people). Thank you for understanding. 

The picture below is our bot 2 days before the Student Acceptance day or D-Day as has been renamed by Bharath (Left). I think the robot has made significant progress with a nearly functioning mechanical side and drink system that is only limited by a part we should receive soon. We will be work all night and all day tomorrow to get the rest of the systems implemented. Bharath is also holding the back panel which has the newly minted Open Source/Open Hardware symbol which he came up with. Kyle in the middle of the bot also spent all week with me (Jordan Yamada) finishing up the mechanical side which came together in whirlwind of effort. David (Right), has made and implemented his H-bridge which is working and going to get the robot moving. Also he finished the wiring to the solenoids which will allow us to electronically control the dispensing of drinks.

Now that the what's done is taken care of this is what we have to do now. Due to the accident we will use bluetooth from arduino to the tablet. We also have to implement a lot of sensors to effectively control and manage Alfred during dispensing mode.

Hopefully we will be finished just in time for Student Acceptance day, and add a little fun to ordering up some beverages.

Sunday, April 7, 2013


Today marks a great milestone for Alfred. Substantial work has been done the chassis and mechanical systems. Going from the CAD models as seen in Kyle's post earlier in the semester we've gone from bits and pieces, to a skeleton to a substantial robotics system, in spite of many set backs, lag time in parts coming in, and technical difficulties with workspace and tools. Alfred has made leaps and bounds.

Although this is true many deadlines have been missed and we need to start implementing systems and testings them to meet our ultimate goal of student acceptance day.

Friday, March 29, 2013

Meeting Notes 3.29.13

Old Todo

  • Idea Wrap drink lines around co2 container for cooling
  • Will the CO2 tank use up all the drink?
  • Do we have enough pressure to move the solenoid
    • Note: This is not a gravity-feed solenoid. This means that you will need enough water pressure to fully open the valve. Check the datasheet below for exact details. It operates at a minimum of around 3 PSI, allowing around 3 L/min of flow. Although the datasheet shows the valve working at 220 VAC, it's actually 12 VDC. Our 350 GPH pump does not have enough pressure for this valve. A garden hose or other pressurized system should work just fine.
  • Upcoming DeadLines
    • We are behind schedule but will make it up
    • Still Behind due to slow part orders
  • Part Ordering
    • McMaster Parts (Jordan)
      • done
    • Robot Market Place (David)
      • Battery Done
    • Northern Tool (Jordan)
      • Wheels Shipped
    • Amazon (Jordan)
      • HP Touch pad (Done)
  • RCOS Presentation
    • intro slide (Jordan)
    • Chassis (Kyle)
    • H-Bridge (David)
    • UI (Bhrath)
    • Future(Jordan)
    • Questions(all)
      • Presentation went great Not to follow through with work

New Todo

  • Update GIT Hub (Software Team)
  • Orders
    • Orders
      • Other Wheel (Jordan)
        • Shipping
      • Tube (Jordan)
        • Shipping
      • Solenoid Adaptors (Jordan)
        • Order
      • Keystock (David)
        • PO turned in
      • I/O I/O (David)
        • PO turned in
      • Battery (David)
        • PO turned in
      • More Metal (David)
        • Home Depot Run (on Monday)
        • Will happen on Friday
  • Finish Chassis
    • Add Wheels and Motors (Kyle)
    • Add Electronic Board (Andre + David)
    • Water Jet Order (Jordan)
      • Waiting to see how to cut it down to fit on water jet
    • Add Tablet (Kyle or Jordan)
  • Continue Wiring (David + Andre)
  • Sensor Array (TBD)

Saturday, March 23, 2013

Meeting Notes 3.23.13

Old Todo

  • Update Budget (Dan)
    • Done
  • Look For Wheels (Kyle)
    • Done
  • Search for Android Tablet (Bhrath)
  • Finished Soldering H-bridge circuit (David)
  • Make Chassis (Kyle+Jordan)
    • Working on it tonight
  • Get specifics on new UI Design

New Todo

  • Idea Wrap drink lines around co2 container for cooling
  • Will the CO2 tank use up all the drink?
  • Do we have enough pressure to move the solenoid
    • Note: This is not a gravity-feed solenoid. This means that you will need enough water pressure to fully open the valve. Check the datasheet below for exact details. It operates at a minimum of around 3 PSI, allowing around 3 L/min of flow. Although the datasheet shows the valve working at 220 VAC, it's actually 12 VDC. Our 350 GPH pump does not have enough pressure for this valve. A garden hose or other pressurized system should work just fine.
  • Upcoming DeadLines
    • We are behind schedule but will make it up
  • Part Ordering
    • McMaster Parts
    • Robot Market Place
      • Battery
    • Northern Tool
      • Wheels
    • Amazon
      • HP Touch pad
  • RCOS Presentation
    • intro slide (Jordan)
    • Chassis (Kyle)
    • H-Bridge (David)
    • UI (Bhrath)
    • Future(Jordan)
    • Questions(all)

Sunday, March 10, 2013

Prep for Chassis Welding

Hello, over the break our goal is to get the chassis more or less up and put together based off Kyle's awesome CAD of the design. To get the chassis together we have to weld it but unfortunately most metal from home depot, although cheap comes with a coat of zinc, or galvanization on it. To keep with the kind of do-it-yourself mantra of open source I tried to find the easiest and cheapest way to get that coating off. On the internet various sources have suggested "muriatic acid" which is used in cleaning pool. This maybe okay for some people and it definitely gets the job done, but it's a bit pricy and you have to be a lot of it. Also pool supply stores and few and far between especially for someone like me who has to get to places by bus. What i did was get some good old toilet bowl cleaner. Like this one I found for 4$ at my nearest walmart.

This stuff is amazing for it's price and I would highly suggest it. I also bought some baking pans to soak the metal int seeing as I would want to throw these away after, or at least not use something more expensive. the next thing I did was get 2 large containers, one filled with water to quickly remove any that got on my hands and dilute the acid too (I know baking soda would also work, but a whole thing of it was unnecessary for small stuff), and the other to pour the used acid into (you can't just put it down the drain). Then I got a box to put it in if it spilled and filled it with lint to absorb if anything went wrong. I soaked the area for about 2-2.5 hours and got this result...

This is more than ample space for welding. Just a bit of things i ran into, make sure you take off the price sticker on the metal because the acid will not go though it. Also do it in an open area, and wear safety glasses. I also would suggest to make a cheap funnel by cutting the top of a water bottle, because it comes in handing getting it from the pans to back into a container. If things all go as planned we could have a chassis in no time!

Friday, March 8, 2013

Update On Material

I have just placed the first order for all the plastic that will be used on the robot. It should come in next week.  I am so excited. It looks like the robot is really coming together. I am also going to clean and prep the steel for welding which may take place too. Have a great spring break!

Wednesday, March 6, 2013

Chassis update #2

The chassis has made some big design leaps since the last update. First, we began to get into the details of the internal structure. This process began as something of an organization game, with the goal to make each sub-system fit neatly with the others. Even weight distribution and ease of maintenance access were some of the top priorities, while also keeping some wire routing paths in mind. With 2-liter plastic bottles seeming like a likely choice for our beverage containment vessels, we had enough to begin adding to our CAD model.

Shown above is our "bottle rack". The shelf below the bottles has holes cut to allow the outflow tubing to connect. After the bottles were in, I began adding in more frame members to support the anticipated components we would need.

You can now see our placeholder CO2 tank in the frame, as well as a funnel support (for the drink dispensing), and a mysterious pole at the top. The placement of the CO2 tank was intended to help offset the  weight of the filled bottles. Metal members going horizontally around the frame are primarily supports for different components. They are not yet vertically constrained, which allows us to slide them up and down until we find a good position in the model. With the addition of the shell and final internal pieces, I played around a little with the render feature for the following image.

The bent plastic piece mounted to the front shell represents the backing to the dispensing area. The box on the left side of the frame is a placeholder for the solenoid valves. I also experimented with changing the position of the electronics board from the top to the right side for easier access from the removable back panel. Finally, the pole on top is now supporting a generic Android tablet, which will serve as the interface screen.

A view from the front shows some new cuts in the front shell to accommodate the dispensing space and give Alfred a name. 

Saturday, March 2, 2013

Motor Control Circuit Testing

For the past two meetings, I have been focusing on getting the motor driver part of Alfred working. The video above was taken from Alfred's meeting on 2-22-2013, I built my test H-Bridge circuit on the breadboard provided by the Mercer Lab. At first, we thought it was not working, but I realized that I did not connect the top two transistors of the H-Bridge properly.

On 3-1-2013, I started to solder the H-Bridge circuits to the perfboard provided by the Mercer Lab. I could only solder the first H-bridge circuit to the perfboard since everyone also in the meeting were thinking of a way to implement Alfred's UI. Today, I finally finished soldering the last part of the circuits. I will test the circuits this coming Friday.

Friday, February 22, 2013

Build Journal (Jordan) 2/22/13

Today I we had a very productive meeting. We Started off on a lead of where to get some materials going to the JEC E-Waste bins where we salvaged some scrap metal that would be useful for the base plate that we needed badly to start work on the chassis. Another really big accomplishment today is that we also got a working H-bridge courtesy of David! look out for his post. Also I will add that we worked out some details on the building of the tanks to how said liquids. at first we though about PVC, but we found that was unnecessarily expensive for this project. The next idea was trying to use sheet aluminum which is cheaper and would make the creation of the drink storage more useful. This plan seemed pretty good but then we'd have to use a lot of gas to weld said tanks and that would be kinda expensive too. Kyle suggested decided that maybe we should go simpler and maybe use the containers that the bottles already come in, which I feel is more in the vein of open hardware because it's easily accessible.  Another plus is that it's light, free, and they are already rated for the amount the pressure that we're going to be working with (it's not like we're trying to make a bottle rocket). The feasibility should be confirmed by next week and then we'll be good to go! We should start construction on the chassis by next week if all goes well. All we need is a shop...

Meeting Notes 2/22/13

  • Todo From Last Meeting
    • get base plate (Kyle)
      • Done
    • Look up rules on welding pressure vessels (Kyle)
      • Not Recommended
    • Line following test rig (Bharath + David)
      • in progress
    • Get Checks (Jordan)
      • Write Check to EHC
    • Send Calendar Out
      • done
    • Blog Post (All)
      • Good
    • Drink Pricing (Dan)
      • Get Approval

  • Todo Next Meeting
    • Talk to EHC about a community Charger (Jordan)
      • Hobby King
    • Look For Wheel (Kyle)
    • Drink Pricing (Dan)
      • Get Approval
    • Motor Dampening
    • Talk to FH or FSAE (Jordan Eric)
      • 80in of tig aluminum welding
    • Usability of a 2 liter bottle (dan)
      • See if we can make a line in for pressure and a line out for the liquid

Chassis update

Here's a quick run through of the preliminary chassis design for Alfred. Looking at what we needed to accomplish with Alfred's mechanical structure, it became clear that the two greatest priorities were keeping it inexpensive and convenient for users to interact with. While some of the concept drawings leaned towards the "R2-D2" aesthetic, it soon sadly became clear that a circular shell would be too pricey for our budget. We briefly explored the idea of bending sheet metal or vinyl around a circular frame, but this introduced much more complexity than it was worth in addition to the cost. One of the most prohibitive factors was shipping costs for such large pieces of material, which is a challenge we are still working on. Eventually we decided to make a relatively simple rectangular box with an internal steel frame. The shell will consist of plastic plates that mount around the outside. This should make the refilling, recharging, and maintenance tasks  easy and quick.

The front and rear casters weren't added yet in the screenshot, it won't actually balance on two wheels. The two motor and gearbox mock-ups are based off the Banebots datasheets, and mount directly to the base plate. The wheels we found online will have to be modified in some way to connect them to the shafts.

Here it is with an angle iron frame. Some example shell plates have been attached to the frame for reference. These plates will probably be waterjetted to create the openings for the drink filling mechanism, motor shafts, and interface panel. Almost none of the internals have been added in yet because the design of those are still being finalized.

Friday, February 15, 2013

Meeting Notes 2/15/13

  • Updates from last meeting
    • Look up open hardware specs (Jordan)
      • Check but we should be fine
    • Post any and all current code to repo (Everyone)
      • None so far
    • Make sure everyone updates the blog (Everyone)
      • Do this
    • Change to Google drive (David?)
      • Did this
    • Decide what we need to buy (Everyone)
      • Base Plate ASAP
    • Mercer lab funding (David)
      • We can use the space
      • Fill out form get free parts
    • CAD base (Jordan, Kyle)
      • Totally
    • Find local supplier (Anyone/Jordan)
      • Process shop for base plate
    • Budget in stainless steel and aluminum (Dan)
      • Work in progress
    • Look in to LED designs (Bharath)
      • Work in progress
    • Line Following algorithms (Bharath)
      • Needs test rig

  • Budget
    • We need to start getting a total budget going
      • Google docs and everyone updates it?
      • Done
  • Chassis/Structure
    • Design and plan out spacing for drink system
    • CAD drink system design
    • Solid Work and it’s Openness?
      • Check again but it should be cool
  • UI
    • Start Deciding on how to implement
  • Todo For Next Meeting
    • get base plate (Kyle)
    • Look up rules on welding pressure vessels (Kyle)
    • Line following test rig (Bharath + David
    • Get Checks (Jordan)
    • Send Calendar Our
    • Blog Post (All)
    • Drink Pricing (Dan)