Go Down

Topic: Fuente de alimentación autónoma de larga duración [¡Eureka!] (Read 7067 times) previous topic - next topic

curro92

#30
Oct 04, 2011, 04:59 am Last Edit: Oct 04, 2011, 05:48 am by curro92 Reason: 1
Hola, flico,
no necesito esa conexión para el funcionamiento normal, pero sí para cargarle el sketch al attiny por el método Txapuzas http://txapuzas.blogspot.com/2009/12/paperattinyprogrammer-un-programador.html. Como pienso montar el atmega328 y el attiny85 en una misma placa, junto con el módulo SD y un LTC2400 (24 bit ADC para las báscula, que también va por SPI) me surgió la duda. Luego he visto que se pueden conectar simultáneamente varios slave a un master, simplemente para seleccionar un esclavo se necesita una salida digital del maestro para cada uno.

flico

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

OndO


Usar 10bit para el rango 0-5V no te dará apenas precisión en la medida, puedes usar un LTC2400 de 24bit y baja figura de ruido. La referencia usa 3.3V.
En este enlace han trabajado con el.
http://interface.khm.de/index.php/lab/experiments/connect-a-ltc2400-high-precision-24-bit-analog-to-digital-converter/


En realidad, con 10 bits le vale, sólo necesita hacer las cosas bien. Sólo hay que buscar ADCs más grandes si necesitas más resolución, 24 bits = 16 millones de niveles. De hecho, usando 3,3V, tendrá un paso mínimo de 0,2uV, cuando así a "pelo" tendrá ruido de mV. Eso básicamente quiere decir que le sobran 10 bits...

-Las galgas extensiométricas que se usan para esos sensores son muy ruidosas, mi consejo es que hagas un buen acondicionamiento del señal:

1. Amplificador diferencial (busca puente de Wheadstone). Esto depende de como sea tu sensor, ya que algunos ya tienen el puente integrado.

2. Filtro anti-aliasing. Esto básicamente es un filtro pasa-bajas vulgaris, que te ayudará a limpiar mucho ruido.

3. Te recomiendo que tomes varias muestras a la vez y hagas una media. Eso te permite eliminar ruido (generas filtros digitales) y te dá más bits de resolución (si haces dos muestras y obtienes 1 y 0, la media te dará 0,5 que es un valor que supuestamente no deberías ser posible de generar, acabas de ganar un bit :D). Para que el arduino no sufra con la división (a los micros no les gusta) usa un 'shifting', es decir, usas un múltiple de 2 y el operador '>>'

Code: [Select]

a>>b     // esto divide a por 2^b


- Tendrás que hacer pruebas sin peso, ya que las galgas también tienen una variación grande en temperatura. Tendrias que probar algunos dias y hacer una corrección, lo ideal sería poder parametrizarlo bien, pero con 0 (sin poner nada en la báscula) y con un valor de peso fijo (lo más cercano al máximo que quieras llegar a medir) deberías de poder obtener una buena compensación lineal (la variación es lineal, así que debería bastar).

-  Respecto a lo del relé, yo no te lo aconsejaría, porque requieren un consumo potentillo, por no decir que se tira consumiendo todo el rato que el arduino tenga que estar "trabajando". Con un par de FETs puedes conseguir algo muchísimo más eficiente.

- Una buena opción es que el Arduino (o micro principal) tenga un pin conectado al tiny (o el que uses como temporizador), en un pin que sirva de interrupción. De esta forma puedes desconectar el Arduino justo cuando acabas. Por cierto, el tiny que tenga un oscilador lo más lento possible, nada de MHz, puedes poner un cristal de 400KHz (y seguramente menos, pero el datasheet no lo especifica o no lo veo ahora mismo). El resto de clocks, desconectalos porque los osciladores consumen mucho para no hacer nada.

Hay más cositas, opciones y circuitos que podrían ser algo más eficientes, pero con eso deberías tener más que suficiente.

Si no sabes cómo hacer el filtro, el ampli o lo de los FETs, ya te colgaré un pequeño esquemático.

Cheyenne



-  Respecto a lo del relé, yo no te lo aconsejaría, porque requieren un consumo potentillo, por no decir que se tira consumiendo todo el rato que el arduino tenga que estar "trabajando". Con un par de FETs puedes conseguir algo muchísimo más eficiente.



A mí tampoco me gusta nada la solución del relé pero en el caso de querer hacerlo así existen unos relés con enclavamiento en los dos estados de modo que sólo es necesario dar un pulso para cambiar entre uno y otro. Estos relés son los que se montan por ejemplo en termostatos de calefacción en viviendas.
http://cuadricopterodiyarduino.blogspot.com/

