miliamperios.com

Bootstrap Framework 3.3.6

Más de una docena de componentes reutilizables construidos para proporcionar iconografía, menús desplegables, grupos de entrada, navegación, alertas, y mucho más ...

Todo lo relacionado con el estudio, diseño y funcionamiento de circuitos y componentes electrónicos relacionados con el radio control. Fundado el 4 de Octubre del 2006.

Moderador: Moderadores

Por Xispas
#432584
Muy buenas.

Soy nuevo en este foro, aunque llevo ya bastante tiempo consultandolo.Entre este y otro foro, me decidi a armarme mi propio avion. Los planos son los de un señor que ha hecho aviones de menos de 1 gramo hasta unos 10gr, de los cuales me gustó y me pareció asequible el MONO, del sr Martin. Muy buena pagina.
Este avion necesita de muy reducido peso, el del autor pesa 9,2-9,3gramos y yo he conseguido hacerlo con un peso de unos 9,5 gramos.

Dado que el chasis es lo mas fino en carbono que he encontrado, el entelado film de cocina... el motor y demas elementos no puedo modificar, por ahora, estoy pensando en reducir el peso del receptor. De momento para las pruebas utilizo uno de estos de minicoches,que entre bobinas...condensadores y aun haciendo modificaciones, no me convence.

Otro personaje, Koichi, dispone en su pagina de varios modelos de sencillos(relativamente) receptores por infrarojos.
La idea seria realizar un control a medida para mis necesidades, con un codigo versatil.

De momento he realizado algunas pruebas, con un 16f84 para recoger el valor proporcional del tiempo de descarga de un condensador por cada uno de los canales del transmisor. De este modo, tenemos un valor en tiempo del valor del potenciometro del stick.
Algo he conseguido pero no del todo satisfactorio. Tambien he realizado pruebas para realizar las transmisiones por infrarojos. Con un sencillo circuito con un LM555 trabajando a 40Khz, como el TSOP4840 receptor de infrarojos, con demodulador de la informacion en esos 40Khz internamente(tenemos la señal tal cual sale del pic transmisor).
Tambien he trabajado en la parte del receptor, la medicion del ancho del pulso recibido, e intentos de conseguir sacar un PWM para los canales sin casi interrupciones por culpa de(disculpen la redundancia)interrupciones internas y externas del pic(int por RB0).

Los pics barajados para el receptor son el 12f629(creo que trabaja con tensiones bastante menores de 5v) o 12f509, y el emisor un 555(koichi integra en el pic la modulacion a 40KHZ) con un 16f84.

La programación del software la hago con el Hitech pic lite. Mañana pondre algo de soft porque me gustaria la colaboración de mas personas ademas de compartir la informacion. Por supuesto agradeceria cualquier idea para mejorar y su ayuda.
Disculpen tanto rollo

Un Saludo!

-Xispas-
Por zurdo
#432645
Dices...
Xispas escribió: De momento he realizado algunas pruebas, con un 16f84 para recoger el valor proporcional del tiempo de descarga de un condensador por cada uno de los canales del transmisor. De este modo, tenemos un valor en tiempo del valor del potenciometro del stick.
Lo siento pero no te entiendo.

No sé si voy a decir algo evidente, ya que no he entendido lo que has hecho, pero yo lo que haría es usar, tanto para el transmisor como para el receptor, los componentes estandar que se usan para un mando a distancia de los de tele (codificador y decodificador). En lugar de emitir siempre el mismo tren de pulsos como envían los mandos a distancia, puedes enviar contínuamente (usando esa misma codificación) "paquetes" de datos con estructura conocida que lleven codificada la posición de cada canal (por ejemplo, entre 1 y 255). Al ser un envío contínuo, si pierdes paquetes o trozos de paquetes no pasa nada, basta esperar al siguiente.

El receptor, en el que de todos modos vas a meter un microcontrolador, puede encargarse de decodificar los paquetes de datos y de hacer el PWM para enviar a los servos.

