Archive for the ‘AC Circuits’ Category

Schematic for AC4X Board

Saturday, January 30th, 2010

I finally had a chance to draw up a quick schematic of the AC4X board. This is just the external hookup schematic for interfacing it to a microcontroller such as the Arduino.

Ir Ranging added to control delays

Saturday, January 23rd, 2010

I added a couple more lights so you could see the effect better. I still have one output that isn’t being used yet. Also I added a couple of ways to vary the delays in the chase sequence. The first was a Potentiometer, the second was a Sharp Infrared Ranger. I am using the value from the ranger to determine the amount of delay in the chase sequence. You could also take the range value and break it down into windows and turn on individual outputs based on how close you are to the ranger. Here is a video of the Ir setup controling the delay.
Infrared Ranging ACLoads 12 Meg download.
Here are a couple more pictures:

Sharp GP2D12 Ir Ranger

I think I have about 500 of these assemblies that have the 4 output board and an intel 87C51 Processor.

I am not sure how many of the 8 output boards I have but it is in the hundreds as well.

Another note, It is possible to control 220v devices with these boards as well. The 4 outputs are paired so that you can provide a seperate line voltage to each pair. Here is the PDF file for the Triac’s that are used on the board. datasheet

Arduino Duemilanove AC Load Shield

Sunday, January 17th, 2010

I have had a ton of these Intel 87C51 boards with 4 and 8 optically isolated triac output daughter boards attached to them. They are new surplus items I picked up several years ago. I recently purchased an Arduino Duemilanove and decided it was time to find some use for these. All it took was a couple of harnesses salvaged from an old AT computer case, a 60 watt lamp & socket and I was up and running. The 5v and Gnd are supplied from the spk out plug that all pc cases have. The AC side connector is the same as the AT style PC power supply connection. The I/O pins can be plugged directly into the bottom of  the board so this makes a great shield. This would be great for using to drive light shows or drag strip lighting systems. The TRIACs on this board can handle 70 amps peak and 8 amps RMS! One word of caution if you are not familiar with AC circuits and qualified please do not mess with it. Not only does it hurt like heck if you get into it, IT CAN KILL!  For example all of those unused wires on that AT power supply connector that I don’t have anything hooked to are hot. Anyway here is a short video. 

AC4XShield 10 Meg MOV

Pictures:

Top view connected

Top view

Low Voltage Supply Header

AC Header

Bottom I/O Header

Mounted as a shield (needs some standoffs)

4 I/O pins used

Here is the code to run a shadow chase sequence with all 4 outputs.

/*
  BlinkACLoads
 
 Runs through a shadow chase for 4 AC Loads connected to a AC4X interface board.
 
 The circuit:
 * AC4X board connected to pins 9-12.
 
 * Warning! Dealing with AC current can be dangerous, serious injury or death could result from
 unsafe handling.
 
 Created 17 Jan 2010
 By Mark Borden
  
 */

int ACPin12 =  12;    // AC load connected to pin 12
int ACPin11 =  11;    // AC Load connected to pin 11
int ACPin10 =  10;    // AC Load connected to Pin 10
int ACPin9 =  9;    // AC Load connected to Pin 9

void setup()   {               
  // initialize the digital pins as an outputs:
  pinMode(ACPin12, OUTPUT);
  pinMode(ACPin11, OUTPUT);
  pinMode(ACPin10, OUTPUT);
  pinMode(ACPin9, OUTPUT); 
}
void loop()                    
{
  digitalWrite(ACPin12, HIGH);   // set the Pin 12 on
  delay(500);                  // wait for a second
  digitalWrite(ACPin12, LOW);    // set the Pin 12 off
  delay(500);                  // wait for a second
  digitalWrite(ACPin11, HIGH);   // set the Pin 11 on
  delay(500);                  // wait for a second
  digitalWrite(ACPin11, LOW);    // set the Pin 11 off
  delay(500);                  // wait for a second
  digitalWrite(ACPin10, HIGH);   // set the Pin 10 on
  delay(500);                  // wait for a second
  digitalWrite(ACPin10, LOW);    // set the Pin 10 off
  delay(500);                  // wait for a second 
  digitalWrite(ACPin9, HIGH);   // set the Pin 9 on
  delay(500);                  // wait for a second
  digitalWrite(ACPin9, LOW);    // set the Pin 9 off
  delay(500);                  // wait for a second
}