This is a simple magnetic field flux meter I designed and modified over the time. This final version is the simplest I could get to.

Magnetic filed flux meter

The reason why I designed it is very simple and lays on the fact that if there’s some uncertainty about effects on the humans of the high frequency electromagnetic fields generated by celllular phones, much less uncertainty is about the damage caused by low frequency magnetic field generated by the mains (220/110 Vac) surrounding us (LFMF).

I wanted something that could gauge the field with some good approximation but most importantly I wanted to spot “hot points” around my home so I could decide where I could place safely our beds, as an example, without worrying of LFMF causing in the long run related disease. I’ll discuss these issues later on.

One of my previous designs included a small meter but then I decided I would use a regular multimeter.

The principle of magnetic filed flux metering is simple and based on basic physics : a variable magnetic field induces a voltage at the ends of a coil ( Faraday’s law of induction ) of electric wire. I used this principle to gauge the field and through amplification meter it on a regular multimeter. Total cost : very low, a simple operational amplifier, two (or one, see over) a few resistors, a plastic case and switches and that’s it

The circuit is very simple : a better view of the schematic.

Schematic of my magnetic field flux meter

The coil voltage is amplified by a simple instrumentation amplifier built around an Analog Design AD708 : a very crude but effective design as the coil is close to the amp. AD708 is an excellent AmpOp, other models are fine as long as they stand the +/- 9V supply : a regular LM358 should do just fine.

I designed two ranges of 0.1μT/V and 1μT/V which are pretty sufficient to gauge any field around home. A regular multimeter set to 10 Vac full scale is fine. Given a voltage reading of say, 3Vac in the 0.1μT/V scale equals a flux of 0.3μT while in the 1μT/V scale it would equal a flux of 0.3μT.

The coil is actually the most tricky part of the circuit yet it is simple to design.

I used a JVC loop antenna that came with my stereo. I never used the loop antenna with my stereo and decided to design my magnetic flux meter coil around it but any piece of plastic some wire can be wound on is fine. The size of my loop antenna is 0.1m x 0.12m circa.

It must be of plastic and no large metallic parts should be close to the loop to interfere with the field.

The JVC loop antenna prior dismantling

First I measured the loop size and put it into the equation (see “how I designed the coil” at the bottom of this post) to find out the number of turns I needed to wind over the loop antenna plastic core.

The number turned out to be 132 : we have 50Hz mains here in Europe, the number of turn depends on the area of the loop and the frequency of the field to measure as well, that is the frequency of the mains.

I removed the existing wire turns from the JVC loop antenna and wound the new turns with 0.2mm diameter wire. The gauge of the wire isn’t really an issue as what matters is the area enclosed by the loop and the number of turns.

The circuit fits easily a small chunk of perfoard. The OpAmp is on an 8 pins socket as well as the switched capacitor voltage inverter. This latter part of the circuit is necessary to generate the negative supply voltage for the AmpOp and is not required if two 9V separate batteries are used. I went for the 1 battery+switched capacitor voltage inverter option.

Magnetic field flux meter : the inside

This is a closeup of the coil enetering the plastic box : the thin copper wire is connected to a chunk larger insulated twisted pair. It must be twisted to null-out the effect of direct coupling of the field to the wire.

Closeup

A few notes on what to check around your home.

First, I’d check those walls you are not sure what’s on the other side. A large electric oven ? A washing machine (well, you might guess by the noise) or some other large appliance that radiates when you’re sleeping ? Maybe the back of a large crt TV.

You might experience that regular new crt computer monitors don’t radiate much from the front (keyboard) side. The back isn’t that good.

Very old monitors and TVs perform very badly from this point of view but it is not a good reason to dispose of them : just find a better position for them so as the field goes where no one stands for long time (co-workers, say).

How I designed the coil

From Faraday’s induction law a variation of the magnetic flux through a closed loop of wire generates a voltage at the loop’s ends that is tied to the time rate of change of the flux.

In the equation above, is the product of the component of along the perpendicular to the loop, times the value of the surface. In our case I assume the field is perpendicular to the coil’s surface so is where is the frequency of the field (in Europe 50Hz, in other countries 60Hz) and t is the time (in seconds) but we don’t have to worry about these two latter variables. is the product of the surface times the perpendicular component of the filed that is

With a square loop the surface , being the sides of the square loop in meters. The loop can be any reasonable shape : if it is a regular round loop it is ;again, r must be in meters.

For a coil made of N turns the final equation becomes

Evaluating the derivative yields :

is the value to gauge: we want to measure it via.

I’ll set the top value for to 1μT that is 10-6 T and want this top value to generate = 500μV at the ends of the coil.

My coil has sides equal to 0.1m and 0.12m approximately.

f is 50Hz in Europe and 60Hz in other countries.

Solving for N:

where

The value of 50Hz must be changed where the mains’ frequency is 60Hz (US, as an example).

With my JVC loop antenna I get

turns of insulated copper wite.

The wire gauge isn’t much important. It is 0.2mm diameter in my case

I developed this infrared remote control decoder for Arduino on my Arduino-compatible STK500 evaluation board for Atmel’s AVRs.

The sketch is pretty much standard C code so porting to non-arduino dev systems is almost immediate.

Remote control receiver / decoder for Arduino

I actually developed the code in C for a smaller ATtiny24 for a specific project underway thenI adapted it for Arduino and made available to anyone whom might need it.

