2
\$\begingroup\$

It has come to my attention that my first description of my problem was very cryptic, so I have tried to rewrite it for better understanding.

I have an actuator that measures 8 pulses/rpm and there is 440 pulses in a stroke, the stroke length is 250mm and the speed of the actuator is 20mm/s which equals to 28,4 ms/pulse while running.

The actuator can accidentally stop with the reed switch activated and so there is 22.1V and 2,55mA running through it. (if not the signal is ofc. 0v).

When the actuator is running the signal drops to 11.5V and 1,35mA I need to get both these values down to a level that the Arduino can handle, which means that for the Arduino to see both signals as high they should be above 3v and under 5v.

Is this correct?

enter image description here

Thank you

\$\endgroup\$

2 Answers 2

2
\$\begingroup\$

I'll need a little more information before we know what to do. What do you plan to do with the 4.7V? Is it to be a power supply for some logic parts? i.e. does it want to be a DC signal? if yes, then what is the load on that power rail? If you are powering some simple logic parts, then its probably pretty small, maybe a few milli-amps.

You need to know the load current so you can pick the resistor value to put before the zener diode as the resistor will have both the load current and the diode current flowing through it.

As for the capacitor, it depends on the AC response of the zener diode. The capacitor is a low pass filter so it will smooth out the voltage changes that the diode will see. the 3db frequency for the filter is 1/(2*piRC) and you typically would choose a frequency that is 1/10 of the frequency you are trying to filter out. so this depends on how often the signal on the 24V line is changing.

\$\endgroup\$
29
  • \$\begingroup\$ I'm going to input the 4.7V into a pin on the Arduino and count the pulses. \$\endgroup\$
    – Runenaldo
    Commented Mar 15, 2015 at 12:23
  • \$\begingroup\$ I'm not quite sure as to how often the signal goes on and off, but from calculation one stroke takes 12,5 seconds and with 440 pulses in a stroke, there should be a pulse every 28,4 ms \$\endgroup\$
    – Runenaldo
    Commented Mar 15, 2015 at 12:40
  • \$\begingroup\$ OK. That's not what i thought you were doing with the signal. So you want to take a series of pulses that go between 22.1V and 11.5V and translate the levels to be compatible as an input to an Arduino? assuming that the Arduino is running at 5V, typical input logic levels would be "above 2V" for a high, and "below 0.8V" for a low. Do I have this right? if yes then a zener diode is completely useless... \$\endgroup\$
    – hwengmgr
    Commented Mar 15, 2015 at 12:58
  • \$\begingroup\$ I want to count the pulses, so that I can control the actuator movement. But to do that I have to reduce the "high" voltage from the feed down to 5 volts or under, so that the arduino can handle it and there is where my question starts. \$\endgroup\$
    – Runenaldo
    Commented Mar 15, 2015 at 13:01
  • \$\begingroup\$ Yes excactly. You have got it now :-) \$\endgroup\$
    – Runenaldo
    Commented Mar 15, 2015 at 13:04
0
\$\begingroup\$

One option is to use a diode and a resistor.

The diodes cathode should be connected to the 24V signal line and the anode is to be connected to the arduino & pulled up to the arduino 4.7V rail via a 10k resistor.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.