The Mitutoyo AT715 and me

It’s been a while since I’ve posted and that’s primarily because I’ve been working on a project. I have to keep some of the details to myself but I will show some pictures of the prototype that has taken me a couple of weeks to design and build.

The precursor to my project, the Ultigage.
The precursor to my project, the Ultigage.

The device uses the AT715 from Mitutoyo and what an interesting device it is. With a resolution of .0005mm and an RS485 interface, it is an ideal device for measurement and for use on machines. The device, which uses magnetic induction, uses 30ma whereas a lot of other glass scales use up to 250ma @ 5v. This is a pretty cool device.

The prototype board for this device
The prototype board for this device

Well, I can’t get into a great deal of detail because the product I have in mind may compete with other gaging companies like Gagemaker with a universal, handheld, high precision, digital gage that has active, rugged and dynamic probes. The images shown are that of a rough prototype, I’m not normally secretive but once one is built in a few weeks I can post some images of the more refined version.

After all, this is simply a post for posterity. 🙂

A goal challenged robot

I was thinking about cockroaches after seeing some sort of program on the subject. It brought me on to thinking about insect locomotion and the way complex moves are carried out by creatures without a central nervous system. It then started to occur to me that the reason that these creatures (or any other for that matter) function is that there are a great deal of stimuli. An insect’s leg, for instance, has thousands of sensory organs to determine touch, temperature an various other external events that aren’t processed anywhere centrally. The thought the occurred to me about the notion of how a nervous system might work. Hence my latest, yet ugly, creation. The Roboto v2.

Roboto V2. from the front
This is the robot from the front. Currently it has 6 ultrasonic range sensors. This was the best thing to test my idea.

I had a frame for a robot I had already assembled and really didn’t get anywhere with it until I had this idea. Basically the idea is to have a matrix of variables, in this case a 10×10 struct array. Sensors are ‘bound’ to certain segments of the matrix. The matrix elements also communicate with the adjacent nodes to relay positive or negative stimuli. These stimuli make their way to the motor controls which are bound to other matrix nodes, in my case, elements several nodes away on opposite sides of the grid. The values expressed in the node are translated into motor movement.

Roboto V2.0 from the top, A tremendous jumble of wires.

What I have right now is functioning better than I hoped. I made close proximity ‘painful’ and moving forward ‘pleasurable’. A close proximity on the side will cause pain on the same side. Currently the robot seems to find open areas but doesn’t stay in them. I did fudge some things which are.

  • Output to the motors is kind of jury-rigged to disallow stopping by ensuring that at least one wheel is at maximum motion based on a weighted average.
  • the sensory input is weighted at the nodes. This was needed simply to make it function correctly.
  • I have a constant ‘pleasure’ value plugged in to make the robot strive to move forward. otherwise it would probably just stay in one place.
Here’s a video of it in action, doesn’t do a lot but I think it’s neat because I can’t predict it’s reaction despite the fact that it’s perfectly logical.

Well, I’m going to try some other things and add more stimuli like IR sensors, compass, accelerometer and a gyro. We’ll see if I can get something interesting out of it. An in case anyone is wondering about the build here’s a point by point list of what I used.

  • Arduino Mega2560
  • A robot chassis that I bought off EBay. It’s not bad.
  • Built the motor driver board myself with an SN75441one and a 5A linear LDO reg.
  • 7.4v LiPo battery, 850mah for direct drive to the motors
  • A little cheap bread board
  • and LED-KEY module, based off the TM1638, very handy modules
  • lots of male to female wires!
Anyways, Let’s see how it goes.

The Olimex Duinomite

A while back I was thinking about making a small board that would run it’s own OS and methodology for programming, similar to the computers of old such as the TRS-80 and the Commodore 64. Everything was on these machine for controlling simple tasks, video, audio and file stuff. All from the OS prompt. I always thought it’d be neat to have a microcontroller board that functioned similarly to the older computers but with IO.

Imagine my surprise when I discovered the Duinomite. I stumbled across it at dontronics and after reading a bit about it, I purchased it right away.

Duinomite

