Máquina electroestimulador Tens

Hola.
Estoy embarcado en un proyecto sobre una máquina de Tens, todo funciona menos la etapa de salida, esta es un generador de corriente pnp con carga a tierra. La cosa es que la carga es el tejído biologíco. Y en este caso la resistencia que obtengo situandome los electrodos sobre el brazo es de 4MOhms, si la corriente a circular es de 80mA, me sale una tension del copon... La carga deberia rondar como mucho los 10Ohm y no los 4MOhms, espero que algiuien controle sobre este tema y me pueda hechar una mano. Gracias
 
Si mediste la resistencia con un tester vas a tener un valor erroneo ya que el cuerpo no es una resistencia, es una impedancia, y como tal varia de una tension continua a una alterna.

Te recomiendo visitar el sitio de un compatriota tuyo:

http://www.electroterapia.com/

Puede serte util.

Saludos..
 
Perdona, no sabria donde puedo encontrar un modelo de resistivo del cuerpo. Quiero decir si sabes si existe un modelo simplificado que diga que la corriente que pasa por el cuerpo se puede asemejar a un circuito RC paralelo o serie. La verdad es que no se nada sobre este temay estoy en el proyecto electronico, de este equipo. Todo el diseño de ondas lo tengo ya realizado pero el rpoblema me lo encuantro al llegar a la etapa de salida por este motivo que te he comentado.
Las espcificaciones de mi equipo son, ondas (cuadradas, diente de sierra y sinusoidal) de 1 a 200Hz, la corriente máxima de salida dependerá del valor de carga máxima, es decir la resistencia humana que tiene que atravesar la corriente.
Gracias
 
Mol dijo:
...la corriente máxima de salida dependerá del valor de carga máxima, es decir la resistencia humana que tiene que atravesar la corriente.

La corriente máxima la tienes que fijar, no puede depender de la carga en este tipo de equipo.

Que valor de tensión va a tener la salida?


Trata de conseguir la norma IEC601-01, que es la que reglamenta este tipo de equipos.


Saludos..
 
Ah si me ha tocado tratamiento con eso...
Gracias JV por la definicion, tan precisa.
En dicho caso coincido en que establecer la corriente y tensión en función de la resistencia del cuerpo o como si fuese rlc no me parece apropiado, creo que es fundamental que eso sea controlado estrictamente por el dispositivo.
Además que cada persona es diferente cada aprte del cuerpo también es diferente.

Saludos y suerte.
 
Hola

En el curso de instrumentación medica de la universidad, debo construir un equipo de electroterapia basado en un puente H con IGBT o mosfet. Son en total 7 tipos de ondas que se generaran, el problema es el rango del primer temporizador el cual debe ser desde 5us hasta 1s. Entonces se me ocurrió mediante un temporizador del PIC generar la una interrupción cada 1us, pero gran sorpresa hasta ahora la medición por break point dentro de la ejecucion me dio como mínimo 9.8us entre interrupcion e interrupcion usando un cristal de 40MHz. Empecé con el PIC16F877, ahora pase el 18F452 y no logro generar esa interrupción con ese tiempo, pareciera que el compilador CCS al usar esas instrucciones alto nivel consume varias ciclos lo cual genera que no pueda realizar esa interrupción en ese intervalo, será que deberé programar en asembler para obtener este tiempo. Adjunto circuito proteus, .cof y .hex.

Gracias
 

Adjuntos

  • circuito IM 2.rar
    54.1 KB · Visitas: 29
Con el TIMER0 te vale:

[LATEX]\large T_{out} = \frac{4 \cdot (256 - TMR0) \cdot Preescalado}{f_{osc}}[/LATEX]​

Con los valores
[LATEX]f_{osc} = 40 Mhz \newline
Preescalado = 2 \newline
TMR0 = 251[/LATEX]​

tenemos
[LATEX]\frac{4 \cdot (256 - 251) \cdot 2}{40 \cdot 10^{6}} = 1 \cdot 10^{-6} s[/LATEX]​

Solo necesitas modificar la rutina de interrupción -que se ejecutará cada 1 µs- para que actualice el valor de TMR0 a 251.
 
Última edición por un moderador:
... Veámoslo de este modo:

Si se usa un oscilador de 48Mhz (máxima cpu pic18f4550) -> 12Mips por lo cual tenemos 12 ciclos maquina aprovechables dentro de 1us.

Se usan 2CM(ciclos maquina) para que uC salte a la dirección de interrupción y guarde el contador de programa en la pila.

2CM para verificar y borrar el flag de interrupción.

