Pic microcontroller stop working everytime when relay goes on - microcontroller

I m using pic16 to operate relay having inductive load of 20A(AC solenoid valve).
According to program When i switch on the microcontroler it will switch on relay but when solenoid switched on by relay connected to microcontroller will hang the microcontroler.
I m using 2A power supply for microcontroler and different 2A ppwer supply for relay.

The transistor needs to be below the relay.
When the transistor turns on, it connects the +12V through the relay through the transistor to GND.
Add a diode to catch the EMF voltage when the transistor turns the coil on and off.
There's a good circuit here.

Here is one useful tutorial:- https://electrosome.com/interfacing-relay-with-pic-microcontroller/
Also make sure you have common ground for your two different supply of 5 and 12v.

Related

how to connect ledstrip to arduino

On Adafruit there was an example on how to connect a ledstrip to an arduino, but it said "For longer strips requiring more than 1A, wire power directly to the strip, then run power and ground wires back to the Arduino." I didn't fully understand it so i made a sketch on circuits.io . Since there isn't a normal ledstrip in there i used a RGB to show my sketch, but i can't test it. So before i fry my arduino or ledstrip can someone explain if this is correct or if it needs to be changed? Also can i connect everything on a breadboard or not, since the higher voltage and amp.
https://i.gyazo.com/27e9a6527805b6e4e898a8f32f66de61.png
That would work.
I believe this is the same as this https://learn.adafruit.com/rgb-led-strips/usage
about the breadboard it really depends on the breadboard they can vary from cheap ones 0.5A to 2A is usually the maximum current rating for a good solderless breadboard
Here are what you need:
Your Arduino.
An external power supply. Get something like this for your external power suply.
You led strip.
Connect:
PWM pulse of Arduino -> Data IN of led strip
All GND togheters
5V output of external power supply-> VCC of led strip
Computer -> USB -> Arduino
External power supplies give you high current levels, perfect for many leds. Dont worry about your breadboard melting, it should be able to handle it.

Pin reading between arduinos

I'm working a little project where I make my own version of serial communication between 2 arduino megas using their digital I/O pins.
So there are a couple digital pins on arduino A that are set as output. These are plugged into two digital pins in arduino B which are set as input. Is there a way for arduino B to detect whether the output pins coming from arduino A are high or low?
I know this can be done with transistors, but is there a way to do it without them?
The digital pins from one Arduino can be connected directly to the digital pins on the other - no need for any transistors in between. Make sure there is a common ground between them so both boards are at the same reference level (connect the GND pins, or power both from the same supply).
You can read the digital pins on the receiving end by calling digitalRead(), and write to the digital pins on the sending end by calling digitalWrite(). Whatever protocol you implement will need to detect the high/low transitions and decode them accordingly.
I guess I'm curious why you wouldn't just use the built-in serial ports to communicate, unless this is just a learning exercise? Certainly worthwhile for learning, but unnecessary extra work otherwise...

How to control one relay with two arduino boards?

So, I got two boards, which both need turn up the light, how should I connect them? I can't use only one board.
If either board can turn the relay on, you can "OR" the two output pins with diodes into the relay. This would also mean that one Arduino cannot turn the relay OFF if the other one is still ON.
Of course, you should use something to drive the relay -- don't hook it directly to the Arduino:
And don't forget the reversed diode across the relay coil. It will supress the spike when you turn the relay off. You don't say what relay you're using, but I am assuming it's mechanical, not an SSR (solid state relay). You wouldn't need that diode if it's an SSR.
If you need either one to turn it ON or OFF (either Arduino can toggle the light), you will have to connect the relay to just Arduino 1. Then connect the Arduino 2 to Arduino 1 with a different pin. Then Arduino 2 can signal Arduino 1 to toggle the relay. Arduino 1 can toggle the relay without telling Arduino 2 anything.

4 Relay Shield rebooting Arduino

