Interesting research on ceramic capacitors

I found an interesting article about the capacitance of ceramic capacitors may depend on voltage applied. In some designs, you can face a problem when ceramic capacitor capacitance may strongly depend on voltage. Few tests were done with various capacitors using the following circuit: In the circuit CX – tested capacitor; C0 – known capacitor. Voltage vas regulated from 0 to 50V using potentiometer R1. 50V is taken as the nominal voltage of the ceramic capacitor. Because Two capacitors are connected in series the total capacitance is C=CX·C0/(CX+C0) then we find the capacitance of tested capacitor CX=C·C0/(C0-C); C0 is about 10 % of CX value. There were several capacitors tested and stunning results were found. – Some of the capacitors lost capacitance from 10 to 15 times due to the increase of voltage up to 50V. Even when 10% of voltage were applied the capacitance was only about 35 – 40% of nominal value. The only explanation may be that low-quality dielectric material is used in (no-name) ceramic capacitors. Of course, not all capacitors gave the following results. But be ready for this when using unknown producer ceramic capacitors.

Continue reading

AVRJTAG clone in action

Building AVR Jtag clone Finally, I found some time to finish the AVRJTAG clone. It was hanging for a while on a breadboard with a bunch of wires. I have made an Eagle CAD project with a PCB layout you will find at the article’s bottom. I didn’t change the circuit very much from the previous, just added ISP header(but didn’t have a chance to test it) and transferred to Eagle project as I didn’t find one ready to build:

Continue reading

Compressed Thumb instructions of ARM MCU

Thumb instructions Thumb instructions shrink ARM instructions from 32 bit to 16-bit length. This allows saving up to 40% of program memory comparing to the ARM instruction set. Maybe this is the main reason for Thumb instructions being used. Thumb instructions lose many properties of ARM instructions and become similar to traditional RISC instructions. Thumb instructions cant be conditional. Data processing has a two-address format where the destination register is one of the source registers. ARM instruction: ADD R0, R0, R1 Thumb instruction: ADD R0, R1 As the Thumb instruction set takes less program space, it allows to upload bigger applications, but with lower speed than using ARM, instructions performance is up to 40% faster. But in noncritical applications or functions speed isn’t a significant factor. Also, Thumb instructions don’t have full access to all registers. Thumb instructions can only access “low registers”(R0-R7). And only a few instructions can access “high registers”(R8-R12).

Continue reading

ARM7 core instruction set explained

ARM7 architecture has a normal 32bit ARM7 instruction set and a compressed 16-bit instruction set, the so-called “Thumb.” ARM7 instructions have complex behavior. As ARM processor programming is usually written in C, there is no need to be an ARM expert, but understanding the basics may help develop efficient programs. ARM7 datatypes ARM7 processor can support following datatypes: 8 bit signed and unsigned bytes; 16 bit signed and unsigned half-words; 32 bit signed and unsigned words But shorter than 32-bit data types are supported only by data transfer functions, but when internally processed, they are extended to 32-bit size. ARM7 core doesn’t support floating point datatypes – they can only be interpreted by software.

Continue reading

Understanding and calculating decibels

A decibel is a special unit that is a little different from other measuring units in everyday practices. This is a nonphysical unit but more mathematical understanding. Decibel (dB) units are similar to percent (%), just different calculations and purposes. As a percent unit, so decibels are used to compare two quantities as the whole value in percents is expressed as 100%, so decibels are more complex, and it is a ratio of two independent quantities. Decibels are mostly used for energetic parameters like power or voltage and current. Decibel (dB), equal to 0.1 bel (B) . Bel – is a decimal logarithm of the ratio of two powers. If these powers P1 and P2, then the expression looks like this:

Continue reading

Low frequency Butterworth and optimal Wiener ECG filters

Regular ad hoc filters don’t guarantee optimal signal filtering as there are no criteria that evaluate filter characteristics. Usually, filter parameters are calculated empirically, and the best results do filtering. To avoid such a shortage, there are optimal filters used where some criteria optimize parameters. Optimal filtering’s main idea is to give bigger weight coefficients to signal spectra parts where signal noise has less power, and true signal spectral components have bigger power. Let’s project a simple Butterworth filter used as a comparative filter to optimal Wiener DSP filter.Butterworth filter transfer characteristics: Where N indicates filter Tap number. I will skip the Butterworth filter description as the main idea is constructing an optimal Wiener filter. Butterworth filter characteristics are pretty plain: The main disadvantage of the Butterworth filter is that signal is distorted on filter output. If you want minimal signal distortions it is better to use an optimal Wiener filter. Filter chart looks as follows:

Continue reading

24×24 LED dot matrix display control

24×24 LED display is formed using nine 8×8 Dot LED matrix displays connected to AT90S2313 MCU. MCU scans an indicator line in series. A special PC program is written to draw images on the screen and transfer them via a COM port to the device. You can send pictures in series that gives an animation effect. Device circuit:

Continue reading

PCB Exposure using UV light LED box

I came across this interesting project. The guy decided to make a UV PCB exposure box made of UV light LEDs. The main reason why he used LED was the power dissipation and compactness. Assuming that one UV tube would take about 6W while one UV LED would take about (20mAx3.2V=64mW). Most of that energy UV tubes dissipate as heat energy. So he took: 54 x UV LEDs of 400nm (6000 – 7000 mcd) – 100 units in Ebay costed 12€;18 x 68ohms resistors 1/4W – 0,36 €;1 connector – 0.50€;1 electrolytic condenser of 2200uF – 30v;1 Eurocard Plate 100×160 about 5 € ;

Continue reading

Compact dual oscillator and power on reset for MCU

Would you consider connecting an IC with a dual-speed oscillator and a power-on reset to your MCU? This is what MAX7378 does. This is a good replacement for ceramic resonators, crystals, and other oscillator modules, and discrete reset circuits. The good thing here is that at any time, you can select either low-frequency 32.768kHz or a high frequency from range 600kHz to 10MHz.The clock frequency can be switched at any time without glitches. MAX7378 can be powered from 2,7V to 5,5V, so it is suitable for most MCU types. Comparing to Crystal resonators, it is resistive to vibrations and EMI. It is a good solution for the automotive and industrial environment. High-frequency oscillator error reaches ±2% at 25°C at 5V power supply. In other words, speaking oscillator frequency stability is about ±325ppm (when crystal stability is from ±10ppm to ±100ppm). So it doesn’t correspond to crystal accuracy, but it suits most non-time-critical applications. 32.768kHz oscillator is more accurate with an error of 1%, but it still a bit much for time measurements.

Continue reading

IR remote control signal receiver using AVR microcontroller

IR remote control is a device you can find everywhere to find a TV, VCR, or home theatre. Why not use one of them for controlling your own devices like light, air conditioning, etc. As we know, remote control devices use IR light. This is invisible light of about 950nm wavelength. One most significant problem in using IR light is that there many other sources of it like the sun, light bulbs, fire. To exclude other sources, the IR signal is modulated by some frequency. The receiver has to be tuned for this frequency. Mostly remote controls transmit IR signals using 36kHz frequency signals. Transmitting and coding is one part that can be done more efficiently than receiving and decoding. Decoding is usually performed by using microcontrollers. First of all, the receiver has to get rid of the 36kHz carrier frequency. This is not a simple task to demodulate the signal; this is why particular IR receiver IC’s are produced. One of them is TSOP1736:

Continue reading