Posted on Leave a comment

Maplin/Refrakta Torch Modification & Mode Removal

The multimode dimming/flashing modes on Chinese torches have irritated me for a while. If I buy a torch, it’s to illuminate something I’m doing, not to test if people around me have photosensitive epilepsy.

Looking at the PCB in the LED module of the torch, a couple of components are evident:

LED Driver PCB
LED Driver PCB

There’s not much to this driver, it’s simply resistive for LED protection (the 4 resistors in a row at the bottom of the board).
The components at the top are the multimode circuitry. The SOT-23 IC on the left is a CX2809 LED Driver, with several modes. The SOT-23 on the right is a MOSFET, for switching the actual LED itself. I couldn’t find a datasheet for the IC itself, but I did find a schematic that seems to match up with what’s on the board.

Schematic
Schematic

Here’s that schematic, the only thing that needs to be done to convert the torch to single mode ON/OFF at full brightness, is to bridge out that FET.

Components Desoldered
Components Desoldered

To help save the extra few mA the IC & associated circuitry will draw from the battery, I have removed all of the components involved in the multimode control. This leaves just the current limiting resistors for the LED itself.

Jumper Link
Jumper Link

The final part above, is to install a small link across the Drain & Source pads of the FET. Now the switch controls the LED directly with no silly electronics in between. A proper torch at last.

Posted on Leave a comment

DIY SMPS Fan Controller

Now the controllers have arrived, I can rejig the supplies to have proper thermal control on their cooling.

Changes Overview
Changes Overview

Here’s the top off the PSU. The board has been added to the back panel, getting it’s 12v supply from the cable that originally fed the fan directly. Luckily there was just enough length on the temperature probe to fit it to the output rectifier heatsink without modification.

To connect to the standard 4-pin headers on the controller, I’ve spliced on a PC fan extension cable, as these fans spent their previous lives in servers, with odd custom connectors.

Fan Controller
Fan Controller

Here’s the controller itself, the temperature probe is inserted between the main transformer & the rectifier heatsink.
I’ve set the controller to start accelerating the fan at 50°C, with full speed at 70°C.

Full Load Test
Full Load Test

Under a full load test for 1 hour, the fan didn’t even speed up past about 40% of full power. The very high airflow from these fans is doing an excellent job of keeping the supply cool. Previously the entire case was very hot to the touch, now everything is cool & just a hint of warm air exits the vents. As the fan never runs at full speed, the noise isn’t too deafening, and immediately spools back down to minimum power when the load is removed.

Posted on Leave a comment

Raspberry Pi Timelapse – Resequencing Images

Sometimes while taking timelapse video on the Pi, it misses frames, for no apparent reason. I have been playing with various combinations of disks/SATA cases to see what the bottleneck is. Oddly enough a faster drive actually made the problem worse!

Really Bad Frame Skipping
Really Bad Frame Skipping

Here’s an example of some really bad frame skipping, this is with a frame interval of 1250ms, which has worked fine in the past. The disk used is a 750GB WD Black 7200RPM, so disk access time shouldn’t be an issue.

Since frame skipping is rarely a problem in timelapse video I do, I’ve been searching for something to automatically renumber all the frames for processing into video – after writing my own script, which was a bit crusty, I came across a very handy script on SourceForge. It required a couple of small modifications to work correctly with what I want, but here’s the slightly modified version.

#!/bin/bash
################################################################################################
# Author:     	Paul Weibert (paul.weibert@gmail.com)
# Version:		0.1
# Dependencies: ls, sort, printf, mv, grep
# Features: 	Performs numbering of files from the specified input folder. 
#				Input files are sorted before numbering. Leading zeros can be added
# 				to the targetnumber (option -L <number of digits>).  Also a pre- and a suffix can be 
#				added to the target name (-p and -s). The sorting method can be specified (-o); 				
################################################################################################

PATHTOFOLDER=""
PREFIX=""
SUFFIX=".jpg"
SORT="modtime"
NUMBER=$(( 0 ))
LSCOMMAND="ls -1"
DIGITFORMAT="%d";
RENAME=0
GREPCMD="grep"
FILTER="\'.*\'" #match all by default

# define print function for error messages
echoerr(){ echo "$@" 1>&2;}

# prints usage information
printUsage(){ 
	echoerr "usage: numerate -d \"<path to filefolder>\" [-p \"<file prefix>\"] [-s \"<file suffix>\"] [-b <first number of target file>] [-o <order input={numerically/extension/modtime/none}>] [-L <number of digits in target number>] [-f <filename filter in grep syntax>]";
}

OPTIND=1 #Reset (just in case of prior usage)
while getopts "d:p:s:b:L:o:rf:" opt 
do
#Parse arguments
	case $opt in
		d) PATHTOFOLDER="$OPTARG";;
		p) PREFIX="$OPTARG";;
		s) SUFFIX="$OPTARG";;
		b) NUMBER="$OPTARG";;
		o) SORT="$OPTARG";;
		L) DIGITFORMAT="%0""$OPTARG""d";;
		r) RENAME=1;;
		f) FILTER="$OPTARG";;
		?) printUsage;
		   exit 1;;
	esac
done

#directory parameter is mandatory
if [ "$PATHTOFOLDER" == "" ] || [ ! -d "$PATHTOFOLDER" ]; then
	printUsage
exit 1;
fi

