Show Posts
Pages: [1] 2 3 ... 106
1  International / Software / Re: Implementando Grafcet en Arduino on: March 21, 2014, 10:47:56 am
Mira esto => http://forum.arduino.cc/index.php?topic=75826.0

Busca en google por "finite state machine"
2  International / Español / Re: Sensor de caudal FT 110 con salida Digital (frecuencia) on: March 21, 2014, 10:29:14 am
Si, es para medir la longitud de pulso. El duty cycle es siempre el mismo (fácil de sacar), así que midiendo el tiempo a ON, sabes la frecuencia. Sabiendo la frecuencia, es proporcional al caudal. (sólo con el ton también podrías, pero es una funcion 1/x (periodo es inverso de frecuencia) así que el error en la medida puede ser muy grande en caudal).

El problema de "contar" pulsos en un determinado tiempo (para sacar caudal), a bajos caudales el error es muy grande. No tienes más que hacer las cuentas, y te darás cuenta....

La mejor manera es usar un timer para medirlo, pero bueno, pulsein funciona bien y es inmediato. Yo tengo un par de sensores de caudal funcionando así y va bien.... Además puedes tener timeout en la función.
3  International / Español / Re: Sensor de caudal FT 110 con salida Digital (frecuencia) on: March 18, 2014, 04:22:44 pm
Hola,

Una manera de hacerlo es usando PulseIn.
http://arduino.cc/en/Reference/PulseIn

Saludos,

Igor R.
4  International / Software / Re: PID on: February 07, 2014, 02:38:07 pm
Asi a grandes rasgos sin entrar en detalle....De 1/10 a 1/100 del settling time




Saludos,


Igor R.



5  International / Hardware / Re: que diodo usar para unificar señales on: January 04, 2014, 03:53:33 am
Yo lo que me refería, es que NO necesitas ningún hardware externo para hacerlo ya que se puede generar una interrupción ante un cambio de estado de cualquier pin.

Saludos,


Igor R.
6  International / Hardware / Re: que diodo usar para unificar señales on: January 03, 2014, 10:38:41 am
Hola,

El micro dispone de interrupciones ante cambios de pin ("Pin Change Interrupts") además de las dos externas INT0 y 1. Puedes mirarte el datasheet o buscar alguna librería tipo a http://playground.arduino.cc/Main/PinChangeInt (https://code.google.com/p/arduino-pinchangeint/)

Saludos,

Igor R.
7  International / Español / Re: Máquina de estados: Librería FSM on: December 27, 2013, 11:43:44 am
Hola,

Has usado paréntesis () en vez de {}

Quote
// Estructuras descriptivas de mi diagrama de flujo
const FSMClass::FSM_State_t FSM_State[] PROGMEM= {
// STATE,STATE_FUNC
{STATE1,func1},
{STATE2,func2},
{STATE3,func3},
(STATE4,func4),
};

Saludos,

Igor


8  International / Español / Re: Máquina de estados: Librería FSM on: December 27, 2013, 05:10:39 am
Hola,

Mejor sube el código para poder echarle un vistazo.

Salu2,


Igor
9  International / Español / Re: electronica impresora 3D - SAV MkI on: December 22, 2013, 06:07:53 am
Como siempre... Muy buen trabajo fm!!

 smiley-wink
10  International / Hardware / Re: Monitorizar inyectora indrustrial - pasar a 3,3V señales de 24V on: November 08, 2013, 01:37:27 pm
Hola,

Como te han recomendado, lo mejor es optoacoplar... pero si quieres conectarlo directo, para una señal digital, no necesitas  divisor de tensión.
Pon una resistencia muy grande entre la salida digital y tu entrada del Arduino.

¿por qué puedo hacerlo?
El micro tiene en todas sus entradas unos "clamp diodes".

