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 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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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
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.
Scan from 40Deg Right to 40 Deg Left in 10 deg increments
return appropriate movement from a function that analyses it
execute proper movement (Forward, Backward, Right, Left, Hard Right and Hard Left)
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.
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:
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
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.
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.
You can get these devices for about $4-5 each. A real steal.
CP2102 USB to Serial out
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.
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!
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!
There you go. 33 steppers from only 10 or so photocopiers. I found the following things.
brushless dc motors
all kinds of plastic gearing, great for all kinds of things
good limit switches
Everything an inventor could need. Amazing!
Well, tomorrow I got 15 more copiers to disassemble! Everyone should try disassembling them!
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.
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.
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.
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.
And here is the inside of the common area of the ENTS.
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.
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.
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.
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).
And here’s the breadboard, messy!
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!
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…
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.
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.
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
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. 🙂
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).