Concurso de fotografía AM

Temática: «Una panorámica de tu acuario».
Ya esta abierto el plazo para presentar fotografías.

Más info
image01

¿Aún no conoces AMA?

Hazte socio de Acuariofilia Madrid Asociación.
CERRADO EL PLAZO DE INSCRIPCIÓN

Más info
image01

Atlas de peces de AM

¡Hemos alcanzado las 800 fichas! Visita nuestro atlas de peces actualizado.

Más info
image01

Cardúmenes y sociabilidad

Nueva actualización de la tabla con una extensa relación de peces, donde podrás conocer qué entorno necesita cada especie, su sociabilidad y si convive o no en cardumen. ¡Pasa a descubrirla!

Mas info
image01
Aula Arduino para principiantes.
Respuestas: 1783    Visitas: 466801
#1,141
[Imagen: tip-142-143-shematics-and-pinout.jpg]

Los TIP140, TIP141, TIP142 son: transistores complementarios Dralington de potencia NPN de silicio de propósito general y baja frecuencia de conmutación. Admiten intensidades de 10 Amperios.

Los TIP145, TIP146, TIP147 son: la version equivalente a los anteriors pero en PNP. (Se polarizan a la inversa)

Los TIP140 y TIP145 admiten voltajes de hasta 60 voltios.
Los TIP141 y TIP146 admiten voltajes de hasta 80 voltios.
Los TIP142 y TIP147 admiten voltajes de hasta 100 voltios.


Los TIP120, TIP121, 122 son: transistores complementarios Dralington de media potencia NPN de silicio de propósito general y baja frecuencia de conmutación. Admiten intensidades de 5 Amperios.

Los TIP125, TIP126, TIP127 son: la version equivalente a los anteriores pero en PNP. (Se polarizan a la inversa)


Los TIP120 y TIP125 admiten voltajes de hasta 60 voltios.
Los TIP121 y TIP126 admiten voltajes de hasta 80 voltios.
Los TIP122 y TIP127 admiten voltajes de hasta 100 voltios.


La serie TIP14x y la TIP12x son muy parecidas, pero para el dimeo de motores he visto que se usa mucho el TIP120 y para LEDs de potencia se usa el TIP141. No tengo claro el motivo de esto. Yo creo recordar que hice una prueba con el TIP141 para dimear un motor y no me funcionó pero fue una única prueba. Para motores uso el TIP120.

Todos los transistores de estas dos series que son del mismo tipo de unión NPN o PNP llevan conexiones similares y la imagen que he puesto y que se refiere a la serie TIP14x tambien vale para identificar las patillas de la serie TIP12x.
#1,142
RESPECTO A LAS TAREAS: (*** CAO1_1.1.x ***)
Faltaba incluir la llamada al control de tareas que ha de hacerse periódicamente para detectar el momento en que se activan o se desactivan los pins programados.
Se han añadido trazas
Es importante saber que después de cambiar en el código la configuracion de las tareas hay que activarlas desde el menu para grabarlo en la EEPROM.

RESPECTO a los sensores: (*** Cao1_Sensor ***)

En efecto cada vez que se pregunta por el estado de un sensor se tomaba el valor contrario.

