DIY DC Electronic Load Part - 2


The heart of my diy programmable electronic load uses a PIC24FJ128GB210 16-Bit Flash Microcontroller, the reason I used the Microchip
platform came down to "junk box availability" ease of use, coupled with the fact that generally the Microchip PIC's is fairly easy to use/program
and carries an arsenal of MCU peripherals,I had a junk box with x2 unused sample chips, below is a brief summary of the chip core features.




PIC24FJ128GB210 Attractive Specification Summary

  • 128K Program Memory 
  • Up to 16 MIPS Operation at 32 MHz
  • 96k SRAM (Bytes)
  • 44 Remappable Pins
  • High-Current Sink/Source (18 mA/18 mA) on all I/O Ports
  • 5.5V Tolerant Input (digital pins only)
  • x5 16-Bit Timers
  • x3 SPI
  • x3 I2C
  • x24 10-Bit A/D (ch)
  • x3 Comparators
  • 9/9 IC/OC PWM
  • UART w/IrDA®
  • RTCC
  • CTMU

The main purpose of the microcontroller is to execute the DC load firmware which manages internal and 
external events, I/O Reads, User Button Inputs, LCD Display Logic, DAC Voltage Drive, ADC Data Acquisition Control and PC Software Communication.
Most of time "something" will be under the control of the microcontroller. The purpose is article is not to go into the inner workings of the microcontroller.

For futher comprehensive details on the PIC24FJ128GB210 family visit Microchip for more details.


AD7708 ADC Data Acquisition Chip 

The important aspect of any digitally controlled programmable electronic load is the analog-to-digital converter (ADC) stage, its purpose is to measure
external analog voltages, digitise it, and send coded measurements to the microcontroller for real-time calculation and processing. Most microcontroller's today
already have built in ADC capabilities for generic applications however..., they are very limited for specialized applications where measurement requirements are specific and tight. 

Bellow is a summary of the Voltage and Current specifications   

Max/Min Voltage 
Volts (Min) 0.001V / 1mV
Volts (Max) 30V


Max/Min Amps 
Amps (Min) 0.001A / 1mA
Amps (Max) 10A


I used an AD7708  ( and like the MCU ) I already had a few of these chips, they are exclusive ADC chips with simple configuration registers 
and offers good performance for low frequency applications.  

  • Sigma Delta Architecture
  • 8-/10-Channel, High Resolution
  • AD7708 16-Bit Resolution
  • Factory-Calibrated
  • Programmable Gain Front End
  • Simultaneous 50 Hz and 60 Hz Rejection
  • Factory-Calibrated
  • Allows Absolute and Ratiometric
  • SPI TM, QSPI TM, MICROWIRE TM, and DSP-Compatible Schmitt Trigger on SCLK

AD7708 Datasheet
Data Converter Design Techniques

Calculate ADC LSB

Voltage and Current Sense measurement use a 16-bit the least significant bit calculation for the lowest voltage point

LSB = 2.5 / (2 ^ 16-1)
LSB = 0.0000381V, 38.14uV

The lowest voltage the ADC is capable of reading is 38uV which is many times smaller than the lowest intended voltage for the dc load at 1.0mV  

Below is a table from the datasheet tabulates ADC performance figures as you can see with a reference of +/-2.56V 16-bits is guaranteed.

Below is the typical recommend ADC schematic nothing of serious intrest, perpahps the only item of intrest is the AD780 part that functions as a
external high precision reference, offers Ultrahigh Precision, Low Initial Error and Low Output Noise.



Completed Prototype