Show Posts
Pages: [1] 2
1  Forum 2005-2010 (read only) / Español / Re: Arduino Hacklab Zaragoza on: December 20, 2006, 10:25:32 am
No se exactamente que es el hacklab y -de momento- vivo en Barcelona, aunque viajo a zaragoza muy (muy) frecuentemente, asi que si teneis cualquier novedad sobre esto, perfecto!

Respecto a la colaboracion, lo dicho, me ofreceria pero normalmente solo estoy por alli los fines de semana, aun asi, si eso os sirve, encantado (nota: no tengo casi ni idea de electronica, soy ingeniero informatico que tan solo hace pinitos electronicos con el arduino smiley )

Saludos,
Primijos
2  Forum 2005-2010 (read only) / Español / Re: Distancia entre pines? Alternativas? conectore on: January 14, 2008, 08:42:11 pm
Hola,

nadie se ha encontrado con un "problema" parecido? (querer montar una stripboard o una perfboard sobre el arduino)?

El tema de ir doblando patillas para que cuadre, esta vez ha funcionado, pero por los pelos... smiley
3  Forum 2005-2010 (read only) / Español / Distancia entre pines? Alternativas? conectores? on: January 09, 2008, 07:53:01 pm
Hola,

desde hace un tiempo he estado haciendo un prototipo para conectar un sensor de infrarojos y dos joysticks de una antigua megadrive al arduino, una vez probado todo, lo estoy moviendo de la protoboard a una stripboard, que voy a montar *sobre* el arduino (un NG), siguiendo la misma idea de los shields que hay en el wiki.

El tema es que me ha extrañado bastante -no lo comprobe antes, la verdad-, el hecho de que la distancia entre pines del Arduino NG no es "estandard" (o, quizas, "uniforme"). En concreto, la distancia entre el pin digital 7 y el 8 hace que una stripboard con una distancia estandard (creo que es 0.1''?) no "encaje" perfectamente sobre el arduino. Es curioso porque hay otros dos bloques de pines separados en la parte contraria del Arduino separados por una distancia que es multiplo de ese estandard, de manera que se puede encajar sin problema (el pin de 9V y el analog In 5).

Existe alguna opcion ("casera", sin comprar placas especiales) para poder montar y encajar bien una stripboard sobre el arduino? Como ya habia empezado el desarrollo, mi opcion ha sido "doblar" las patillas que habia montado en la stripboard para poder encajarla (muy malamente, la verdad) en los pines que no cuadran con la distancia estandard, pero supongo que habra una manera mas limpia de hacerlo...

Sabeis, ademas, si hay algun tipo de conector adecuado para hacer esa conexion? Como no tenia nada mas a mano, he utilizado una serie de conectores en L bastante largos (creo que son para conectar puertos paralelos, etc), eliminando la parte de arriba (la "L") y aprovechando que, al ser bastante largos, se pueden soldar a la stripboard y, aun asi, queda patilla para introducir en los pines del arduino pero, de nuevo, supongo que habra algo muuuuuucho mas limpio para hacerlo...

Saludos,
Jose
4  Forum 2005-2010 (read only) / Español / Re: dos motores + PWM + dos sentidos + 1 h-bridge? on: August 03, 2007, 05:38:46 am
Casi me respondo a mi mismo... Uso un bridge como este:

http://www.sparkfun.com/commerce/product_info.php?products_id=315

y veo que incluye diodos (literalmente "clamped diodes for inputs"), entiendo que eso ya incluye la proteccion para la corriente generada por el motor, no?

Bueno, todo sera probar y ver si no se quema nada O:-)
5  Forum 2005-2010 (read only) / Español / Re: dos motores + PWM + dos sentidos + 1 h-bridge? on: August 03, 2007, 05:28:55 am
Ok gracias!