Vamos, que me ha parecido entender que vas a transmitir modificando la duración del pulso, y yo lo que haría es mandar ya la información en paquetes digitales, usando la codificación estandar de los mandos a distancia.

Perdona si he dicho algo evidente o incongruente, mi experiencia con los PIC no es mucha y con infrarrojos he hecho aún menos cosas.

Tal vez ya lo conozcas, pero puedes echar un vistazo al código de "Lirc" (www.lirc.org). Hay incluso un esquema de receptor que te puede dar ideas (va mediante interrupciones a la CPU del PC, aunque tal vez parte del software te sirva)

Bueno, nada más. Animo y suerte.

Cristian
Por Xispas
#432761
Hola Zurdo,
El tema de enviar los datos en digital tambien es factible, pero para mi, es mas complicado que el sistema que propongo. Tendriamos que usar conversores A/D para pasar la informacion de los potenciometros de los sticks a un valor digital, este valor digital cogerlo en el tiempo y enviarlo codificado. De la forma que propongo enviamos el ancho de pulso tal cual sale de la red RC(resistencia condensador) y que leemos con el pic( se podria hacer sin Pic, con operacionales como comparadores, pero creo que con un pic, y la interrupcion por cambio de estado en el puerto B, RB4 a RB7 podriamos detectar ese 1 o 0 segun se haga por carga o descarga del condensador.

Este sistema ademas nos ahorra el tener que usar un pic con conversores como el 16f877 por ejemplo o A/D externos. Creo que cuanto mas sencillo sea mejor.

La idea es muy simple, saco un 1 por un puerto y cargo un condensador con una R proporcional al stick( el condensador tiene un tiempo de carga 5RC, si la R es nuestra variable, el tiempo de carga se ve modificado segun esta R. Despues de este tiempo, el condensador se carga y nos proporciona un 1 logico en otra puerta del PIC. Ya tenemos un tiempo desde que damos el 1 hasta que lo recibimos por otro puerto. Este pulso con un ancho proporcional al Stick lo enviamos tal cual con el sistema que comente, un sencillo 555, que por supuesto mas adelante la idea es integrarlo en el propio Pic, pero para las pruebas bien sirve.

Al utilizar un 555, ademas nos permite modificar la frecuencia por si nuestro receptor de infrarojos es diferente de 40KHz, 38khz,56khz, etc... con tan solo ajustar un potenciometro.

La pagina Lirc esta muy bien, pero es mas de cara a codificaciones del estilo RC5, las de los mandos de tv por ejemplo.

Gracias por la idea. Y disculpen si no me expreso muy bien.

A ver si hoy pongo un esquemita de la idea en si.

Un saludo! ;)
Adjuntos
PIC_0036.JPG
Con el receptor del piccoz para las primeras pruebas jejeje.
Por Xispas
#432774
Aqui un esquemita del circuito emisor. Faltaria la parte del 555, donde en lugar del led infrarrojos, la entrada de reset del 555.
Adjuntos
Esquema emisor IR.JPG
Avatar de Usuario
Por ceuti
#432970
Una pregunta, seguro que se me ha pasado por alto. Como descargas el condensador¿?
Por zurdo
#433531
Dos cosas:

- Usando el método que describes obtienes de todos modos un valor digital en el PIC (medido en tiempo). Ya te has ahorrado el conversor A/D.

- Otra cosa.... puede que al final los componentes del receptor (al menos tal como yo lo planteaba) acaben pesando más que un receptor de radio estandar de los más pequeños (que usan componentes de montaje superficial), con lo que todo dejaría de tener sentido. Echa cuentas, una plaquita pequeña, más un PIC, más el receptor IR, más los componentes pasivos... No lo tengo nada claro, a no ser que te vayas a montaje superficial, que yo nunca he usado.

Puede que salga más caro (=más pesado) el collar que el perro.
Por Xispas
#433659
Buenass,

Ceuti, poniendo a 0 el pin de carga descargamos el conensador.

Zurdo, en cuanto al receptor, ya tengo un prototipo de la placa, a falta de sustituir unos npn creo que eran, por mosfets para controlar el motor. La placa es placa de cobre normal, con el grosor de fibra lijado a menos de la mitad,( aun se puede lijar un poco mas). El peso del receptor esta por debajo de 1 gr, mientras que los receptores de los coches segun datos por internet, aun no he podido pesarlo, ronda entre 2 i 3 gramos. Quitando el conensador del convertidor dc-dc y alguna cosita mas se les reduce el peso...pero me sigue pareciendo excesivo.


Los componentes del receptor teniendo en cuenta :
-Uso una bateria lipo de 3,6v
-12f629(no necesitamos de circuito dc-dc)
serian pocos:
-PIC SOIC 150milis
-Placa
-Mosfet para control del motor
-Receptor infrarojos
-Interruptor
-Algun led...
Todo exceptuando el receptor, que tengo que mirar si existen modelos para soic, que no creo, son en SMD.

En cuanto a lo del valor digital, por supuesto que es digital,(proporcional al stick que es lo que queremos).

De la placa y del receptor de infrarrojos se puede quitar algo de peso, lijando plastico y fibra.
Adjuntos
PIC_0041.JPG
Por zurdo
#434222
Yo hice mis cálculos usando DIP y componentes "estandar" (los que siempre he usado), con lo que me salía algo mucho más grande y sensiblemente más pesado.

Por lo que veo, lo tienes ya bastante encaminado. No dejes de contarnos tus avances.

Gracias

Cristian
Por tonick
#434458
No si os servirá esta idea que voy a exponer. Solo es valida si se quiere montar un mando de un canal. La idea es muy sencilla. Consiste en usar un receptor I.R. de los que se usan en tv, video... Estos receptores tienen tres pines (positivo, negativo y señal) La salida de señal es compatible con la señal que necesita un sevo. Con esto ya tenemos el receptor y servo. Ahora solo falta construir un modulador de un canal que atacará a un diodo de infrarojos. Se puede usar como emisor un servo tester que ataque al led infrarojo
Avatar de Usuario
Por zaapa
#434568
por 35 euros te compras un piccoz si kiers y kitas la electronica,

puedes valor un par de veces el heli, y ya a la 3º se rompe y puedes usar la electronica =)

un saludo
Por Xispas
#434625
Buenas a todos!

Zurdo, la idea es hacerlo en smd dado que deberia pesar menos de 1 gramo en conjunto el receptor.
Ahora estoy trabajando en realizar la carga del condensador con corriente constante por que al mover el stick del potenciometro a un valor de resistencia bajo, influye considerablemente en el ancho de pulso leido por el pic, pero al aumentar la resistencia del pote, el incremento del pulso es menor. Supongo que sera por que la carga natural de un condensador es una exponencial.

Tonick, mmm el tema es que no utilizo servos. El peso de un micro servo es demasiado grande para el avion que estoy diseñando. Para la direccion del mismo utilizo un actuador magnetico, una pequeña bobina con un iman en su interior que segun el sentido de la corriente se desplaza hacia un lado u otro.
Si lees los mensajes anteriores ya comento que realizo la emision con un 555 modulando a 40khz, frecuencia a la que trabaja el receptor de infrarrojos TSOP 4840 que tambien comento que demodula y te saca la señal tal cual inyectas al reset del 555.

Zaapa ....El piccoz que ya tengo desmontado y ya he utilizado para las primeras pruebas de vuelo del avion. Solo permite controlar el motor del avion(para saber si vuela ya llega). El motor de cola no se puede adaptar a un actuador magnetico. Ademas que esta esta siempre en una tension de 2-3 voltios con carga, y aumenta para corregir el movimiento de cola segun la velocidad del rotor principal.
Otra cosa mariposa, tu crees que vale la pena gastarse 35 euros en un Piccoz para utilizar el receptor?????
La idea de este proyecto es que el coste sea minimo.

No sirve....Ademas, le he echo mas de 50 vuelos y no se rompio,mas bien lo desmonte por curiosidad y por trastear.

Si hago este proyecto es para diseñar mi propio sistema de comunicacion, y que cualquiera que sepa un pokitin de C pueda modificarselo para el uso que quiera.

Si alguien me pudiera ayudar aportando ideas sobre el proyecto que comento...A ver si esta semana que ando mas relajado de examenes pongo el software. Ahora lo estoy adaptando para poder utilizar un circuito de carga constante del condensador.

Un saludo y gracias
Por zurdo
#434744
No me ha quedado claro cómo es el protocolo de comunicación. Vas a modular por amplitud de pulso, pero no sé ni cuantos canales vas a usar ni como vas a diferenciarlos.

Si lo explicas un poco más igual puedo ayudar en algo, si no lo veo difícil.
Avatar de Usuario
Por cespum
#434851
Xispas, primero felicidades por ese proyecto, tiene un trabajo impresionante.
He leido el post y únicamente queria plantearte si has barajado la opción (para el emisor) de un pic que tenga convertidores analógicos (16f876) ya se que es un poco mas grande que el 16f84, pero no mucho mas caro (en la página d emicrochip puedes encontrarlos al mismo precio), te lo digo porque la lectura del potenciometro te la simplifica mucho y te deja mas libertad para programar la modulación de señal al IR.
Los programas desarrollados para el f84 los puedes incorporar prácticamente sin cambiar nada el el f876.
Un saludo y sigue contándonos tus avances.
Por Xispas
#435060
Buenas !

Perdona zurdo, quizas hay cosas que se me escapan de explicar...es que me podria extender parrafos y parrafos de mis ideas jejeje pero no es plan.
No modulo por amplitud de pulso como en am...seguramente la expresion esta mal dicha, me refiero al tiempo del pulso en 1. Modulo con una onda cuadrada de 40Khz, frecuencia a la que el receptor de infrarojos demodula y te saca el pulso(con mayor o menor tiempo en 1 segun la posicion del stick)
Este sistema lo utilizan las emisoras normalillas, emitiendo hasta 8 pulsos por decir algo con un ancho de pulso determinado para cada canal. El receptor coge el primero, de ese tren de pulsos y sabe que es el primero seguido del resto de canales, luego hay un periodo de tiempo en 0. Normalmente el primer pulso suele tener un tiempo en 1 definido, para interpretarlo como cabecera.

Inicialmente la idea es hacer solamente dos canales, un motor(desde min a max) y un actuador magnetico que movera el timon(min, centrado, max) por supuesto de forma proporcional.

Hola cespum, pues sips...lo habia barajado, e incluso tengo unos cuantos de muestras....xDDD Pero hace un tiempo ya andube haciendo unas pruebas con el 16f876 y 877(incluso acabo de diseñar un entrenador para estos pics en clase) y unos lm35, sondas de temperatura, y no consegui hacerlo. Me pase por unos foros muy buenos sobre los pics, pero lo que encontre era para compiladores tipo ccx5,cosa que no estoy muy metido. Y no supe adaptarlo para el piclite. El tema es que simplificaria mucho, pero de momento no tengo conocimientos sobre como usar los a/d's(creo recordar que habia que configurar la resolucion, y tener una vref) Esta tarde en clase estuve acabando de perfilar lo del generador de corriente, variable segun el potenciometro, y de este modo llegando antes o mas tarde a generar el 1 en el pic. En si es un diente de sierra. A ver si consigo hacer un codigo que mas o menos funcione para realizar la captura de un canal.
Pero que vaya, que lo suyo como comentas cespum seria integrarlo con un 16f876, mas chiquitin que el 877. Pero tambien....da pena desaprobechar tantos puertos..jejej.
Intentare terminar la captura con este sistema por el momento y ya pondre el codigo, alguien con el hitech pic lite???


Por cierto, queria comentar que para hacer las placas de circuito impreso, para smd no es tan complicado como puede parecer, hay sistemas con impresora laser y la plancha de la ropa que van muy bien, con definiciones buenas de pistas de menos de decima de 2,54mm.