OndO


A mí tampoco me gusta nada la solución del relé pero en el caso de querer hacerlo así existen unos relés con enclavamiento en los dos estados de modo que sólo es necesario dar un pulso para cambiar entre uno y otro. Estos relés son los que se montan por ejemplo en termostatos de calefacción en viviendas.


Si, pero el funcionamiento es el mismo que el de cualquier relé, campo magnético y interruptor ferromagnético, por lo que aunque haya una electrónica de control, sigue consumiendo mucho. Ahí tienes el circuito que te comentaba. El de abajo es un nMOS el de arriba un pMOS.



Cuando EN=0, Q1 está cerrado, la tensión Q2 entre surtidor y puerta es 0, y por tanto también está cerrado. Cuando EN=1, el Q1 conduce, y tendrás un pequeño corriente Vin/R1 (puedes augmentar R1 hasta megas si coges los transistores apropiados) entonces se genera una tensión entre surtidor y puerta de Q2 y tienes conducción. La única limitación de este circuito es que Vout<Vin (siendo estrictos Vout+Vfb<Vin) debe cumplirse siempre. Porque el diodo de bulk de Q2 permite que haya conducción en sentido inverso. En tu caso, IN es la batería, así que siempre lo cumplirás.

EDIT: también es más barato :D

curro92

#35
Oct 08, 2011, 05:54 pm Last Edit: Oct 08, 2011, 06:00 pm by curro92 Reason: 1
Gracias OndO y Cheyenne,
Miraré los nMOS y pMOS, para mí es un tema nuevo.
Aunque el tema se aleje de la fuente de alimentación, para el pesaje creo que voy a decidirme por hackear una balanza de baño (bathroom scale), las hay en ebay por 7-8€). Comprar galgas sueltas sale caro, en robot-italy he visto galgas que para pesar 100 kg pueden costar más de 50€. Se trata de quitar a la balanza la parte electrónica (porque solo tiene precisión de 100g), y dejar el bastidor con las cuatro galgas extensiométricas. He encontrado un ADC de 18bits con código para arduino (MCP3424, va por I2C), tiene amplificador interno de ganancia hasta x8; creo que la resolución se aproxima al gramo, lo cual me bastaría. Tomaré en cuenta lo de acondicionar la señal, los filtros, etc.
Cuando vaya concretando el proyecto, abriré on topic nuevo.


Cheyenne



Si, pero el funcionamiento es el mismo que el de cualquier relé, campo magnético y interruptor ferromagnético, por lo que aunque haya una electrónica de control, sigue consumiendo mucho. Ahí tienes el circuito que te comentaba. El de abajo es un nMOS el de arriba un pMOS.



No estoy seguro si se ha entendido lo que digo. Por supuesto imagino que es mejor con MOS. Pero los relés a los que me refiero no son normales con una electrónica de control que permita conmutarlos con sólo un pulso. No llevan nada de electrónica. Tienen una entrada a una bobina que al enviarle un pulso el relé conmuta al estado A. Y otra entrada a otra bobina que al enviarle un pulso el relé conmuta al estado B. El sistema consume igual que cualquier relé sólo el tiempo que dura el pulso. Mientras no se quiera cambiar el estado el consumo es absolutamente cero.
http://cuadricopterodiyarduino.blogspot.com/

OndO


A vale, ya sé cuales quieres decir, no había caido porque no suelo usar relés y demás, sólo los he usado en algunas prácticas de la universidad. El problema es que ya son 2 entradas de control, y con carga altamente inductiva. Cada pulso de estos te comerá unos cuantos mA, aunque sea por poco rato. El circuito con MOS tiene consumo 0 en cerrado, y el consumo de la resistencia en abierto (que como ya he dicho puedes bajar a uA con los transistores adecuados). Además está el tema de que los relés son bastante más caros, los MOS apenas te costaran unos 20cent los dos.

flico

#38
Oct 09, 2011, 01:20 am Last Edit: Oct 09, 2011, 01:22 am by flico Reason: 1
Quote
Filtro anti-aliasing. Esto básicamente es un filtro pasa-bajas vulgaris, que te ayudará a limpiar mucho ruido.


OndO, muy buen post, aquí aprendo por momentos.
Podrias poner un ejemplo de filtro.?

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

OndO


Podrias poner un ejemplo de filtro.?


Esta debe de ser la madre de las preguntas de la electrónica XD. Los filtros tienen su qué, los hay desde lo más chorra del mundo a lo más Hi-tech ultrasofisticado. Si el tema interesa, puedo hacer un post que explique como van, que opciones hay, para que sirven y lo más importante, como diseñarlos y hacerlos, pero en otro post que tampoco es plan de desvirtuar este ;)