#parse sorting parameter for the input files
echo "Set file filter to: $FILTER"
case $SORT in 
	"modtime") 
		files=$($LSCOMMAND $PATHTOFOLDER -tr | $GREPCMD "$FILTER");;
	"extension") 
		files=$($LSCOMMAND $PATHTOFOLDER -X | $GREPCMD "$FILTER");;
	"none") 
		files=$($LSCOMMAND $PATHTOFOLDER -U | $GREPCMD "$FILTER");;
	"numerically") 
		files=$($LSCOMMAND $PATHTOFOLDER -U | $GREPCMD "$FILTER" | sort -n );;
	*) 
		echoerr "unvalid order parameter -o <param>!"
		printUsage;
		exit 1;;
esac


# save value before changing it
TMPIFS=$IFS
IFS=$( echo -en "\n\b")
# perform / simulate rename operations
for f in $files;
do
		## format number
		NUMBERSTR=$( printf "$DIGITFORMAT" $NUMBER ) 
		SOURCE="$PATHTOFOLDER/$f"
		TARGET="$PATHTOFOLDER/$PREFIX$NUMBERSTR$SUFFIX"
		PROCESSDESCRIPTION="simulating rename"
		
		if [ $RENAME == 1 ];
		then 
			PROCESSDESCRIPTION="performing rename"
			mv $SOURCE $TARGET
		fi
		
		echo "$PROCESSDESCRIPTION \"$SOURCE\" to \"$TARGET\"";
		
		NUMBER=$(( $NUMBER + 1 ))
done

IFS=$TMPIFS

With the small modifications, it renumbers the images correctly for processing by AVConv.

More scripting to come when I sort out an automatic transcode kludge!

73s for now

Posted on Leave a comment

Maplin LED Torch Charger Replacement

In my previous post, I mentioned I’d be replacing the factory supplied charging gear with something that actually charges lithium chemistry cells correctly.

Charging Base
Charging Base

Here’s the base as supplied, with an indicator LED on the right hand side. This LED indicates nothing other than power being applied to the charging base. It’s just connected across the power input with a resistor. This also means that any battery left in the charger while it’s unplugged will discharge itself through this LED over time. Great design there China!

PCB Removed
PCB Removed

Here I’ve removed the PCB – there’s no need for it to be taking up any space, as it’s just a complete waste of copper clad board in the first place. The battery tabs have been desoldered & hot snot used to secure them into the plastic casing.

USB Hole
USB Hole

The charger modules I use are USB powered, so a small hole has been routed out in the casing to allow access to the port.

Charging Module
Charging Module

Here the charging module has been installed & wired to the battery tabs. Output is now a nice 4.18v, and will automatically stop charging when the cell is full.
Safety has been restored!

73s for now folks!

Posted on Leave a comment

Maplin 3W LED Torch Charger Fail

A member of the family recently bought one of these torches from Maplin electronics, and the included chargers for the 18650 lithium-ion cells leave a lot to be desired.

Torch
Torch

Here’s what’s supplied. The torch itself is OK – very bright, and a good size. Me being cynical of overpriced Chinese equipment with lithium batteries, I decided to look in the charging base & the cigar-lighter adaptor to see if there was any actual charging logic.

Charger
Charger

Answer – nope. Not a single active component in here. It’s just a jack connected to the battery terminals. There’s all the space there to fit a proper charging circuit, but it’s been left out to save money.

OK then, is it inside the cigarette lighter adaptor?

Lighter Adaptor
Lighter Adaptor

Nope. Not a single sign of anything resembling a Lithium-Ion charger IC. There’s a standard MC34063A 1.5A Buck converter IC on the bottom of the PCB, this is what’s giving the low voltage output for the torch.

Charger Bottom
Charger Bottom

Here’s the IC – just a buck converter. The output voltage here is 4.3v. This is higher than the safe charging voltage of a lithium ion cell, of 4.2v.

The cells supplied are “protected” versions, having charge/discharge protection circuitry built onto the end of the cell on a small PCB, this makes the cell slightly longer than a bare 18650, so it’s easy to tell them apart.
The manufacturers in this case are relying on that protection circuit on the cell to prevent an overcharge condition – this isn’t the purpose they’re designed for, and charging this way is very stressful for the cells. I wouldn’t like to leave one of these units charging unattended, as a battery explosion might result.

More to come shortly when I build a proper charger for this torch, so it can be recharged without fearing an alkali metal fire!

73s for now folks!

Posted on Leave a comment

µRadMonitor RRDTool Graphing

I’ve been meaning to sort some local graphs out for a while for the radiation monitor, and I found a couple of scripts created by a couple of people over at the uRadMonitor forums for doing exactly this with RRDTool.

µRadLogger
µRadLogger

Using another Raspberry Pi I had lying around, I’ve implemented these scripts on a minimal Raspbian install, and with a couple of small modifications, the scripts upload the resulting graphs to the blog’s webserver via FTP every minute.

#!/bin/sh

URL=http://192.168.1.4/j
rrdpath="/usr/local/bin"

jsondata=$( curl -s $URL);

v_cpm=$( echo $jsondata | cut -f 4 -d "," | cut -f 2  -d ":" )
v_temp=$( echo $jsondata | cut -f 5 -d "," | cut -f 2  -d ":" )

echo CPM : $v_cpm
echo Temperature : $v_temp

This script just grabs the current readings from the monitor, requiring access to it’s IP address for this.

