Solar power supply for foxflasher2

The Fox flasher MkII is designed to run directly from a 1S LiPo battery at 3.8-4.3V. The battery can be charged by a simple voltage limited charger to 4.1V with a small loss in capacity. This article describes a simple solar charger for such a battery.

The regulator uses a TL431 precision programmable reference in a simple shunt regulator.

PV6V1W

Above, the 6V 1W PV array. Continue reading Solar power supply for foxflasher2

Arduino HMC5883 magnetometer – a tutorial

This tutorial shows how to explore an inexpensive HMC5883 3 axis magnetometer module with Arduino.

The magnetometer module can be purchased on eBay at very low cost (<$3), and is an ideal educational project for the budding Arduino practitioner.

It is an ideal low cost project for a first exploration of explore I2C, and the basis for a digital compass. This particular module breaks out DRDY which is useful for interrupt driven applications.

Fig 1
Fig 1

Fig 1 shows the test setup:

  • at the top is a Arduino Pro 328 with Opti bootloader and FTDI adapter for programming;
  • middle is the HMC5883L module; and
  • bottom is a Logic Shrimp for logic tracing.

Continue reading Arduino HMC5883 magnetometer – a tutorial

Arduino stepper motor – a tutorial

This tutorial shows how to explore an inexpensive stepper motor and driver board using an Arduino and included stepper library.

The stepper motor and driver board can be purchased on eBay at very low cost, and is an ideal educational project for the budding Arduino practitioner.

Fig01
Fig 1

Fig 1 shows the test setup:

  • at the top is a Arduino Pro 328 with Opti bootloader and FTDI adapter for programming;
  • middle is a Logic Shrimp for logic tracing;
  • bottom left is a 28BYJ-48 stepper motor; and
  • bottom right is a driver module based on UNL2003.

Continue reading Arduino stepper motor – a tutorial

Arduino thermistor thermometer – a tutorial

This project was designed ad-hoc as a learning exercise for a friend who ‘needed’ to acquaint himself with Arduino.

What better than a practical exercise that demonstrates some key advantages and disadvantages of the Arduino environment.

The project was a simple digital thermometer to display normal environment air temperature, say from -20° to 50° using common and inexpensive Arduino hardware with firmware developed on the free Arduino IDE, all using hardware that was on hand. Continue reading Arduino thermistor thermometer – a tutorial

I2C – LCD interface – Type 2

A range of inexpensive serial to Hitachi style LCD interfaces are becoming available.

This article describes the settings for one sold by eshoppingcity1 (and others) on eBay (about A$6 for 5 inc post at the time of writing but they are getting cheaper). It uses the Philips PCF8574T I2C expander chip which is supported by the user developed Arduino LCD Library V1.2.

Lc2I2c10 Continue reading I2C – LCD interface – Type 2

RC4 thermistor characterisation.

I have a little RC-4 temperature logger which has been a really handy device for ensuring that our freezers are cold enough, but no colder.

RC-4The RC4 has an internal sensor and is supplied with an external sensor that plugs into a 2.5mm TS jack on the side.

This article explores an alternative sensor that could be embedded in equipment of interest. The sensor is a NTC thermistor.

Firstly, I found that none of the 2.5mm TS plugs I had connected to the RC4 properly, but the T-R of a TRS plug worked reliably.

The display was observed with two 0.1% precision resistors and the thermistor characterised.

Screenshot - 07_07_2015 , 12_25_20

Above, it looks like nominally a 110k/B=4200 thermistor… which is a little unusual. 100k thermistors with B=3950 and 4200 are fairly easy to obtain though.

Clip 155

Above is a chart of the error in using the two commonly available thermistors. At low temperatures the 100k/4200 isn’t too bad, around 60° the 100k/3950 is better.

It is a simple matter in Excel to correct readings made with a different thermistor. Here is a VBA function to perform the conversion.

Function temp2temp(ft, ft0, fr0, fb, tt0, tr0, tb)
'function to correct temperature reading to a different thermistor
r = Exp((1 / (ft + 273.15) - 1 / (ft0 + 273.15)) * fb) * fr0
temp2temp = 1 / (1 / (tt0 + 273.15) + Log(r / tr0) / tb) - 273.15
End Function

You could squeeze all this into a cell formula if you wished to avoid using a VBA function.

Clip 134

Above is an example measurement run made with a 100k/3950 sensor (Indicated) and the corrected data in brown.