fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Aumentar canales emisora

6 Respuestas
3 Usuarios
0 Reactions
2,314 Visitas
blandi
Respuestas: 3
Topic starter
(@blandi)
New Member
Registrado: hace 15 años

Ante todo presentarme, soy nuevo en el foro, y como ya estareis suponiendo no vengo a ayudar si no a pedir ayuda 😕 . Es coña, mitad y mitad.
Hace tiempo que tengo en mente este proyecto que une aficiones mas antiguas, el aeromodelismo, con otra mas moderna, la electrónica.
Pues la cuestión es que ya empiezo a llevarme bastante bien con mi querido 16f84a, muy simple para los que llevais tiempo en esto, pero una maravilla para los que somos mas ignorantes en el tema.
La palabra mágica en este proyecto es, ¿como no?, PWM, ya consigo controlar servos con temporizaciones y creo que entiendo perfectamente el funcionamiento del dutty cycle y sus amigos frecuencia, periodo...
Al tema... 🙄 la historia es que quiero cambiar un canal proporcional de la emisora y cambiarlo por ocho interruptores, la emisora en cuestión tiene una resolución de 1024 pasos, por lo que si atendemos a los 8 bits de mas peso nos quedan dos para un cierto margen de error.
Me estoy centrando en principio en la salida del receptor, se supone que el pulso alto de la señal dura entre 900 y 2100 us, pero eso depende de la marca pues los servos futaba y los hy-tech no tienen exactamente esos mismos pulsos, por lo que lo primero es medir exactamente el dutty cycle, perdón pero es que con tanta información al respecto en inglés no se ni como se dice en el idioma "patrio".
El caso es que he hecho un programa utilizando interrupciones por RB0, de modo que cuando se pone a 1 la señal el TMR0 comienza a contar y se activa la interrupción por flanco descendente, al producirse esta termina de contar y pasa el valor del TMR0 por medio de un conversor BCD al LCD donde en tiempo real y según movamos el stick de la emisora vaya cambiando para saber exactamente cuales son el máximo y el mínimo en microsegundos.
Bién, el programa funciona perfectamente, tanto en el PIC simulator, como al pasarlo a la placa, lo pruebo con una placa entrenadora y un pulsador en RB0, al hacer una pulsación sale en el LCD, un valor en us, que se supone que es el tiempo que duró la pulsación, esto no lo puedo comprobar, pero en el Pic simulator, sale exacto, sin error de ni siquiera 1us, pero ahora viene el problema, no se como conectarlo al receptor, se que es el cable blanco, pero si lo conecto directamente no hace nada.
Por eso imagino que necesitaré convertir esa señal de algún modo, y por mas que busco por todos lados la única info que encuentro de PWM es al revés, es decir como controlar un servo mediante un PIC, pero no al revés, que es el caso.
Supongo que con un pic que tenga módulo PWM todo será mas sencillo, pero me apetece hacerlo con el 16f84 porque de lo que se trata es de aprender a programar, además de hacer el proyecto
Perdón por el ladrillo y gracias de antemano a los que echen o no una mano se hayan parado a leer tremendo tostón 😳
Y si a alguien le interesa cuelgo el programa.

Responder
5 respuestas
blandi
Respuestas: 3
Topic starter
(@blandi)
New Member
Registrado: hace 15 años

Al final he cambiado la emisora porque la wfly no la tengo muy probada y no me fío, además de los receptores hablan muy mal por lo que vamos a lo seguro y he probado con la futaba 6exa que no me dió nunca problemas.
Tampoco directamente funcionó pero con una resistencia pull-up de 10k perfecto.
Me dá una lectura de 920us a 2120us entre topes en el canal 6 con el ajuste de final de recorrido a tope.
Ahora lo que tengo que conseguir es "emular" el potenciómetro de ese canal con 8 interruptores.
La idea es colocar en el primer interruptor 1/2 del valor total de potenciómetro y pasarlo desde el pin central o bien a +5v o a masa según si lo activo o no, en el segunto interruptor 1/4, en el 3º 1/8... hasta el octavo
De este modo por ejemplo, si conectamos el 1º, el valor en us del canal siempre será mayor de la mitad y si lo desconectamos siempre será menor, así con cada interruptor, el problema es que hay que conectar esas resistencias en serie y el valor es muy crítico.
Con este valor ideal de las resistencias podemos aprovechar los 10 bits de resolución pero a medida que se pierda esa fiabilidad iremos perdiendo bits empezando por el de menos peso y los siguientes que no los podremos utilizar.

Responder
Página 2 / 2
Compartir: