Posted on 9 Comments

Arduino Milliohm Meter Build

During the rebuild of the wheelchair motors for the support trolley, I found myself needing an accurate milliohm meter to test the armature windings with. Commercial instruments like these are expensive, but some Google searching found a milliohm meter project based around the Arduino from Circuit Cellar.

Circuit Diagram
Circuit Diagram

Here’s the original author’s circuit diagram, paralleling nearly all of the Arduino’s digital output pins together to source/sink the test current, an ADS1115 ADC to take more accurate readings, with the results displayed on a jellybean 128×64 OLED module. The most expensive part here is the 10Ω 0.1% 15ppm reference resistor, R9.
I decided to make some small adjustments to the power supply section of the project, to include a rechargeable lithium cell rather than a 9v PP3 battery. This required some small changes to the Arduino sketch, a DC-DC boost converter to supply 5v from the 3.7v of a lithium cell, a charger module for said cell, and with the battery voltage being within the input range of the analogue inputs, the voltage divider on A3 was removed. A new display icon was also added in to indicate when the battery is being charged, this uses another digital input pin for input voltage sensing.
I also made some basic changes to the way an unreadable resistance is displayed, showing “OL” instead of “—–“, and the meter sends the reading out over the I²C bus, for future expansion purposes. The address the data is directed to is set to 0x50.

I’ve not etched a PCB for this as I couldn’t be bothered with the messy etchant, so I built this on a matrix board instead.

Final Prototype
Final Prototype

Since I made some changes to both the software and the hardware components, I decided to prototype the changes on breadboard. The lithium cell is at the top of the image. with the charger module & DC-DC converter. The Arduino Nano is on the right, the ADC & reference resistor on the left, and the display at the bottom.
The Raspberry Pi & ESP8266 module are being used in this case to discharge the battery quicker to make sure the battery level calibration was correct, and to make sure the DC-DC converter would continue to function throughout the battery voltage range.

Matrix Board Passives
Matrix Board Passives

Here’s the final board with the passive components installed, along with the DC-DC converter. I used a Texas Instruments PTN04050 boost module for power as I had one spare.

Matrix Board Rear
Matrix Board Rear

The bottom of the board has most of the wire jumpers for the I²C bus, and power sensing.

Matrix Board Modules
Matrix Board Modules

Here’s both modules installed on the board. I used an Arduino Nano instead of the Arduino Pro Mini that the original used as these were the parts I had in stock. Routing the analogue pins is also easier on the Mini, as they’re brought out to pins in the DIP footprint, instead of requiring wire links to odd spots on the module. To secure the PCB into the case without having to drill any holes, I tapped the corner holes of the matrix board M2.5 & threaded cap head screws in. These are then spot glued to the bottom of the case to secure the finished board.

Lithium Charger
Lithium Charger

The lithium charger module is attached to the side of the enclosure, the third white wire is for input sensing – when the USB cable is plugged in a charge icon is shown on the OLED display.

Input Connections
Input Connections

The inputs on the side of the enclosure. I’ve used the same 6-pin round connector for the probes, power is applied to the Arduino when the probes are plugged in.

Module Installed
Module Installed

Everything installed in the enclosure – it’s a pretty tight fit especially with the lithium cell in place.

Meter Top Cover
Meter Top Cover

The top cover has the Measure button, and the OLED display panel, the latter secured to the case with M2.5 cap head screws.

Kelvin Clips
Kelvin Clips

Finally, the measurement loom, with Kelvin clips. These were an eBay buy, keeping things cheap. These clips seem to be fairly well built, even if the hinges are plastic. I doubt they’re actually gold-plated, more likely to be brass. I haven’t noticed any error introduced by these cheap clips so far.

The modified sketch is below:

 

Posted on Leave a comment

NCR Receipt Printer Script

Just a short script to directly print files to the NCR 7197 Series printers under Linux as there is no direct driver. Certainly not finished or pretty, but functional.

#/bin/sh
###Depends on fmt & iconv for file formatting for printer to operate correctly. Also expects UTF-8 encoded text files.