Mas o menos suponia lo del PWM por la "cuenta de la vieja" que hice. En realidad ahora mismo no tengo dos multiplexores 2:1, y dudo que pueda comprarlos, pues me voy hoy de vacaciones a Teruel, que no es conocido precisamente por su cantidad de tiendas de electronica smiley Pero tengo un multiplexor 4:1 doble (dos entradas de 4 señales y dos salidas de una señal) que, supongo podre utilizar para montar algun circuito similar que me permita hacer 4 PWM con solo 3 PWM, teniendo en cuenta que hay combinaciones no validas (2 PWM activos en el mismo motor)

Lo de las resistencias para pull-up/down no habia caido, pero es cierto que si algun componente queda en alta impedancia deberia tenerlo en cuenta (en realidad, es mi primera prueba con motores y soy ingeniero informatico, no electrico, asi que hay muchas cosas que se me pasan por alto en un primer momento smiley )

Lo que no veo claro es lo de los diodos en las "salidas". Por "salida" entiendes el borne positivo del motor? Si utilizo los motores en ambos sentidos,  no existe "salida", puesto que la corriente se inducira en un sentido u otro en funcion del sentido de giro del motor, no? (era el efecto hall, esto? que todo campo electrico induce un magnetico y viceversa???)

Si los diodos evitan la circulacion en un sentido y la permiten en otro, poner un diodo a la entrada ("en uno de los bornes") de un motor implica que se esta eliminando la posibilidad de hacerlo girar en ese sentido, no? O quizas te refereias a montar algun circuito mas complejo a las entradas de los bornes de los motores que incluyesen diodos para evitar la electricidad inducida?

Mirare la wikipedia a ver si veo algo. Espero poder leer las respuestas en Teruel... me llevo el movil con conexion GPRS, pero casi me jugaria mi arduino a que, en mi querido pueblo -Ariño, teruel- la cobertura de GPRS debe ser una o ninguna. Esperemos que haya suerte...

gracias!
6  Forum 2005-2010 (read only) / Español / Re: dos motores + PWM + dos sentidos + 1 h-bridge? on: August 02, 2007, 05:41:18 am
Pues ahora si que me he acabado de liar... no acabo de ver claro lo de 1 señal digital para controlar el sentido mas una para la velocidad.

Los componentes que tengo son estos:

Kit Tamiya: http://www.sparkfun.com/commerce/product_info.php?products_id=319
H-Bridge: http://www.sparkfun.com/commerce/product_info.php?products_id=315

He leido en multiples sitios que lo mejor es separar la alimentacion del arduino de la alimentacion del motor, para evitar problemas de reseteos y/o quemaduras del arduino debido a los efectos del motor en el circuito. Por tanto, entendia que la alimentacion del motor (via h-bridge) tenia que ser constante y venir de una fuente externa (pila 9v de petaca, por ejemplo), y pasar la alimentacion de 5V del arduino para la logica del h-bridge + tierra tambien del arduino.

Contaba con que el resto de patillas eran las que controlaban la logica (mas los outputs), es decir: contaba con una señal digita para los Enable, los outputs conectados a los bornes del motor y las "A" (A0,1,2,3 que se mapean a Y0,1,2,3 que van a los bornes del motor) conectadas a PWM para poder controlar la velocidad y el sentido.

Haciendolo "tal cual", se necesitan -si mi teoria era cierta- cuatro salidas PWM del arduino (solo tengo tres). Entiendo que esto es posible y que el hecho de aplicar PWM a las señales de control en lugar de a la alimentacion directa que va al motor (que se coge de la pila de 9V) permite igualmente controlar la velocidad (es decir: que utilizar PWM en las señales de control acaba haciendo que estas se activen y desactiven a una frecuencia determinada haciendo que la alimentacion externa de 9V, al final, entre tambien en los bornes del motor en forma de PWM)

