Outputing a high and low value based on a negative or positive signal

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?

回答 (2 件)

Matt Kindig
Matt Kindig 2012 年 10 月 19 日
編集済み: Matt Kindig 2012 年 10 月 19 日

0 投票

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 件のコメント

Matt Kindig
Matt Kindig 2012 年 10 月 19 日
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
Azzi Abdelmalek 2012 年 10 月 20 日
編集済み: Azzi Abdelmalek 2012 年 10 月 20 日

0 投票

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 件のコメント

Matt Kindig
Matt Kindig 2012 年 10 月 22 日
Won't the output of the sign block be -1 if u<0?
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 10 月 23 日
編集済み: Azzi Abdelmalek 2012 年 10 月 23 日
you are right Matt. we can add 1 and a 0.5 gain block
but your suggestion (compare to cst) is better

サインインしてコメントする。

カテゴリ

製品

質問済み:

2012 年 10 月 19 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by