if [ "$1" == "--help" ];
    then
		echo "NCR 7197 file printing Script"
		echo "Usage:"
		echo "./ReceiptPrinter.sh <FILE> <SERIAL PORT NUMBER>"
		echo "To trim paper off, pass --cut parameter with port number instead of file name."
		echo "This script is currently set up for USB Connection of the printer"
		echo "Make sure your user has access to the serial port you intend to use,"
		echo "otherwise an error will occur"
		echo "This script uses fmt & iconv to format the provided text file for the printer."
		echo "This is 44 characters wide, word wrap enabled & format conversion to US English"

	else
		if [ "$1" == "--cut" ];
			then
				echo -e "\x1B\x07\x1D\x56\x41\x06" > /dev/ttyUSB$2
				echo "Scissor Operated"
				exit 0
	else
		if [ ! -z "$1" ];
			then
				cat $1 | fmt -w 44 | iconv -f UTF-8 -t ISO-8859-1//TRANSLIT > /dev/ttyUSB$2
				echo -e "\x1D\x56\x41\x06" > /dev/ttyUSB$2
				echo "Print Complete"
				exit 0
			else
			echo "No File provided!!! Returning to shell!"
			fi	
		fi
	fi
exit 0
Posted on Leave a comment

Amano PIX 3000x Timeclock

Front
Front

This is a late 90’s business timeclock, used for maintaining records of staff working times, by printing the time when used on a sheet of card.

Front Internal
Front Internal

Here is the top cover removed, which is normally locked in place to stop tampering. The unit is programmed with the 3 buttons & the row of DIP switches along the top edge.

Instructions
Instructions

Closeup of the settings panel, with all the various DIP switch options.

CPU & Display
CPU & Display

Cover plate removed from the top, showing the LCD & CPU board, the backup battery normally fits behind this. The CPU is a 4-bit microcontroller from NEC, with built in LCD driver.

PSU & Drivers
PSU & Drivers

Power Supply & prinhead drivers. This board is fitted with several NPN Darlington transistor arrays for driving the dox matrix printhead.

Printhead
Printhead

Printhead assembly itself. The print ribbon fits over the top of the head & over the pins at the bottom. The drive hammers & solenoids are housed in the circular top of the unit.

Printhead Bottom
Printhead Bottom

Bottom of the print head showing the row of impact pins used to create the printout.

2013-02-13 18.00.09Bottom of the solenoid assembly with the ribbon cable for power. There are 9 solenoids, to operate the 9 pins in the head.

Return Spring
Return Spring

Top layer of the printhead assembly, showing the leaf spring used to hold the hammers in the correct positions.

Hammers
Hammers

Hammer assembly. The fingers on the ends of the arms push on the pins to strike through the ribbon onto the card.

Solenoids
Solenoids

The ring of solenoids at the centre of the assembly. These are driven with 3A darlington power arrays on the PSU board.

Gearbox Internals
Gearbox Internals

There is only a single drive motor in the entire unit, that both clamps the card for printing & moves the printhead laterally across the card. Through a rack & pinion this also advances the ribbon with each print.

 

 

 

 

 

 

 

 

 

Posted on Leave a comment

Zebra P330i Card Printer

Front
Front

This is the teardown of a Zebra P330i plastic card printer, used for creating ID cards, membership cards, employee cards, etc. I got this as a faulty unit, which I will detail later on.
This printer supports printing on plastic cards from 1-30mils thick, using dye sublimation & thermal transfer type printing methods. Interfaces supplied are USB & Ethernet. The unit also has the capability to be fitted with a mag stripe encoder & a smart card encoder, for extra cost.

Print Engine
Print Engine

 

 

 

 

On the left here is the print engine open, the blue cartridge on the right is a cleaning unit, using an adhesive roller to remove any dirt from the incoming card stock.
This is extremely important on a dye sublimation based printing engine as any dirt on the cards will cause printing problems.

Cards In Feeder
Cards In Feeder

 

Here on the right is the card feeder unit, stocked with cards. This can take up to 100 cards from the factory.
The blue lever on the left is used to set the card thickness being used, to prevent misfeeds. There is a rubber gate in the intake port of the printer which is moved by this lever to stop any more than a single card from being fed into the print engine at any one time.

Card Feeder Belt
Card Feeder Belt

 

 

 

Here is the empty card feeder, showing the rubber conveyor belt. This unit was in fact the problem with the printer, the drive belt from the DC motor under this unit was stripped, preventing the cards from feeding into the printer.

Print Head
Print Head

 

 

 

Here is a closeup of the print head assembly. The brown/black stripe along the edge is the row of thin-film heating elements. This is a 300DPI head.

 

Print Station
Print Station

 

 

 

This is under the print head, the black roller on the left is the platen roller, which supports the card during printing. The spool in the center of the picture is the supply spool for the dye ribbon.
In the front of the black bar in the bottom center, is a two-colour sensor, used to locate the ribbon at the start of the Yellow panel to begin printing.

LCD PCB
LCD PCB

 

 

