Salida de 9V y 120Hz. [SOLUCIONADO]

Buenas noches,
Le estoy dando vueltas a un proyecto y necesito una salida con las siguientes características:

  • 9V
  • *120Hz
  • *250microsegundos de ancho del pulso (pulse wave)
  • *30 segundos on/ 30 segundos off
  • Intensidad ajustable: 0- 100mA

(Con asterisco está marcado aquello que creo haber logrado)

Obtengo una salida de 5V pero no sé qué debo hacer para obtener una de 9V. Mi duda es: ¿qué debería utilizar y cómo para lograr esas caracaterísticas?

Hay conceptos que no tengo del todo claros y puede ser que no esté correcto. Os adjunto el código para que podáis evaluarlo:

#include <TimerOne.h>

void setup()
{
}
 
void loop()
{
/* 30 segundos on */
  pinMode(9, OUTPUT); //PIN 9 salida
  Timer1.initialize(8333); // microsegundos para una frecuencia de 120Hz
  Timer1.pwm(9, 250); // Ciclo de trabajo 250 microsegundos
  delay(30000000); 

/*30 segundos off*/
  digitalWrite(9,LOW);//30 segundos off
  delay(30000000);
}

Un saludo y gracias por la atención

Hi,
para subir el voltaje de 5 a 9 voltios puedes usar un "DC-DC boost step up volt converter power supply".
Haz un google usando la descripcion arriba y veras de que se trata.

Puedes, poner un transistor creo que un IRL (mosfet de estado logico te va bien)
Hacer todo tu circuito que funcione en 5V
Y alimentar el IRL con un riel de 9V, quizas tengas que hacer algunos micro ajustes para considerar el tiempo de encendid y apagado del mosfet, pero lo dudo son bastante rapidos.

Animo!
-Alex.

tauro0221:
Hi,
para subir el voltaje de 5 a 9 voltios puedes usar un "DC-DC boost step up volt converter power supply".
Haz un google usando la descripcion arriba y veras de que se trata.

no funciona así.
Puedes generas los 9V con el step up si no lo tienes de otra fuente y combinar esto con un logic level N-Mosfet.

El problema que puede ocurrir es que con el N-Mosfet mandas el Gnd de la salida. Si tienes el Gnd en común con la entrada de la señal, tienes que emplear P-Mosfet con un driver. Hay muchos ejemplos en Internet

Obtengo una salida de 5V pero no sé qué debo hacer para obtener una de 9V. Mi duda es: ¿qué debería utilizar y cómo para lograr esas caracaterísticas?

Desde mi punto de vista voy a suponer que tienes una fuente de 9V porque, subir desde 5V es posible pero requiere de un step-up como te dijo tauro0221 pero no me parece adecuado a menos que se trate de un proyecto portatil.

Supongamos que dispones de una fuente de 9V.
Entonces tal como te dijo o sugirió AlexLPD o ElEspanol, usas un mosfet del tipo canal N o P de acuerdo a como lo conectes.
Es cierto que lo mas adecuado será uno del tipo IRL pero eso si fuera para corrientes importantes, como hablas de solo 100mA un 2N7000 es mas que suficiente.

Algo asi resuelve tu problema, usando fuente de 9V.

Intensidad ajustable: 0- 100mA

Queda la regulación de la corriente y entonces hay que preguntarte para que lo necesitas.
Una opción es que todo el esquema entregue 100mA máximo, eso lo logras de modo muy simple.
Determinas de la hoja de datos el VGS cuando este conducionedo el 2N7000.
Entonces R = (9V-VGSsat)/100mA => R limitadora a 100mA

Es decir que cuando tu sistema entregue un HIGH tendras 100mA máximo.
Ahora como regulas?
Fácil, usas una salida PWM del Arduino y podras variar la salida de 100mA a 0 en 256 pasos usando

analogWrite(pinPWM, valorPWM);

Donde pinPWM será alguno de los pines habilitados para salida PWM en tu arduino
valorPWM sera algo entre 0 y 255 con lo que podras variar la corriente entre 100 a 0
De este modo

Ipwm = 100 mA * valorPWM/255

cuando valorPWM = 255 tienes el máximo de 100mA
cuando valorPWM = 127 tendras la mitad o 50mA
cuando valorPWM = 0 tendras 0 mA

Siempre con 9V de salida pero con variación de ancho de pulso.

Buenas tardes,

En primer lugar gracias a todos: tauro0221, AlexLPD, ElEspanol y surbyte.

No tengo todos los conceptos perfectamente claros pero veo, más o menos, cómo hacerlo. Voy a tardar un poco en 'procesar' toda esta información; en todo caso, una ayuda de diez.