I am using a four relay shield to power solenoids, however every time a solenoid is used the Arduino reboots immediately.
We have done this for two different projects with the same type of shield and both cause the same problem.
I am having some trouble figuring out what is causing the system reboot. Any ideas?
The shield is the Catalex relay Shield.
It sounds like driving a relay coil is causing the voltage to drop. After the voltage recovers, the Arduino reboots like it was just turned on.
What happens when you disconnect the solenoids? Does the same behavior happen? These are relays, so the circuit on the relay side should be isolated.
Are you powering the Arduino from a power supply, or the USB port?
Oddly, if you look up the data sheet for the HLS8L-DC5V-S-C:
http://www.dipmicro.com/?datasheet=HLS8L.pdf
it says a 5V relay (L type) should have a coil resistance of 70 Ohms , for 0.35 W, so you should need 70 mA to drive it; I think there is a small transistor that drives that from the pins, but you still need the 70 mA from somewhere to close each relay.
Which version of the board do you have?
http://seeedstudio.com/wiki/Relay_Shield
My search on the Catalex Relay Shield pointed to the Seeedstudio version, but it could be that your board needs to be externally powered.

Relay Module and Arduino

I am using a 1 channel relay module for arduino uno r3 like this(the picture shows 2 relay module but i only use one relay for one bulb), http://www.geeetech.com/wiki/index.php/2-Channel_Relay_module.
The bulb is 220V.I connected my arduino pins, D13,Ground,and VCC to relay module's pin; Input,Ground,and 5v.I also cut my bulb's wire to connect it on my relay's pin: NC,NO,COM.One cut end of the bulb was attached to the COM and The other is to NO.The other wire of the bulb leaved uncut.The source of the bulb is Direct current.
I uploaded the Blinking codes in arduino uno r3.
After uploading the code, Relay module followed the arduino's code which is blinking.The thing was, The bulb wont follow.I also tried dis arranging some wires but nothing happens.
I read some of the articles that would possibly solve my problems.I found out that they are using SSR.Is this really needed?and what could I do to make the bulb follow the arduino's codes.
I need Help. Please..help me
If your relay is being energized then that side of the wiring is good, it's something on the other side that is wrong.
The output of a relay does not provide power, it is just a switch. You need to create a circuit that goes from power, through the relay, through your lamp, and back to power. If you connect to COM & NO then the lamp lights when the relay is energized; if you connect instead to COM and NC then the lamp lights when the relay is not energized.
The diagram on that relay site is a little misleading. For your purpose, try running the light bulb from the +5V pin on the Arduino, to the NO relay contact terminal on the relay board, and then grounding the COM relay contact terminal. This should work assuming:
1.) Your wiring TO the relay board is correct AND sufficient enough to operate the relay, specifically, you can hear it "click" every time the Pin 13 goes LOW/HIGH from the Blink sketch.
2.) The 220V rated bulb can actually operate at 5V.
If the bulb needs more than 5V, simply replace the wire going from the bulb to the +5V pin, with a higher voltage battery (make sure you attach the negative terminal of that battery to one of the Arduino Gnd pins).
The wiring diagram contains a lot more information than you need.
The relay module has a TTL interface - VCC, GND and one signal per relay to switch it on/off. These you should connect to the coresponding pins on your arduino(as you probably did).
Each of the relays have three screw terminals
When you switch the relay ON, two of those terminals will be connected through the relay NO-COM
When you switch it off, the relay will disconnect the other pair and connect COM-NC
The relay works as a switch, the lightbulb will be connected to the power as normal, but one of its wires(NOT the ground for safety reasons!) will be interrupted and the ends connected to the relay terminals.
BTW:
Both the relay and lightbulb are limited in how fast they react to switching, the relay takes time to switch(cca 3 - 20 ms) and the lightbulb has a large thermal inertia. If you are trying to blink really fast(more than lets say twice per second, you might have problem with that.
SSR are useful mainly for fast switching(normal relays have a limited speed) and should have longer lifetime, you can use it(it usualy has a 5V control input), but it seems pointless for a lightbulb.
220V light bulb will not operate on 5V
Could you explain
The source of the bulb is Direct current.
Power plug 220V is actualy AC.
What is actualy happening? Is the lightbulb ON or OFF permanently? Is it blinking in some wrong way?

Resources