La corriente debe ser menor de 1mA para no cargártelos. Si tienes curiosidad, tienes una nota de aplicación de Atmel que hacen un detector de paso por cero conectando directamente la señal de red eléctrica (http://www.eetasia.com/ARTICLES/2003APR/A/2003APR25_EMS_MPR_AN08.PDF?SOURCES=DOWNLOAD).

Pero la mejor opción es optoacoplar smiley-wink

Saludos,


Igor R.
11  International / Hardware / Re: Como variar la frecuencia en las salidas PWM de Arduino on: November 08, 2013, 01:23:23 pm
http://playground.arduino.cc/Main/TimerPWMCheatsheet

Saludos,

Igor
12  International / Software / Re: separar comandos por "," en serial on: November 08, 2013, 01:10:49 pm
Hola,

Si no quieres reinventar la rueda, y tener algo funcional en cuestión de minutos, usa esta librería:
http://www.freaklabs.org/index.php/Tutorials/Software/Tutorial-Using-CmdArduino.html
https://github.com/fakufaku/CmdArduino

O si no, puedes mirar las "tripas" para ver como utilizar strtok() de C para ayudarte a separar comandos (tokens). La librería separa por espacios " ".

Saludos,

Igor
13  International / Español / Re: Automatización de Dispositivo porta lingoteras on: November 01, 2013, 11:21:07 am
Hola,

Por casualidades de la vida, yo estoy haciendo algo que te podría ayudar....Estoy trabajando en ello y publicaré todo cuando termine. Pero esto no será inmediato.

Parte de lo que estoy haciendo, es control de un motor mediante un variador con Arduino (tengo 3 tipos de variadores diferentes...). El control del variador lo hago mediante su entrada analógica (target de velocidad) y su los puertos digitales para el sentido de la velocidad (fwd/rwd/stop).
En el motor, se tiene un sensor HALL para el feedback de la velocidad (y porque se necesita contar el número de vueltas para una de las funciones que tiene que hacer).

Utilizo un Arduino Mega (Atmega 2560), la entrada es un sensor HALL que da un pulso por vuelta y la salida del control PI de velocidad es un DAC de 12 bits de resolución (MCP4725).

He programado un control PI genérico en Arduino, el cual permite configurar:
- Tabla feedforward (open loop) guardada en memoria de programa (rpm Vs voltage).
- Constantes Kp e Ki
- Margen de rpm para que la parte integral empiece a actuar (windup) y un delay cuanto tiempo tiene que estar dentro de dicho margen.
- Glitch detection (para el sensor Hall).

Todos los parámetros son configurables mediante puerto serie. He creado comandos para controlar todo. Esto se hace mediante sentencias tipo SET y GET. Por ejemplo, GET ERROR me devuelve el error actual ó SET SP 1200 cambia el setpoint a 1200 rpm, etc
Para tunear el control, se puede habilitar una rutina que hace oscilar entre dos velocidades y saca los datos serie para monitorizar usando el Stamp Plot Lite por serie... Adjunto unas capturas de ejemplo (saca la velocidad medida del Hall, el error, la término feedforward, el término proporcional e integral).

Pero hasta dentro de 2 meses o así no estará disponible...  smiley-eek
Seguramente podrías reutilizar parte del código,aunque tu control es de posición si no he entendido mal....pero si lo necesitas ya, lo único que puedo contarte de momento es el HW que utilizo....
Para el sentido, lo controlaré con relés, porque en mi aplicación no se cambia el sentido rápido.

* http://arduino.cc/en/Main/ArduinoBoardMega2560
* http://www.adafruit.com/blog/2012/07/24/new-product-mcp4725-breakout-board-12-bit-dac-wi2c-interface/
En el invesor, la entrada es de 0 a 10 voltios, pero te deja cambiarle la ganancia o bien los valores máximos y mínimos. Para mi aplicación,  de 0 a 3V3 me es suficiente.

Tendrás que mirar el tema de optoacoplar siempre que puedas. Yo probé a generar la señal de control de velocidad mediante PWM + filtro paso bajo, pero no tenía buena resolución para mi aplicación. Así que opté por el DAC externo controlado por I2C (el SPI lo quiero para el controlador CAN bus externo).

Ánimo,


Igor R.




14  International / Hardware / Re: como medir distancias entre dos puntos on: October 22, 2013, 03:54:46 pm
Hola,

Una idea más sencilla....  Pones una camara de fotos que este a nivel en el centro de la habitación y perpendicular a la pared, le pegas un metro y sacas una foto... luego con el programa de CAD (ejemplo autocad), abres la foto y escalas usando el metro que tienes en la foto y a partir de ahi te dibujas todo usando la foto de background.
Eso si, sólo para 2D... ¿no te vale algo tan sencillo como ésto? Una vez escalada la foto, tienes las ventanas, bordes, etc

Ejemplo para enteder lo que digo... sacas una foto frontal a un coche, y luego escalas usando una medida conocida (ej: la matrícula) y luego ya puedes dibujarte la silueta sin problema. Eso si, necesitas estar perpendicular al objeto para no cometer mucho error.

En 3D lo he visto hacer con un proceso que se llama fotogrametría...pero claro, esto no es barato... smiley-wink
Es como se copian piezas ó como modelos creados a mano los pasas a nube de puntos para programas de CAD....

Saludos,


Igor R.

15  International / Proyectos / Re: Proyecto "auto confort" on: September 24, 2013, 03:08:19 pm
Hola,

Si me permites un consejo, las luces de cambio es algo sencillo, no requiere mucha instalación en el coche y vistoso. Es buen proyecto para empezar y a la vez motivador. A partir de ahí, puedes ir mirando cómo implimentar las otras dos funciones.

Saludos y ánimo,


Igor R.
Pages: [1] 2 3 ... 106