Skip to main content

Constant Current Dummy Load - Complete


The project is finished. The units have been built and sent off for use. Much was learned. Here are some insights.
First, don't design a PCB for the lowest cost. That just increases your costs later. I made the the board narrower than was convenient to save $20 and I ended up wanting to put the entire thing a case so I could mount the banana adapters off the PCB where they could be farther apart. Not necessary but preferred for me.
Second, putting artwork in copper on your PCB not only works but looks great when you are finished. Take a look at the second photo below. That Freeside logo looks awesome!
Third, assembly of through hole components is NOT easier than surface mount parts. It was a bit of a pain to build them all. TH components don't stay in place when you flip it over to solder. 
Final PCB I used.
Artwork in copper.


Queued up for soldering.
Delivered and installed.

My lab's version with voltmeter and case.

It includes a cooling fan.


Eagle Files
Code uploaded to the ATTINY85. It includes the RotaryEncoder lib I posted earlier.
#include <RotaryEncoder.h>;
int del=0; 
word outputValue = 0;
byte data = 0;
int val = 0;

int csPin = 0;
int sckPin = 1;
int siPin = 2;
int ENC_A = 3;
int ENC_B = 4;
RotaryEncoder encoder(ENC_A,ENC_B,5,6,1000);
void setup()
{
  pinMode(csPin, OUTPUT);
  pinMode(sckPin, OUTPUT);
  pinMode(siPin, OUTPUT);
  setDAC(val);
}
void loop()
{
  int enc = encoder.readEncoder();
  if(enc != 0) {
    val = val + (enc);   
    val = min(val,4095);
    val = max(val,0);
    setDAC(val);
  }
  delayMicroseconds(5);
}
void setDAC(int value) {
    outputValue = value;
    digitalWrite(csPin, LOW);
    data = highByte(outputValue);
    data = 0b00001111 & data;
    data = 0b00110000 | data;
    shiftOut(siPin, sckPin, MSBFIRST, data);
    data = lowByte(outputValue);
    shiftOut(siPin, sckPin, MSBFIRST, data); 
    digitalWrite(csPin, HIGH);
    delay(del);
}
void sinewave()
{
  for (int a=0; a<=4095; a++)
  {
    setDAC(a);
  }
  delay(del+25);
  for (int a=4095; a>=0; --a)
  {
    setDAC(a);
  }
  delay(del+25);
}


Comments

  1. can your dummy load design use for supply 80V 10A??

    I try to make my dummy load using IRF540 with 0.1Ohm 40Watt ,, but IRF getting HOT and also LM324 N getting burn..

    ReplyDelete
  2. if the LM324 is getting hot the whole circuit is likely oscillating. It is very hard to get an opamp/mosfet running in linear mode to be stable.

    ReplyDelete

Post a Comment

Popular posts from this blog

A Capacitive-Touch Janko Keyboard: What I Did at the 2017 Georgia Tech Moog Hackathon

Last weekend (February 10-12, 2017) I made a Janko-layout capacitive-touch keyboard for the Moog Werkstatt at the Georgia Tech Moog Hackathon. The day after (Monday the 13th), I made this short video of the keyboard being played: "Capacitive Touch Janko Keyboard for Moog Werkstatt" (Text from the video doobly doo) This is a Janko-layout touch keyboard I made at the 2017 Moog Hackathon at Georgia Tech, February 10-12. I'm playing a few classic bass and melody lines from popular and classic tunes. I only have one octave (13 notes) connected so far. The capacitive touch sensors use MPR121 capacitive-touch chips, on breakout boards from Adafruit (Moog Hackathon sponsor Sparkfun makes a similar board for the same chip). The example code from Adafruit was modified to read four boards (using the Adafruit library and making four sensor objects and initializing each to one of the four I2C addresses is remarkably easy for anyone with moderate familiarity with C++), and ...

Atlanta Cosplay Meetup: Group Build Update #3

It's been a while since we posted a progress report for the Atlanta Cosplay Meetup's ongoing project, and with Dragon Con right around the corner, we're nearing the finish line. Let's take a look and see what's been going on the last few months! Check out our previous progress reports here: Progress update #1 Progress update #2 Read on to see where we're at now...

Build Out 12-5 Photo Recap

Freeside just finished our Build Out for the end of 2015 and we got a lot of work done. Let's see what all we accomplished.