I’ve been following some discussion between the guy at EEVblog and iTeadstudio about their PCBs and the quality. EEVblog is one of the guys that I follow on twitter (@eevblog). I follow iTeadstudio also, but they post pretty infrequently (@ITeadstudio).

Anyhow, a couple weeks ago, EEVblog gets some boards from iTeadstudio and is initially pretty happy with them and posts a quick pic on twitter. He gets a bunch of feedback that the drills look off, etc… but he defends iTeadstudio and particularly the price. A day or two later, he posts that the boards are failing and that some of his ground pour disappears at one point as it tries to get between two drill holes.

Of course, he’s used the 6mil design rules that they let you do… and learns the hard way as I did that you shouldn’t push the limits with their service unless you have a good reason to. I don’t think any more of it.

Someone points iTeadstudio to the posting, they do a little investigation and realize that the board shop has tweaked the files at fab beyond what they are supposed to. Some back and forth, iTeadstudio offers to run the boards again for free for EEVblog.

They get the new boards back, inspect them and discover that nothing has changed at the board shop… they are still tweaking the design. Finally they sort out the details with the board shop and come up with some new design rules to ensure good boards:

Their final conclusion that maybe the board shop is tweaking the files because of the soldermask to via pad seems a little wonky, but maybe… who knows. Anyhow, the shocker to all this is that iTeadstudio is such an open and honest bunch of guys who are willing to put in the extra effort here. For $12 boards!

They could have easily just brushed this under the carpet and ignored it, but instead they took it head on and trying to get it sorted out. That’s awesome. I’ve run a handful of boards through them since December and I’m pretty happy with the boards I get back. I’ve had to inspect the 6mil/6mil boards carefully and patch of couple of them, but now I’m confident that sticking to 8mil/8mil for the majority of the stuff will be pure bliss.

I drew up a quick design in QCad and cut it out of sintra this afternoon to see how it would work to create a little snap together minisumo frame. The idea is that the batteries and motors are held captive inside everything, all that is needed is to add motors, sensors and a front blade.

Black is a hard colour to get a good photo of with my iphone. Yuck! Anyhow, you can see the basic idea that I was going for. I’ve got some tweaks to make that are obvious (mounting screws for the servos aren’t quite in the right location, curve on the back of the robot is about 1mm bigger than the wheels so it needs to be shrunk), and a couple that aren’t quite as obvious to me yet.

I’m not real happy with the front of it right now… I might move that sintra plate back to make room for a PCB to run right there for floor sensors and front IR distances sensors… or I might move the plate up flush with the front and put the electronics behind it? Depends on what the front blade would look like I suppose.

The frame is actually quite rigid right now even though it is just press fit together. I was very surprised that my crazy 2D drawings actually ended up fitting.

Had a little time this weekend so I finished putting those line followers together. I’ll be out of motors and some other components after this batch, so I’m going to move on to sumo robots next. I took a few pics of the CNC process.

Cutting motor mounts:

Cutting front slider:

Cutting wheels:

Spinning the wheels to cut a groove for the rubber o-ring. Basically I mount the wheel on the motor and run it while cutting with a pointy bit in the mill. It would be nicer to just do it on the lathe, but I need to build a mounting system for that.

Mounting the motors to the chassis. The pocketed areas in the sintra hold the motors nicely in place. No worries about misaligning them.

Time to get more of these line followers out in the wild. I’ve got 5 sets of motors left so I’m building up 4 of the 18F25K22 versions and 1 more of the 28X2 PICAXE versions. Hopefully that will be enough to make it through the next meeting.

So, my basic plan for line following is to get the robot moving as quickly as possible on a regular line, and then try to make it deal with all the nasty business (gaps in the lines, acute angles, etc…) at that speed. If it doesn’t work, I’ll back the speed down. I’m hoping that this approach will end up with a faster robot than starting from slow and then trying to speed it up.

In order to try to follow the line at speed, I’ve got a simple PID routine running. It takes the front 8 sensors and aggregates it into a single number ranging from 1000 to 8000 (1000 being a line detected on the far left, 8000 being on the far right) and a nice range of values between.

Three little line follower…. 2 of the PICAXE 28X2 variety and 1 of the raw PIC18F25K22 sort. They are just running the default demo code.

They were released out in the wild soon after this video. Hopefully we will see them at the next O.R.E. monthly meeting….

And here is of of the PIC18F4550 line followers:

This one is a little more unstable… The other ones are much easier to control than this one. That video shows the code that Ron Clough was working on before handing it back to me. I tried rewriting the code last night to make it a little smarter (ie- use more than just the two inner sensors), but it became insanely unstable. Much tweaking remains…

Info on these robots can be found on the OttawaRobotics.org wiki here : http://wiki.ottawarobotics.org/index.php?title=Line_Follower