Un saludo!
Por odmoir
#437676
Yo he usado alguna vez un 12F683 para leer canales analógicos y no es muy dificil, y menos si usas el PicBasic. En una sola instruccin lees una entrada analogica.
Por Xispas
#438140
Hola odmoir.

El tema es que no se programar en PicBasic. En C tambien es una instruccion o poco mas. Pero ya tengo funcionando la idea que comente, este finde no he podido avanzar mucho el tema, pero esta semana que viene montare el segundo canal. Como ya comenté, mas adelante la idea es integrarlo todo con un 16f877 o 876.

Hoy andube planteando como recibir las señales y sacar dos pwm para controlar motor y bobina de timon(dos salidas con 4 transistores para manejar los dos sentidos de corriente de la bobina).

El tema seria, que los dos canales enviados con un ancho en tiempo de pulso proporcional al stick, fueran en nivel logico cero, con pulsos con ancho fijo en 1. Entre dos flancos de subida de estos pulsos en 1 tendriamos el ancho del pulso del canal.


Del otro modo, habria que cambiar la deteccion de flanco de subida, a bajada, y la verdad es que no se si se puede, mañana lo probare.

Saludos! y gracias.
Por neuro
#455005
dios que pena no encontrar esto antes ,me interesa muy mucho esto y montar uno.
Por Xispas
#456591
Hola Neuro, si te fijas..lo comento en el 3 parrafo del primer mensaje. Les pido disculpas por descolgarme un poco del hilo. Por motivos familiares...ahora mismo no estoy para andar con proyectos.

Supongo que en un tiempo continuare este proyecto. Incluso mas por un reto...

Saludos a todos y muchas gracias por vuestras ideas y comentarios.

XiSPaS.
Por zeroking
#458719
una pregunta q no tiene muxo q ver... los plans dl avion, d dnd los has sacado?la verdad es q me interesan muxo. gracias, un saludo
Avatar de Usuario
Por RaDoN
#458735
¿que lenguaje tienes pensado usar para el PIC?

Te dejo un link con los protocolos de comunicacion por IR mas comunes. (también explican un poco el tema del TSOPXX para los que no sepan de que va)

Imagen

http://www.sbprojects.com/knowledge/ir/ir.htm
Por Xispas
#481882
Buenas Señores/as

Aqui estoy de nuevo. En nada acabo las clases asi que continuare con el proyecto del control por infrarojos.

zeroking solo tienes que leer el primer o segundo post de este hilo. Comento que los planos son de un tal señor Martin y que el modelo es mono, simplemente haciendo un google lo encontraras Martin's mono.

Radon, lo mismo te digo, solamente tienes que leer los posts del hilo para ver que comento que utilizo C con el compilador Hitec pic lite.
La pagina que me dejas son protocolos para mandos de television, una forma un tanto diferente y digital de transmitir la informacion. De momento la idea es generar dos pulsos con un ancho en tiempo proporcional a la velocidad o direccion.

Por favor, leer el hilo antes de postear. Me gustaria que estuviera limpio y sin cosas repetidas.

La parte de captura de la posicion del Stick, y envio de los dos pulsos a 40Khz mediante el 555 ya funciona. Ahora falta la recepcion de los pulsos y generacion de PWM(modulacion por ancho de pulsos) para el motor y bobina de direccion. Ademas de hacer algun tipo de correccion de errores, no vaya a ser que el pekeño se nos vaya solo en el instante que no reciba señal. Tengo algunas pruebas realizadas para la recepcion pero con resultados no satisfactorios.

Pronto me pondre con esto y os mantendre informados.

Un saludo
Por zeroking
#481961
gracias por la respuesta, y habia leido el hilo entero... peor entendi q el modelo era "mono" (de bonito) ajjaaj fallo por mi parte, gracias y un saludo.

¡Elija que Addons deben funcionar, utilice sólo lo que realmente necesita!