Buenas a todos los compañeros, les quiero compartir el controlador que estoy haciendo por medio de arduino, de momento estoy en fase de pruebas ya que por la cantidad de accesorios que existen para arduino es ir probando que es lo que mejor funciona para lo que necesito, por ejemplo con el RTC (Reloj de tiempo real) hay diferentes que usan diferentes librerias y aunque tengan la misma funcion, la forma de conectarse y los comandos no son iguales, les ire posteando fotos y el codigo de lo que ire haciendo por si se animan a hacer su controlador, podamos ir compartiendo experiencias y ayudandonos a hacer nuestros controladores de forma que se acople a lo que necesitamos y si necesitamos ir aditando funciones no sea tan caro como un controlador comercial. Para empezar estoy jugando con la temperatura, para medir la temperatura estoy usando un sensor DS18B20 este sensor nos puede medir la temperatura ya sea del tanque principal o del sump o de las lamparas o lo que se nos ocurra, tiene un rango de -55°C a +125°C, por lo que nos funciona perfecto para nuestro controlador tiene el pequeño inconveniente que el material es de metal, y con el agua salada puede oxidarse y soltar particulas que pueden dañar nuestros organismos, la solucion es simple, podemos usar un pedazo de termoretractil e introducirlo en el y añadir silicon para sellarlo, asi no tendremos peligro de que este en contacto con el agua y ya que el termoretractil es muy delgado, no interfiere con la medicion de la temperatura. Ahora la forma de conectarlo con el arduino es la siguiente Haciendo mis pruebas lo tengo conectado asi de forma temporal para las pruebas y al meter el codigo, por el monitor serial de arduino nos dice lo siguiente: Y comparandolo con mi controlador actual de temperatura queda esto Podemos ver que la temperatura es la misma, la conexion es muy sencilla y el codigo es el siguiente Código:// El DS18B20 usa el protocolo 1-wire para comunicarse, por ello debemos instanciar un objeto con el pin del sensor... OneWire oneWire(2); // y despues instanciar los sensores pasando el objeto anterior: DallasTemperature sensores(&oneWire); void setup() { Serial.begin(9600); sensores.begin(); // Se inicializan los sensores: } void loop() { // Se lee la temperatura de todos los sensores conectados al pin sensores.requestTemperatures(); // El método getTempCByIndex nos devuelve un float de la temperatura del sensor que le indiquemos como parámetro: Serial.print("Temperatura sensor 1: "); Serial.print( sensores.getTempCByIndex(0) ); Serial.println(" Grados C"); Serial.print("Temperatura sensor 2: "); Serial.print( sensores.getTempCByIndex(1) ); Serial.println(" Grados C"); delay(500); }Espero les guste este DIY y espero tener pronto mi controlador funcionando de forma correcta, de momento tengo pensado solo crear sensor de temperaturas y controlador de luces, mas adelante iremos viendo que se puede hacer.....
Hoy me puse a jugar con el RTC Y ya conectado el RTC y el sensor de temperatura Código:#include <Wire.h> // Incluye la librería Wire #include "RTClib.h" // Incluye la librería RTClib #include <OneWire.h> #include <DallasTemperature.h> OneWire oneWire(2); RTC_DS1307 RTC; // Crea el objeto RTC DallasTemperature sensores(&oneWire); void setup () { Serial.begin(9600); // Establece la velocidad de datos del puerto serie Wire.begin(); // Establece la velocidad de datos del bus I2C sensores.begin(); // Se inicializan los sensores: RTC.begin(); // Establece la velocidad de datos del RTC } void loop () { DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); // Se lee la temperatura de todos los sensores conectados al pin sensores.requestTemperatures(); // El método getTempCByIndex nos devuelve un float de la temperatura del sensor que le indiquemos como parámetro: Serial.print("Temperatura sensor 1: "); Serial.print( sensores.getTempCByIndex(0) ); Serial.println(" Grados C"); delay(1000); // La información se actualiza cada 1 seg. }Y asi es como queda el RTC con los sensores de temperatura, en un rato mas estare testeando el lcd ya junto con el rtc y el sensor. El RTC que tengo lo compre ya armado, solo para conectar a arduino por medio de 4 pines y sea sencilla su instalacion, pero con conocimientos de electronica cada quien se puede armar su RTC Fuente de la libreria RTC y conexion
Medidor de Par La semana pasada me llego mi fotodiodo y hoy empece con las pruebas para hacer el medidor de par y poder integrarlo a la lampara, asi aprovecho a dimear por pwm y mointorear el par de mis lamparas
Re: Medidor de Par Sigo con mucho interés tu tema, que puede ser una exelénte opción para nosotros. Saludos.
Re: Medidor de Par Manny buenas noches, este tipo decontrolador se maneja con la PC ? Debe estar sioempre prendida la PC ? Como funciona ?:confused:
Re: Medidor de Par Se programa con la pc, y se puede controlar con pc modificando los parametros o se le puede poner un menu para controlarla desde el mismo controlador se puede conectar a un eliminador y no necesitas pc para que funcione
Re: Medidor de Par Que tal, veo que este tema quedo abandonado desde hace un tiempo. Y bueno, yo hice mi controlador hace unos años y cuand me retire lo vendi a alguien (digo alguien porq no recuerdo ni a quien se lo vendi). Ahora nada mas para los que quieren hace un controlador como este, yo les doy unos tips de los sensores que uso Mannycalavera: -Arduino es muy bueno para los que no sepan nada de programación y/o electronica, debido a que tiene una interfaz muy sencilla y esto es mas que nada porque para mi es un juguete con el que puedes hacer muchas cosas divertidas. -DS18b20, es bueno porq ya lo venden con su capuchita de inoxidable, lo malo es que menciono many que lo aislaran con termoretractil y con silicon a lo que yo les comentare que el termoretractil no es tan mala idea, solo hay que limmpiarlo bien ya que todos estos termoretractiles siempre tienen marca y especificaciones y estas tenemos que limpiarselas antes de meterlo al agua; y la otra es el silicon, esa si es mala idea, porque el silicon es un material aislante y generador de ciertos efectos que solo dire que son perjudiciales en las mediciones, yo les recomiendo que lo aislen con resina epoxica, con esta si no habra problema alguno. -El RTC es mejor comprarlo ya armado porque algunas veces es algo complicado hacerlo funcionar si no se sabe como conectarlo correctamente. Espero que revivan este tema porq de verdad es algo muy facil de hacer y no son aritculos muy costosos para usar. Saludos a todos...
Re: Medidor de Par Me olvide de este tema, pero ahí la llevamos con el controlador muy practico, solo me falta que me lleguen las bombas dosificadoras para hacer las pruebas
como vas con tu arduino? yo ya tengo algo de equipo para el arduino actualmente solo tengo conectado la luz y sensor de temp , falta las peristalticas que ya las tengo solo falta la conexión crees que me podrias ayudar con eso ? Enviado desde mi SM-G920I mediante Tapatalk
oye brother y le vas a poner control PID a las peristalticas,o solo mod on y offf estoy por subir un tema de bombas peristiltica impresas en con 3d lo posteo y a ver si te sirve le pondre pid para con trolarlas y Enviado desde mi SGH-I337M mediante Tapatalk
No he pedido las peristalticas aun, tu tienes la impresora 3d? el arduino mega lo ocupe para hacer una, pero aun no la puedo echar a andar, ya esta armada, pero ahora no se como hacerla jalar, los motores funcionan pero no se como configurarla o probarla :V
aja si puedo hacer la impresion 3d , no tengo el cad por que es el prototipo de la tesis de un amigo pero no dudo que lo quiera compatir,pues se pueden hacer simulacion de controles pid en matlab(simulink) y labview para controlar la posicion de un motor de corriente directa hice un proyecto de un brazo mecanico asi y pues es la base para calcular el movimiento de la bomba,lo busco y lo rolo, y te decia si on/off por que la otra seria caracterizar cual es flujo para ese motor y tu bomba y dejarla prendida el tiempo que necesites para aditar y tengo un programa directo para un pid dentro de arduino, si no la otra es un servo que ya viene con un libreria en arduino y puedes setearle los angulos, o un motor con encoder ..... no has pensado en usar raspberry trae una interfaz para conectar una pantalla y desarrollar en linux.... yo no tengo mucho tiempo entre tesis y cosas de ese estilo pero me late que alguien se haya puesto hacer algo con microsparalaspeceras y no todo sea gringo Enviado desde mi SGH-I337M mediante Tapatalk
Qué buen tema y que bien que revivió! Justo me llegaron las peristalticas hace unos días y estoy viendo como conectarlas y programarlas, por el momento es lo único que programaría con el arduino.
Mi idea es poner una funcion primero para calibrar la bomba con un contenedor graduado y de ahi que se haga el calculo de ml dependiendo del tiempo que se tardo en llenar, como los tienen las jebao
pense que las jebao tenian mas chiste( desconozco como funcionen, hablo por bombas medicas que son con las que he trabajado) y tenian una caracterizacion de volumen por vuelta asi al dar una vuelta conociendo la posición sabes que volumen y si conoces la posicion sabes en que vuelta esta por lo que el tiempo no seria el controlador de la adicion, si no mas bien los rpm te darian el volumen por lo tanto si regulas la velocidad de vuelta podrias regular el tiempo de adicion y que volumen, total la otra semana que termine el proyecto subo el post Enviado desde mi SGH-I337M mediante Tapatalk
Hay un par de temas de la calibración: 1. La primer vez... La manguerita esta vacia asi pues necesitas ponerlo a funcionar "n" vueltas para que se llene, antes de dosificar. Si cambias de bote antes del vaciado total no necesitaras este proceso pero si se ha vaciado venga de nuevo a cargar. 2. Cada bote o solucion puede tener diferente densidad o viscosidad, por lo cual el numero de vueltas como tal no te garantiza que se dosifique la misma cantidad, lo mejor es antes de dosificar al tanque, dosificar a un recipiente medidor y que sepas cuanto realmente se dosificara. Luego entonces: Cuando menos yo lo tengo asi: 1. Presion de un boton para la seleccion de la dosificadora a configurar. 2. Presion de otro boton para inicio de movimiento de la bomba sin guardar dato (esto para llenar la manguerita). 3. Presion para parar el movimiento sin guardar dato. 4. Presion de otro boton para inicio de movimiento y guardar dato. Aqui pongo el contador de segundos a CERO. 5. Presion de otro boton para parado y calculo de segundos, guardo el dato. Con eso se que esa bomba tiene que estar encendida "n" segundos. 6. Configurador de horario, aqui seteo la hora en que quiero que esa bomba se prenda, cuanto?? los "n" segundos configurados anteriormente. Para todo esto uso la SD ya que si no con un corte o similar perderia todos esos datos y configuraciones. Tendria que ver el codigo que uds tienen actualmente los puertos y demas para darles una rutina que pudieran adaptar a su controlador e hiciese todo este show pero realmente es muy sencillo. Si gustan pongan aqui su codigo y listado de conexiones, con ello y paciencia les voy diciendo que y donde, o en su defecto les paso el codigo y hasta hacemos una libreria... Saludos.
hola que bueno que habemus tema: 1.- Punto numero estoy super de acuerdo, pero si se considera eso un parametro de inicio pues se puede arreglar que las "vueltas de llenado" de volumen de la manguera se realicen previo a la adicion 2.- Con respecto a este punto tengo mis dudas y habria que discutirculo, hablamos de liquidos newtonianos? las preparaciones que se agregan para aditar al tanque no varian su viscosidad una vez preparadas o si?, y densidad o viscosidad son cosas distintas. Dado que mi suposicion es que la viscosidad no varia con el tiempo el flujo y el volumen deberia ser constante, a menos eso si que cada vez que se añada solucion "nueva para aditar" la concentracion de dicha sustancia cambie de sobre manera por lo tanto la viscosidad si puede variar,aunque dudo que si tienes preparado una solucion digamos 1 molar a una 1.2 molar en otro "bote"la viscosidad varie tanto como para afectar el efecto de succion de la bomba y que se modifique el volumen estoy de acuerdo pero no se en que medida tendriamos que hacer pruebas, aunque no estoy seguro si ya lo probaste y asi fue se tendria que hacer una pequeña caracterizacion cada vez que se cambia de bote,hay un monton de parametros, que pueden afectar y no necesariamente la "viscosidad" que son mas importantes que el area oprimida en cada vuelta sea la misma, que no entren solidos en la manguera, que el motor no presente un torque constante y las vueltas varien en velocidad. Otra seria añadir sensores de flujo(costosos) o añadir un sensor ultrasonico para cada salida y ver el volumen de acuerdo al flujo,y pues lo que pienso es añadir un motoreductor con encoder o mas bien a si lo pensaron los chicos que lo hicieron. Y si tambien asi como lo pones es una manera .;abrire un tema para ya no invadir aqui y pondre codigo y todo y estaria bueno que nos ayudaramos vientos Enviado desde mi SGH-I337M mediante Tapatalk
Pues ya llegaron las cosas para seguir jugando con el arduino, vamos a aportar todos para hacer un gran tema y podamos mejorar nuestros controladores, saludos.