Bizarre phenomenon happening! Trying to use camera flash w/ Optocouplers & SCR

I have seriously wasted about 20-30 hours trying to hook up this vivitar 283 camera flash to be triggered by arduino, and am completely at a loss, and have been experiencing bizarre phenomenon that completely defy's everything I have ever learned about electronics.

Now to begin the vivitar 283 flash is measuring about 120 volts across its leads, so I know I have to isolate the voltage. First I had tried with a CNY17-3 opto-isolator, which worked just fine with a different camera flash (cheap neeweer), but would not work with this vivitar. So someone told me I could use an SCR to trigger the flash (and recommended a MAC97A8 600V triac). The idea is the arduino would trip the optocoupler, which would complete a circuit with a seperate battery triggering the SCR. Sounds simple, yet for some reason it wouldn't work. I've tried testing all the parts seperate, replacing them (i have 5 optocouplers and 5 scr's), and right now I have the arduino completely out of the equasion, just trying to use batteries to trigger the flash through the optocoupler/scr, and that's when I began experiencing all sorts of absolutely bizarre phenomenon. For example, these 4 things.

  1. Whenever I connect the camera flash leads to the SCR, the flash fires, even though I have nothing at all hooked up to the gate. It should not be letting any current through at all without a gate current right?
  2. Same thing with the optocoupler. For some reason as soon as I hook the camera leads to an optocoupler (or multiple optocouplers hooked up in parrallel), the flash fires, even though there is no current going through the led portion of the optocoupler, there should not be any current passing through the other side, yet it does. I've tested these optocouplers over and over again, I know how to use them, but for some reason this flash defies all the rules.
  3. This is the most bizarre of all. I had the flash hooked up to the main pins of the SCR, with the positive of the flash on pin 3 of the scr, and the negative of the flash on pin 1 of the scr. For some reason, if I took a simple scrap of wire, and touched it to pin 2 of the scr, the flash would fire. It was happening consistently. I must stress, the other end of the wire was not touching anything at all, just in the air. Not even touching me since I was holding the insulated part of the wire. It makes no sence at all, nothing at all should happen simply touching one end of a wire to something, if the other wire is not touching anything. Theres no circuit at all, it defies all electrical logic I know, yet for some bizarre reason it was causing the flash to fire. Even if I would just touch that wire to the same slot of the breadboard the middle pin was in, it was still making it fire, how can that be?

Can anyone explain why these things are happening, and help me get this camera flash safely hooked to, and triggered by arduino? I'm seriously not exaggerating when I say I've wasted 20-30 hours trying to do this seemingly simple task over the course of the past couple weeks. I've hooked up and triggered a modern flash with lower voltage across the terminals just fine, and without seeing any strange phenomenon, yet I just can't find a way to make this higher voltage one trigger, and can't figure out why its causing all these bizarre things to happen that make no sence.

Thanks.

I do feel your frustration...

I am aware that OLDER Vivitars commonly had well more than 10V at the hotshoe which made these not-so-trivial to "slave".

Sadly, even though you have explained in paragraphs of pertinent information... I'm finding what you have done still to be a little vague.

It seems to me that you had some "antenna" style firings of the flash while the circuit should have been behaving... but it is still unclear exactly how you had wired things up. A drawing would really help since how you are applying your ideas to the trigger flash needs to be clear for us to be helpful.

So, some pictures or drawings of what you have done would be beneficial at this point, I think.

OK, I made an image to demonstrate. This is only a couple of the many things I tried the past 20-30 hours. And only a couple of the bizarre phenomenon I've been experiencing.

I'm willing to change components if necessary, although all my research indicated these should work. Can anyone explain why that bizarre phenomenon is happening, or explain a way to make this work (either with the components I have or different ones)?

Thanks.

try putting a couple Kohm resistor from the gate to ground.

^^^ wot he sed ^^^

So I was putting everything back together getting ready to put that 2k resistor in place as was suggested (I'm curious what the purpose of that is), and before I got a chance to, it seemed to end up functioning pretty close to the way it should, I even had arduino triggering it. Not sure why its different, perhaps I have a couple bad scr's or optocouplers in the batch and grabbed a different one, the circuit is the same as what I had quadrouple checked before.

There still is some weird stuff going on though, is anyone able to explain? For some reason, as I'm plugging wires in, almost every single wire I plug in causes the flash to go off. Even when it should not such as when there is no current at all to the gate of the scr (or nothing even attached to the gate), it always fires, even though no current should be able to pass through the scr with no gate current. Then once that's hooked up, when I'm hooking up the wires to the optocoupler the flash starts going off, even though there is no current at all to the gates of the optocoupler, there should be no reason any electricity should flow through it and trigger the scr, but for some reason it does. There should be no current passing, but somehow there is. So the flash fired about 6 times while hooking up the wires. Although once they were all hooked up, the arduino input did seem to be correctly triggering it. Why is that happening?

thats becuase you are thinking that the scr is being triggered by current rather than voltage. you can transmit an electrical charge without having to complete a circuit with wires (think radio waves etc.). basically, the scr gate has a very high impedance. this means that its very easy to induce a charge onto this wire and raise its voltage. with a floating wire attached, it acts like an antenna. any stray em can induce a voltage and bam. scr turns on. when you touch it with your hands, static electricity. bam. scr turns on. when you look at it funny, bam, scr turns on. the pulldown resistor makes sure that no charge is induced without a small amount of current flowing (which should only happen when you purposely induce a charge), and when that current stops the gate is discharged through ground. this is more or less whats happening.

See? there is sometimes a reason for all those extra parts you see on commercial circuit boards...

Thank you for that explanation, apparently there are a lot of things related to electrical theory that I don't know. I had no idea the gate could just pick up enough voltage right out of the air to trigger it. I always thought voltage and current went hand in hand, that voltage was the speed that current travels at. I had no idea that voltage could exist with no current.

I'm still trying to wrap my head around this. I had always thought it was kind of like this analogy comparing to an automobile. Where the size of the vehicle is the current, and the speed it travels is the voltage. So like you could have a semi truck traveling slow, would be high current low voltage. Or a ferrari traveling fast, would be low current at high voltage. Or any combination of such. However if no vehicle were to exist (no current), than how can there be a measurement of how fast something that doesn't exist is moving?

And just to confirm, the pulldown resistor should be about 2k, and go from the gate of the SCR to the negative terminal of the battery that triggers the SCR?

Thanks.

Voltage is altitude where current is water, flowing. Voltage exists without requiring current just as different altitudes exist without having to flow water to show which place is higher than the other places.

I had no idea that voltage could exist with no current.

Have you ever come across static electricity. Rub a balloon on some wool and it will "stick" to a surface held on by static electricity. Or try this, get a nylon comb and brush it through your hair a few times. Then hold it close to a very fine run of water from a tap. As you bring the comb closer you deflect the water stream.
Voltage is the push but you don't need to be pushing anything.
While this link talks about arduino inputs it applies to any electronic device:-
http://www.thebox.myzen.co.uk/Tutorial/Inputs.html

The reason why flashes can discharge large amount of energy is because they have large capacitors.

The triggering of the flash is through his capacitor, not the power source.

If you induce grounding on the circuit, you are completing the circuit and you'll trigger the flash.

Note the correct way to trigger a flash on the graphic.

That's where the trigger goes. Not the battery.

SCR/Triacs are in fact current triggered devices, and in general take relatively substantial currents (~1mA, according to the datasheet) to fire. The current needed to trigger the flash is also somewhat substantial; I can't see leakage from the trigger cap firing the circuit, either. I can't explain your random triggering at all...

Your firing circuit using an NPN-based opto-coupler to fire the triac is far from ideal, since you want a "positive" pulse to fire the triac and NPN transistors tend to be "low-side" drivers. Also, the voltage rating of the coupler is low compared to those present in the circuit (though I can't immediately tell whether it's subjected to such voltages.) My advice would be to throw away your current optocoupler and get a proper "random phase triac driver" like a MOC3051.

Have you measured the actual voltage of the trigger circuit? Old-style strobes put essentially the full flash-tube voltage across what were expected to be mechanical contacts, and higher-powered strobes like the 283 might have used voltages getting awfully close to the 600V rating of your triac...

@Staedtler: he can't trigger the flash there directly because the voltages involved would fry the Arudino. But that IS where the SCR/Triac is place by putting it across the existing trigger contacts. Although a Vivitar 283 is considerably more complex than that particular circuit.

Have you seen the wonderful http://repairfaq.cis.upenn.edu/sam/strbfaq.htm ?
Also orly going thirty: Vivitar 283 Flash Hacking (again)

westf,
I wasn't suggesting to connect a +600v Cap directly to the Arduino.
I just pointed out where is the trigger related to his configuration.

Also, there is no bizarre phenomenon. Your body has an active capacitance and some times is enough to do things like that... acting as the cheaper trigger in the world.

That's the reason why he is triggering the flash with his own capacitance, and that's exactly the clue for his circuit, with a small cap triggering the flash through a Triac, just like westf's link suggested. But I wouldn't over complicate the circuit. All you need is to add that cap to the equation.

The flash was measuring around 120 volts when I put the multimeter across the leads. The batteries are a bit low at the moment, not sure if that makes a difference, I could have sworn I thought I had measured it at 150v before.

I am willing to change out to some better components, such as the MOC3051 as suggested earlier. Or any others that would work well. It would be nice if I could simply find a single optocoupler that is able to work, rather than this setup I have now linking an optocoupler and scr.

I just tested this thing out for the first time and am definetly having an issue with too much delay. I popped some balloons, and also did some other high speed movements, but the photo was going off late. I'm guessing by possibly as much as 1/30th or 1/15th of a second, (roughly 33-66 milliseconds), which is a very long time for high speed photography. I had the sound go off only about 3 inches from the microphone to minimize any sound travel.

I had done many hours of reading about high speed photography and arduino before doing this, and I had heard before of people having to actually use the delay function of arduino to delay for like 10-20 milliseconds because the photos would actully snap way too instantly. So I have no idea why I would be experiencing such delay. I was under the impression that optocouplers and scr's work in microseconds or even faster, and that flashes are pretty instant, and my arduino code is pretty basic. So not sure where this delay is coming from.

Does anyone know what is most likely causing such a large delay as described above?

Most likely source of unexpected delay would be use of "Serial.print()"
Post your code...

This is my code, I have a potentiometer to control the threshold, and I have a 2 way switch (which controls the switch case statement). When I have the switch in one direction it lights an LED so I can test out the threshold and get things just right, when I'm satisfied with the threshold, I switch the switch the other way to activate the flash.

int threshold;
int current;
int setting;
int potpin = 0;
int flashpin = 13;
int mic = 5;
int switch1 = 3;
int testpin = 12;

void setup() {
  // put your setup code here, to run once:

}

void loop()
{
  threshold = analogRead(potpin);
  threshold = map(threshold, 0, 1023, 0, 2000);
  current = analogRead(mic);
  setting = digitalRead(switch1);
    switch (setting) {
    case LOW:
        threshold = analogRead(potpin);
        threshold = map(threshold, 0, 1023, 0, 2000);
        current = analogRead(mic);
        if (current > threshold) {digitalWrite(testpin, HIGH);
        delay(100);}
          else digitalWrite(testpin, LOW);
      break;
    case HIGH:
        threshold = analogRead(potpin);
        threshold = map(threshold, 0, 1023, 0, 2000);
        current = analogRead(mic);
        if (current > threshold) {digitalWrite(flashpin, HIGH);
        delay(100);
        digitalWrite(flashpin, LOW);}
         
      break;
    
  }


  }

Hmm. I don't see any unintentional delays in there, but I think you should add code to setup() to make the pins you do digitalWrite() on be outputs... This might explain some of the weird triggering you were seeing, since you'd have some of your pins essentially floating...