Outputing a high and low value based on a negative or positive signal
Show older comments
I am using Simulink for DC motor control. My motor driver requires a direction input (high or low voltage) corresponding to the direction. Is there a way in simulink that I can get a block to output a 0 or 1 signal based upon whether the input signal has a negative or positive value?
Answers (2)
Matt Kindig
on 19 Oct 2012
Edited: Matt Kindig
on 19 Oct 2012
0 votes
Hi Joseph,
You could use a switch block ( http://www.mathworks.com/help/simulink/slref/switch.html) where the second input is your input signal (with a set threshold of 0) and the first and third inputs are 1 and 0, respectively.
1 Comment
Matt Kindig
on 19 Oct 2012
Or even better, just use a Compare to Constant block ( http://www.mathworks.com/help/simulink/slref/comparetoconstant.html), which will output a 0 or 1 directly.
Azzi Abdelmalek
on 20 Oct 2012
Edited: Azzi Abdelmalek
on 20 Oct 2012
0 votes
Use a sign block from simulink/Math Operations . Pass your signal through sign block . the output will be 0 if u<0 and 1 if u>0
2 Comments
Matt Kindig
on 22 Oct 2012
Won't the output of the sign block be -1 if u<0?
Azzi Abdelmalek
on 23 Oct 2012
Edited: Azzi Abdelmalek
on 23 Oct 2012
you are right Matt. we can add 1 and a 0.5 gain block

but your suggestion (compare to cst) is better
Categories
Find more on Motor Drives in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!