Log in

View Full Version : Help with automatic relay control


DRH2o
23-01-2008, 13:14
Forgive me if this is answered somewhere else -- I looked and could not find.

I am trying to get a relay to automatically fire forward when the analog values to a pwm are in a range around nutral. I put an if statement in with an assignment specifying the condition I want and it works, but will not change states when when the joystick is moved out of the range. I tried adding an else if statement after, I tried a while loop, no good???

Any suggestions -- I know it is something simple I am missing.

TubaMorg
23-01-2008, 13:32
If you post your code, we can tell you what the problem is. If I understand what you are trying to do correctly, it should look a little like this:

if (pwm_val > (127 + deadband) || pwm_val < (127 - deadband))
{
relay = rev; // out of neutral condition
} else
{
relay = fwd; // in neutral condition
}

DRH2o
23-01-2008, 14:43
That is the first thing I tried, but the relay will not change from the first state it goes to.

I will try to post some code when I get to that computer. It is done in easyc though -- I might just try to put in some user code.

Thanks

TubaMorg
23-01-2008, 15:11
EasyC also visualizes as straight C code so you can post that. It could also be that your joy sticks are out of trim and moving them is not taking them out of your deadband.

DRH2o
23-01-2008, 15:21
I thought that also, so I did a print to screen and they show the value change.

DRH2o
23-01-2008, 18:13
Dan,

Thanks for the help. I got it working. I do not know what was wrong, but I redid it ( replaced || with && ) and it works great. By the way -- this is for an automatic brake ( using a bicycle disk brake acuated pnumatically ) for our arm. I think it will work great now. Thanks !!!!