Es la unica conexion que veo razonable, porque aplicar PWM directamente a la patilla de alimentacion del H-BRIDGE que acaba en el motor querria decir que (a) el arduino y el motor comparten alimentacion -malo segun he leido- y (b) que la velocidad de giro de los motores vendria determinada por una unica entrada, asi que seria imposible hacerlos girar a velocidades diferentes...

Entiendo que la opcion "correcta" es la primera, no?

Si es esa, como no tengo cuatro PWMs, si quiero controlar la velocidad y sentido de giro con tres, creo que la unica opcion que tengo es echar mano de un multiplexor 4-1 doble que tengo, y montar algun esquema que me permita de/multiplexar un PWM y un GND en dos salidas alternativamente, que irian conectadas a los bornes de un motor. Para el otro podria utilizar dos PWMs tranquilamente.

Bueno, espero que eso ayude a ayudarme smiley

Saludos,
Jose
7  Forum 2005-2010 (read only) / Español / dos motores + PWM + dos sentidos + 1 h-bridge? on: August 01, 2007, 03:53:27 am
Hola, una pregunta rapida porque me temo que la respuesta es "no", pero para confirmar: Tengo en mi poder un kit de tamiya con dos motores, 1 h-bridge de cuatro salidas agrupadas dos a dos (el clasico) y un arduino "antiguo" de los que solo podia hacer PWM en tres pines. Con esta configuracion, es posible controlar los DOS motores tanto en su VELOCIDAD como en su SENTIDO DE GIRO directamente?

Me he estado mirando foros, pdfs de especificaciones, etc. pero, por lo que he encontrado, para controlar la velocidad del motor hace falta utilizar PWM y, para controlar el sentido, ser capaz de enviar corriente (pem)/tierra a cualquiera de los dos polos, lo cual quiere decir -si no me equivoco- que para controlar la velocidad con PWM y el sentido del motor, es requieren dos pines con capacidad PWM por motor, siendo dos motores, necesitaria cuatro y solo tengo tres... asi que no se puede hacer.

Es correcta esta suposicion?

Gracias!
Jose
8  Forum 2005-2010 (read only) / Español / Re: Aumentar alcance sensor infrarojos? on: December 23, 2006, 03:24:53 pm
Bueno, parece que finalmente he podido avanzar, dejo aqui nota de los temas por si alguien se encuentra alguna vez algo similar:

* Sigo sin conseguir nada aceptable con el fotodiodo, asi que he decidido ignorar esta opcion, y mas despues de ver las hojas de especificaciones de los otros receptores (los de tres patillas), donde aparecen amplificadores, filtros, etc. incluidos en el "capuchon"

* Consegui ayer unos receptores infrarojos de tres patillas ("los clasicos de los esquemas de internet"), pero no conseguia absolutamente nada. Despues de bajar hoy a la tienda de nuevo, he averiguado que el patillaje es diferente... utilizando las conexiones correctas, puedo recibir las señales del infrarojos sin problemas. Nota: el modelo es el SFH5110, que utiliza un patillaje diferente al del "estandard" TSOP1738. Ademas, tiene menos alcance que el TSOP1738

* He conseguido un sensor TSOP 1738, este funciona perfectamente con los circuitos que hay por internet y el arduino. Ademas, el alcance es mayor que el anterior.

Bueno, ahi lo dejo. Ahora voy a pelearme con el arduino y el linux a ver si puedo cambiar de canal sin levantarme del sofa smiley

Saludos!
Jose
9  Forum 2005-2010 (read only) / Español / Re: Aumentar alcance sensor infrarojos? on: December 23, 2006, 05:40:44 am
Bueno, en realidad a señal la envio desde el mando a distancia de un DVD, con lo que ya esta modulada. De hecho ya tengo un programa que, usando ese mando a distancia para enviar las pulsaciones al sensor original (frontal del DVD desmontado) conectado al Arduino, lee los pulsos en el pin 8.