boolean Cao1_Sensor::GetP_Enable(){
if (0!=Parm.EEP_Read(_PosFirstParm+6)){
if (0==Parm.EEP_Read(_PosFirstParm+6)){

También se han añadido trazas


RESPECTO a lo del ventilador
La configuración por defecto parece correcta.
// * Sensor Temp acuario
{EP_MIN_TMP_ACU, "MinTmpAcu", P_US_DECIM, 0, 999, 225 /* 22.5ºC */ },
{EP_LOW_TMP_ACU, "L_TmpAcu", P_US_DECIM, 0, 999, 244},
{EP_HGH_TMP_ACU, "H_TmpAcu", P_US_DECIM, 0, 999, 277},
{EP_MAX_TMP_ACU, "MaxTmpAcu", P_US_DECIM, 0, 999, 293},
{EP_HST_TMP_ACU, "HstTmpAcu", P_US_DECIM, 0, 20, 2},
{EP_ALA_TMP_ACU, "AlaTmpAcu", P_BOOLEAN, 0, 1, 1},
{EP_ENA_TMP_ACU, "EnaTmpAcu", P_BOOLEAN, 0, 1, 1},

Segun estos valores el ventilador se apagaría a 27.5 ºC y alcanzaría su máxima potencia en 27.9
(27.7 (+/-) 0.2)

El fallo estaba en la nueva función de interpolación.
long Cao1_MathMisc::InterpLinealSinExtrapolar(long T0, long Tx, long TF, long D0, long DF){

He corregido el fallo y la prueba que acabo de realizar la hice con dimeo de un LED. Ocurría que el LED permanecía encendido todo el rato, ahora hace esa variación entre 0 y el máximo valor de dimmeo permitido que yo he situado en un valor de 200.
// Pines dimeo maximo para ventilacion
{EP_MAX_VENT_LEDS, "MaxVntLed", P_US_INT, 0, 255, 200},
{EP_MAX_VENT_ACUA, "MaxVntAcu", P_US_INT, 0, 255, 200}

Las pruebas están siendo costosas en tiempo. Es una aplicación grande y tarda bastante en arrancar. Para pruebas hay que arrancar cantidad de veces. Puede que quede algo más por corregir, aunque quizás ya sea suficiente para que sea utilizable.

Todo ello disponible en la nueva versión 1.1.2 de CAO1 [attachment=2032]
La considero igualmente ALFA.
#1,143
Muchas gracias Antonio, aunque me sigue quedando una duda con la programación de tareas. El arduino debe estar funcionando a la hora en que comienza la tarea y no interrumpirse hasta que termina?? la tarea se activaría si hay un corte de luz en mitad, o si reinicio el software a las 3 de la tarde y tenía una tarea programada desde las 2 de la tarde hasta las 6?
#1,144
No le afectan los cortes de luz, ni los posteriores reinicios.

Cada 2 segundos se consulta la programación para dejar cada salida de los pines programados en el estado correspondiente a la hora actual.

Código:
// ************************************************
void CaoMonitoringProc(){

   [...]
    UnTi=now.unixtime();
    Now_Segs_dD=(long) (now.hour()*60L*60L) + (long) (now.minute()*60L) + (long) now.second();
    DailySchDO.UpdateTasks(Now_Segs_dD);

[...]
// ***************************************************************************
void setup(void) {
[...]
    DelayPlus.SetProcLowPri(CaoMonitoringProc, 2000); // cada 2 segundos aproximadamente
#1,145
Perfecto, ya para el finde que viene probaré la nueva versión. O antes si me llega el otro arduino que usaré para pruebas
#1,146
Buena a todos!!!
Ya tengo pedida la pantalla a ver si me llega pronto y me pongo al lío.
Si tengo la pila para el reloj, sabía que tenía que ponérsela.

Un saludo.
#1,147
Ok, las pruebas individuales del hardware que vas recibiendo conviene que las hagas. Ya nos comentarás.
#1,148
Este fin de semana he vuelto a probar la nueva versión y en efecto el problema de los sensores está corregido, ya marcan la temperatura correctamente. Pero siguen sin saltar los relés decrementadores e incrementadores de control de sensores. Tuve que volver otra vez a la versión anterior por el relé que activa el calentador al bajar de X temperatura no saltaba nunca.

Las tareas programadas no llegué a probarlas ni el dimeo de ventiladores.

Voy a seguir con la versión anterior hasta que tenga montado otro arduino completo de pruebas y pueda testear bien y modificar lo necesario para que funcione estable, que hasta ahora estoy probando directamente en el montaje final.
#1,149
Yo los calefactores no los controlo nunca electrónicamente. Los termostatos tradicionales son muy fiables. Por contra si un relé que controla un calefactor de acuario se bloquea, puede alcanzarse una situación catastrófica en una sola noche.

El control de los pines digitales asociados a sensores creo que no se ha tocado. Sigue igual.

Yo te recomiendo que uses directamente un termostato para el calefactor y punto.

Compruebo que te ha dado tiempo a probar unas partes pero otras no. El resultado es que te ves obligado a recuperar la situación anterior al completo. Este tipo de cosas me pasan a mí también.

Es evidente que alcanzada una versión completa y funcional que nos resulte satisfactoria, el mantenimiento no sería tan problemático, pero yo me pregunto. ¿Sucederá eso alguna vez? ¿Dejará alguna vez de evolucionar nuestro controlador?

En lo que a mí respecta, no creo que un controlador de acuario casero sea algo que pueda llegar a alcanzar una situación final. Detrás de cada meta van a surgir nuevos desafíos y una de las cualidades de un controlador casero debería ser su facilidad para evolucionar y seguir creciendo. En ese aspecto parece que hay mucho por mejorar.

Si en lugar de un sistema muy completo, como el nuestro, tuviéramos pequeños subsitemas hardware independientes, las pruebas, las actualizaciones y el mantenimiento en general, se simplificarían mucho.

La parte que creo que conviene que sea común es el interfaz de usuario que además, en el caso de CAO no es ninguna maravilla. Tener un display y una botonera para cada parte, sería encarecer todo el conjunto introduciendo una redundancia absurda. El display ideal pienso ahora que ha de ser una Tablet.

Para un controlador como el nuestro sería mejor usar un Interfaz Web que te da acceso desde cualquier parte del mundo a tu controlador, pero yo creo que para poder establecer conexiones independientes con varios dispositivos caseros en el hogar, me parece más sencillo usar Bluetooth, ya que en el caso del Interfaz Web tenemos que usar conexiones de Internet caseras que no tienen IP-Fija y distribuir la conexión a varios dispositivos intependientes.

He empezado a hacer pruebas para Bluetooth y he hecho algunas pruebas con HC-05, pero veo que todo esto supone dar un salto bastante importante.

Me propongo mantener la línea actual y dedicar algo más de esfuerzo a investigar este tipo de soluciones distribuidas, pero me va a llevar mucho tiempo. No solo se trata de implementar una solución para el controlador y otra para el interfaz remoto sino que habrá que diseñar un protocolo que sea fiable. Además lo suyo sería usar Arduinos baratos tipo Arduino Pro Mini 328 y solo trae un puerto serie hardware que ademas es el que está pensado para cargar programas y depurarlos. Se pueden usar otros pines con la librería SoftwareSerial y otras similares, pero ya la cosa cambia bastante. Funcionan bastante peor y todo eso exige más esfuerzo a nivel de desarrollar protocolos, etc.

No estoy atascado, pero estoy en una nueva línea que tardará en dar los primeros resultados. Por eso me propongo mantener en paralelo la línea actual e incluso hacer de vez en cuando algunas mejoras más que se vean necesarias.

Tú haz lo que buenamente puedas y si te atrancas en algún punto, lo anotas para que cuando yo vuelva a darle un empujoncito, tenga la máxima información. Esta semana la tengo completita de trabajo.
#1,150
Ante todo gracias por tus respuestas tan amplias

Que tal Antonio pues como aun no se mucho de esto y la verdad que se me hace un poco dificil esto de programacion espero me orienten
ya he conseguido conectar este sensor ds18b20 y lo he recubierto de silicon para acuarios
lo unico que pretendo hacer es activar el termostato de mi acuario que aunque es automatico no es muy preciso y me varia mucho la temperatura

en pocas palabra.... quiero controlar un relay para activarlo y desactivarlo a cierta temperatua


#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");

// Start up the library
sensors.begin();
}


void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print(" Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");

Serial.print("Temperature for Device 1 is: ");
Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?
// You can have more than one IC on the same bus.
// 0 refers to the first IC on the wire

}
#1,151
El tema de impermeabilización de la sonda es un tema crítico y nada sencillo. Incluso sensores comerciales terminan fallando si han de trabajar permanentemente sumergidos.

La silicona no sirve es porosa, se hidrata y con el tiempo deja pasar la suficiente humedad como para que se introduzcan interferencias en la sonda.

Impermeabilización de sonda de temperatura DS18B20

Nunca insistiré lo suficiente. Los sensores de temperatura sumergidos deben probarse durante meses antes de empezar a confiar en ellos.

Respecto a los termos tatos para acuario, no son precisos, pero son muy fiables. Yo no uso sensor electrónico para el control de temperatura. Tienes muchas probabilidades de convertir tu acuario en sopa de pescado. Llevo avisando de ello mucho tiempo. En mi blog, en alguno de mis vídeos, en mi libro, aquí en este foro.

La forma de cruzar un campo de minas es ir varios metros detrás de otro y caminar pisando sobre sus huellas.
#1,152
Antonio, en mi opinión lo ideal es activar el calentador y desactivarlo a placer usando un relé. Independientemente de que el calentador DEBA tener termostato propio fijado a una temperatura un poco superior a la deseada para que él mismo se desconecte en caso de falla del control por relé.

Pero en mi experiencia la temperatura permanece mucho más estable desde que controlo el calentador por arduino que dejándolo funcionar en libertad. Evidentemente como digo es un jagger de eheim y tiene termostato propio para asegurarme que nunca sobrepasará X temperatura.

Yo el ds18b20 sumergible que tengo es comprado en banggood y no lo he impermeabilizado de forma adicional. Por ahora llevo 2 meses utilizándolo permanentemente sumergido y no ha dado ningún problema. Espero que siga así. De todas formas por el precio que cuesta (http://www.banggood.com/es/Wholesale-DS1...53674.html 2 euros en el almacén de china) me pedí más de uno y tengo más en reserva por si acaso fallase el actual. Me resulta más costoso en tiempo impermeabilizar yo uno de ellos que simplemente cambiarlo si empieza a fallar a los varios meses... que aún no ha sido el caso, los productos de banggood me suelen salir muy buenos.


Y como dices Antonio, mi sistema realmente ya está "en producción", no puedo andar trasteando demasiado con él y en las dos veces que he metido la nueva versión al ver que fallaba algo he tenido que volver corriendo a la anterior. Por eso me estoy montando un entorno de desarrollo para trastear con todas las nuevas cosas antes de subirlo a producción. Me he pedido también otra pantalla y me montaré otra botonera... estoy esperando aún que llegue todo.
#1,153
En ese caso, es posible que ese fabricante haga las cosas bien. Yo los compré hace mucho. Compré dos y terminaro fallado los dos en cosa de un par de semanas.

Por eso perdí tanto tiempo intentando encontrar una solución. Si llevas usando dos meses el sensor sin problemas conviene que digas aquí que fabricante es. Dos meses sumergido sin falla tiene buena pinta. A mi, hubo algún sensor que me tardó mas o menos eso en fallar. Insisto en que el tema merece una especial atención y tal y como estás haciendo tú, no confiarse nunca.

Por otro lado, los chinos no tienen muy buena fama en lo referente a calidad, pero para artículos que no tienen una gran demanda puede que sea al revés. Ellos mueven mucho producto.
#1,154
(14-04-2015, 02:27 PM)Antonio Castro escribió: En ese caso, es posible que ese fabricante haga las cosas bien. Yo los compré hace mucho. Compré dos y terminaro fallado los dos en cosa de un par de semanas.

Por eso perdí tanto tiempo intentando encontrar una solución. Si llevas usando dos meses el sensor sin problemas conviene que digas aquí que fabricante es. Dos meses sumergido sin falla tiene buena pinta. A mi, hubo algún sensor que me tardó mas o menos eso en fallar. Insisto en que el tema merece una especial atención y tal y como estás haciendo tú, no confiarse nunca.

Por otro lado, los chinos no tienen muy buena fama en lo referente a calidad, pero para artículos que no tienen una gran demanda puede que sea al revés. Ellos mueven mucho producto.

Precisamente he puesto el link en mi post anterior. Elegir el almacén de china para el mejor precio.
#1,155
en mi caso es el mismo ,el calentador que tengo tiene termostato pero al no ser tan preciso varia mucho y conarduino es exacto
y si llega a fallar arduino esta el sensor del calentador

Usuarios navegando en este tema: 16 invitado(s)


Salto de foro: