Multimeter on ATmega8 for power supply unit

This multimeter was designed to measure output voltage and current in a PSU, where the current sense shunt resistor is connected in series with load at the negative voltage rail. It needs only one supply voltage that can be acquired from main PSU. An additional function of the multimeter is that it can control (switch on and off) an electric fan used to cool the main heatsink. The power threshold at which the fan switches on can be adjusted using One Touch Button Setup.

Technical Specifications - Characteristics

  • single µC ATMEL ATmega8 used to handle all the multimetr functions;
  • voltage range 0-30V;
  • voltage measure resolution 10mV;
  • current range 0-99A;
  • current measure resolution 10mA (depend on current sense resistor value*);
  • single, non isolated voltage supply;
  • one side PCB;
  • compact construction allowed to use multimetr as panel meter;
  • well interaction with standard LCD based on HD44780 controller

*Internal MULTIMETR resolution is given by equatin:

resolution[mA] = 1/(R[om]*3.2)

If internal resolution is worse than 10mA, MULTIMETER displays current with internal resolution, if better - with 10mA one.
In addition voltage drop on shunt resistor musn't exceed 2.4V, so R[om] should be less than 2.4/Imax[A]

Schematic

 

Вольтамперметр на ATmega8 для блока питания
Click to enlarge

There are elements on schematic and in the following table marked as "Do Not Assemble". That elements was needed in previous software edition. Current software version doesn't , so you just don't add them. Maybe in a future version of the multimeter there will be a simpler PCB with simpler electronic diagram too.

Part List (TQFP version of multimeter):

Element

Value/Type

Case

Remarks

R1, R2

100k

1206

  

R3, R5, R6

10k

 

Potentiometer

R4

30k

1206

  

R7, R8

7k5

1206

  

R9, R10

500R

 

Potentiometer

R11

5k1

1206

  

C1, C2, C3

100n

1206

  

C4, C5, C6, C7, C8, C9

100n

1206

Do Not Assemble

C10

22u/6V

SMD A

  

C11

10n

1206

Optional element - protect Q1 against voltage peek after switch off fan.
Most of the computer type fans which I tested didn't produce  voltage
peeks dangerous for Q1

C12

10u/50V

 

  

L1

47u

1210 

Do Not Assemble - cross PCB pads

D1

DIODE 

SMD A

Optional element - protect Q1 against voltage peek after switch off fan.
Most of the computer type fans which I tested didn't produce  voltage
peeks dangerous for Q1

D2

DIODE

SMD A

e.g. SK310A

U1

7805

TO-252

Voltage regulator +5V, e.g. LM7805

U2

7812

TO220

Voltage regulator +12V, e.g. LM7812

U3

ATMEGA8

TQFP32

  

LCD

GOLDPIN

1×16

  

J1

GOLDPIN

1×2

FAN_CON - fan connector

J2

GOLDPIN

1×1

+12V_CON - optional +12V supply connector

J3

GOLDPIN

1×1

+35V_CON  - main supply connector

J4

GOLDPIN

1×3

ground and measured signals

S1

SWITCH

 

  

Q1

MOSFET N

SOT-23

e.g. BSS-138 (fan current lees than 200mA)

Picture of PCB (TQFP version) is here. There are two version of PCB - normal and mirrored. I think, that anyone who makes PCBs will know, which one schould be used to produce right PCB.

After soldering all the parts on PCB:

  • make two cross connection on PCB (see "Layout - bottom side");
  • short L1 pads;
  • place U2 element (+12V voltage regulator) on heatsink
  • pay attention on right polarity D1 i D2 elements. Wider side of silk screen layout, where part number is placed, is CATHODE.

PDIP multimeter version Schematic


Click to enlarge

Picture of PCB is here. There are two version of PCB - normal and mirrored. I think, that anyone who makes PCBs will know, which one schould be used to produce right PCB.

Programing
Because µC is in TQFP package, we can program it after soldering all the elements on PCB. It makes programing quite easy to perform. Programing signals are delivered through LCD connector. To make the programing cable, you can use old PC HDD cable. Picture of my programing cable is shown here.
Remember, that durring programing multimetr circuit must be supplied with +5V. Depending on your programmer, supply voltage is provided either by programmer, or from separate power supply unit.

Programing cable connection list

LCD Pin number

LCD signal

µC signal/Pin

Prog signal

1

GND

GND

GND

2

VCC

VCC

VCC

4

RS

SCK / PB.5

SCK

5

RW

MISO / PB.4

MISO

6

EN

MOSI / PB.3

 MOSI

10

D3

RESET

RESET

After connecting µC to prog, you should check, if µC is "visible" for prog. When everything is fine, you can upload code to µC.