El tema es que quiero investigar mas cosas sobre ese frontal (como funciona el display LCD, etc.) y mientras queria tener un control remoto funcionando, asi que he intentado montar un pequeño circuito para tener un receptor de infrarojos conectado al PC pero me encuentro con eso: con el fotodiodo de dos patillas necesito poner el mando a menos de 1cm, y con uno de tres patillas que compre ayer ni con esas (aunque ya os digo que es altamente probable que en uno de los experimentos de cableado me haya cargado el componente)...


Voy a bajar a por unos cuantos receptores mas a ver si al final consigo algo... son baratos, pero a fuerza de comprar tantos me va a salir por un ojo de la cara. Esta vez le remarcare al hombrecillo de la tienda que sean modulados a 38KHz, por si las mosquis (aunque no se si cambiara mucho, porque lleve el de un video que tenia tambien para juguetear de muestra)

Saludos,
Jose
10  Forum 2005-2010 (read only) / Español / Re: Aumentar alcance sensor infrarojos? on: December 22, 2006, 05:33:48 pm
Hola,

pues el esquema del circuito es el mismo que en la figura 3 ("Fig.3 IR Receiver Schematics") de la pagina que he indicado en el primer post. Las conexiones son sencillas: 5V a los 5V del Arduino y la toma de tierra a GND de Arduino, mas un cable en la misma posicion que la señal "AI 1+" que va al pin 8 del Arduino (del que leo). Es decir: el fotodiodo en serie con la resistencia, la toma de 5V al fotodiodo y GND a la resistencia, y tomo la señal en el pin 8 con un cable entre el fotodiodo y la resistencia.

Cuando detecto variacion en la señal detecto el pulso que envia el emisor (el mando a distancia), es decir: variaciones 0-1 (hago lecturas digitales, no analogicas) en funcion de los pulsos mandados por el emisor.

Respecto al control remoto, conozco lo que emite, porque tengo el equipo original al que le he desmotando el frontal, donde va un receptor original, y pinchandolo al arduino he conseguido determinar que utiliza RC5 para enviar codigos. El problema es que no consigo detectar ningun pulso si el emisor esta a mas de 1cm.

Hoy he bajado a una tienda de electronica por el centro y he comprado un par de receptores de infrarojos como los que van montados en ese frontal (receptores de tres patas), pero con estos (segun este circuito: http://lnx.manoweb.com/lirc/?partType=section&partName=circuit) no consigo recibir absolutamente nada... La verdad, ya incluso empiezo a dudar de que las patillas no esten mapeadas como indica el circuito y haya quemado algo :-/

Creo que evidentemente hay algo que se me escapa en esto de los receptores de infrarojos... :-)

Cualquier pista, bienvenida.

Gracias por la colaboracion
Jose
11  Forum 2005-2010 (read only) / Español / Re: Aumentar alcance sensor infrarojos? on: December 21, 2006, 04:05:36 pm
Por cierto, si alguien pudiese explicarme brevemente la diferencia entre los receptores de infrarojos de tres patillas y los de dos patillas, le estaria muy agradecido (quizas con esa explicacion me daria cuenta de si lo que estoy pretendiendo montar no tiene mucho sentido, y necesito un receptor de tres patillas en lugar del fotodiodo o dos patillas)

Saludos,
Jose
12  Forum 2005-2010 (read only) / Español / Aumentar alcance sensor infrarojos? on: December 21, 2006, 03:59:38 pm

       Hola,

       he montado un pequeño circuito con un fotodiodo (creo que es un fotodiodo, vaya: es igual a un led pero con el cristal oscuro, con dos patas en lugar de las tres patas que tienen la mayoria de sensores de infrarojos que aparecen en circuitos caseros por la red, o del receptor de infrarojos que traia de serie el DVD al que le he "tomado prestado" el mando a distancia) segun el circuito que hay aqui:

http://cnx.org/content/m13775/latest/

       para detectar con el Arduino las señales de infrarojos que envia un mando a distancia, pero no consigo detectar nada si el emisor (mando de distancia) no esta a menos de 1cm del receptor y perfectamente alineados (los tiempos de los pulsos, ademas, no me cuadran con lo obtenido con el sensor infrarojos original, pero de eso ya me preocupare mas adelante)

       No se si es porque el circuito es muy "simplon", porque el "fotodiodo" en realidad es malo, etc. y la verdad es que no se si hay que montar un circuito mas complicado para que el receptor sea mas sensible y por tanto el emisor pueda estar a algo mas de 1cm (vamos, unos metros estaria genial). He visto circuitos mas complejos, pero todos con un receptor de tres patillas en lugar del de dos que yo tengo.

       Alguien tiene alguna indicacion al respecto? Gracias por adelantado!

       Jose

PD. el receptor que he conseguido es muy parecido al que aparece en la primera imagen de este articulo: http://en.wikipedia.org/wiki/Photodiode
13  Forum 2005-2010 (read only) / Español / Re: micros() ademas de millis()? on: December 21, 2006, 03:51:31 pm

Si a alguien le interesa, al final la formula que *parece* que funciona es:


micros = (timer0_overflow_count * 256 * smiley-cool / (F_CPU / 1000000)

Saludos,
Jose
14  Forum 2005-2010 (read only) / Español / Re: micros() ademas de millis()? on: December 20, 2006, 09:50:43 am
De momento me respondo yo mismo: haciendo unos pequeños numeros, he llegado a la conclusion (poco fiable) de que quizas esta formula sea buena (para 16Mhz de velocidad de reloj del ATmel8):

micros = timer0_overflow_count * 256 * 8 / 16 = timer0_overflow_count * 16 * 8

que os parece? (tengo pendiente probarlo) La logica es la siguiente:

* segun el codigo de arduino, la interrupcion del timer0 se produce cada 8 ciclos, causando un overflow al llegar a 256

* Asumiendo 16000000 ciclos por segundo (16Mhz), se deduce que:

       * 1 ciclo equivale a 1/16 microsegundos
       * 16 ciclos equivalen a 1 microsegundo

de ahi el razonamiento:

        micros = total ciclos transcurridos / ciclos por microsegundo

        siendo total ciclos transcurridos= overflows * 256 * 8
        ciclos por microsegundo = 16

        haciendo numeros con un unsigned long de 32 bits da un numero maximo representable de 4294967295 para el contador total de ciclos, lo que equivaldria a poder contar unos 4294 segundos antes de tener que controlar un overflow.

        Si puedo esta tarde lo probare e incluire aqui los resultados del experimento, pero mientras tanto, si alguien intuye algun error garrafal de concepto, le agradeceria una correccion smiley

       Saludos,
       Jose (idem que primijos)
15  Forum 2005-2010 (read only) / Español / micros() ademas de millis()? on: December 19, 2006, 11:06:23 am
Alguien ha conseguido una funcion similar a millis() pero para calcular diferencias de tiempo en microsegundos, algo como micros() o microseconds()??

Necesito una funcionalidad similar para calcular diferencias de microsegundos entre interrupciones (necesito medir pulsos de 0/1 de un sensor infrarojos, pero no quiero tener el arduino bloqueado haciendo unicamente eso, asi que he decidido hacerlo con interrupciones en lugar de pulseIn(), que ya me funciona), he mirado la implementacion de millis() que basicamente es:

      timer0_overflow_counter *2 *8 / (FCPU / 128000)

y he probado a cambiarla, de todas las maneras posibles (multiplicando por mil arriba, dividiendo por mil FCPU, dividiendo por 128000000 en vez de 128000), pero no consigo numeros "buenos" (normalmente, 0, 1 o 2 o 2^32-1 (overflow?) [cuando deberian ser aproximadamente entre 900 y 1800 microsegundos], alguien ha necesitado / conseguido algo similar?

Gracias
Primijos
Pages: [1] 2