#!/bin/sh

rrdpath="/usr/bin"
rrddata="/usr/local/urad/data"
rrdgraph="/usr/local/urad/graph"

mkdir $rrddata
mkdir $rrdgraph

   $rrdpath/rrdtool create $rrddata/uRadMonitor.rrd -s 60 \
            DS:cpm:GAUGE:300:0:U   \
            DS:temp:GAUGE:300:-100:100  \
            RRA:AVERAGE:0.5:1:600  \
            RRA:AVERAGE:0.5:6:700  \
            RRA:AVERAGE:0.5:24:775 \
            RRA:AVERAGE:0.5:288:797 \
            RRA:MAX:0.5:1:600 \
            RRA:MAX:0.5:6:700 \
            RRA:MAX:0.5:24:775 \
            RRA:MAX:0.5:288:797
   echo database $rrddata/uRadMonitor.rrd created.

This script sets up the RRDTool data files & directories.

#!/bin/sh

URL=http://192.168.1.4/j
rrdpath="/usr/bin"
rrddata="/usr/local/urad/data"
rrdgraph="/usr/local/urad/graph"
rrdfmt="--font AXIS:6: --font TITLE:9: --font UNIT:7: --font LEGEND:7: --font-render-mode mono --color ARROW#000000 --color GRID#8C8C8C --color MGRID#000000 -v \"cpm\" --alt-y-mrtg --width 600"

jsondata=$( curl -s $URL );

v_cpm=$( echo $jsondata | cut -f 4 -d "," | cut -f 2  -d ":" )
v_temp=$( echo $jsondata | cut -f 5 -d "," | cut -f 2  -d ":" )

echo CPM : $v_cpm
echo Temperature : $v_temp


$rrdpath/rrdtool update $rrddata/uRadMonitor.rrd N:$v_cpm:$v_temp


