[SOLVED] Problems with triggering using a thyristor (first ever project)

Hi all, I'd like to start off by 'warning' you that this is my first ever Arduino project, and I really don't know if it would be classed as a complex starter or not. I've already spent hours googling and searching the forums, you're my last hope! :cold_sweat:

I'm currently studying Alevel product design, and making a low voltage desk lamp. The design brief (which I wrote) says that the lamp should be operated (turned on and off) via an old mobile phone. Due to limited space in the lamp, I decided I would be able to use an Arduino nano (without pins). The old mobile which I'm using generates a < 1v, possibly alternating current (no oscilloscope to check) when a text is received, such that I cannot properly trigger anything with a transistor or even a Darlington pair, not even make an led flash! However, I found that a thyristor happily switches at this current, bringing benefits such as no denounce circuit is required to get rid of the possible ac, but a (major?) hindrance that it has to be reset by stopping the voltage flowing through it.
Through a lot of reading and experimenting, I have been able to trigger a relay via the Arduino using the blink example. That's about as much as I seem to be able to handle... I simply need to incorporate the thyristor into the circuit, to toggle the light (operated through a relay). So the final idea is: Phone rings, thyristor switches, light on, wait 10s for signal at gate to stop, thyristor resets ....later.... phone rings, thyristor switches, light off, wait 10s for signal at gate to stop, thyristor resets.

I hope the attached diagram (hastily drawn on my ipad) helps clear things up, though I don't know where I should be attaching the anode and cathode of the thyristor so I left it free, would any of you know? Lastly, I truly have no clue on where to begin with the code (sketch, I believe?). I hope I didn't do too terribly on my first post, thanks for any help!

Ps. On the diagram, green is 3.7v, red is 5v and white/yellow is 12v

Cannot view diagram on my Android device, but no worries...

Turning "off" a switched on thyristor is simply a matter of shorting across the thyristor with a relay which causes the holding current inside the device to drop to zero.

So, use your Arduino to keep track of the On/Off state and control the relay. Relay On for 1 second to turn Off the lamp and then release the relay.

Ray

Hi Ray! Thanks for your reply, and sorry about the image, I'd got the wrong link - I think I've corrected it now!
I completely forgot about shorting the thyristor to 'turn it off'! This new diagram has your relay idea which, hopefully, should work fine. Though I'm still unsure where I should connect the anode and cathode, are all the digital pins high by default, therefore sinking a pin to ground (through a resistor?) would be all that it needed?


(The "voltage converters" are the inexpensive, variable buck converters)
Only big issue now is the actual programming :~

Luke

This is getting just a bit confused.

I think you have "lost the plot"! :smiley:

Let's get back to the original proposal - you want to control a 12V (AC) halogen desk lamp, is that right?

You want it to "toggle" on the vibrator output from a mobile phone which will ring for about ten seconds when called. Ring it once, the light goes on. Ring it again, the light goes off.

And you want to use an Arduino. OK, not bad, there are other ways of doing this, but we can work with that.

Two interfaces - Mobile phone to Arduino, Arduino to lamp.

And a power supply. Well, the lamp has a power supply built in, doesn't it? We could actually use that. It would take a bridge rectifier and a capacitor (2000 µF rated 25V and 105°C), fed with 12V AC it will develop about 18V which you can regulate for the phone and Arduino, but do not need to do so for a relay.

So, are we going to use a relay to actually control the lamp? (contacts rated 5A DC at least) If you can fit a relay, then that will work OK. Choose one rated at 12V and run it (directly) from the nominal 18V supply. When you have the project built, measure the actual voltage across the relay coil when activated, and can add a resistor in series if it seems excessive, though the relay is unlikely to care about the extra voltage.

This can be driven by a transistor as you diagram, and you need the "back" diode across the coil. The base resistor value is calculated at 30 times the resistance of the relay coil, presuming a transistor gain of 100 or so.

Now, the signal from the phone will be a voltage - approximately "DC" but with interference from the vibrator motor. It can connect to the Arduino input via a 22k resistor; it may be convenient to shunt the input with a 100 nF capacitor to reduce interference. When you get this assembled, you can figure out whether this signal is normally high and goes low to operate the motor, or normally low and goes high to activate. You can then work on the code to suit.

