Riverhead
Systems Authored Articles
O Design News, Gadget Freaks November 19, 2007 Pressure Sensor Based Water Alarm
O Design News, Gadget Freaks April 12, 2007 Vibration/Seismic Laser Sensor
O Electronic Design October 26, 2006 Controller Based 1
Shot
O Design News, Gadget Freaks August 14, 2006
Model RR
light sequences Contact
O Design Ideas DI April 27, 2006 Non standard crystal based clock
O Design News, Gadget freaks April 23, 2006 Card Counter Home
O Design Ideas DI June 24, 1999 Differential monitoring
O Design Ideas DI Jan 15, 1998
Multiple alarm
generator Legal
O Design Ideas DI June 19, 1997 Gray code encoder
O Design Ideas DI Dec 7, 2004
Programmable clock source
O Electronic Design June 22, 2006 PWM to RS232;
O Design Ideas July 20, 2006 Programmable
PWM clock sequencer
O Design Ideas DI Dec 18, 1997 Multi-mode phase controller
O Electronic Design April 2005 RS232 to 8 bit I/O
April 12,
2007 Vibration/Seismic
Laser Based Sensor
http://www.designnews.com/article/CA6430001.html?industryid=43664
This application uses a laser
pointer and readily available hardware stuff to build a vibrations sensor.
At about 12$ it surprised me
how sensitive it was. Like the vibration impacts in
The vibrations are coupled
through the sensor body and the detected variation in the returned beam
intensity into the photo detector is amplified and then converted and forwarded
to a PC.
It was difficult to identify
what materials that could be used and easily obtained to build this. In the
end, the sensor assembly uses PVC piping, a plastic bottle cap and a few
hardware and hobby store items. Intended as a seismic monitor, a necessity for
everyone in California, I didn’t get much feedback from the article and I
couldn’t tell whether anyone thought enough of it to build their own.
The finished sensor is shown
below. The complete original submission is accessible from the archive
link.

Maintaining the simplest
configuration, I used a DI-148U or DI-194RS module, from DATAQ to display,
present and save monitored data. Both
A/D converter models are computer based, are very flexible, provide a satisfying
display, have an extensive library and support. The DI-194RS starter Kit is
also popular for science projects and commercial applications. http://www.dataq.com/support/documentation/pdf/datasheets/starter_kits.pdf

October 26, 2006 Controller Based 1 shot
Electronic Design October 26, 2006
This
article uses a small NPO cap, with it’s relatively flat temperature variation,
to provide large, edge triggered, delays. The coded processes use equalized
length branches to create an accurate 1ms loop.
Within this loop time selected edge is qualified and the resulting delay
is determined by small external R and C components.
We
have recently become aware that the published article may have some problem
with its link to the code
and the spreadsheet that is described in the article text. The code is now
available by clicking the above highlighted link.
August 14, 2006 Model RR sequenced lights
http://www.designnews.com/article/CA6358119.html?industryid=43664 downloadable ZIP
The article, provided here, allows up to 4
customizable sequences to be coded directly into the controller. Contact us to
help provide coding your specific sequences or to purchase the pre-programmed
application directly, as a standard, or custom sequence controller.
We are anticipating having the multiple sequences and
both standard and custom, fully assembled, boards available later this year. If
interested contact us to suggest a standard sequence or just to query regarding
the status.
Including lighting for model railroad water towers,
bridge, runway, running and crossing lights, ‘rolling hardware’ and storefront
dress-up lights are now easy then ever. While there are several kits readily
available to provide any number of flashing, pulsing and dancing light
displays, this application provides instructions for assembling a small board,
enabling selection of 4 display formats, using 5 outputs, including combinations
of sequenced, bouncing and dual beacon displays.
Needing only a screwdriver to hookup your own heart’s
desire, the prototype perf-board assemble, shown in
Figures 1.0, measures 2 by 2 inches. Using an 8 pin socket for the controller,
all the hardware shown in this application is through hole, for easy assembly.
Figure 2.0, Schematic for
display application
Figure 1.0
Referencing
the schematic in Figure 2.0, the implementation is based around the 12C508A,
MicroChip controller. The assembly based processes sequence the 4 formats from
a tabled based structure. The more complicated beacon drivers are generated by
a PWM output, using 18 tabled on and off period settings to define the relative
power profile for the beacon displays. The beacons are initialized to be 180
degrees out of phase. The discrete outputs are defined by a sequenced tabled
mask which defines the desired display output pattern.
Referring Table 1.0, the board’s implementation uses a
2 throw, single pole, board mounted switch, to configure the micro-controller
to the desired sequence. These switch positions are read at power up and the
when the related input becomes enabled. The switch settings are shown with their
description of the resulting sequence. We have included a sample executable
which provides a simple display for the sequences coded in this application.
Table 1.0, Switch configuration
settings and formats