Un saludo.

No entiendo esto de tu proyecto

*120Hz
*250microsegundos de ancho del pulso (pulse wave)

120Hz son 8.3 mili segundos por ciclo ¿Que son esos 250 micro segundos de ancho de pulso? Porque es menor que el tiempo de un ciclo.

Hola PeterKantTropus,

Creo que no soy la persona idónea para contestarte puesto que mis conocimientos no son muy grandes y, sin duda, puedo equivocarme.

La frecuencia es la cantidad de veces que se repite un evento en un tiempo determinado, en este caso, cuántas ondas en un segundo. Dicho de otro modo, podemos definirlo (si las ondas son regulares) como el tiempo que pasa del inicio de una onda al inicio de la siguiente. Efectivamente, son 8,3 milisegundos por ciclo.

El ancho de pulso es el tiempo que está pasando corriente, el tiempo que hay salida en cada periodo. He encontrado esta imagen:

Creo que el error puede estar en: 1 ciclo 8,3 MILIsegundos o lo que es lo mismo 8.300 MICROsegundos, ancho de pulso 250MICROsegundos. A mi también me pasa que confundo ambas unidades.

Un saludo

O sea que con una onda de esas caracteristicas ademas se le debe variar la corriente de 0 a 100mA?
Si es asi lo que dije antes no sirve, porque yo pretendí aprovechar la variación PWM para conseguir la variacion de corriente.
Con una onda fija eso no será posible.

Plan B entonces: amplificador de transconductancia.

La transconductancia (para la conductancia de transferencia), también llamada con poca frecuencia conductancia mutua, es la característica eléctrica que relaciona la corriente a través de la salida de un dispositivo con la Tensión a través de la entrada de un dispositivo

Entonces debemos variar tension a entrada para lograr variacion de corriente a la salida.

Otra posiblidad sería algun DAC (digital analogic converter) que permita lo mismo, o algún IC dedicado a tal efecto como los XTR11X de Texas instrument pensados para 0-20mA pero tal vez puedan adaptarse.

Buenos días,

Esto es un poco más complicado de lo que parecía en un principio. He logrado todos los puntos salvo la regulación de la corriente (es el punto menos importante); realizaré el rediseño con las tres propuestas que plantea surbyte.

He mirado el amplificador de transconductancia: LM13700; no me ha convencido del todo, es demasiado complejo para mi. Después de leer un poco, el más abordable es el XTR11X de Texas Instrument.

Aquí un enlace que habla del XTR11X (XTR110):

https://forum.arduino.cc/index.php?topic=543305.0

Intentaré hacerlo después del montaje sin regulación de intensidad.

Un saludo y gracias a todos

Edita por favor el enlace de acuerdo a las normas.

Bien. Tengo otra idea que acabo de recordar.

Usando un DAC con salida de tension y un esquema con dos Operacionales (pueden ser los que ponga ahora u otros) lograrás lo mismo.

Y ahora que lo miro mejor con la primer etapa es suficiente.

Solo debemos hacer algunas cuentas, para tus 9V, y los 100mA que necesitas.

La idea esta mas o menos planteada.

Luego nos ponemos lapiz y calculadora a darle mas forma.

Esta seria la idea básica

Aca ves a la izquierda una fuente que entrega 0-1V aunque la figura luego habla de 0-5V. No importa

Lo que tu debes pensar es que todo lo demás desaparece porque el Amplificador Operacional repite lo que ve en su entrada + (No Inversora) en su entrada (-) inversora.
O sea que el punto encima de la resistencia esta al potencial de la fuente. Por eso si entregas algo entre 0-5V con una Resistencia de 1K tendras por ley de Ohm

I = V/R
Corriente = Tensión / Resistencia.
En valores

Corriente = 5V/1k = 5mA

Asi que este ejemplo sirve para tu caso.
En teoria si el transitor MOSFET puede entregar tus 100mA, solo necesitas un resistor que para una tensión de entrada en el Operacional devuelva una corriente de 100mA

Veamos

I = V/R => no interesa R => R = V/I = 5V/100mA = 50 ohms

Con una R de 50 ohms y algun ajuste tendrias tu salida deseada.
Requieres entonces de un DAC para crear formas de onda especiales o la simple salida del arduino entre 0-5V para lograr lo mismo.

Como lo ves?

POr supuesto, en la parte superior la fuente será de 9V, y la R no puede ser 10k.

Veamos cuando podria ser.
9V - 0.1A*Rlim - Vds - 5V = 0V
Rlim = (9 - 5 - Vds)/0.1A = (9-5-0.2)/0.1 = 38 ohms