curro92

#40
Oct 09, 2011, 06:52 am Last Edit: Oct 09, 2011, 07:09 am by curro92 Reason: 1
Hola OndO,

Estoy preparando un pedido en rs-online y no tienen los FET BSS296 y BSS110, hay otros BSS*. ¿Puedes indicarme algunos otros equivalentes? Los FET no son mi fuerte. Y puesto a pedir, me interesa un esquema de filtro pasa-bajos para el ADC
Gracias



ionhs

Ondo muy interesante, la verdad es que no suelo hacer nada con transistores MOS y FET por desconocimiento práctico, una clase de esto tampoco nos vendría mal  :D. ¿Cuanta corriente es capaz de suministrar al lado de potencía? 0,68A me ha parecido entender de datasheet, ¿es correcto? Es un valor muy interesante.

Ahora una pregunta tonta has comentado que tiene que ser Vout+Vfb<Vin pero, Vin=Vout+Vfb será siempre porque yo no veo más caídas de tensión en la malla. Salu2

OndO


Estoy preparando un pedido en rs-online y no tienen los FET BSS296 y BSS110, hay otros BSS*.


En realidad no me había fijado mucho en los códigos, porque casi cualquiera te vale. Lo más importante a tener en cuenta es:

para el nMOS:
- Vth< que la tensión que uses para excitarlo (con 3.3V, te valen todos los de baja señal)
- Ron lo más baja posible, ya que necesitas que el divisor R1 con Ron te dé una tensión menor a Vin-Vthp (donde Vthp es la tensión de threshold del pMOS).

para el pMOS:
- Ron baja => menor perdida de tensión
- Vth pequeña te permitirá poner R1s más grandes

Al margen de esto, que ambos puedan trabajar en el rango de tensiones/corrientes. El primero no te dará problemas porque básicamente cualquier transistor irá  a las tensiones con las que quieres trabajar. El segundo depende de lo que consuma tu circuito, asegurate de no apurar demasiado (si el circuito consume 0.5A, no pongas uno de 0.6A vete hasta 0.8 o mayor). Si el consumo es elevado(>0.5A), recuerda alejarlo de componentes sensibles a la temperatura (como la galga).

Y puesto a pedir, me interesa un esquema de filtro pasa-bajos para el ADC


Pues harían falta más datos, en concreto habría que especificar frecuencia máxima de funcionamiento, y las atenuaciones en banda de paso y banda atenuada (hay más, pero con eso ya se puede hacer algo). Siendo para la galga, el problema más grande es que vas a necesitar un amplificador delante, o el filtro te traerá más problemas que soluciones. Para poder darte algo que puedas usar, me haría falta saber que tipo de galga tienes (que configuración sigue).

¿Cuanta corriente es capaz de suministrar al lado de potencía? 0,68A me ha parecido entender de datasheet, ¿es correcto? Es un valor muy interesante.


Si, el único límite de corriente lo marca el pMOS (puede ser mayor en función de cual elijas), pero yo no me fiaría de los límites que marca el fabricante, entre otras cosas porque cuando circulen 0,6A por ese pMOS estará a 80º o incluso más. Con esto es mejor dejar un buen margen, porque así se disminuye el consumo de potencia y se alarga la vida de los transistores. En cualquier caso, este circuito está más enfocado a cosas de poca potencia.


Ahora una pregunta tonta has comentado que tiene que ser Vout+Vfb<Vin pero, Vin=Vout+Vfb será siempre porque yo no veo más caídas de tensión en la malla.


Depende de Vin y Vout, porque lo que hay en medio no es lineal. Si conecto 3V a Vin, y por lo que sea conecto 5V en Vout, el díodo que tiene el pMOS entre sus terminales conducirá, fijando la tensión de conducción del diodo (supongamos 0,7) entonces, empezará a pasar corriente hasta que:

1. La tensión de 3,3V suba a 4,3V (lo cual seguramente se carga el circuito de 3.3V)
2. La tensión de 5V baje hasta 4V (lo que significará que estará dando toda su potencia, así que seguramente habrá un corriente grande)
3. El pMOS se queme y deje de conducir, que es lo más probable

Mientras la tensión de salida sea más baja que Vin, el diodo no conducirá, por lo que la tensión entre los terminales será Vout-Vin.

flico

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

curro92

Gracias flico, lo miraré. El tema de la temperatura interior es bastante complejo, porque el espacio que ocupan las abejas  en torno al llamado nido de cría es una especie de esfera o huevo, y para estudiar la distribución de la temperatura interior creo que harían falta bastantes sensores.

Go Up