The Duinomite is basically a single board computer with a BASIC interpreter, VGA and Composite interface and a bunch of other little features which make it so awesome. It should also be noted that this idea was done first by Geoff Graham and his unit, the MaxiMite. It seems as though Olimex and Geoff were having a bit of a fight for a while but frankly, I don’t really know. All I can say is that it’s a really neat device and I’m glad that I bought it.

Duinomite board

Anyways, like I said, it has a basic interpreter on it. It allows you to program it with a ps2 keyboard or through the console on a virtual com port. The language itself is pretty rudimentary with no labels except for line number. No functions either. However, for simpler, less time intensive stuff, this board is ideal. Here are some screenies of the video display.

The video is pretty rudimentary, monochrome only, 324×216 or 320×200 in vga mode. It does seem to work ok though. The nice thing about this device is its easy access to a sd card so you can log data as well real easily.

anyways, I thought it was a neat device. anyways, check it out at http://www.olimex.com/dev/index.html

Data logging

As a side effect of trying this board out, I kept a couple of graphs. The first on is temperature versus time and the next is light level. I just wanted to try it out so I left it run overnight and here are the charts

I did something like this earlier, like 3 years ago. I’ve always found it neat to see such variation in a controlled environment. For example, the temperature graph shows when I closed the door to my office, the temperature dropped but you could see the furnace kicking on every 20 minutes.

Also, with the light. You can see I had the main light on. Then I turned it off. Then i left the monitor on when I left, eventually the monitor turned off and then as day broke you could see an increase in lighting.

I dunno, I think that kind of thing is cool.

Many Dev Boards… what to do?

First, an update about the annoyo, it worked perfectly and maximized irritation while making itself difficult to find. Anyways, I just received my BeagleBone and I promptly thought to myself, what am I going to do with this? Then I thought, hmmm, I have a bunch of other boards too.

These boards aren’t including the mps430 board, the pic boards, the mikroelectronika board or the Friendly ARM. Too many boards, not enough time. I’m sure I’ll use them for something I guess. Tomorrow begins the fun of interfacing the LS7166, it shouldn’t be too difficult.

Another pic10f200 project, the Annoyo!

I had this cool idea for a prank at the office, a device that generate sound every 6 minutes. This device generates 4 different sounds at 6 minute intervals. The idea is that the sounds are short, familiar, difficult to find and infrequent enough to prevent a hunt for the offending noise. This device has been done before and obviously much more professionally by others but it’s fun to make since all you need is 2 caps, a 10f200, a speaker and a battery.


The device itself is dead simple, simply find an old speaker you never use, preferably a small one so that you can drive it from the output pin. Using a small battery like I have there, you could probably let the device run for about 30 days. Here’s the design:

dead simple, once again. Only one output is used on this device, I even disabled MCLR so that there is no extra resistor. Just one cap for decoupling and one cap for producing a larger waveform for the speaker. You can change the cap size if you want, you may want a larger cap for a bit of a smoother wave. So, here’s the pinout and the source code and .hex file

  • GP0,1,3 -> Not connected
  • GP2 (pin 3) -> to speaker

Source and hex: 10f200 annoyo src.zip

Anyways, a couple of notes. This program was written with Oshonsoft basic. Also, it could have been written a bit smaller if I tried but as it stands it takes up 253 of 255 bytes available in flash. 🙂

Hope somebody has fun with this!

Ugluino, the ugly Arduino powered robot

So, even though I’ve built a wide variety of crap over the last few years, all of them with varying utility, I’ve decided to build a quick robot. With oodles of free time and the feeling of having to go back to work on the horizon after what feels like an eternity of holiday (1 week) I quickly grabbed a bunch of stuff I had sitting around and put this guy together with all the grace of a kindergarten macaroni art sculpture.

Ugluino Being Built

Based off of an Arduino Nano, this guy works just fine. I don’t like using Arduinos for the following reasons.

  • Perceived lack of control of what’s going on inside
  • Feels like cheating since it’s so easy
  • Arduino UI is kind of shitty, especially for larger source files.
  • When dealing with AI routines, making it difficult to use multiple files is a minus

Anyways, i plugged ahead and quickly pounded this out with the following IO

  • Input – The only one, the Echo pin on the ultrasonic sensor
  • Output – Trigger on ultrasonic sensor
  • 4 Digital output – for controlling direction on SN754410 Quad half h-bridge driver. These go to two gear motors which are attached directly to wheels
  • 1 PWM out for duty on motors
  • 1 attached servo out of the servo to turn the sensor
The back end of the Ugluino

Most everything worked out swimmingly until I fucked around with some wiring and produced a short. I hooked the robot on to the USB supply on my computer, I noticed after a few second that the power to the unit wasn’t running… hmmm POOF! Well, as it turned out, there was a problem with the wiring to the ultrasonic dealy and it blew what I beleive was a zener diode

I wasn’t able to figure out exactly what it was, I suspect that it is a zener diode that selects between main power and USB since it is on the output of the VReg. I could be wrong. Since I didn’t have any more Arduino Nano’s I simply tried to fix it and soldered a wire across the offending gap. The device seems to work fine…? Anyways, if anyone know what that part was on the Arduino Nano v3.0, I’d like to know ’cause I couldn’t find the 3.0 Schematics and the design has moved those parts around.

Anyways, The robot moves around based on a very simple algorithm.

  1. Stop Moving
  2. Scan from 40Deg Right to 40 Deg Left in 10 deg increments
  3. return appropriate movement from a function that analyses it
  4. execute proper movement (Forward, Backward, Right, Left, Hard Right and Hard Left)
  5. rinse
  6. repeat

It seemed to work reasonably well. I’d like to build a more sturdy version for shits and giggles so that I can play with the algorithms. I’m probably gonna build one with a PIC18F2685 instead of an Arduino. Also, instead of a single sensor, I will use IR proximity sensors to detect low lying objects. Moving the sensor with the Servo make the robot seem more intelligent than it actually is like it’s ‘looking around’. I quite like that. 🙂

Anyways, it’s my first post of the year, considering it’s January 1st and 3:52 am as I write this. maybe I should go to bed. Here’s a video of it getting around.

 

Some neat devices for the hobbyist

Ok, well, the year is coming to an end and I’ve seen a number of neat devices out there but here are some that I own. The next year coming up is a going to be an interesting year methinks especially since there’s gonna be some big changes in my life, not to mention the fact that I’ve quit smoking for some time now.

Anyways, here they are:

Arduino NANO

Arduino NANO

This nifty little device is the Arduino NANO. Now, me being me I believe that the arduino’s are something akin to cheating since you don’t need a programmer, it runs right off USB and communicated directly with the computer. The small size of this device and the ease of use make it truly a neat device. Call me lewis ’cause I am starting to like the arduinos. They sell for as little as $14 on EBay (they are probably knockoff but work fine) and are strangely useful for bashing out simple stuff.

Mini PIR Unit

PIR Sensor

This little guy can detect motion (heat difference) up to 5M away. it only draws .15mA and costs only about $4 on Ebay. The interface is simple with two trim pots, one to set the sensitivity and one to set how long the signal stays high when triggered. I bought a whole bunch of these for a project I never finished (A distributed monitoring system) and I might make something cool out of them.

2.4Ghz Transceiver

2.4GHZ transciever

This little guy seems to work really well. Based off the nRF24L01 chip, this transceiver will draw about 15mA at continuous load. If you’re using it intermittently, it’ll run at about 2mA. Alos, it was really hard to get an image of the pinout for this device since the seller kept saying they’d give it to me and never did. Here’s an image of the pinout.

transceiver pinout ripped from somewhere I don't remember (sorry)

You can get these devices for about $4-5 each. A real steal.

CP2102 USB to Serial out

CP2102 USB to IO

These guys are useful because you can plug a test device directly on to the usb port and not need a max232 or equivalent. It features a 3.3 and 5v port and works like a damn. Concievably you could use this with an intermediary to provide the SPI interface to the 2.4GHz Transceiver and use it to provide communication to other transceivers to the computer.

UltraSonic Transducer

Ultrasonic Transducer

This is the ultrasonic transducer. I was playing with it last night and it works really well. It measures anywhere from about 1 inch to 16 feet or so. Simply provide a short 10 to 100 us pulse to ‘trig’ and measure how long the ‘echo’ pin remains high. the ‘echo’ pin will go high after a delay once the trigger pin has been pulsed. I was able to get pretty good accuracy once I calibrated it and with some averaging routines I was abble to get resolutions of about .01″. Surely it wasn’t THAT accurate but it was close. These again were only like $6 each. It should be said, that with full measuring duty this device draws about 15mA.

Anyways, that’s what I’ve been playing with. Hopefully other people may purchase these little trinkets and have fun. EBay sure is an awesome place for the hobbyist like myself for weird knick-knacks!

Old photocopiers and you!

So a company that shares a parking lot with out company sells and distributes photocopier services. One day I was told about a whole bunch of photocopiers that were just sitting there. Deciding to take the plunge and rip through them the bounty was great!

Stepper city

There you go. 33 steppers from only 10 or so photocopiers. I found the following things.

  • Stepper motors
  • brushless dc motors
  • stepper drivers
  • Microclutches
  • all kinds of plastic gearing, great for all kinds of things
  • opto-interruptors
  • proximity sensors
  • good limit switches
  • connectors
  • gear-motors

Everything an inventor could need. Amazing!

Well, tomorrow I got 15 more copiers to disassemble! Everyone should try disassembling them!

Timer lamp, Part Deux

Anyways, as I promised, here is the almost finished. A couple days later than I said but, still, I did finish it for the most part.

The lamp standing and working
The lamp standing and working

So Basically what we have here is a $20 lamp that’s been outfitted with buttons to control its power status. I have to warn people first, the methodology of affixing the stuff in here is very sloppy. If you follow these methods of hot gluing stuff, use caution to support the boards in other ways.

Inside of the lamp, gutted out
Inside of the lamp, gutted out and re-purposed

As you can see, I busted the box off of a wall wart to use as the power supply and used a terminal block to handle all of the mains stuff. It got pretty crowded in the enclosure so I’ll have to make a new cover for the bottom. Also, without the weight that was inside of it, it’ll topple. Anyways, it seems to work well.

Buttons and light
Buttons and light

So, after this is all done and a cover is made, I’ll also have to secure all of the boards a bit better and cut the prongs off of the wall wart, That’s a tad bit dangerous to have those prongs exposed.

So, whenever I get around to part three, I’ll take some pics and show them. Thus ends one application for the PIC10F200.

As an aside, I’ve been doing some of the work at a local hackerspace here in Edmonton. I was extremely surprised to find one here in Edmonton, land of the rednecks! Well, here are some pics of the place. It’s only been around for two years and  could always use some new members.

Here it is on the outside, nothing to make note of here.

Edmonton New Technology Society
The outside of the Edmonton New Technology Society

And here is the inside of the common area of the ENTS.

Edmonton New Technology Society Pano
Edmonton New Technology Society Pano Inside

Pretty messy, but that goes with the territory of a shared common use area I suppose. If anyone is interested, visit Ents.ca here in Edmonton.

The timer lamp Redux, Part one.

Well, in the vein of the spirit of the low-end microcontroller, I decided to make a timer lamp based around the PIC10F200. I did one years ago and it was based on a pic16f505 which is a low end MCU as well but it has quite a bit more ram and rom.  Also, oddly enough I shall actually share both the circuit diagram (which is dead simple) and the .hex file so people can use the program to make their own timer lamp if desired.

So here’s the quick rundown

The LED blinks very slowly so that you can see the lamp in the dark, but not so rapidly to become annoying. The power button turns the lamp on and off. the timer button turns on the timer. the increments are 1, 5 and 30 minutes.

Here is the circuit diagram.

Circuit diagram of Timer Lamp
Circuit diagram of Timer Lamp

Also, here is the HEX file: Timelamp hex file

Also, here are pictures of the boards in development.

Timer lamp on the breadboard
Timer lamp on the breadboard

This is messy but, it worked for dev purposes.

Timer lamp Circuit on the PCB
Timer lamp Circuit on the PCB. Kinda tight but it works.

And here is the finished board. Not bad for a couple hours of work. Yes, it’s messy, like everything I do.

So, tomorrow I’ll be going to my Hackerspace and drilling the holes and installing switches into a lamp I bought. Part 2 tomorrow, or the next day. 🙂

