EEVblog #483 – Voltage Inverter Tutorial

EEVBlog 483Dave Jones at the EEVBlog covered voltage doublers in a recent episode.  His latest tutorial covers a variation of the technique, the voltage inverter.  This is excellent technique to have at hand when you need a few milliamps of  negative voltage for a circuit, perhaps for an op-amp circuit or to be able to adjust down to zero volts with an LM317 adjustable voltage regulator.

Dave clearly explains the details in this entertaining tutorial.  It's recommended watching!

EEVblog #483 – Microcontroller Voltage Inverter Tutorial

Comments (1)   Add comment


Dickson Voltage Doubler

Dickson Doubler Dave CADWhen designing a microcontroller circuit, you may need a source of higher voltage.  This is particularly true when using a 3.3 volt micro such as the PIC18F25K22 on the Amicus board or when using the new Firewing board..  A circuit might operate perfectly from a pair of AA batteries except for a few milliamps needed at a higher voltage for an LCD or to power a sensor.  The usual option is to use a battery pack with more cells and multiple voltage regulators, but Dave at EEVBlog shows us an easier way in a recent video:

EEVBlog #473 – Microcontroller Voltage Doubler

Comments (2)   Add comment   Read more...


Read 10 or more switches using only two I/O pins of a microcontroller

- February 28, 2013

This is a repost from EDN Magazine's Design Ideas

There are several ways to read multiple switch inputs using a reduced number of microcontroller-unit (MCU) pins. For example, you can use an analog MCU pin to read multiple switches by assigning a unique voltage to each switch through a resistor network, or you can use a one-wire device, such as the Maxim DS2408 8-channel addressable switch.

The first method has several disadvantages: The MCU has to have an ADC function, debounce wait times reduce the polling rate, and an error results if the switch is opened during the ADC sampling time. The second method also has the drawback of comparatively low speed; it uses 1-wire communication, which requires continuous polling; and each poll generates an 8-bit data sequence relevant to switch positions.

This Design Idea describes a method for reading multiple pushbuttons or open/closed switches using only two digital I/O pins and a timer interrupt of the MCU (Figure 1). Optionally, a third I/O pin can be assigned to periodically reset the CD4017 (a cascadable decoded 1-of-10 Johnson counter) for reliable operation should an EMI or ESD event occur that could falsely clock the counter, or you can use the circuit shown in Figure 2 and retain the two-pin feature. The diodes isolate the counter outputs in the event that two or more switches are closed at the same time. You can increase the number of switches connected by cascading multiple CD4017 ICs using a carry-out signal (pin 12) and a clock signal (pin 14).

Comments (1)   Add comment   Read more...


Connect a 4×3 matrix keyboard to a microcontroller using two I/O pins

- May 8, 2013

This is a repost from EDN Magazine's Design Ideas

Matrix keyboards are common as an input device in microcontroller-based projects. A conventional way of connecting a matrix keyboard to a microcontroller is to use multiple I/O pins of the MCU. The MCU then uses a scanning algorithm to identify which keys are pressed. A drawback of this method is that it requires a large number of the MCU’s I/O pins to connect the keyboard. For example, to connect a 4×3 keyboard requires seven digital I/O pins. This becomes a problem when the project is based on a low-pin-count MCU or when the MCU being used does not have enough free I/O pins.

Two solutions for this issue are available: Use readily available I/O expanders, or assign a unique voltage to each key using a resistor network and then use an analog pin to read the voltage and determine which key is pressed. Each solution has its own disadvantages.

Since most of the time I/O expanders require a special communication protocol (I2C or SPI, for example) to read and write data, the MCU should have built-in communication modules, or the user has to implement the relevant communication-protocol software wisely, which adds significantly to the overhead of the MCU. On the other hand, assigning a unique voltage to each key using a resistor network becomes troublesome as the number of keys becomes high, which will lead to tight voltage margins. Then, as resistor values tend to change with temperature, the use of tight voltage margins can cause incorrect readings. Even switch bouncing can play a major role in producing incorrect voltages with this method. Another major drawback of this method is that it requires the presence in the MCU of an analog input pin.

Comments (0)   Add comment   Read more...


From EDN: One I/O line drives shift register with strobe

& - March 28, 2013

This is a repost from EDN Magazine's Design Ideas.

This Design Idea shows how a single microcontroller port can drive a lot of output lines through shift register. In this case we use the shift register with strobe control to achieve perfect output line control.

Shift register outputs can drive LEDs, relays, etc. In other words, they can be used as (additional) general purpose outputs.

Today there are shift registers that have DATA and CLOCK inputs only, like 74HC164, and shift registers with same inputs plus STROBE control input, like 74HC4094 or 74HC595. The shift registers without STROBE control have short-term transient states at outputs during shifting. Transients occur because shift register is directly connected to output lines. This kind of shift register can be used for driving LEDs and similar devices where short-term transient is irrelevant. For example, the human eye can't notice LED flickers shorter than 10 msec. The shift registers with STROBE control have two registers.

Comments (0)   Add comment   Read more...


More Articles...

  1. Eagle Board Layout Assistant
  2. SMT Protoboard Compendium - An Ongoing Project
  3. Color Maximite Computer
  4. Why I Pick PIC
  5. The HLVD Module for Low Battery Indication