Pregunta

Estoy usando Matlab 7 y tiene un problema en la creación de un monoestable que deberá plantear por un tiempo determinado a "1" y después de que el tiempo de caída a "0". ¿Cómo puedo hacer esto con Matlab / Simulink 7? No tengo ninguna otra versión, así que no puedo utilizar el "monoestable" Bloque de las versiones más recientes.

¿Alguna idea?

saluda, poeschlorn

¿Fue útil?

Solución

Hay un par de maneras de hacer esto, dependiendo de si desea o no que el pulso (es decir, "monoestable") que se produzca en un tiempo predeterminado o en respuesta a otra señal (como un flanco de subida) ...


Creación de un pulso en un momento predeterminado:

Si desea crear un único pulso que los pasos de 0 a 1 en tOnset tiempo, a continuación, da un paso atrás a 0 después de que haya transcurrido un tiempo tDur, puede hacerlo utilizando un bloque Paso , un retardo de transporte bloque , y un suma bloque . Esto es lo que la disposición se vería así:

text alt

Se debería definir el tiempo Paso del bloque Paso a tOnset, la Tiempo de retardo del bloque de retardo de transporte a tDur, y luego restar la señal retardada de la original señal.


Creación de un pulso en respuesta a un flanco de subida:

Esto se será un poco más complicado. Se requerirá Detectar Aumentar los bloques , un Relay bloque , un retardo de transporte bloque , un Gain bloque , y un suma bloque . Esto es lo que la disposición se vería así:

text alt

Asumiendo que su señal de entrada es o bien un 1 o un 0, el aumento de salida primero Detectar bloque voluntad un 1 cuando los pasos de entrada de 0 a 1. Al establecer el Conectar el punto a 0,5 y la punto de desconexión a -0,5 para el bloque de relé, esto creará de histéresis en el relé de tal manera que la salida será persistir en el estado "encendido" (es decir, una potencia de 1) después del pulso breve que se produce cuando se detecta el flanco ascendente.

Para obtener el bloque de relés para volver interruptor en la posición "OFF" estado (es decir, una salida de 0) después de un tDur tiempo especificado, se debe establecer la Tiempo de retardo del bloque de retardo de transporte a tDur . El bloque Detectar Aumento de la salida de realimentación de bucle voluntad un 1 cuando los pasos retardadas señal de 0 a 1, y esta salida a continuación, serán escalados mediante el establecimiento de la Gain del bloque de ganancia a 2.

Cuando resta de la señal de entrada, esta ganancia se asegurará de que la salida del bloque Sum se puede extraer por debajo de -0,5 No importa lo que la entrada positiva es (0 o 1), asegurando así que el punto de desconexión del bloque de relé se alcanza y su salida está desactivado cuando la señal retardada tiene un flanco ascendente (es decir, después de que haya transcurrido tDur). Un resultado de esto es que cualquier flancos de subida adicionales se producen en la entrada del modelo después el primer flanco de subida y durante el tDur tiempo será ignorado. Una vez que la salida desde el modelo vuelve a 0, el siguiente flanco ascendente en la entrada modelo desencadenará otro pulso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top