Jeff Epler's blog

5 January 2012, 23:12 UTC

Time to finish that languishing clock project!


A leap second has been announced at the end of June 2012.

read more…

23 June 2011, 21:38 UTC

Side track: wwvb links


Chris asks what advantage GPS has over WWVB for my clock project. I don't have a good answer for that (except that having enough controls to select one of 4 mainland US timezones and whether to apply DST is undesirable). However, this did prompt me to do some googling about WWVB. I found some interesting links about generating WWVB signals at home.

read more…

5 February 2010, 23:47 UTC

Soldering "helping hands" made with Loc-Line coolant hose


I ran across "Third Hand" and decided to make my own. The main feature of my version is the two-part circuit board clamp. The clamps were manufactured with Chris's help on Jr, his new cnc milling machine.

read more…

10 November 2009, 16:00 UTC

Arduino Random Number Generator


Inspired by other designs I've seen online, most directly Rob Seward's design, I decided to build my own random number generator based Will Ware's "avalanche noise in a reverse-biased PN junction" (try this mirror of Will Ware's page). Also important is turbid which introduced me to the concept of hash saturation and the math behind it.

read more…

29 August 2008, 0:49 UTC

Two-element capacitative touch sensor


As a distraction from my real project -- building a lightbulb alarm clock for the coming winter -- I've been playing with capacitative sensors. My first effort was a wire taped to a piece of metal foil, and that worked OK. The present iteration is a two-element touch sensor on a milled circuit board.

The sensors are each about 1" by .5" and are connected to the arduino by a 3-pin header. The components on the board are very simple -- two 1M resistors. With a combination of software running on the microcontroller and in the PC, the sensor is made into a virtual slider.

read more…

6 May 2008, 3:02 UTC

Bah, it's garbage


Back in 2006, I got a PCI card from Futurlec with 3 8255 chips on it. I finally gave a serious effort at getting it to work, but as you'll read in the updated original article the board seems to simply be broken. Too bad!

[permalink]

3 June 2006, 15:25 UTC in projects

1MHz+ Quadrature Divider for attiny13


This untested code, along with an Eagle schematic and board layout, are for a quadrature divider that polls at over 1MHz. The R and S test points are used to program the device.

Like the 400kHz triple divider, this program uses a state table generated by "mkstate.py", and is GPL software.

For real-world use, external pull-ups should probably be added to the board's input side, according to the directions of the encoder manufacturer.

read more…

2 June 2006, 18:02 UTC in projects

400kHz Triple quadrature divider for atmega8 and quadrature state table generator


summary I promised a single, 800kHz quadrature divider for the attiny13. Well, I haven't done that yet (I don't have any attiny13s to test on anyway), but I have something else instead.

As I mentioned earlier, Chris had already milled a servo control board for his lathe. Like the Etch Servo board, it controls two servo motors with a single L298 chip. Unlike the Etch Servo, it has 3 encoder inputs (X, Z, and spindle). His servo motors have 500-line encoders and have a no-load speed of about 4000 RPM, while the spindle will have a 1024-line encoder with index pulse, but rotate slower (much less than 2000RPM when threading). 133kHz is too fast to count in the PC, but divided by 8 or 16 it's very managable.

mkstate.py is a Python program which generates a quadrature divider table. By changing 'N', 'M', 'x' and 'ux', it's possible to generate tables with different properties. After generating the table, a variety of tests are performed on it to verify that it is correct. Output can be a "C" array or a table of bytes for an assembler program.

qq2.S is a GNU assembler program that actually performs the quadrature division. According to my cycle counting, it polls at 470kHz when a 16MHz crystal is used, so it is expected to work reliably with a 133kHz quadrature signal. So far, though, it has been tested with a single motor spinning at hundreds of RPM.

mkstate.py and qq2.S are released as free software under the terms of the GNU GPL.

Files currently attached to this page:

mkstate.py5.5kB
qq2.S5.7kB

[permalink]

23 December 2005, 14:19 UTC

First Interesting Strobe Photo

17 December 2005, 15:53 UTC

SOIC-8 to DIP adapter board

15 October 2005, 19:11 UTC

4-axis half-stepping translator in AVR

5 June 2005, 2:30 UTC

a plug for Eagle3D

26 May 2005, 0:36 UTC

XY display update

All older entries
Website Copyright © 2004-2017 Jeff Epler