$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-day.png   --start -86400 --end -600 --title "Radiation daily" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-week.png  --start -604800   -z    --title "Radiation weekly" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-month.png --start -2592000  -z    --title "Radiation monthly" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-year.png  --start -31536000 -z    --title "Radiation yearly" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-decade.png  --start -315360000 -z    --title "Radiation decadely" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"
ncftpput -R -v -u "<FTP_USER>" -p "<FTP_PASSWORD>" <FTP_HOST> <FTP_REMOTE_DIR> /usr/local/urad/graph/*

The final script here does all the data collection from the monitor, updates the RRDTool data & runs the graph update. This runs from cron every minute.
I have added the command to automate FTP upload when it finishes with the graph generation.

This is going to be mounted next to the monitor itself, running from the same supply.

The Graphs are available over at this page.

Posted on Leave a comment

Power Supply Cooling Update

While I’m waiting for the fan controllers to arrive for the new cooling fans, I figured I’d get them fitted into the cases of the supplies & just have them run at minimum speed for now.

Fan Fitted
Fan Fitted

After removing the original small fan, I cut a larger square hole in the panel to fit the 60mm version. These fans only fit with some minor adjustment to the top & bottom mouldings, but the look isn’t too bad once the covers are back on. The wiring is routed through a small hole next to the fan itself.

I’ve also upgraded on the fans again – these are PFC0612DE, with a higher airflow of ~70CFM at 12,000RPM.

To get the fans to run at minimum speed, the PWM control wire is connected directly to GND.

More to come when the controllers arrive!

Posted on 10 Comments

3M Microtouch 17″ Raspberry Pi Touch PC

A while back I posted about a 3M Touch Systems industrial monitor that I’d been given. I had previously paired it with a Raspberry Pi Model B+, but for general desktop use it was just a little on the slow side.

Since the release of the Raspberry Pi 2, with it’s 4-core ARM Cortex CPU, things are much improved, so I figured I’d post an update with the latest on the system.

The monitor I’ve used is a commercial one, used in such things as POS terminals, service kiosks, etc. It’s a fairly old unit, but it’s built like a tank.

3M Panel
3M Panel

It’s built around a Samsung LTM170EI-A01 System-On-Panel, these are unusual in that all the control electronics & backlighting are built into the panel itself, instead of requiring an external converter board to take VGA to the required LVDS that LCD panels use for their interface.

The touch section is a 3M Microtouch EXII series controller, with a surface capacitive touch overlay.

Touch Controller
Touch Controller

Above is the touch controller PCB, with it’s USB-Serial converter to interface with the Pi.

As there is much spare space inside the back of this monitor, I have mounted the Pi on a couple of spare screw posts, fitted USB ports where the original VGA & Serial connectors were in the casing, and added voltage regulation to provide the Pi with it’s required 5v.

Overview
Overview

Here’s the entire back of the panel, the Pi in the middle interfaces with a HDMI-VGA adaptor for the monitor, and the serial adaptor on the right for the touch. A small voltage regulator at the bottom of the unit is providing the 5v rail. There’s a switch at the bottom next to one of the USB ports to control power to the Pi itself. The panel won’t detect the resolution properly if they’re both powered on at the same time.

At 13.8v, the device pulls about 2A from the supply, which seems to be typical for a CCFL backlighted LCD.
Now the Raspberry Pi 2 has been released, it’s much more responsive for desktop applications, especially with a slight overclock.

Shameless Plug
Shameless Plug

A full disk image enabled for Desktop & 3M touch monitors is available below for others that have similar panels. This image only works for the Pi 2!

[download id=”5591″]

Posted on Leave a comment

DIY SMPS Cooling

The power supplies I have recently built from surplus Cisco switch boards have started displaying a rather irritating problem – continual load of over 9A causes the supplies to shut down on overheat.

This was partially expected, as the original switches that these supplies came from are cooled by a monster of a centrifugal blower that could give a Dyson a run for it’s money. The problem with these fans is that they’re very loud, draw a lot of power (3-4A) and aren’t small enough to fit into the case I’ve used for the project.

The solution of course, is a bigger fan – I’ve got some Delta AFB0612EHE server fans, these are very powerful axial units, shifting 60CFM at 11,000RPM, with a power draw of 1.12A.
They’re 60mm diameter, so only just fit into the back of the case – although they stick out of the back by 40mm.

Monster Fan
Monster Fan

Here’s the fan, not the beefiest I have, but the beefiest that will fit into the available space.
These will easily take fingers off if they get too close at full speed, so guards will definitely be required.

To reduce the noise (they sound like jet engines at full pelt), I have ordered some PWM controllers that have a temperature sensor onboard, so I can have the fan run at a speed proportional to the PSU temperature. I will probably attach the sensor to the output rectifier heatsink, since that’s got the highest thermal load for it’s size.

More to come when parts arrive!

73s for now 🙂

Posted on Leave a comment

Dell SE197FPf Monitor 12v Conversion

My other monitors are a different model, and have a slightly different main PCB inside, but the process is mostly the same for converting these to 12v supply.

Main PCB
Main PCB

In this monitor type, there is only a single board, with all the PSU & logic, instead of separate boards for each function.

PSU Closeup
PSU Closeup

This monitor is slightly different in it’s power supply layout. The mains supply provides only a single 12v rail, which is then stepped down by a switching converter to 5v, then by smaller linear regulators to 3.3v & 1.8v for the logic. This makes my life easier since I don’t have to worry about any power conversion at all.

PCB Reverse
PCB Reverse

Here’s the backside of the PCB, the mains PSU section is in the centre.

Attachment Points
Attachment Points

Here’s the pair of 12v supply wires soldered onto the main board, onto the common GND connection on the left, and the main +12v rail on the right. I’ve not bothered with colour coding the wiring here, just used whatever I had to hand that was heavy enough to cope with a couple amps.

12v Socket
12v Socket

A small mod later with a cone drill & the 12v input socket is mounted in the LCD frame.

Casing Mod
Casing Mod

Some light removal of plastic & the back cover fits back on. Current draw at 13.8v is ~2A.

Posted on 1 Comment

Dell E207WFPc Monitor 12v Conversion

I’m still on my crusade of removing every trace of 240v mains power from my shack, so next up are my computer monitors.

I have 4 Dell monitors, of various models, hooked up to my main PC.

The monitor here is a Dell E207WFPc 20″ widescreen model. There will be more when I manage to get the others apart to do the conversion. However I’m hoping that the PSU boards are mostly the same.

Panel Removed
Panel Removed

There are no screws holding these monitors together, the front bezel is simply clicked into place in the back casing, these clips are the only thing that holds the relatively heavy glass LCD panel & it’s supporting frame! The image above shows the panel removed. The large board on the left is the power supply & backlight inverter, the smaller one on the right is the interface board to convert the DVI or VGA to LVDS for the LCD panel itself.

PSU Board
PSU Board

Here’s a closeup of the PSU board, the connector at centre right at the top of the PCB is the main power output, and also has a couple of signals to control the backlight inverter section of the PSU, on the left side. The PSU requirements for this monitor are relatively simple, at 14.5v for the backlight & 5v for the logic board.

PSU
PSU

Here’s the top of the PSU board, very simple with the mains supply on the right side, and the backlight inverter transformers on the left.

Hooked In
Hooked In

Here I’ve hooked into the power rails on the supply, to attach my own 12v regulators. The green wire is +14.5v, and the purple is +5v. Black is common ground.

5v Regulator
5v Regulator

On doing some testing, the backlight inverter section doesn’t seem to mind voltages between 11.5-14.5v, so a separate regulator isn’t required there. Even running off batteries that’s within the range of both charging & discharging. The only regulator required is a 5v one to reduce the input voltage for the logic PCB.

First Test
First Test

On applying some 12v power to the regulator input, we have light! Current draw at 12.5v is 2.65A for a power consumption of 33W.

12v Input
12v Input

There’s plenty of room in the back casing to mount a 12v input socket, I have left the mains supply intact so it can be used on dual supply.

Final Wiring
Final Wiring

Here’s the 5v regulator mounted on the back of the casing, all wired up & ready to go.

Posted on Leave a comment

17mm µMonitor

I’ve had a couple of viewfinder CRT modules for a while, & haven’t done much with them, so I decided to make a very small B&W monitor.

CRT
CRT

I ordered a small transparent ABS box when I made a large order with Farnell, that turned out to be just about the perfect size for the project! The CRT & PCB barely fit into the space. The face of the CRT itself is about 17mm across.

Module Installed
Module Installed

Here’s the main PCB & tube fully installed into the case. Barely enough room for a regulator left over!
Power is provided by a simple LM7809 IC to take a standard 12v input.

Module Rear
Module Rear

Rear of the case, showing the fit of the control board.

Connections
Connections

Here’s the back of the monitor, with the DC input jack & a 3.5mm 4-pole jack for audio & video. This allows simple connection to many devices, including the one I’ll use the most – the Raspberry Pi.

Completed
Completed

Completed monitor. Audio is handled by a very small 20mm speaker, currently mounted just below the CRT face.
Current draw from a 13.8v supply is 117mA.

 

Posted on Leave a comment

Rigol DS1054Z DC Power Supply – Linear Post Regulation

Finally, here’s the last part of the Rigol 12v DC Power Supply project, the linear post regulation section to remove some of the ripple.

I have made a couple of layout adjustments since the last post about this part of the project – a little more filtering on the DC outputs. As usual the Eagle project files are at the bottom of the post for those who might find them useful.

Updated PCB
Updated PCB
Updated Schematic
Updated Schematic

 

Completed PCB
Completed PCB

Here’s the completed PCB, partially installed in the back of the scope. The missing regulator is the 5v one, since I already have a source of clean 5v from my original attempt at the supply, it’s not a problem not using a linear after the switcher. The filtering is the same on all channels, input from the switchers is on the right, outputs to the scope on the left.

PCB Bottom
PCB Bottom

Here’s the bottom of the PCB, with the common mode input chokes. The design of this board has allowed me to remove a couple of the switching modules as well, as I can use a single bipolar supply to run both sets of bipolar regulators on this board. This should help remove some of the noise also.

The ripple level has now dropped to lower than it was originally on the mains supply! Current draw at 13.8v DC is about 1.75A.

Scope Ripple
Scope Ripple

[download id=”5589″]

Posted on Leave a comment

Rigol DS1054Z 12v Power Supply Noise Filtering

Since I fitted my scope with a SMPS based 12v input supply, there has been a noise problem on very low volts/div settings, this noise isn’t present on the mains supply, so I can only think it’s coming from the switching frequencies of the various DC-DC modules I’ve used.

Scope Ripple
Scope Ripple

Because of this I’ve designed a linear post-regulation stage for the supply, to remove the RFI from the DC rails.
This board takes the outputs from the DC-DC converters, removes all the noise & outputs clean DC onto the mainboard of the scope.

As the scope internally uses regulation to get the voltages lower, I’ve found that I don’t have to match the outputs of the mains supply exactly, for the +/-17.5v rails, 12v is perfectly fine instead.

Scope Linear PSU
Scope Linear PSU

Here’s the PCB layout, with the 6  common mode filters on the input (left), linear regulator ICs in the centre & the output filters on the right.

Scope Linear PSU
Scope Linear PSU

Here’s the schematic layout, as usual the Eagle Project files are in the link below, I’ll update when I have built the board & tested!

[download id=”5589″]

73s for now 🙂

Posted on Leave a comment

Rigol DS1054Z 12v Power Supply Project – Completion

All of the parts I required to complete the supply arrived this morning. After several hours of building, here’s what I came up with:

12v Power Supply
12v Power Supply

I’ve mounted everything on a piece of FR4 PCB, with it’s copper plane grounded to the case. This backing board is the same size as the original PSU PCB to allow it to be screwed into the same location in the scope.

The power comes in via the converter on the right, which outputs a single 24v rail for the rest of the supplies. The other 6 supplies then generate the individual voltage rails that the scope requires. The use of a single input supply allows this system to operate at voltages up to 30v DC, so it’s good for both 12v & 24v systems.

Scope Ripple
Scope Ripple

At present the only issue is with some ripple on one of the supplies, this is showing up on the scope display with no input connected at the lowest volts/division. Parts are on order from Farnell to build some common mode filters to remove this from the DC output.

On a 13.8v supply, the scope draws about 1.5A total from the supply, giving a total power consumption of 20.7W. This is with all 4 channels enabled.

My wiring assignments & DC-DC converter ratings are in the table below

Connector PinPCB PinSignalMainboardDC-DC RatingWire Colour
110GNDGNDN/ABLACK
22+9v_GNDFAN --NABLACK
38+7.5V6.3V6AORANGE
414-7.5V-7.5V2AGREEN
51NOT USEDAC_TRIGN/ANOT USED
64+5V5V5A6ARED
76GNDGNDN/ABLACK
87GNDGNDN/ABLACK
912-17.5V-17.5V3APURPLE
109+7.5V6.3V6AORANGE
113+9VFAN +1AGREY
121117.5V17.5V3ABLUE
135+5V5V5A6ARED
1413GNDGNDN/ABLACK

Stay tuned for the final section of this build with the power supply filtering & main DC input connections!

73s for now 🙂

Posted on Leave a comment

Rigol 12v Power Supply Project Wiring Loom

As the crimp tool for the PSU connector in the Rigol scope is a very expensive piece of hardware, I decided to use pre-crimped terminals, from an ATX power connector. (They’re the same type).

Wiring Loom
Wiring Loom

Here’s the partially completed loom, with the 13 cores for the power rails. The 14th pin is left out as that is for AC triggering, and this won’t be usable on a low voltage supply.
A couple of the pins have two wires, this is for voltage sensing at the connector to compensate for any voltage drop across the cable. The regulators I am using have provision for this feature.

Sleeving
Sleeving

To keep the wiring tidy, I dug a piece of braided loom sleeving out of the parts bin, this will be finished off with the heatshrink once the pins are inserted into the connector shell.
The remaining parts for the loom have been ordered from Farnell & I expect delivery tomorrow.

More to come then!

73s for now 🙂

Posted on Leave a comment

15v Bipolar Supply Testing

Here’s some testing of the first bipolar supply for the Rigol scope. This is the +/-7.5v supply.

Bipolar Supply
Bipolar Supply

Above is the supply built with it’s output filtering. The modules used are a PTN78020W for the positive rail & a PTN78060A for the negative rail.

Under a 1A load across the total 15v output, here’s some scope traces of the ripple on the supply:

+7.5v Rail
+7.5v Rail

Here’s the ripple on the +7.5v rail of the supply, there’s about 75mV of total ripple.

-7.5v Rail
-7.5v Rail

And here’s the -7.5v rail, the ripple on this is slightly lower, at about 50mV. This should be more than satisfactory as the scope has onboard linear regulation after the switching supply.

Posted on Leave a comment

Rigol DS1054Z 12v Conversion Project Update

While searching around for regulators to convert my new scope to 12v power, I remembered I had some DC-DC modules from Texas Instruments that I’d got a while ago. Luckily a couple of these are inverting controllers, that will go down to -15v DC at 15W/3A capacity.

I’ve had to order a new module from TI to do the -17v rail, but in the meantime I’ve been getting the other regulators set up & ready to go.

The DC-DC module I’ve got for the -7.5v rail is the PTN78060A type, and the +7.5v & +5v rails will be provided by the PTN78020W 6A buck regulators.

These regulators are rated well above what the scope actually draws, so I shouldn’t have any issues with power.

DC-DC Modules
DC-DC Modules

Here’s the regulators for the 5v, 7.5v & -7.5v rails, with multiturn potentiometers attached for setting the voltage output accurately. I’ve also attached a couple of electrolytics on the output for some more filtering. I’ll add on some more LC filters on the output to keep the noise down to an absolute minimum. These are set up ready with the exact same output voltage as the existing mains AC switching supply, when the final regulator arrives from TI I will put everything together & get some proper rail readings.

There won’t be a proper PCB for this, as I don’t have the parts in Eagle CAD, and I simply don’t have the energy to draw them out from the datasheets.

More to come when parts arrive!

73s for now 🙂

Posted on Leave a comment

GY561 Frequency & Power Meter LiPo Conversion

From the factory, the GY561 meter uses alkaline AAA cells for power. As these are not rechargable, and I don’t carry any other devices that take such batteries, I figured I’d replace them with a single Lithium Polymer cell that I can charge via USB.

Battery Compartment
Battery Compartment

Here’s the battery compartment, with the original spring terminals removed.
I searched eBay for a suitable sized cell, and settled on a 1000mAh type, with dimensions of 47mm x 28mm x 7mm.

This size cell required a small amount of modification to the battery compartment to make it fit properly with the associated charge & protection circuitry.

Modified Compartment
Modified Compartment

Here’s the modifications made to the compartment, I’ve ground away the plastic to make the bottom flat, and the plastic tabs that retained the original spring terminals.

Modifications
Modifications

After grinding away the original battery spring holders with a dremel, the cell fits perfectly in the available space. The small PCB on the top of the cell is the USB charger & protection.

Charger
Charger

The charger is located in a slot cut in the bottom of the casing, so the USB port is accessible from outside the compartment.

Wiring
Wiring

Here’s the rest of the wiring completed, with the power wires going through holes in the bottom of the battery compartment to join onto the PCB where the original terminals were located. I have insulated the solder joints on the control PCB with some Kapton tape to prevent any shorts against the lithium cell.

Battery Cover
Battery Cover

A small cutout was also required in the battery cover to allow the USB connector to poke out. This was easy to do on the soft plastic with a Dremel tool.

Charging Port
Charging Port

With the battery cover installed, the USB port is nicely recessed into the edge.

Charging LED
Charging LED

The indicator LEDs on the charging & control board show nicely through the plastic, here’s the unit on charge. When the charge is complete, another LED lights as shown below.

Charging Complete
Charging Complete
Posted on Leave a comment

12v CFL Lamp Failure Analysis

On the boat I have installed custom LED lighting almost everywhere, but we still use CFL bulbs in a standing lamp since they have a wide light angle, and brightness for the size.

I bought a couple of 12v CFLs from China, and the first of these has been running for over a year pretty much constantly without issue. However, recently it stopped working altogether.

12v CFL
12v CFL

Here’s the lamp, exactly the same as the 240v mains versions, except for the design of the electronic ballast in the base. As can be seen here, the heat from the ballast has degraded the plastic of the base & it’s cracked. The tube itself is still perfectly fine, there are no dark spots around the ends caused by the electrodes sputtering over time.

Ballast
Ballast

Here’s the ballast inside the bottom of the lamp, a simple 2-transistor oscillator & transformer. The board has obviously got a bit warm, it’s very discoloured!

Failed Wiring
Failed Wiring

The failure mode in this case was cooked wiring to the screw base. The insulation is completely crispy!

Direct Supply
Direct Supply

On connection direct to a 12v supply, the lamp pops into life again! Current draw at 13.8v is 1.5A, giving a power consumption of 20.7W. Most of this energy is obviously being dissipated as heat in the ballast & the tube itself.

Ballast PCB
Ballast PCB

Here’s the ballast PCB removed from the case. It’s been getting very warm indeed, and the series capacitor on the left has actually cracked! It’s supposed to be 2.2nF, but it reads a bit high at 3nF. It’s a good thing there are no electrolytics in this unit, as they would have exploded long ago. There’s a choke on the DC input, probably to stop RFI, but it doesn’t have much effect.

Supply Waveform
Supply Waveform

Here’s the waveform coming from the supply, a pretty crusty sinewave at 71.4kHz. The voltage at the tube is much higher than I expected while running, at 428v.

RFI
RFI

Holding the scope probe a good 12″ away from the running bulb produces this trace, which is being emitted as RFI. There’s virtually no filtering or shielding in this bulb so this is inevitable.

Posted on 3 Comments

Evolis Dualys3 Card Printer Teardown

I recently dug out my other card printer to fit it with a 12v regulator, (it’s 24v at the moment), and figured I’d do a teardown post while I had the thing in bits.

This is a less industrial unit than my Zebra P330i, but unlike the Zebra, it has automatic duplexing, it doesn’t have Ethernet connectivity though.

Unlike domestic printers, which are built down to a price, these machines are very much built up to a spec, and feature some very high quality components.

Naked Printer
Naked Printer

Here’s the mechanism with the cowling removed. This is the main drive side of the printer, with the main drive stepper at left, ribbon take-up spool motor lower right, and the duplex module stepper motors at far right.

Main Motor Drive
Main Motor Drive

The main drive motor runs the various rollers in the card path through a pair of synchronous belts, shown here.

Main Stepper
Main Stepper

The stepper itself is a quality ball-bearing Sanyo Denki bipolar motor.

Main Stepper Driver
Main Stepper Driver

Electrical drive is provided to the stepper with a L6258EX DMOS universal motor driver. This chip can also drive DC motors as well as steppers.

Ribbon Supply Spool
Ribbon Supply Spool

Here is the encoder geared onto the ribbon supply spool. This is used to monitor the speed the ribbon is moving relative to the card.

Printer Top
Printer Top

Here’s a top view through the printer, the blue roller on the left cleans the card as it’s pulled from the feeder, the gold coloured spool to it’s right is the ribbon supply reel. The cooling fan on the right serves to stop the print head overheating during heavy use.

Spool Take Up Motor
Spool Take Up Motor

The spool take-up reel is powered by another very high quality motor, a Buhler DC gearmotor. These printers are very heavily over engineered!
This motor drives the spool through an O-Ring belt, before the gear above. This allows the drive to slip in the event the ribbon jams, preventing it from breaking.

Duplex Unit Stepper Drivers
Duplex Unit Stepper Drivers

The pair of steppers that operate the duplexing unit are driven by a separate board, with a pair of L6219DS bipolar stepper driver ICs. There are also a couple of opto-sensors on this board for the output hopper.

 

Main Control PCB
Main Control PCB

All the mechanisms of the printer are controlled from this main PCB, which handles all logic & power supply functions. Sections on the board are unpopulated, these would be for the Ethernet interface, smart card programming & magstripe programming.

Main CPU
Main CPU

The brains of the operation is this ColdFire MCF5208CVM166 32-bit microprocessor. It features 16KB of RAM, 8KB of cache, DMA controller, 3 UARTs, SPI, 10/100M Ethernet and low power management. This is a fairly powerful processor, running at 166MHz.
It’s paired with an external 128Mbit SDRAM from Samsung, and a Spansion 8Mbit boot sector flash, for firmware storage.

USB Interface & Power Input
USB Interface & Power Input

Here the USB interface IC is located. It’s a USBN9604 from Texas Instruments, this interfaces with the main CPU via serial.

Posted on 14 Comments

Wouxun KG-UV950P Band Unlocking

I have recently come across the software the Wouxun factory uses to set the band limits on the KG-UV950P.

While the software is in Chinese, it’s functional, and allows setting of all band limits on the radio.

Here’s an English version of the interface:

Limit Setup Menu
Limit Setup Menu

Note when using this software:

This possibly has the potential to damage the radio, if you transmit on a frequency it’s not designed for. Not to mention the legal issues with transmitting on frequencies that aren’t permitted! Use at your own risk!

Posted on 1 Comment

Cisco PSU Hack & Switched Mode PSU Background

Recently I decommissioned some networking equipment, and discovered the power supplies in some switches were single rail 12v types, with a rather high power rating. I figured these would be very good for powering my Ham radio gear.

They’re high quality Delta Electronics DPSN-150BP units, rated at a maximum power output of 156W.

Label
Label

These supplies have an adjustment pot for the output voltage regulation, but unfortunately it just didn’t have quite enough range to get from 12.0v to 13.8v. The highest they would go was ~13.04v.

After taking a look at the regulator circuit, I discovered  I could further adjust the output voltage by changing a single resistor to a slightly lower value.

Firstly though, a little background on how switched mode power supplies operate & regulate their output voltage.

SMPS
SMPS

Here’s the supply. It’s mostly heatsink, to cool the large power switching transistors.

The first thing a SMPS does, is to rectify the incoming mains AC with a bridge rectifier. This is then smoothed by a large electrolytic capacitor, to provide a main DC rail of +340v DC (when on a 240v AC supply).

Mains Input
Mains Input

Above is the mains input section of the PSU, with a large common-mode choke on the left, bridge rectifier in the centre, and the large filter capacitor on the right. These can store a lot of energy when disconnected from the mains, and while they should have a discharge resistor fitted to safely drain the stored energy, they aren’t to be relied on for safety!

Once the supply has it’s main high voltage DC rail, this is switched into the main transformer by a pair of very large transistors – these are hidden from view on the large silver heatsinks at the bottom of the image. These transistors are themselves driven with a control IC, in the case of this supply, it’s a UC3844B. This IC is hidden under the large heatsink, but is just visible in the below photo. (IC5).

Control IC
Control IC
Main Switching Transformer
Main Switching Transformer

Here’s the main switching transformer, these can be much smaller than a conventional transformer due to the high frequencies used. This supply operates at 500kHz.
After the main transformer, the output is rectified by a pair of Schottky diodes, which are attached to the smaller heatsink visible below the transformer, before being fed through a large toroidal inductor & the output filter capacitors.
All this filtering on both the input & the output is required to stop these supplies from radiating their operating frequency as RF – a lot of cheap Chinese switching supplies forego this filtering & as a result are extremely noisy.

After all this filtering the DC appears at the output as usable power.

Getting back to regulation, these supplies read the voltage with a resistor divider & feed it back to the mains side control IC, through an opto-isolator. (Below).

Feedback Loop
Feedback Loop

The opto isolators are the black devices at the front with 4 pins.

Regulator Adjustment
Regulator Adjustment

For a more in-depth look at the inner workings of SMPS units, there’s a good article over on Hardware Secrets.

My modification is simple. Replacing R306 (just below the white potentiometer in the photo), with a slightly smaller resistor value, of 2.2KΩ down from 2.37KΩ, allows the voltage to be pulled lower on the regulator. This fools the unit into applying more drive to the main transformer, and the output voltage rises.

It’s important to note that making too drastic a change to these supplies is likely to result in the output filter capacitors turning into grenades due to overvoltage. The very small change in value only allows the voltage to rise to 13.95v max on the adjuster. This is well within the rating of 16v on the output caps.

Now the voltage has been sucessfully modified, a new case is on the way to shield fingers from the mains. With the addition of a couple of panel meters & output terminals, these supplies will make great additions to my shack.

More to come on the final build soon!

Posted on 1 Comment

Simple Dishwasher Repair

Earlier today, one of my neighbours put their dishwasher out for the scrap man. After asking if I could appropriate it in the interest of recycling the Ham Way™, I was told it wasn’t draining. The engineer called out to fix it had claimed it was beyond economical repair.

A quick test showed that indeed the drain pump wasn’t operating correctly – very poor pumping capacity & a horrid grinding noise.

Drain Pump
Drain Pump

Here is the drain pump on the bottom of the machine. Strangely for a dishwasher, everything underneath is very clean & free from corrosion.

Pump Rotor
Pump Rotor

On removing the securing screw & unlatching the pump from it’s bayonet mount, the impeller instantly tried to make a break for freedom – it has come off the splines of the rotor shaft.

In the past I’ve tried to remove these rotors manually – and totally destroyed the pump in the process. They are usually so well secure that replacement is the only option. This particular one must have vibrated off the shaft somehow.

This repair was easy – removing the rotor from the main pump body & gently drifting the impeller back onto the splines.

Repaired Pump
Repaired Pump

Here the pump is reassembled & ready for reinstallation.

On test the pump sounds normal, & works as expected.

Engineer 1 : 0 Throwaway Society

 

Posted on 3 Comments

Arduino Based SWR/PWR Meter – The Board

I recently posted about a small analog SWR/Power meter I got from eBay, and figured it needed some improvement.

After some web searching I located a project by ON7EQ, an Arduino sketch to read SWR & RF power from any SWR bridge.
The Arduino code is on the original author’s page above, his copyright restrictions forbid me to reproduce it here.

I have also noticed a small glitch in the code when it is flashed to a blank arduino: The display will show scrambled characters as if it has crashed. However pushing the buttons a few times & rebooting the Arduino seems to fix this. I think it’s related to the EEPROM being blank on a new Arduino board.

I have run a board up in Eagle for testing, shown below is the layout:

SWR Meter SCH
SWR Meter SCH

The Schematic is the same as is given on ON7EQ’s site.
Update: ON7EQ has kindly let me know I’ve mixed up R6 & R7, so make sure they’re switched round when the board is built ;). Fitting the resistors the wrong way around may damage the µC with overvoltage.

SWR Meter PCB
SWR Meter PCB

Here’s the PCB layout. I’ve kept it as simple as possible with only a single link on the top side of the board.

PCB Top
PCB Top

Here’s the freshly completed PCB ready to rock. Arduino Pro mini sits in the center doing all the work.
The link over to A5 on the arduino can be seen here, this allows the code to detect the supply voltage, useful for battery operation.
On the right hand edge of the PCB are the pair of SMA connectors to interface with the SWR bridge. Some RF filtering is provided on the inputs.

PCB Bottom
PCB Bottom

Trackside view of the PCB. This was etched using my tweaked toner transfer method.

LCD Fitted
LCD Fitted

Here the board has it’s 16×2 LCD module.

Online
Online

Board powered & working. Here it’s set to the 70cm band. The pair of buttons on the bottom edge of the board change bands & operating modes.
As usual, the Eagle layout files are available below, along with the libraries I use.

[download id=”5585″]

[download id=”5573″]

More to come on this when some components arrive to interface this board with the SWR bridge in the eBay meter.