The sketch expects the IR receiver on digital pin 8 and is in the form of a demo where 4 LEDs on digital output 4, 5, 6 and 7 are turned ON on my STK500 (microprocessor’s output connected to LEDs’ cathodes) when keys 1 2 3 and 4 are received from the remote. The power button on the remote turns all LEDs OFF.

The code also ouputs the received code to the serial port to be read on the serial console (9600 Baud-8-N-1) .

Any RC5 Philips TV remote control seems to be fine and the few programmable ones I tried work fine. Feedbacks are welcome.

…yes, one day I`m buying a real Arduino !

The sketch for Arduino is here.

IMPORTANT : should you experience problems with random resets, read Mark Arduino’s comment on Jan 24, 2010 at 1:06 pm.

Enjoy.

Remote controlled light bulbs RGB mood lamp

This RGB light I designed and built a while ago. A large spectrum of coloured light can be made mixing light from bulbs coloured in red, green and blue.
So, this one is not based on LEDs but it’s based on 3×60W 220/110Vac light bulbs.
Also, it has a remote controller to change intensity of the three bulbs, store and recall
preferred hues, turn the thing on and off.

Danger !Before attempting to work on this project yourself you must be absolutely aware that this thing is powered from the mains and as such it could kill you, cause damage or injuries.

If you are not very well skilled with mains powered electronics and related safety building practice and you are not well aware of the risks related, you are absolutely required just to enjoy the pictures and the video or get assistance by a very skilled friend.

No part of the circuit can be considered safe to touch when the circuit is powered on.

This project is intended only for very experienced adults.

The author of this document is not responsible for any death, injury, or property damage resulting from or relating to the procedures shown or devices described in this document.

The bulbs: I looked for both 40W and 60W bulbs and found them from Philips and Osram.
They are reasonably priced (4/5 Euro) and provide pretty good a spot of light so that the three beams can be superimposed and the three colours mixed. Other light bulbs could do well. They must be filament types, no ballasts or fluorescent tube, just good old filament types.

Dimming the lights cannot be done via PWM as LEDs are. The lamps must be phase controlled, that is they must be turned on with a delay with respect to the zero crossing of the mains phase. The delay ranges from 0 (no delay, lamp immediately turned on -> maximum light) to 1/2 of the mains period (20ms for 50Hz, 17 ms circa for 60Hz -> minimum light, dark). In the pictures below, the light intensity is strictly related to the area enclosed by the X axis and the curve. Top trace shows the mains, the lower one is the output to the green lamp (green light visible on wall in the background)

Oscilloscope view

The delay with respect to zero crossing is quite large and the lamp is dim.

The TRIACs

Driving the bulbs is done via TRIACs. They are cheap and well proven. Some RC network is necessary to reduce interferences produced by triggering of the TRIACs. The filter should be compliant so as not to disturb any electronic device around. The filters provided reduce interference pretty much but I have no idea if FCC or other regulations are really met.
Notice the heat sinks: they should not really be necessary as long as TRIACs are loaded with 60W each. But heat sinks look cool. Remember consider any part of the circuit dangerous when powered on: do not touch any part of it (to check for heat, as an example…) under any circumstances.
No part of the circuit is safe to touch to anyone. And I mean you !Optocoupler

Safety first: Optocouplers provide isolation between low voltage (safe) side and high voltage(the mains) side.

The low voltage side is connected internally to an LED facing an opto sensitive device (OPTODIAC) which is connected to the high voltage side.

Lighting the LED makes the OPTODIAC conduct and trigger the TRIAC wich in turn turns on the lamp.

The low voltage and high voltage sides must be well separated electrically so has to guarantee isolation. The minimum requirement is to Dremel out the copper between the two sides. A much better practice is to dig a hole between the two side. For no reason interconnection should pass between the two sides.

The circuit must be powered via a low power transformer. This provides the added feature of isolation from the mains. As I said, isolation is a safety feature no one should underestimate. Even though the circuit does not have any pushbutton which might break and let electrical contacts become touchable by a hand and the circuit can be safely enclosed in an all-plastic case (special care must be taken for metallic screws), the transformer and the OPTODIACS provide added safety.

Remote control receiver

The IR receiver was taken from a dead TV set together with its remote control. The case is metallic and it is connected to the low power ground. Even if there is isolation, take precautions so as no metallic part (IR case also) can be touched. A transparent plastic for the circuit case would help.The controller is a PIC16F627A which receives the remote control signals. The software attached is commented and should be easily understandable by those who have some understanding of PIC assembler.
I tested the thing with 220Vac 50Hz. Could not test it against 110Vac 60Hz. The only difference relates to the transformer and the delay generating routine inside the micro (and the light bulbs ratings).
Selection between 50Hz vs 60Hz timing is done connecting shown pin to ground for 60Hz.
I would appreciate some feedback by anyone whom may realise and test this thing in the USA.

Source code is here.

Hex file ready to burn is here.

Schematic is here. Please note: for ’some reason’ [ it's usually called 'a mistake' I know :) ] 50/60Hz selection bit is depicted on PORTB, bit 1 : it must be on PORTB bit 0 to reflect source code and hex file. I’ll correct ASAP.

The remote I used is an RC5-standard no-brand one. I incidentally noticed that a Philips TV remote works fine.
I think that any universal remote control should work as well as long as Philips TVs are supported.

Some feedback here appreciated.