Wiring
was done with 30 gauge solid wire.
Construction is straight forward. The assembly is shown with a simple layout
mounted on tenth inch centered perf board, with solderable pads on 1 or both sides. Screw down terminal
blocks, included in the BOM, make the user interface screw-driver ready.
Powered from 7 to 18 volts AC/DC, the circuit uses
only a few milliamps. The outputs are driven with open collector transistors to
ground. This allows outputs to be logically connected in wired OR
configurations and provide up to a few hundred ma of current sink. This works
nicely for applications using miniature
incandescence, driven from an unique 12 volt source or for LED or from grain of
wheat, bulbs from an appropriate source. The locally regulated +5volt from the
application is also provided to a terminal pin. Projects using multiple
modules, operating with unique formats can be crossed wired to form more
complex display variations.
Light emitting diodes, LEDs,
often form integrated displays into a number of purchased scaled models. In
this example I have used an incandescent bulb as a beacon and 3 LED for the
flashing sequence configuration to produce a
nice water tower display using an off the self HO scale kit, Atlas #703,
Figure 3.0. The water tower has the beacon mounted on top and the 3 sequenced
lights circling the tower's base. The second beacon was not used.
Figure
3.0, HO scale, Atlas #703 Kit
The assembled model and board are shown in Figure 4.0.
This controller includes the enable and also a rate
control, both brought out to terminal pins. The rate control selects 1 of 2
display sequence update rates, allowing a more dynamic display, based on layout
sensors or other external switches.
The prototype perf-board,
dip part and the through hole parts are included in the BOM.
The assemble language program is included with this
article’s listing,
Figure
4.0, Completed water tower and display control board
Since the architecture is tabled based, the
application allows the possibility of simple re-defining and customizing with
longer display sequences.
Whether using this application as presented or
pursuing new tabled based sequences, the simplicity of this implementation
should fine a home in your next layout.
April 27, 2006 Non standard clock
http://www.edn.com/article/CA6325589.html?spacedesc=designideas&industryid=44217
As described in this article, clocks sources featuring
crystal based accuracies or internal based, 1% accuracies can be inexpensively
created for what ever purpose you need. Either use the included window based
tool or contact us to provide you the coefficients for your specific
application.
Crystal Based Reference Provides Unique Clock
Requirement
Needed for a unique integrator application, creating a
simple and inexpensive, crystal or resonator based, fixed frequency clock is
relatively easy. Using a small assembly language process, which exploits
equalized fixed length branch loops, a simple Visual Basic operating window,
Figure 1.0, provides the calculations to evaluate the integer number of 12
instruction loops needed to create the desired frequency and determine the
required number of individual instruction periods needed to 'top off' the
resulting output's period.
Figure 2.0 XTAL based fixed clock
schematic
includes low part
cou
nt
Figure 1.0 Fixed XTAL based clock VB based Operating
window:
The schematic, shown in Figure 2, uses the minimum of
parts and is based on a MicroChip, 8SOIC, 12F508x, controller. This part allows
XTAL frequencies up to 20MHz and includes a configuration option for using it's
internal, 1%, 4MHz oscillator as the controller's base frequency.
Entering the desired frequency and the XTAL or base
frequency in the operating window, the program will evaluate the high true
state coefficient, Coef1, the low true state coefficient, Coef2 and the number
of appended instructions, displayed as N.
Tolerances on the frequency may also be entered, as
part per million or as a percent, with the resulting maximum initial error
calculated and displayed in window along with the resulting duty cycle, Tdty. Constraints on the frequency, the duty cycle and the
maximum initial error are functions of the instruction time, derived from the
entered XTAL/Base frequency and the desired frequency.
The assembly based controller's code listing, uses
only 40 instructions and this implementation leaves 3 pins available for a user
defined enable or strapable multiple frequency
selection. Using a 4MHz XTAL frequency and for the 2021Hz clock needed in
my application, the coefficients and
number of discrete instructions are
derived as 20, 21 and 3.
Extending this idea to a smaller, 10F200 controller's
internal, 1%, 4MHz clock or 10F220 controller's internal 4/8MHz clock will
implement this application using only a single SOT23.
In either case, this implementation, with a crystal
reference or an internal oscillator, operates stand alone, by hard coding the derived
coefficients into the code, before compiling. Download the hex file and µC code
listing window tools and related files for this controller from the EDN
archives at http://www.edn.com/article/CA6325589.html?spacedesc=designideas&industryid=44217
Email us if you are interested in a direct purchase of
a pre-programmed controller, based on your desired clock frequency.
http://www.designnews.com/contents/images/GF042406.pdf
http://www.designnews.com/article/CA6324163.html?industryid=43664
I received several emails related to this article.
While casinos discourage visitors from using anything that changes their odds,
most were interested in adapting this idea to a roulette wheel. The original
design was to provide a simple display for monitoring commercial or industrial
based sensors to indicate variation about a tabled mean.. The application, as
presented, provides only a manual entry, but may be modified for multiple applications
which are based on 8 bit A/D monitors. Examples might
include solder bath temperature, air flow in ventilation hoods, vacuum or oil
level indicators. The table based indicator trips provide a flexible code based
mechanism to set the indicator display levels to what ever is needed in your
application.
Contact us if you would like to see more information
about setting those tables, modifying this code to your own needs or if you
would like to purchase this or a custom tabled, pre-programmed controller. Also check out
the application below, titled Controller supports
differential monitor display. It also is a display based on variation. It’s
display format provides a more visual indication of variation and is based on
an 8 bit A/D monitor.
Dec 7, 2004 Programmable clock source
http://www.edn.com/article/CA484494.html?spacedesc=designideas&industryid=44217
Parallel port programs clock source
This Design Idea shows how
you can use Linear Technology's LTC6903 programmable oscillator as a clock
source for direct-digital synthesis, data conversion, switched-capacitor
filtering, clock, and voltage-controlled oscillator circuits. The LTC6903
operates from 2.7 to 5.5V with modest power consumption and can produce clock
signals at frequencies of 1 kHz to 68 MHz. Typical frequency error is 1% and
resolution over the range is 0.1%.
Referring to the linked archive,
you can control the programmable oscillator circuit in Figure 1
via an IBM-compatible PC's parallel port, which also
provides power to the circuit. Resistors R1 and R2 limit
power-supply current drawn from parallel-port data bits DB3 and DB4,
and resistors R3 through R5 isolate programming bits DB0
through DB2. A precision voltage reference, IC1, provides
4.096V of stable power to IC1 and IC2. For optimal
performance, minimize the lead lengths of bypass capacitors C1 and C2
with respect to IC2's power and ground connections. High-speed
buffer IC3 isolates IC2's output and prevents frequency
pulling due to load variations. Listing 1
translates a user-supplied input into a 16 bit, SPI-compatible data stream that
programs IC1's output frequency. The LTC6903's output frequency
depends on two control coefficients, OCT and DAC. The program derives the
closest values for OCT and DAC by solving the equation: f=(2OCT)×2078/(2–(DAC)/1024).
At initial application of power, IC2's output frequency defaults to
1.039 kHz.
http://www.electronicdesign.com/Articles/ArticleID/10524/10524.html
Not a controller based application this application
was voted 1 of the best in 2005 by readers. This is a simple application to
assemble and is easily exploited using the included Visual Basic tool Windows
based graphic interface described and provided in the referenced archive.
July 20, 2006 Programmable clock sequencer
http://www.edn.com/article/CA6351286.html?spacedesc=designideas&industryid=44217
This is a ‘foundation’ controller intended to be used
in a custom generators. Intended originally to provide a specialized waveform
for reducing solenoids currents, the project evolved into this more generalized
coded application. The article provides the basic formatting and multiple
examples of its use, but we will intend to submit, in the near future, a
specific published idea which will demonstrates its potential. If you find it
interesting and need specific information, please both forward us an email or re-visit us.
http://www.electronicdesign.com/Articles/ArticleID/12807/12807.html
This is a ‘foundation’ controller intended to be used
in sensor monitors. It is really an excellent resource for simple monitoring of
PWM encoded signals, using 555 timers or
circuit configurations which provide PWM encoded data. These would also include
temperature or current ICs that are now available. This 10F2xx, SOT23
controller includes an Omni-directional RS232 port, controller code and Visual
Basic interface. The article is informative but we will intend to include more
information about it’s use on this web site in the near future. Variations on
this coded design will appear in other periodicals. If you find it interesting
and need more information, please both forward us an email or re-visit us.
June 24, 1999 Differential monitoring
http://www.edn.com/article/CA45964.html?spacedesc=designideas&industryid=44217
Controller supports differential monitor
display
You can assemble a differential monitoring display using rail-to-rail analog hardware and a 12C671 eight-pin controller (Microchip Technology, www.microchip.com) (Figure 1). The controller, IC1, reads the scaled analog input reference into its internal ADC at an approximately 3-msec rate. The controller's program provides a dynamic display to the four LEDs based on the deviation from an initially set sensor or monitored value. The "rolling" display moves from end to end at a rate based on the direction and magnitude of the deviation. To download the hex file and µC code listing for this controller from the EDN archives at http://www.edn.com/article/CA45964.html?spacedesc=designideas&industryid=44217 reference (DI #2373)