2CM para retornar a la rutina principal (retfie).

2CM para cargar al timer0 (movlw y movwf).

Después de esto solo quedan 4CM para cambiar de estado el pin de salida, comparar valores y demás, aun si se lograra hacer, no quedaría tiempo en la rutina principal.

En resumen aun en asm una interrupción de 1us es muy poco tiempo incluso para un pic18.
Con un ATMega se tendrían 16Mips aprovechables pero aun seria poco.
Sería mejor un DSPic "hasta 30Mips" pero en asm.

... Por otro lado para hacer un puente de mosfet o más aun IGBTs ... ¿Con cuánto de corriente van a trabajar... 10A?...
¿Para ondas tens 1us o 5us? Hace un buen tiempo estaba haciendo lo de las ondas tens como pasatiempos pero lo que encontré como información (que por cierto no había mucha) es que los niveles altos no pasaban del milisegundo...
 
Estoy de acuerdo. A 40 Mhz son 10 CM libres, con lo que le quedan 2 CM libres. Invertir el valor del pin de salida, y nada más.

Pero, además, no quedaría ningún tiempo libre para el resto del programa... En ese caso, mejor no usar ningún temporizador, sino una precisa colección de instrucciones en un bucle.

Si necesita una señal de 1 µs, casi mejor que fuera creada por un reloj externo. O tener un sistema más rápido.
 
Primero les doy las gracias por su respuestas, encontre una forma no usando la interrupcion, sino mediante la instruccion delay_us(), como el rango es tan amplio (desde 5us hasta 1E6 us), al usar una variable tipo int16 al llegar a 2^16, paso a delay_ms() para mantener todo el rango.
Ahora el problema se presenta en la simulacion ya que al cargar delay_us() con 5, si lo ejecuto paso a paso se aprecia que el puerto que activara los transistores se pone en 1 espera el tiempo en us se pone en cero espera el otro tiempo en ms, todo normal, pero en el osciloscopio no se aprecia algunos pulsos. solo ocurre cuando el tiempo de activacion es muy pequeño, para otros valores funciona normal. no se si es por el compilador o el simulador
Adjunto circuito en proteus, el .hex y el .cof para la simulacion.

gracias.



hola

adjunto documento en word donde detallo el problema. lo comprimi ya que le tamaño no me dejo subirlo.

gracias.
 

Adjuntos

  • circuito IM_onda_1_2.rar
    59.3 KB · Visitas: 50
  • prueba.rar
    373.5 KB · Visitas: 28
Última edición:
Hola

Pues con el circuito ya le realice las 7 formas de ondas que me solicitan, el único detalle es el que les comente anteriormente. Pareciera que fuera problema en la etapa de simulación, no del código. Vamos a ver que dice mi tutor, ojala me de 3.0.
a todos gracias por la ayuda, me parece algo muy interesante, ya que al preguntarle a otras personas sobre mis dudas, al leer las preguntas hechas, me ayudan a reflexionar y a encontrar más soluciones.
Les dejo el video del circuito construido hasta el momento y espero sus opiniones.
Gracias


https://www.youtube.com/watch?v=42q6qD0kWY8&feature=youtu.be



lo ultimo que me falta es que el puente H genere 170VDC en la carga, no se al subirles por encima de 130 VDC los transistores generan una pequeña corriente inversa, no tengo ni la menor idea de porque ocurre este fenomeno, depronto saben de algun transistor que se le pueda subir a este nivel de tension.


gracias
 

Adjuntos

  • puente H.png
    puente H.png
    47.1 KB · Visitas: 21
Última edición:
Un cordial saludo a todos...

Soy muy nuevo en el área de la electrónica, este es mi primer montaje y desconozco mucho del tema. Soy estudiante de matemática así que comprendo ciertos términos, pero desconozco muchos otros. No se como solventar este inconveniente así que acudo a vosotros que sois expertos en esta área.

Pretendo "hacer" un TENS, pero tengo problemas al elevar la tensión, puedo conseguir un lindo pulso, con la frecuencia deseada, pero al implementar (unir) al circuito que genera el pulso, un transformador para elevar la tensión, el pulso se desforma (no se como se llama este suceso).

Los detalles son como siguen:

Pretendo unir un transformador (transistor, amplificador operacional o algo) a un generador de pulsos hecho con un Timer NE555

En teoría suena fácil, pero en la practica :eek:...

Comprendo que para un Tens se generan pulsos a cierta frecuencia:
Frecuencias.png

Y el paciente elije la tensión que puede soportar... las tensiones que alcanza un Tens son al rededor 110v DC y la corriente es muy baja.