Inside the top cover is the indicator LCD, the back of which is pictured right.
This is a 16×1 character LCD from Hantronix. This unit has a parallel interface.

LCD
LCD

 

 

 

 

Front of the LCD, this is white characters on a blue background.

Roller Drive Belts
Roller Drive Belts

 

 

 

Here is the cover removed from the printer, showing the drive belts powering the drive rollers. There is an identical arrangement on the other side of the print engine running the other rollers at the input side of the engine.

Mains Filter
Mains Filter

 

 

 

Here the back panel has been removed from the entire print engine, complete with the mains input wiring & RFI filtering.
This unit has excellent build quality, just what is to be expected from a £1,200+ piece of industrial equipment.

Main Frame With Motors
Main Frame With Motors

 

 

The bottom of the print engine, with all the main wiring & PCB removed, showing the main drive motors. The left hand geared motor operates the head lift, the centre motor is a stepper, which operates the main transmission for the cards. The right motor drives the ribbon take up spindle through an O-Ring belt.

Feeder Drive Motor
Feeder Drive Motor

 

 

 

Card feeder drive motor, this connects to the belt assembly through a timing belt identical to the roller drive system.
All these DC geared motors are 18v DC, of varying torque ratings.

Power Supply
Power Supply

 

 

 

Here is the main power supply, a universal input switch-mode unit, outputting 24v DC at 3.3A.

PSU Label
PSU Label

 

 
PSU info. This is obviously an off the shelf unit, manufactured by Hitek. Model number FUEA240.

Print Engine Rear
Print Engine Rear

 

 

 

The PSU has been removed from the back of the print engine, here is shown the remaining mechanical systems of the printer.

Print Engine Components
Print Engine Components

 

 
A further closeup of the print engine mechanical bay, the main stepper motor is bottom centre, driving the brass flywheel through another timing belt drive. The O-Ring drive on the right is for the ribbon take up reel, with the final motor driving the plastic cam on the left to raise/lower the print head assembly.
The brass disc at the top is connected through a friction clutch to the ribbon supply reel, which provides tension to keep it taut. The slots in the disc are to sense the speed of the ribbon during printing, which allows the printer to tell if there is no ribbon present or if it has broken.

RFID PCB
RFID PCB

Here is a further closeup, showing the RFID PCB behind the main transmission. This allows the printer to identify the ribbon fitted as a colour or monochrome.
The antenna is under the brass interrupter disc on the left.

I/O Daughterboard
I/O Daughterboard

 

 

 

 

 

The I/O daughterboard connects to the main CPU board & interfaces all the motors & sensors in the printer.

Main PCB
Main PCB

Here is the main CPU board, which contains all the logic & processing power in the printer.

CPU
CPU

 

 

 
Main CPU. This is a Freescale Semiconductor part, model number MCF5206FT33A, a ColdFire based 32-bit CPU. Also the system ROM & RAM can be seen on the right hand side of this picture.

Ethernet Interface
Ethernet Interface

 

Bottom of the Ethernet interface card, this clearly has it’s own RAM, ROM & FPGA. This is due to this component being a full Parallel interface print server.

Ethernet Interface Top
Ethernet Interface Top

 

 

 

 
Top of the PCB, showing the main processor of the print server. This has a ferrite sheet glued to the top, for interference protection.

 

 

Posted on Leave a comment

Brother P-Touch 80 Label Maker

Touchpad
Touchpad

Here is a label maker, bought on offer at Maplin Electronics. Full Qwerty keyboard with 1 line dot matrix LCD display visible here. Power is 4 AAA cells or a 6v DC Adaptor.

Rear
Rear

Rear cover removed. Battery compartment is on the left hand side, space for the tape cartridge on the right. Ribbon cable leading to the thermal print head is on the far right, with rubber tape drive roller.

PCB
PCB

PCB under the top cover with the main CPU, a MN101C77CBM from Panasonic. This CPU features 48K Mask ROM & 3K of RAM. Max clock frequency is 20MHz. 32kHz clock crystal visible underneath a Rohm BA6220 Electronic speed controller IC.
This is used to drive the printer motor at a constant accurate speed, to feed the tape past the thermal head. Miniature potentiometer adjusts speed.
Ribbon cable at the bottom of the board connects to the print head, various wiring at the left connects to the battery & DC Jack.

Printer Drive
Printer Drive

Printer drive mechanism. Small DC motor drives the pinch roller though a gear train. DC Jack & reverse polarity protection diode is on the right.
This unit uses a centre negative DC jack, which is unusual.

Cartridge
Cartridge

Thermal tape cartridge, black text on white background.