Riverhead Systems          Authored Articles

Text Box: We have included links to the original published content. All these are in the public domain and the related code, associated with these articles are available at those sites. Selective article text has been included on this page.

 

 

 

 

 

 

 

 


    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

     Design News, Gadget Freaks  

     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 Jurassic Park, without the T-Rex, the hardware monitors a small pool of water and detects small ripples on its surface. 

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  count

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

 

 

April 23, 2006      Card Counter

 

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.

 

 

April 2005                   RS232 to 8 bit I/O 

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.  

 

June 22, 2006      PWM to RS232

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

 

Controller provides multiple alarm-driver formats

William Grill, Riverhead Systems, Littleton, CO

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, Chandler, AZ), you can implement an eight-pin alarm generator. This approach provides multiple driver formats with a minimum of additional cost and footprint.

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