38 ohms no es un valor conseguible. 39, asi que opciones lograr un paralelo que sirva o sino probar porque dudo tmb que la salida del Arduino llegue a 5V.

Una R de 39 ohms y otra de 1500 ohms te dan casi exactos 38 ohms.
Ahora debemos calcular la potencia del resistor.
En particular el de 39 que llevará la rama con mas corriente.
Supondre que pasan los 100mA por ella

P= I^2*R = 0.1^2 * 39 = 0.39W o sea que una R de 500mW estaría bien a juzgar por el duty-cycle que requieres.
La de 1500 puede ser de 1/4W

Buenas tardes,

Gracias de nuevo surbyte.

He simulado (a través de falstad) y es efectivamente como dice surbyte, tras la resistencia R1 obtengo un control de la corriente como yo deseo. De este modo, tengo todas las variables planteadas: Frecuencia, ancho de pulso, periodos on/off (con el arduino) y la salida de corriente (con el montaje surbyte); además puedo modificar la intensidad con un potenciómetro (en R1).
Puede verse el diseño en archivos adjuntos: imagen y texto.
Edito para incluir (30/11/2019):
circuit-20191129-1610.png

Este montaje está bastante por encima de mis conocimientos y espero no decir alguna tontería. Por la simulación puedo ver claramente que el voltaje de V1 es el que voy a tener el R1. Por tanto, si quiero tener una tensión de 9V, entre el arduino (V1) y el diseño de surbyte, necesito un elemento. ¡Ojo! no sé si es posible esto porque no entiendo los MOSFET. La señal puede ir del arduino a la base de un transistor NPN (5V), el colector a una fuente de 9V (9V) y el montaje de surbyte después del emisor (9V). De este modo:

  • *9V. Desde el emisor del transistor.
  • *120Hz. Desde la salida del aruino.
  • *250microsegundos de ancho del pulso (pulse wave). Desde la salida del arduino.
  • *30 segundos on/ 30 segundos off. Desde la salida del aruino.
  • *Intensidad ajustable: 0- 100mA. Con el diseño de surbyte. Recalculando el valor de R1 puesto que el voltaje es distinto.

La duda es si: (1) ¿el transistor modificaría la señal?, (2) ¿faltarían elementos de protección para proteger el transistor?, (3) ¿el MOSFET puede ser usado de esta manera?

Un saludo y gracias a todos, una ayuda espectacular.

circuit-20191129-1610.png

circuit-20191129-1614.circuitjs.txt (519 Bytes)

La duda es si: (1) ¿el transistor modificaría la señal?,

No. En general el transistor acompaña la salida.

(2) ¿faltarían elementos de protección para proteger el transistor?,

No.

(3) ¿el MOSFET puede ser usado de esta manera?

No entiendo, es el mismo esquema que te he sugerido pero cuidado con algo que no has comprendido.

En la parte baja del esquema entiéndase entre GND y la salida del AO (amplificador operacional) y el source del Mosftet calcule una resistencia de 50 ohms.
Esa resistencia de 50 ohms garantiza para una entrada de 5V una salida de 100mA. Hasta aquí vamos bien me imagino.

Si tu varias el valor de esa resistencia como veo en tu simulación, también cambiará la corriente máxima y según ley de ohm y los valores que veo en tu simulación tendrías corrientes mas altas siempre y cuando el limitador de corriente de arriba lo permita, hablo de 39 en paralelo con 1500 ohms.
Como no va a ser el caso, el sistema pedirá mas corriente pero entonces esta resistencia paralelo fijara dicho valor en lo que estimo serán de nuevo los 100mA que necesitas. Parece un juego de palabras pero no lo es.

Explico porqué y me olvido del limitador superior (paralelo 39 y 1k5).

El A0 en la configuración indicada logra que en el punto de salida tengas I = V/R donde V = 5V la tensión HIGH de tu generador (El arduino) y R = 50 ohms
5/50 = 100 mA

Si varias 50 ohms a valores menores que ocurriría? pues la corriente aumentaría.

Veo valores entre 21 y 29 o sea

5/21= 0.238 A o 238mA
5/29 = 0.172 A o 172 mA

Como ves, si quieres regular los valores de R deben aumentar no disminuir.

Buenas noches,

Sí, el dibujo y la simulación eran simplemente tu propuesta planteada de forma gráfica. Al ser tan poco cuidadoso [yo] e incluir el potenciómetro que utilicé para hacer pruebas parecía que era algo diferente (R1) pero lo adjunte para facilitar la comprensión de los demás.

En mi post anterior, mi propuesta no era correcta, doy como solucionado el hilo; me gustaría agradecer a todos los participantes sus aportaciones.

Un saludo y agradecimiento especial a surbyte