Design Notes

Embed Inc. engineers have a long history of successful product development. Following is a sampling of case studies and descriptions of products that we have delivered. For more detailed technical information, please contact us at info@embedinc.com.




Rotary Alphanumeric LED Display
The Customer

A multinational corporation
The Challenge

The customer envisioned a rotary alphanumeric display for commercial messaging applications. The displayed text had to be distortion free, multi-lingual and configurable. The units would exist in both stand alone and networked environments.
The Solution

The firmware developed by Embed engineers controls a row of 16 LED's as they are swept in a circle at 2000 RPM.

A Microchip PIC 16C66 microcontroller is used with its CCP module to accurately capture an index pulse once per revolution. The measured arm period is used to derive an internal pixel clock. Characters are converted to pixels in real time using a font table embedded in the microcontroller's firmware. The microcontroller receives commands or message changes via an infrared link. The message can be up to 4000 characters long, be smoothly scrolled at a variable rate and inverted.



Beech Baron Flight Simulator
The Customer

A venture funded technology
start-up company
The Challenge

The company was developing a commercial flight simulator for dual engine turbo prop aircraft
simulation. The system contained hundreds of switches, gauges, readouts, lights, and instruments to be controlled via a procedural interface on a standard PC running the main control program.
The Solution

The main control PC was connected to an embedded Pentium system via ethernet. The embedded Pentium system acted as an I/O concentrator with A/D's, D/A's, and digital I/O that were connected to the simpler devices. Embed engineers created a RS-485 bus that the Pentium controlled as master. This bus interface controlled smaller, embedded slave controllers each managing a single complex device or group of devices.

As an example, a simulated radio was controlled by a Microchip PIC 16C77. This device fed individual user inputs back to the main controller via the embedded Pentium and allowed separate access to each individual segment of each readout for failure simulation purposes.



Intelligent Battery Charger
The Customer

An internationally known robotics organization
The Challenge

To develop an intelligent battery charger with algorithms to discharge and then optimally recharge various battery sizes and types
The Solution

The unit can simultaneously charge up to 5 different types and sizes of batteries. The discharge/charge cycle on each port is asynchronous to the other ports. The unit samples the state of the battery on each of the ports. The unit starts an optimal discharge cycle on each port where a battery is connected. Once the battery is fully discharged, the charging cycle begins. Algorithms in the firmware are designed to optimally charge each battery type. The charger currently supports NiCad and NIMH.




Signal Conditioning for Marine Diesel Monitoring
The Customer

World wide charter fleet
The Challenge

Design a robust I/O expansion system that would interface to an existing VHF satellite communicator and various marine sensors in a harsh enviroment.
The Solution

The I/O expansion board provides signal conditioning with differential inputs and hysteresis for up to 13 inputs. Additional on board logic provides Boolean operations between inputs. The board includes 2 digital tachometers with High RPM alarms. I/O lines can be inverted and scaled to either 5 vdc or 12 vdc ranges.




Intelligent Engine Controller
The Customer

An intellectual property development company
The Challenge

The specified device was to replace the typical cable throttle control with an intelligent digital servo system using electronic engine feedback to control the engine speed.
The Solution

The mechanical linkage between the user control and the engine throttle is intercepted. The user control is an input to a Microchip PIC 16F876 microcontroller, which drove an electric motor to control the engine throttle. The microcontroller also receives tachometer pulses from the engine, which are used to calculate the engine speed. Two nested PID control loops using floating point are executed 100 times per second. The inner loop controls the PWM output to the electric motor and drives it to the desired position. The outer loop uses the user input and engine speed to set the desired motor position used by the inner loop.



Lid Pressing Machine
The Customer

A large US lab equipment manufacturer
The Challenge

The customer wished to fully automate an industrial lid pressing machine that contained two motors, several limit switches and user buttons and an optional LCD digital readout.
The Solution

A Microchip 16C932 microcontroller was chosen for this job because it could drive an LCD readout directly. The sensors and user buttons are inputs and the motors are controlled by outputs. The microcontroller performs the logic of the user interface and the machine control, sequencing, timing, and failure detection.



Digital Tachometer and Flow Meter
The Customer

A research and development lab
The Challenge

Provide a low cost and low power means of displaying shaft rotation data derived from the signal of an innovative, patented magnetic sensor.
The Solution

Embed engineers designed a high impedance, low power analog circuit to produce a clean digital pulse when a magnet or sensing cog passed by the sensor. The circuit operated from 1/2 Hz at 20mm to over 10 KHz at 1mm. A Microchip PIC 16C932 was used to capture the pulses, measure the period between them and invert the data to obtain speed. The result was displayed on a directly-driven 4 digit LCD display. The system could be configured via DIP switches to the number of pulses per shaft rotation, and the desired output units (RPM, Hz, etc). An integrating mode could display accumulated shaft rotations instead of shaft speed.

A variation of this design was used as a fluid flow meter. Each pulse indicated an impeller blade passing by the magnetic sensor. The readout units could be selected from liters/second, gallons/minute, etc. The integrating mode displayed accumulated liters or gallons.