The new lab, again and a fish light controller

Nothing special in todays update but I figured I’d post a few things for the fun of it. First off I guess is my lab. I’ve been using it for a month or so. A little small, but at least it’s not at work.

New lab as of April 2011

Nothing to write home about I guess, but I feel comfortable here! Anyways, my little project for the day is the fish light. My bulb burnt out in my fish tank and since it was a high UV one I’ve decide to make an LED version. Since I have an array of LED’s I decided to go with some Whit, UV and a few red ones for good measure (I don’t like blue LEDs).

LEDs!!!
LEDs!!!

And here’s the breadboard, messy!

LEDs!!!
the LED driver on the breadboard

The LED’s are driven on 4 channels with PWM output on separate channels. The idea for me is to provide an on-timer for the cycles through the day and to provide a source of UV light for the plants. The diodes are driven by 4 TIP117’s so that each channel (White, UV, Red) can be controlled individually based on whatever profile I want.

Unfortunately I’ve discovered that the number of LED’s that I used is insufficient for use in the tank, not enough light. So I’ve ordered over 500 white LED’s and 150 UV led’s and 100 Red LED’s. I won’t use them all but it’s always good to have LED’s. One issue may be driving all of these LED’s. I have a maximum output of 1A on each of the PNP TIP117’s so an output of about 14W is all I can produce. Hopefully that’ll be enough!

Again LED Array
Again, the LED Array

Anyways, here’s hopin’!

Happy 2011! uuh, I guess a bit late though.

It’s been well over two months since I last posted. Frankly, not a lot has happened in the meantime anyways. Work is going well and life is pretty good. That said, I’ve begun to regain my inspiration for electronics again and I’ve been going hog wild building stuff in the evenings. Just some stuff to touch on I guess…

My Lab

Well, again I have a secluded labratory in the shop I work at. It consists of 2 desks, two shelves and all of my equipment. It’s nice to hang around and listen to music and stuff while having access to all of the manufacturing facilities I could ask for!

Here’s a picture of my lab as I was setting it up.

The new lab as of 2011
The new lab as of 2011, this is an early picture. there is more equipment, parts and shelves now

It’s a real treat here and I’ve been sitting up here for many hours on my projects lately. Yay!

A veroboard planner PDF

Not really a project per say, however, somebody might want it. It’s for printed pcbs from PCBIran which have a ground loop on the outside and sets of rows and columns. Somebody may find it useful. I dunno.

BOARD PLANNER 01

The Shop

The shop I’m at is investing in new technology (IE. CNC mill and CNC Ram EDM) and I figured it’d be neat to take an overview picture. Sure is crowded though. 🙂 The mill, as was stated earlier, is a Haas VF-5 with a 40 taper and the Machine is a large CHMER EDM, more on that thing later in the post

Shop Growing
The shop I work at is growing, but not in floor space. 🙂

It’s actually much tidier now, this is when we were installing the EDM.

Rotary Table and CHMER EDM

I am developing a rotary table interface for the CHMER Ram EDM. The fools at CHMER decided that the machine requires NO extra M-codes for interfacing to external hardware… WHY!!!??!?

So now I have to monitor the outrush current of the pump, turn it on and off a prescribed number of times and then the rotary table can index. I’m still kind of in shock that nobody has ever presented CHMER with this problem. Weird!

The TI Launchpad

I have just ordered the TI launchpad for $4.60 or whatever it cost. TI is attempting to break into the hobbyist market something fierce. unfortunately, after looking at the development tools available, they are all way overpriced.

While they do provide a code-size limited version, which is useful for most things, I think people like to have unfettered access to their chips and what kind they use from a particular vendor. When the development tools that allow this are in the $500 range, that’s simply too much.

Perhaps there will be some good 3rd party support like Atmel and Microchip has and they can really take their MCU’s to the next level. It’d be very cool. 🙂

The Rest

Well, there is probably still more to say after such a long hiatus but I can’t think of it now. I do have some other ideas banging around in my head like a new design of the coolant refractometer which won’t foul. A robot that is machined beautifully and function on sonar. And a new coolant nozzle design that will kick Spider Cool’s ass from here to main street (I’m actually pretty stoked about this one).