To use
the circuit, you apply the reference level and adjust the gain at Pin 7 of IC2B
to bring the display to an "all-lite"
condition. This adjustment artificially sets the reference to half of the
internal ADC's span. The absolute value of the deviation about this reference
setting is scaled into eight equal steps above and below this fixed reference
to the limits of the converter. For a 5V application, this results in
approximately 0.31V indexes ((5/2)/8). The circuit passes the resulting index
to a rate table, which sets the display update period. A second index pointer,
increments each time the display's update period times out. Positive deviations
from the reference increment this mask pointer, and negative deviations
decrement the pointer. This second pointer then indexes through a mask table,
which defines the display's pattern.
The controller
uses 127 bytes of code with the eight-step rate table, the relatively small
display, and the related 7-byte mask sequence. A stable reference, IC3,
reduces the display's drift over time and temperature.
Although this
format is too inflexible to use for all types of monitoring, you could add
filtering and span and offset adjustments to provide a more flexible deviation
display. You could also implement an expanded display using a 16C710 µC
(MicroChip Technology), an external PLD, or one of several 74xx decoders.
Jan 15, 1998 Multiple alarm generator
http://www.edn.com/archives/1998/011598/02di_03.htm
Using a piezoelectric
element for alarm applications offers low cost, low power, and flexibility. By
coupling this element with a 12C508 programmable controller (Microchip
Technology,
The controller in Figure 1 drives the piezoelectric
element directly from pins 2 and 7 with complementary square waves. A siren,
chirp, warble, or constant-alarm output is available by setting the
corresponding mode on pins 5 and 6 (Table
1). The design codes each mode as separate processes, which you can
consider as variations of frequency, frequency step, and dwell.
The design also codes
the positive and negative true alarm enables, pins 3 and 4, into the device.
The controller retests the mode and these alarm enables at periodic intervals
in the currently selected mode's cycle. This retesting permits dynamic
selection of the output formats using the mode pins without a power reset.
Applications can then use any or all of the output formats to indicate
application alarm or status conditions.
The 12C508's internal RC oscillator provides the
timing control used in each of the modes. Using an average of 3 mA, the controller operates from 2 to approximately 5.25V.
The frequency-stepped formats are in constant "timebased"
increments with constant frequency dwell times. Based on a 2.2-kHz piezo-element resonant peak, each of the mode's
characteristics uses code-settable, dedicated registers to establish the output
format.
The coded sequences use 127 bytes of code space. You
can port the sequences into one of several code-compatible Microchip
controllers or use a stand-alone peripheral controller, as in Figure 1, for any number of alarm
applications. To download the hex file and µC code listing for this controller
from the EDN archives at http://www.edn.com/archives/1998/011598/02di_03.htm,
reference (DI #2147)

Dec 18, 1997 Multi-mode phase controller
http://www.edn.com/archives/1997/121897/26di_03.htm
Controller provides
multimode phase control
William
Grill, Riverhead Systems, Littleton, CO
Using an inexpensive 16C508 multi-chip controller (Figure 1), you can implement a phase controller that provides a two-key, indexed processor for ac power or other discrete, digital-signal applications. The controller provides the switch-debounce function, single stepping and auto-stepping, index listing, and synchronization to edge transitions of the monitored ac signal or digital source. Four modes provide flexible support in several applications. You can configure Pin 3 (sense) and Pin 4 (mode) to provide either a 50-µsec pulse