The hardware part comes first, and then we can look at coding for it, but it it pretty simple. Monitor the vibrator signal, when it become active, toggle the light (on if it was off, off if it was on). Keep monitoring the vibrator until it has clearly stopped for say, four seconds, then go back to monitoring to see when it starts again.

Paul__B:
This is getting just a bit confused.
I think you have "lost the plot"! :smiley:

Right you are! I have spent so long now simply going in circles, then going back to the beginning again! It's bound to have an effect!

Paul__B:
Let's get back to the original proposal - you want to control a 12V (AC) halogen desk lamp, is that right?

Yes, more or less - it is this unit from IKEA, Products - Discover Our Full Range Of Furniture And Homeware - IKEA , which is supplied with an AC-AC transformer. However, due to the restricted space inside my design, I would rather the neater option of everything being DC. Having tested the light unit on a 12v DC transformer, battery and the buck convertor, it seems happy enough with all of these even for long periods.

Paul__B:
You want it to "toggle" on the vibrator output from a mobile phone which will ring for about ten seconds when called. Ring it once, the light goes on. Ring it again, the light goes off. And you want to use an Arduino. OK, not bad, there are other ways of doing this, but we can work with that.

Yep, pretty much a simple toggle circuit. The problem lies with the "DC" motor... The phone is relatively modern, and uses what I'm sure is a piezo vibrator which would require an AC voltage, the DC voltmeter reads around 0v and is constantly changing - pretty consistent with a small AC current?
I realise that there are other ways of doing this, its just that all the ways that I tried spectacularly failed! I tried flip-flop circuits and IC's, asymmetrical (?) 555 circuits and a host of other component based ideas. But of course, I am open to any suggestions which I might have missed!

Thank you for taking time to help me out, Luke

Stanmore95:
Yes, more or less - it is this unit from IKEA, Products - Discover Our Full Range Of Furniture And Homeware - IKEA , which is supplied with an AC-AC transformer. However, due to the restricted space inside my design, I would rather the neater option of everything being DC. Having tested the light unit on a 12v DC transformer, battery and the buck converter, it seems happy enough with all of these even for long periods.

Ah, now, this is described as an "electronic transformer"; you need to figure out whether it is providing AC or DC as an output. If DC, you have the power supply already at the right voltage. If AC, you can rectify it using a bridge rectifier specified for high frequency (which most basic bridge rectifiers are not). A smaller capacitor - 100 µF rated as before, 25V and 105°C, and you have nice DC. And 12V 2A regulated power supplies are readily available anyway, rather than using a higher voltage and adding regulators.

I did not mention previously, that if the control transistor is the only thing you are running from the Arduino, its own regulator will work quite happily up to 18V anyway; you do not need to add another. It is a matter of how hot it gets depending on how much current it has to control.

Stanmore95:
Yep, pretty much a simple toggle circuit. The problem lies with the "DC" motor... The phone is relatively modern, and uses what I'm sure is a piezo vibrator which would require an AC voltage, the DC voltmeter reads around 0v and is constantly changing - pretty consistent with a small AC current?
I realise that there are other ways of doing this, its just that all the ways that I tried spectacularly failed! I tried flip-flop circuits and IC's, asymmetrical (?) 555 circuits and a host of other component based ideas. But of course, I am open to any suggestions which I might have missed!

A piezo driver is not suitable for a vibrator; they work at much higher frequencies. It may indeed use a "voice coil" vibrator, driven from AC. The obvious thing is to measure the voltage across it with the multimeter on the AC range.

If it is indeed, AC, this is easy - you use a "voltage doubler" circuit to develop a DC voltage, capacitors about 2 µF, common "1N914" diodes and a 22k resistor across the output to zero the voltage when it is not excited. The voltage is unlikely to exceed the Arduino supply voltage but if it threatened to do so, a 47k resistor in series will fix it.

If you are running it all from 12V DC, then you only need a (Logic level) power FET (rated 5 amps at least) to switch the 10W (1 amp) halogen lamp.

Apologies for the very late reply! I've had a lot of coursework deadlines and exams etc...
I did however have time to play around some more! I have finally managed to get the circuit to work as I needed it to, using transistors and relays.
Thanks for your suggestions, you were a great help!