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

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!

A crummy little servo tester and other minutia

The little servo tester
Well, I needed a way to test all of these servos I got from EBay and I decided to spend a little time making a quick and dirty little board for doing that. It uses a PIC12F683 and has a linear pot attached to it. Simple.

Crummy servo tester
Crummy servo tester

Viscometer Board and stuff
I’ve been working on the software for the viscometer. Every function appears to work, at least based on the rudimentary prototype I have currently running. I am working on a scripting system for this device. I could make it just a basic viscometer but, as anyone that knows me, I simply can’t do. Here’s a pic of the working board.
The prototype viscometer board
The prototype viscometer board

An EEPROM file system
After thinking about how to store files appropriately and trying to have a file system that can work easily with 1024B of space, I started coming up with ways of defining a reasonable file system. Here it is.

  • First 2 bytes are settings, things like block size, filename size and special behaviors like for EEPROMS that can only be written to with blocks.also defined is the address size 8b, 16b or 32b
  • Each file in the FAT consists of a name of either 2,4 or 8 bytes. this is determined by the setting.
  • Following the name is one byte detailing the flags such as read-only, archive, and whether it’s open or not.
  • After the filename and attribute byte, are the addresses. These addresses can be 8, 16 or 32 bits, however, an 8 byte address can address something larger, say 2k rather than 256B if you set the block size appropriately. This of course lowers the efficiency of storage space but allows for some growth in the file. The file can have any number of addresses in order to remove time wasted moving stuff around.

Anyways, that’s what I’ve been working on as of late. Fun!

Getting closer to final completion

A long road behind and still some ahead, here are some pic of the viscometer in its state of completion.

stormer viscometer with cover looking in
stormer viscometer with cover looking in

viscometer from the back
viscometer from the back

viscometer standing up
viscometer standing up

viscometer laying down
viscometer laying down

stormer viscometer with cover
stormer viscometer with cover

Now to implement the ModBUS protocol and finish up this project.

In-Process Stormer Viscometer – Damn near complete

  The viscometer is nearing full completion! YAY! To mark this occasion to mark the end of a long two years, I am placing a small gallery of the almost finished product. The only thing missing is the outside cover which consists of a 4″ od aluminum tube. Also, the springs I’ve ordered have also not arrived as yet, however, for now, the elastics will suffice. Here are some of the features and facts:

  • Can be used in-lab or in-process
  • Selectable RPM with a tight tolerance on RPM +/-0.5RPM
  • User calibration routines. This allows the end user to calibrate with 3 fluids of known viscosity
  • 16 key keypad, used for calibration and settings, also for running special tests
  • Can be used as a laboratory gel-timer
  • Can be used for custom tests besides stormer viscometry
  • Low power consumption <100ma or <2.4W
  • RS-485 Serial output
  • Control electronics have complete galvanic isolation
  • 24VDC supply required
  • repeatability (requires further testing) +/- 1.5%
  • Modbus protocol (not yet implemented)
      Here’s the Gallery!

       Yes, a few too many pictures, oh well.
       This thing took me quite a while and what I learned from it was immeasurable. Thankfully now that everything works as expected I can focus on my other projects without having this thing hanging over my head. Here’s to completion!
      As an aside, here’s an interesting document on viscosity.

Rotational Viscometer design proceeding apace

It’s been a while since I’ve worked at full steam on the viscometer project. Though now a long way from it’s DIY roots I am making this new version from mostly Aluminum, Phenolic, Nylon and Low Density PolyEthylene. I had to scrap the last version since it would have been too difficult to actually assemble, this one is a little different in it’s overall size and assembly.

Of course it isn’t finished yet as it doesn’t have the screen and top switch attached as well as the outer shell. Perhaps I’ll start making it this week sometime.

Viscometer Ver.(Eleventy Billion Jillion) a la rotational

Well, this has a been a long few days of work. I have created the ideal rotary viscometer in both terms of price and repeatability. Now, this idea is nothing new but I’m simply happy that it works. I guess it’d be prudent to go in to how it works…

How it works:

The concept is simple. you have a shaft that is separated by a spring, in this case two plastic cups connected by a ball bearing with rods sticking out one side. This shaft is driven by a small gear motor and a set of paddles is attached to the other end. While this is rotating, the difference in the driven and the resisted side is measured with some form of instrument be it a hall effect sensor or a slot type optical transducer.

Viscometer and stand
Viscometer and stand

What I used:

Well, as far as materials are concerned, for the prototype I used blocks of polyethylene to support both the motor and the shafts. The material has pretty low friction properties at low loads and thus I used it as the bearing on the bottom. The actual difference mechanism is made from a high density plastic. I would probably use this material again as it’s light, rugged and easy to machine. For the real unit, I may still use this plastic as it is more than strong enough and it’s easy to machine.

As for the drive I used a design similar to the older designs with PWM motor output, serial output, keyboard input, LCD out and 2 channels of input. This is all controlled with a PIC18F2620 which is more than enough for it’s needs.

The motor itself is a Hsiang Neng gearmotor running at 12 volts. It’s a piece of shit but that’s not important at this stage of the game.

Motor and sensor
Motor and sensor

So, finally, a desired feature list:

1. RS-485 Out
2. KU and Cp out
3. Multi-fluid calibration, this feature allows the user to select fluids of any KU value and calibrate the unit by entering them in.
4. Easy to use menus. Too often have I seen automation stuff that’s unintuitive. This hould be easy for the operator to understand and easy for the people to use.
5. Speed selection, so that you can use under-powered motors.

Anyways, here’s a gallery of some of the pictures of what could be a DIY stormer viscometer.