Category: Uncategorized

Analyzing USB HID Signals

Posted by Ril3y on June 5, 2010 | 2 comments

USB analysis rig So I started down the path of trying to breakout USB HID signals via the USB Logic analyzer with saleae.com’s “Logic Analyzer” and a custom made  USB break-IN cable.  I learned that attempting to just “tap” the D+ and D- cables then read the bits off the wire is a total fail.  This is due to the USB protocol encodes the “bits” in the format of NZRI encoding

At first glance I still am trying to figure out how to programmatically de-code NZRI to get to the bits.  After reading / skimming through Craig Peacock’s USB in a Nutshell its has helped.

Screen shot 2010-06-05 at 5.30.54 PM

Its a bit hard to see but on the D- signal you will see that there is a small line where the D- goes low then jumps back up.  If you look all the way to the right there are a bunch of lines going up and down.  The significance of this is that the first line all the way to the next line is exactly 1ms.

Which in reading AVR’s: AVR309: Software Universal Serial Bus (USB)

“In order to  maintain synchronization, USB  demands that this  sync pattern is
transmitted every millisecond in the case of  full  speed  devices, or that both signal lines are  pulled  to zero every  millisecond  in the  case of low  speed devices.” 

So what’s next?  I am going to to look at Dick Streefland’s USB AVR implementation to see how he is de-coding the NZRI data.  For troubleshooting purposes I am looking into writing a protocol analyzer for the logic device.  More to come…

Additional Links about USB and NZRI encoding:


General forum discussion:
http://bit.ly/aCHK4H

Dick Streefland’s USB AVR Implementation:
http://www.xs4all.nl/~dicks/avr/usbtiny/index.html

USB in a Nutshell (PDF):
http://www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf

Google Buzz

Mini Proto Desk – For the Arduino

Posted by Ril3y on April 5, 2010 | 3 comments

Mini Prototype Desk - ALPHA DESIGN

Here is an idea that I have been kicking around.  An portable arduino “proto desk”. This is an smaller and more “mass produceable” version of this:



www.flickr.com/photos/rileyporter/4349185833/

I hope to perfect this in the next few weeks and possibly put it up on the synthetos.com store (once I officially launch it)

The “proto desk” is missing the 1.8″x1.4″ breadboard at the moment. (I could not find mine :)

The top 2 openings are containers to place components in. I still need to fix the lettering alignment on the pins and a few holes were not cut (my stupidity) and lastly the DC power connector is a tad bit too high for the rest of the desk to tighten up nicely. Still thinking about what to do about that.

More to come.

Google Buzz

Tags: , , ,

The Robot Arm is Working!

Posted by rmadams on February 14, 2010 | 2 comments
Picture of the complete robot arm with controller

Complete Robot Arm

One marathon hacking session later, and the robot arm is complete and functional. Thanks to a whole uninterrupted stretch of time, I was able to complete the assembly of the arm- including the most problematic part, the gripper. It is so problematic that Ril3y and I are quickly fabbing up a replacement that will be much more flexible, robust, and easier to assemble. For now, though, the robot structural framework is complete, and matches the photos that have been posted by the Oomlaut Labs guys. Of course, my arm is in the cool, racy red color, which is very nice.

Complementing the hardware, I took a few bits and pieces of software discovered on the net, and mashed it together into a manual control program for the Arduino board and the Pololu motor control board. The code is really messy, and all in Wiring, so not very elegant or compact. But it is pretty clear and easy to understand- nothing hidden, and should work on every Arduino variant. By using a readily-available Playstation PS1 controller, the interface is both familiar and cheap!

Basically, I mapped each pair of buttons to the motor axes, and hard-wired in reasonable limits, to make it harder to completely crash the machine. I also set up the “select” button to change the speed. It works great, and as you can see from the video, you can pick up and drop things with ease.


Next steps are:

1) Get the documentation completed so others can build them too, easily, if desired. Post the programs, such as they are for the same reason.


2) Add a “learning mode” using the “Start” button and L1/L2 to allow the user to program a series of way-points and then play them back. I may add a little EEPROM memory, too, for non-volatile storage of the programs. I have room on the breadboard and pins to spare.

4) Work with Ril3y to design and integrate a better gripper. As mentioned above, the one currently implemented is suboptimal.

5) Develop the framework for the kinematics programming. This will (at least at first) probably be hosted in Processing, to simplify development. There are a number of existing Open Source kinematics packages for 5DOF arms, so I am hoping to leverage (read steal) an existing one and work from that.

6) Redesign the arm to use high-torque and fine-grained stepper motors instead of the servos. This will require some position feedback. Both of these goals will nicely match what Ril3y and Alden are doing in the motion control space. Hopefully, the arm will evolve into a simple test-bed for those concepts.

Lots of fun- and a great, great weekend!

Google Buzz

Tags: , , ,

First steps to a complete robot arm

Posted by rmadams on January 10, 2010 | One comment



oomlaut robot arm base shown assembled

The oomlaut open source robot arm base assembled easily and looks slick and professional.



Thanks to Riley, I am the proud owner of a pile of lasercut parts for the uber-cool oomlaut open source robot arm. The details can be had from both the original blog post and a thingiverse.com post that has the necessary design files (nicely laid out for the lasercutter, although Riley was able to get the layout down to a single 12x24in sheet, which was great. He said he will upload it as a derivative on thingiverse ASAP, so others can benefit, too.) My daughter and I both thought watching it cut was the coolest thing ever. She has taken all the scrap and has it proudly displayed in her room, too. It helps that the color we chose was bright red- gives it a gem-like (and somewhat sinister!) appearance. Can’t beat that!

I have most of the electronics already- I will be using a barebones Arduino as the controller, and a Pololu servo interface board to maximize the precision. I did have to order some good metal-gear servos, which I got for a steal at dealextreme.com The total cost of the project will be about 70$US, and if I had to buy everything fresh, closer to 100$US. Pretty good for a flexible robot arm and experimental hacking platform. My intent is to incorporate it into some work that colleagues and I have been doing around automated lab testing. I intend to borrow an existing reverse kinetics framework and use that for path planning. I am also going to rework the gripper, as I think it is the weakest part of the design.

Next up will be an illustrated build diary, here on the Synthetos blog, and a compete set of instructions, ordering guide, etc., over at Instructables. The goal is to get the arm built and tested, and to validate the design, as well as get others interested in building their own. Who knows- if it works out well, I may even take a crack at a derivative design that can be built using only RepRap-ed parts!

Google Buzz

Tags:

hacdc FPGA Workshop Starts Tonight!

Posted by Ril3y on October 7, 2009 | No comments

The first of a fall 2009 FPGA workshop started tonight.  Needless to say if you missed this one you should come to the next to learn some cool digital logic.  http://wiki.hacdc.org/index.php?title=FPGA_Workshop

Google Buzz
Powered by Wordpress and Stripes Theme Entries (RSS) | Comments (RSS)

Bad Behavior has blocked 88 access attempts in the last 7 days.