It is assumed here, that µC is new and works with its internal RC clock at 1MHz. If not, set apropriate fusebits to achive above mentioned conditions.
In addition Brown-out detector should be turned on by enabling BODEN fuse. Recomended Brown-out Reset Threshold Voltage is 4V.

The next thing to do is to cross LCD soldering pads number 1 and 5. It is neccesary to provide ground for LCD RW signal.
After all, connect LCD module with the multimeter PCB. It is recommended to use a detachable connector for further expandability e.g. software upgrading.

Mount multimeter to PSU according to the diagram below:

Connectors and regulation elements:

S1 - reset/setup connector
During normal work pushing S1 button cancel amount of displayed charge. In versions without charge displaying, pushing this button doesn't make any reaction.

To enter setup push and hold S1 button, then power on multimeter. When "www.elfly.pl" appear on LCD, you are in setup mode.

First parameter to adjust is ATMega8 voltage reference. Reference voltage inaccurracy is the main measurement error factor in previous multimeter code versions, because Vref vary from chip to chip in quite wide range . You can measure reference voltage between multimeter ground and µC pin no. 20. Measured value you should write down in setup. If you don't write anything, it will be assumed, that Vref=2.56V (due to datasheet).
After Vref setup, button must not be pressed for about 5 seconds. The next parameter to set up is shunt resistor value.

If the resistor value is known, repeat button pushing until correct value reached. If resistor value is unknown (e.g. self made resistor), short PSU output by ammeter, set some current by PSU current limit regulator and then, push button, lead to equal current indication on ammeter and multimeter.
After shunt resistor value setup, button must not be pressed for about 5 seconds.

The next parameter to set up is fan switch-on power threshold. It is the real power loosed on output transistor (transistors), because multimeter has information on voltage drop on transistor and driving current. To avoid instability switch-off threshold is automatically set to 20% less than switch-on one.

R9 - Fine voltage circuit regulation potentiometer.
To reduce ADC conversion errors like un-linearity, gain factor etc. measuring range is divided into two sub-ranges 0-10V and 10-30V (switch threshold can be between 7-13V depend on sourcing current and elements tolerance).
To regulate fine sub-range connect voltmeter to PSU output, set up voltage at about 9V and turn R9 until voltmeter and multimeter indications are equal.

R10 - Coarse voltage circuit regulation potentiometer.
There is over-sampling applied in multimeter software, so measuring resolution is the same in fine and coarse circuit and is 10mV. Because of the reason described above multimeter has two measuring circuits.
To regulate coarse sub-range connect voltmeter to PSU output, set up voltage at about 19V and turn R10 until voltmeter and multimeter indication are equal. (If you posses 4.5 digit voltmeter, you could regulate at voltage 30V)

R3 - LCD contrast potentiometer.
Turn that potentiometer first, if nothing is visible on LCD.

J1 - Fan connector.

  • Pin no. 1: Fan "+"
  • Pin no. 2: Fan "-"

J2 - +12V
If +12V DC is available in your PSU, connect it to that pin. In that case you shouldn't assemble +12V voltage regulator U2 on PCB.
That solution is convenient for multimeter, because eliminates U2 heating and permit to connect fan and LCD with higher current consumption.
If you haven't got +12V DC in your PSU, left that pin unconnected.

J3 - +35V
Rectifier bridge voltage. See U2 element you used data sheet to know about maximum voltage it can work properly. On the other hand the minimum voltage on that pin mustn't drop bellow c.a. 9V, or 6.5V if low drop type U2 and U3 voltage regulators were used.
That pin should be connected even if +12V DC is connected to J2 pin. Voltage from that pin deliver information for fan switching.

J4 - Measuring signal connector.
Multimeter is suitable for voltage and current measurement in PSU, where current sense shunt resistor is connected in series with load and is in negative rail.

  • Pin no.1: voltage measurement U - connect to "+" PSU output, best directly to output terminal;
  • Pin no.2: current measurement I - connect to "-" PSU output, best directly to output terminal;
  • Pin no.3: ground - connect to shunt resistor terminal opposite to that connected to "-" PSU output.

LCD - LCD connector.
Multimeter works properly with LCD's 1×16 logical controlled as 2×8 (most of LCD's available on the market).

Because of linear voltage regulators used in multimeter, sourcing current is limited. Main current consumption elements are fan and LCD backlight, so:
- use LCD with LED backlight (typically current consumption is less than 15mA);
- use low speed, low current fan. Additional advantage of that solution will be silence.

Мultimeter code versions:

Description

TQFP version

PDIP version

LCD 1×16

download

download

LCD 2×16

download

download

LCD 2×16
Load resistance displaying

download

download

LCD 2×16 
Capacity in mAh passed to load displaying

download

download

LCD 2×16
Load resistance and capacity in mAh passed to load displaying

download

download

elfly.pl