Así que en proteus simule el pulso con un Timer NE555 y se obtiene una onda (un pulso) ¡bellísim@!
Salida.png

Hasta este punto todo va bien.

Busque un esquema sencillo de un Tens, algo similar a este:
Esquema.png

El montaje se ve muy sencillo. NO SE si entienda bien, pero el pulso que se genera por el pin numero 3 del Timer, se vera amplificado con el transformador (la tensión) y con el transistor (la corriente). ¿por favor ilustrarme si aquí mis pocos datos son correctos?

Al realizar el montaje la onda que se genera con el transformador y el transistor es todo un desorden... y aquí es donde necesito de vuestra experiencia, no se porque sucede esto. La onda azul es la salida del transistor y la rosada es la del transformador en la otra bobina.
BC557.png

Desde mi ignorancia, me puse a quitar y poner elementos a ver cual generaba el inconveniente y me di cuenta que en parte es el transformador y otra parte el transistor.

Al agregar solo el transformador obtengo un pico, que desconozco porque se forma y no sabría tampoco como eliminarlo.
Transformador.png

También cambie el transistor por un IRF640 y "mejora un poco"...IRF640.png

Me cruce también, con los amplificadores operacionales y debo confesar que me enamore de ellos... pero el inconveniente es que necesito una tensión más alta y lo máximo que podría agregar son unos 28v DC (de un cargador de una PC) [se que esto os sonara tonto, pero no se me ocurre nada, me imagine un transformador de 110v AC a 110v DC]
Amplificador.png


Ahora si mis preguntas, ¿como puedo amplificar la tensión del pulso generado por Timer NE555, sin que este (el pulso) desforme en el proceso?
y lo más importante ¿por que suceden estas variaciones?

Cualquier consejo vuestro me es muy útil.

Agradezco vuestro tiempo y sobre todo vuestra paciencia con estas memeces. Gracias.



PD: Adjunto el archivo generado por el Proteus 8.6 SP2 (Build 23525)
 

Adjuntos

  • Tens_ems.zip
    29.8 KB · Visitas: 6
Lo que te sucede es normal, los transformadores responden a ondas sinusoidales, no a ondas cuadradas,
No obstante para la aplicación dice de un transformador de 1:10, para elevar diez veces la señal de entrada.
Como responde a una señal senoidal deformara una señal cuadrada.
Los que diseñaron esos esquemas saben eso, porqu igualmente cumple su cometido si el tranformador tiene la relación correcta
Por otro lado la señal nunca se debe medir en el lado "caliente" es decir en el colector de un BJT o en el Source de un mosfet, cuando hay comutación en la práctica podes dañar el instrumento si no tenes en cuenta que en ese punto se producen picos de hasta 10 veces el valor nominal, es decir si tenes 12V allí puede haber pulsos de más de 120V.
Por otro lado si colocas a la salida de un 555 un transformador, lo matas en el acto por dos razones muy pero muy simples, el transistor de salida puede manejar como máximo 200mA en el mejor de los casos, por otro lado si queremos que nuestro integrado trabaje largo tiempo tampoco hay que hacerlo trabajar al límite, la otra razón es que cuando se conmutan cargas inductivas se producen picos inversor de tensión y corriente que dañan al transistor conmutador, para ello deve ponerse un diodo entre el emisor y colector polarizado en inversa o entre el Surtidor y el Drenaje del Mosfet, como no tienes mucha experiencia te recomiendo primero trabajar con transistores Bjt
 
Última edición:
Si eres estudiante de matemáticas mira las ecuaciones de un transformador y verás por qué pasa.
El transformador no transmite señales de un devanado a otro; transmite "diferencia de señales", si la onda es senoidal, como su derivada es otra senoidal (desfasada90º) se ve la misma forma de onda en el primario que en el secundario.
Si la onda es cuadrada, en el tramo plano la derivada es cero y la salida es cero, en el tramo vertical la derivada es infinito y por eso sale un pico enorme. Como la señal en realidad nunca es vertical porque sería absurdo, la salida tampoco es infinito que también lo sería.

Cuidado porque muchos simuladores llevan modelos simplificados de los transformadores y lo que sale no es la realidad.


Un operacional no amplia nada, necesitas una alimentación mayor que la señal que vas a generar, y con el propio operacional puedes hacer un oscilador, no te haría falta el 555.
 
Y por que no elevar la tensión a los 110 Vdc y a partir de allí hacer la onda cuadrada.

Si la frecuencia varía y el ancho del pulso es mas o menos fijo , es preferible dos 555.
 
Atrás
Arriba