Pages: 1 [2] 3   Go Down
Author Topic: Proyecto Cuadricoptero UAV: Problema con receptor de emisora RC  (Read 10062 times)
0 Members and 1 Guest are viewing this topic.
Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Veo mucha confusión con el tema del PWM y el radio control, a ver si arrojo un poco de luz sobre esto hasta llegar al capítulo de mi curso en el que lo explicaré con todo lujo de detalles.

En un sistema de RC (Radio Control) las PWM se utilizan SOLO entre el variador y el motor, para NADA más.

Tampoco se utiliza PPM. Esto es algo parecido, pero no es igual.

Toda la comunicación física entre elementos de RC (receptor, servos, variadores, giróscopos, mezcladores, inversores de servos, etc) se hace por un particular tren de pulsos: un pulso de entre 1 y 2 milisegundos, una pausa de 20 milisegundos. Ya está, no tiene ninguna otra complicación.

Para leer las señales que emite un receptor hacia sus periféricos basta con programar un control de tiempos con las entradas digitales o utilizar el comando pulseIn(), aunque este último puede dar problemas a la hora de leer varios canales a la vez.

Por favor, no me volvais a mezclar PWMs con servos o receptores, que hace que me duela la vista.

Un saludo.

Logged


Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Veo mucha confusión con el tema del PWM y el radio control, a ver si arrojo un poco de luz sobre esto hasta llegar al capítulo de mi curso en el que lo explicaré con todo lujo de detalles.

En un sistema de RC (Radio Control) las PWM se utilizan SOLO entre el variador y el motor, para NADA más.

Tampoco se utiliza PPM. Esto es algo parecido, pero no es igual.

Toda la comunicación física entre elementos de RC (receptor, servos, variadores, giróscopos, mezcladores, inversores de servos, etc) se hace por un particular tren de pulsos: un pulso de entre 1 y 2 milisegundos, una pausa de 20 milisegundos. Ya está, no tiene ninguna otra complicación.


Si parece que hay un error de conceptos ....

al variador como a los servos hay que entregarle una señal PWM par hacerlos funcionar, el variador entregará al motor una fuerza-velocidad proporcional al ancho del pulso que se le entrega, en el caso de los servos la posicion del servo es proporcional al ancho del pulso que se le entrega.
La señal PWM en RC tiene una frecuencia de 50 hz, aunque esta frecuencia puede ser variable, es decir tiene un periodo de 20 milisegundos., y no una pausa como dice josemanu, en esos 20 milisegundos en PPM tiene que haber un pulso por cada canal que tengamos en la emisora.
Las emisoras emiten en PPM, es el receptor el que se ocupa de convertir las señales PPM en PWM, una por cada canal.

Quote
En un sistema de RC (Radio Control) las PWM se utilizan SOLO entre el variador y el motor, para NADA más.
No es cierto del todo, la señal que se entrega al motor varia en frecuencia y tensión, en algunos casos se utiliza una señal PWM interna para generar una onda senoidal, pero son técnicas de paso de D/A.
puedes ver un articulo de tecnicas para el control de los mismos en http://www.ingenia-cat.com/reference/learn/TEC.PAP.0422232450.pdf y http://www.ingenia-cat.com/reference/learn/TEC.PAP.5240009519.pdf


Os dejo un ejemplo de como obtener la señal PPM de un receptor RC. En algunos casos en necesaria amplificarla para utilizarla.

http://forum.mikrokopter.de/topic-2747.html

y una gráfica para entender como pasa el chip del receptor de señal PPM a PWM y como se generan, como se puede ver las señales PWM de todos los canales no empiezan a la misma vez, sino que se concatenan, cuando hay un flanco de bajada del canal anterior empieza el canal siguiente, aun así mantienen todas la misma frecuencia.

Espero que todo se haya aclarado. Un saludo




* RC_Receiver_Timing_Diagram.jpg (185.62 KB, 1042x531 - viewed 62 times.)
Logged

Offline Offline
God Member
*****
Karma: 7
Posts: 635
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Coincido con lo explicado por SrDonGato, funcionamiento de emisión PPM, conversión a PWM a cada canal a frecuencia 50 Hz.
Logged


Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Muy interesantes los PDFs sobre generación de señales PWM para motores brushless... pero esas señales las genera el variador y se las manda al motor.

Quote
al variador como a los servos hay que entregarle una señal PWM par hacerlos funcionar
No, no y no. Es lo que intentaba aclarar: una señal modulada por ancho de pulso (PWM) sirve para "simular" una señal analógica mediante una digital... y eso no funciona ni con servos ni con receptores.

Una señal de Modulación por Posición de Pulso (PPM) es un tipo de modulación en la cual una palabra de R bits es codificada por la transmisión de un único pulso que puede encontrarse en alguna de las 2M posiciones posibles.... se parece mucho, pero no es lo mismo. Por mucho que en el foro de mikrocopter lo llamen PPM no es PPM.

Cometí un error en mi explicación: no es pulso, pausa, pulso, pausa, etc.....
Es cada 20 milisegundos un flanco de subida, un pulso que dura entre 1 y 2 milisegundos, y se repite. No es PWM por que no se simula una salida analógica y no es PPM por que el pulso emitido está siempre en la misma posición, varía su anchura no su posición. Para ser PPM el pulso siempre tiene la misma anchura pero varía su posición.

Gráfico:


Puede ser confundido con una señal PWM por que modula en ancho del pulso dentro de sus intervalos de 20ms, pero no es lo mismo ni se le parece a la señal PWM que generan los pines 3, 5, 6, 9, 10 y 11. De hecho para controlar un servo o un variador no se necesita utilizar esos pines, se puede utilizar cualquiera.

Buscando en la Wikipedia resulta que también llaman PWM a la señal de control de RC, aunque especifican que es una señal PWM de 50hz. Vale, quizá sea correcto, no quiero entrar en tanto detalle.

La cuestión es que la señal de control de RC si la llamamos PWM se confunde directamente con la señal que generan los pines PWM de Arduino al dar una orden analogWrite().

Por eso (no por nada más) insisto e insistiré siempre en no llamar PWM a la señal de control en RC. Ateniendonos a definiciones en mucho más correcto decir que la señal de RC es un "Tren de Pulsos".

Uf..... a ver si ahora queda claro.
Logged


0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.endurance-rc.com/ppmtut.php






smiley-wink
« Last Edit: September 03, 2011, 05:14:47 pm by Igor R » Logged


Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
No es PWM por que no se simula una salida analógica

Vamos a ver .. que un tipo de señal tenga determinados usos no quiere decir que si se utiliza para otra cosa no sea PWM,
Es un tipo de codificación digital y su característica es que es de FRECUENCIA FIJA y que lo que varía es el dutty-cicle, esto es, el tiempo que permanece en nivel alto y nvel bajo.
Cierto que esta señal se aplica mucho en control de potencia... que si ... pero no quiere decir que no se utilice para otras cosas, en etapas de potencia se utiliza para atacar los triacks o IGBTs , la salida de estos se aplica a un filtro y se obtiene así una onda senoidal.
en RC la señal que se aplican a servos y variados son PWM, es una aplicacion más.

Quote
y no es PPM por que el pulso emitido está siempre en la misma posición, varía su anchura no su posición. Para ser PPM el pulso siempre tiene la misma anchura pero varía su posición.

Puede ser confundido con una señal PWM por que modula en ancho del pulso dentro de sus intervalos de 20ms, pero no es lo mismo ni se le parece a la señal PWM que generan los pines 3, 5, 6, 9, 10 y 11. De hecho para controlar un servo o un variador no se necesita utilizar esos pines, se puede utilizar cualquiera.

El utilizar los pines de arduino con salida PWM es por simplificar el código, el atmega lo genera por hardware, de esa manera nos despreocupamos en el código de calcular tiempos y poner a 0 o 1 los pines, pero claro está que lo puedes hacer con cualquier salida digital.

Las distintas codificaciones digitales no tienen un uso específico, cada una tiene una característica pero se puede utilizar para la aplicación que queramos. nombrar  por ejemplo FSK, PSK, QAM que no tienen una única aplicación .

Un saludo
Logged

Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

De acuerdo en que la señal de control de RC, si nos ceñimos a las definiciones establecidas, es una señal PWM de 50Hz.

Quote
El utilizar los pines de arduino con salida PWM es por simplificar el código, el atmega lo genera por hardware, de esa manera nos despreocupamos en el código de calcular tiempos y poner a 0 o 1 los pines, pero claro está que lo puedes hacer con cualquier salida digital.

Utilizar los pines PWM no tiene ningún sentido para manejar servos por que no les puedes mandar un analogWrite(), por que la señal PWM que Arduino les va a mandar no va a ser a 50Hz, va a ser a 16MHz. Haz la prueba, conecta la entrada de señal de un servo al pin 10 (que está marcado como PWM) y mandale un "analogWrite(255); " a ver si se pone en la posición de 180º. Te digo yo que no.

Para controlar elementos de RC con Arduino hay que utilizar la librería servo.h que sirve, precisamente, para generar una señal PWM de 50Hz en cualquier pin digital de la placa. Esta librería permite utilizar hasta 12 servos (no hay tantas salidas PWM) y deshabilita la función PWM de los pines 9 y 10, haya o no un servo conectado a ellos.

Relacionar los pines marcados con la serigrafía PWM en la placa con control de mecanismos para RC solo crea confusión entre los novatos. O entre los que no han conectado nunca un servo a una placa Arduino.

De la misma forma, no se puede leer la señal que un receptor de RC le manda a un servo o a un variador mediante una entrada analógica. Prueba a medir tensión entre el pin de señal de un receptor y GND, el multímetro te marcará 0v hagas lo que hagas con la emisora. La forma de leer la señal que un receptor manda a un servo o a un variador se lee con el comando pulseIn().

Una vez más os recomiendo hacer pruebas y lo vereis por vosotros mismos. Toda la información erronea que circula por el foro acerca de este tema solo contribuye a que de tanto en tanto aparezca un disparate: hace unos meses un chaval quería convertir un coche RC en un robot y quería mandarle las señales desde el mando, pues hubo un iluminado que le recomendó que conectara la antena de la emisora a un pin PWM.

En electrónica todo el tema de modulación, pulsos, frecuencia y todo lo que tiene que ver con señales es complejo y la mayoría de gente que lee este foro no tiene conocimientos de electrónica suficientes, precisamente vienen aquí para aprender. Vamos a simplificar las cosas para no marear: los pines PWM de Arduino simulan señales analógicas, el que luego quiera profundizar en este tipo de señal y modificar su frecuencia (que se puede) investigará por su cuenta.

El que quiera controlar mecanismos de RC sin complicarse la vida puede generar las señales de control con la librería servo.h en cualquier pin digital y puede leer estas mismas señales con el comando pulseIn().

El que quiera profundizar en el control de tiempos y generar una señal cuadrada de amplitud variable y una frecuencia de 50Hz puede hacerlo por software y comprobar si lo hace bien o mal con un simple servo.

...por lo menos nadie a dicho que sea PPM, algo hemos avanzado.
Logged


Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Utilizar los pines PWM no tiene ningún sentido para manejar servos por que no les puedes mandar un analogWrite(), por que la señal PWM que Arduino les va a mandar no va a ser a 50Hz, va a ser a 16MHz. Haz la prueba, conecta la entrada de señal de un servo al pin 10 (que está marcado como PWM) y mandale un "analogWrite(255); " a ver si se pone en la posición de 180º. Te digo yo que no.


Cierto que no son de 50 hz, pero por defecto son son de 16 Mhz. hay que configurarlo a posta para obtener esa frecuencia.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1227085157

y explicacion del pwm del atmega.

http://arduino.cc/es/Tutorial/SecretsOfArduinoPWM





Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

josemanu, la señal PWM que genera el analogWrite es a 490 Hz (no 16 MHz). Que Arduino en su core configure a dicha frecuencia la función analogWrite, no significa que no tenga sentido usar PWM.
Estoy de acuerdo que para un novato es mejor usar la librería preparada para servos, pero como ha dicho SrDonGato, no dejan de ser PWM... smiley-wink
Como también ha dicho SrDonGato, si usas el módulo de PWM del micro, puedes estar haciendo otras tareas, ya que los timer harán el trabajo por tí.
La librería servo usa timers para ir generando en los pines los PWM adecuados. Lo hace por soft, para poder controlar mayor número de salidas utilizando el menor número de timers del micro (creo que manejan 12 salidas por cada timer).

Yo creo, que lo que hay que dejar claro es que analogWrite() del lenguaje Arduino genera un PWM de 490 Hz, que no es apto para el control de servos.

Copio del link que puse más arriba...


The following are lists of common devices that use PPM and PWM.

R/C Devices that use PWM Pulses:

    Servos
    Electronic Speed Controllers
    R/C switches
    R/C lights
    R/C receivers
    Data loggers
    Failsafe's
    Autopilot/Stabilization systems
    Servo Controller

R/C Devices that use PPM Pulses:

    R/C transmitters
    R/C receivers
    Autopilot/Stabilization systems
    PCTx



Salu2



« Last Edit: September 04, 2011, 06:00:43 am by Igor R » Logged


Offline Offline
God Member
*****
Karma: 7
Posts: 635
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Relacionar los pines marcados con la serigrafía PWM en la placa con control de mecanismos para RC solo crea confusión entre los novatos. O entre los que no han conectado nunca un servo a una placa Arduino.

[...]

Una vez más os recomiendo hacer pruebas y lo vereis por vosotros mismos. Toda la información erronea que circula por el foro acerca de este tema solo contribuye a que de tanto en tanto aparezca un disparate: hace unos meses un chaval quería convertir un coche RC en un robot y quería mandarle las señales desde el mando, pues hubo un iluminado que le recomendó que conectara la antena de la emisora a un pin PWM.

Yo creo que es al revés, hay que explicar las cosas tal cual son indicando sus particularidades: la señal de control de un servo es PWM pero no se pueden controlar directamente mediante la función analogWrite() con los pines serigrafiados como PWM en la placa Arduino porque esa función saca una señal PWM a 490 Hz y el control de servos es a 50 Hz.

Nombras lo de información errónea como si lo explicado por SrDonGato fuera erróneo (en cuanto a las argumentaciones en este hilo) cuando es lo contrario, tu simplificación como para aclararlo a los novatos es lo que ha entrado en conceptos técnicos erróneos.
Podemos simplificar las cosas todo lo que quieras (queramos) o puedas (podamos) que siempre aparecerán como dices "iluminados" (yo prefiero nombrarlos como "aventurados") que dirán unos disparates impresionantes.
Logged


0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yo dejaría lo de "iluminados", "aventurados" y demás fuera del hilo... Cada uno intenta exponer sus ideas, aunque no sean correctas. Es función de cada lector filtrar y contrastar dicha información. Este tipos de comentarios están un poco fuera de lugar...
Precisamente es la utilidad de un foro... "debatir abiertamente" diferentes temas entre personas con aficiones comunes.

Salu2

smiley-wink

Logged


Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Yo creo, que lo que hay que dejar claro es que analogWrite() del lenguaje Arduino genera un PWM de 490 Hz, que no es apto para el control de servos.
Quote
que no es apto para el control de servos

Aleluya!!!!!

Reconozco mi error con la frecuencia de la señal PWM de Arduino, no he estudiado a fondo el tema y daba por sentado que sería la misma que la del reloj.

Por cierto SrDongato gracias al enlace de un hilo abierto por Complubot: repásatelo bien y veras que se puede configurar a frecuencias más altas pero para 50Hz no, un motivo más para dejar de relacionar de una vez las salidas PWM de la placa con señales de control de RC.

Quote
Estoy de acuerdo que para un novato es mejor usar la librería preparada para servos

Es la forma más sencilla, como he dicho se puede hacer programando a mano y es un buen ejercicio para profundizar en el control de tiempos, pero personalmente lo considero un engorro.

Quote
pero como ha dicho SrDonGato, no dejan de ser PWM... smiley-wink

Si, PWM de 50Hz, que Arduino SOLO puede generar por SoftWare. Bueno solo seguro que no, seguro que se puede acceder a la configuración de los Timers para que el PWM que genera Arduino con el comando analogWrite() sea de 50Hz.... ¿alguien sabe hacerlo? ¿si? escribid un tutorial y subidlo al Playground.

¿Ventajas de usas los pines 3, 5, 6, 9, 10 y 11 que son los serigrafiados como PWM? si no nos van a dar una señal PWM de 50Hz NINGUNA. ¿Como hacemos que por esos pines salga una señal PWM de 50Hz? reconfigurando los Timers (ops, procedimiento avanzado) o utilizando la librería servo.h o programando a mano.

¿Relación directa de los pines PWM con el control de elementos RC? ninguna.

¿Problema de insistir en relacionar dos tipos de señal PWM totalmente distintos en frecuencia? Causa confusión.

Volvamos al principio del hilo:

Quote
Hola a todos,
estoy construyendo un cuadricoptero UAV para ello quiero poner el Arduino UNO entre el receptor de la emisora RC y los ESC con los motores. El problema que tengo es que los pines analogicos de entrada del Arduino no me detectan las señales del receptor de RC.

Claro que los pines analógicos no detectan las señales del receptor. El receptor está enviando una señal PWM a 50Hz, esto hay que leerlo con el comando pulseIn() desde un pin digital.

Ahora empieza el lio, un montón de gente bienintencionada da un montón de información erronea o confusa:
Quote
Los receptores suelen sacar PPM
falso.
Quote
Las emisoras suelen transmitir en PPM (creo que es analógico) y el receptor transforma la señal PPM en las salidas PWM de cada uno de los canales.
dejo a otros la interpretación de esta frase ¿alguien de acuerdo conmigo en que es confuso?
Quote
Ambas se leen en digital. en PPM se utiliza solo un pin , en PWM un pin por cada canal.
SrDongato, para ayudar así mejor no ayudes, por que de esa frase no se saca nada en claro, lo único que consigues es marear. No das ni el como ni el por que, no le dices al chaval ni que tiene que buscar ni donde. Recordemos: quiere insertar un Arduino Uno entre un receptor y varios ESC, ¿PPM por un solo pin? ¿por cual? "PWM un pin por cada canal" es lo único que tiene un poco de sentido en esa frase, pero el PWM que tendrá que leer es de 50Hz ¿adrib lo sabe? yo creo que no, de hecho, ya ha intentado leer ese PWM de 50Hz desde una entrada analógica de su Arduino UNO y no ha sacado nada en claro, evidentemente, por que así no se hace.

Siguiente respuesta de adrib:
Quote
Por lo que he leido en vuestras respuestas diria que estoy leyendo PWM ya que tengo un cable de señal por cada canal y ya que segun decis se leen en pin digital he probado con el codigo:
Ya está, adrib está confundiendo una señal PWM de 50Hz con otra de 490Hz ¿por que? por la cabezona insistencia de llamar PWM a ambos tipos de señales dando por sentado que todo el mundo conoce la diferencia de frecuencia, por que si no no me lo explico. Es por este motivo que yo INSISTO en NO llamar PWM a la señal de control de RC por que induce a esta confusión. ES una señal PWM pero de 50Hz y como esta puntualización no la hace nadie se confunde con el PWM de los pines PWM.
Mirad una línea del código con el que adrib ha intentado leer la señal de control de RC:
Quote
int sensorValue =analogRead(9); // He probado tanto analogRead como digitalRead;
Confundido a tope va el pobre adrib (que debe estar flipando con este hilo y la discusión que está generando).
Logged


Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

(continuo, que me paso de longitud)


Respuesta de SrDongato:
Quote
no te has mirado lo que te he dicho ....
mírate el código para ver de que manera obtiene los valores de cada uno de los canales.
Y hay un enlace a un .pde que para adrib debe resultar totalmente incomprensible por sus 2001 líneas de código y por la masiva utilización de recursos de programación de nivel avanzado.
Luego se postea un trozo de código más sencillo y más comprensible... y mirad lo que aparece en una de las líneas:
Quote
if(pulseIn(4, HIGH) > 3000) //Si el pulso del pin 4 es > 3000 usegundos continua
Anda, leemos con el comando pulseIn.
Ahora el que está confundido soy yo ¿no es lo que vengo diciendo desde el principio?
Luego aparece Cheyenne, que es de los que no tiene clara la diferencia entre los tipos de señales ni de donde se sacan, pregunta para que se lo aclaren y la respuesta de SrDongato es muy reveladora... pero en otro sentido:
Quote
Sin saber mucho de programacion ( yo tampoco soy un gurú)  es fácil el montaje y la configuracion del mismo a traves el programa que hn hecho a tal efecto, y puedes ver los valores de las configuraciones, los valores de los sticks y los valores comandados a los motores.
se han currado mucho el codigo .
Ah, has hecho un copy/paste... perdona, pero eso no implica que sepas lo que estás haciendo ni de que estás hablando. Activar o desactivar opciones según la configuración al principio del código no es programar, el programa como bien dices, se lo han currado mucho... otros.

Luego vengo yo, intento poner un poco de claridad explicando las diferencias entre un tipo de señal y otro con términos simples y fáciles de entender, tratando de no inducir a confusión llamando PWM a una señal (que aunque si lo es) tiene una particularidad en su baja frecuencia que la aleja totalmente de la PWM de la que se habla en toda la documentación de la web de Arduino y que no puede ser  utilizada de la misma forma ni en su generación ni en su lectura.

Y aquí no liamos entre unos y otros. Vamos a ver si arrojamos luz sobre la cuestión:

La señal que genera un receptor de RC y que envía a servos o variadores en una PWM de 50Hz. La señal que envía un variador al motor es una PWM de alta frecuencia.

Quote
Yo creo que es al revés, hay que explicar las cosas tal cual son indicando sus particularidades: la señal de control de un servo es PWM pero no se pueden controlar directamente mediante la función analogWrite() con los pines serigrafiados como PWM en la placa Arduino porque esa función saca una señal PWM a 490 Hz y el control de servos es a 50 Hz.

De acuerdo si respetamos siempre el mencionar las particularidades de cada una... pero va a ser que no, se seguirá diciendo que la señal de control para servos es PWM sin especificar su frecuencia y se seguirá confundiendo con la que generan los pines PWM y habrá quien seguirá intentando leer esa señal con los pines analógicos y quien intentará controlar un servo con un analogWrite() por que no se va a mencionar el tema de la  frecuencia.

Quote
Nombras lo de información errónea como si lo explicado por SrDonGato fuera erróneo

No es erróneo, pero al no explicar la diferencia de frecuencia induce a error a quien lo lea tal cual.... y si, hay que darlo todo muy masticadito, por eso esta respuesta se está haciendo tan larga.

Quote
Yo dejaría lo de "iluminados", "aventurados" y demás fuera del hilo... Cada uno intenta exponer sus ideas, aunque no sean correctas. Es función de cada lector filtrar y contrastar dicha información. Este tipos de comentarios están un poco fuera de lugar...
Precisamente es la utilidad de un foro... "debatir abiertamente" diferentes temas entre personas con aficiones comunes.

Quien expone sus ideas sin saber de que está hablando, por muy buena voluntad que tenga, confunde. Un neofito no puede filtrar la información, acude al foro para que le ayuden y si la información que le proporcionamos es incorrecta, incompleta o induce a error no se le ayuda.

A mi este post me ha ayudado, algunas cosas las tenía confundidas como la frecuencia de salida de los pines PWM de Arduino, pero el resto lo tengo muy claro por que he trabajado con receptores, servos y variadores programando yo mi propio código, con la librería servo.h y a pelo.
Seguiré llamando en mis manuales "señal de control RC" a la señal PWM de 50Hz por que no induce a confusión, las separa, luego quien profundice en la anatomía de cada tipo de señal ya dirá "anda, si es lo mismo, solo cambia la frecuencia", pero tendrá muy claro que se trabaja de forma muy diferente con cada una de ellas precisamente por esa diferencia en la frecuencia.

Y con esto ya me despido. Perdón si me he puesto un poco agresivo en alguna frase, en ningún momento mi intención ha sido ofender a nadie, solo hacer que aprender sea sencillo para la gente que no tiene conocimientos de electrónica ni de programación, por que no debemos olvidar nunca que Arduino es, sobre todo, una plataforma para que personas sin conocimientos de electrónica ni programación puedan acercarse al mundo de la electrónica digital.
Logged


0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Confirmo que tu post es muy agresivo.
Si que os lo tomais personal...

smiley-wink
« Last Edit: September 04, 2011, 07:13:56 am by Igor R » Logged


Offline Offline
God Member
*****
Karma: 7
Posts: 635
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Luego aparece Cheyenne, que es de los que no tiene clara la diferencia entre los tipos de señales ni de donde se sacan, pregunta para que se lo aclaren y la respuesta de SrDongato es muy reveladora... pero en otro sentido:
Sí, yo también confirmo que tu post es muy agresivo.
En todo lo que he escrito en este post sólo encontrarás una incorrección mía:
Quote
Las emisoras suelen transmitir en PPM (creo que es analógico)
Como bien puedes leer no afirmaba y menos con la rotundidad que tú afirmas las cosas para luego decir que no es como tú has dicho pero que lo dices así para que lo entiendan los novatos. Como bien indicó SrDonGato la señal PPM se lee con un pin digital.
Quote
Veo mucha confusión con el tema del PWM y el radio control, a ver si arrojo un poco de luz sobre esto hasta llegar al capítulo de mi curso en el que lo explicaré con todo lujo de detalles.
Me parece bien pero en el camino de arrojar luz has puesto alguna que otra incorrección.
Quote
En un sistema de RC (Radio Control) las PWM se utilizan SOLO entre el variador y el motor, para NADA más.
Incorrecto, como ya ha quedado claro cada uno de los canales de salida del receptor RC saca una señal PWM a 50 Hz.
Quote
Tampoco se utiliza PPM. Esto es algo parecido, pero no es igual.
Aquí no puedo asegurar si hay o no algo incorrecto, pero si te refirieras a que en un sistema de RC tampoco se utiliza PPM no es cierto. La señal PPM es un modo de transmisión de las emisoras RC y que en muchas páginas muestran en qué parte de la electrónica del receptor de RC se puede interceptar esta señal.
Quote
Toda la comunicación física entre elementos de RC (receptor, servos, variadores, giróscopos, mezcladores, inversores de servos, etc) se hace por un particular tren de pulsos: un pulso de entre 1 y 2 milisegundos, una pausa de 20 milisegundos. Ya está, no tiene ninguna otra complicación.
Incorrecto, no es una pausa de 20 milisegundos. Como ya se ha dicho el periodo de la señal PWM (ese particular tren de pulsos) es el que tiene los 20 milisegundos.
Quote
No, no y no. Es lo que intentaba aclarar: una señal modulada por ancho de pulso (PWM) sirve para "simular" una señal analógica mediante una digital... y eso no funciona ni con servos ni con receptores.
Vaya, y era yo el que no tenía clara la diferencia entre los tipos de señales. Uno de los usos de la modulación PWM es poder "simular" una señal analógica pero no la única. Una señal PWM a 50 Hz con las especificaciones concretas del ancho de pulso es justamente lo que funciona con servos.
Quote
Una señal de Modulación por Posición de Pulso (PPM) es un tipo de modulación en la cual una palabra de R bits es codificada por la transmisión de un único pulso que puede encontrarse en alguna de las 2M posiciones posibles.... se parece mucho, pero no es lo mismo. Por mucho que en el foro de mikrocopter lo llamen PPM no es PPM
Aquí creo que estás confundiendo las señales a las que se refieren en el foro de mikrocopter. No he leído esos hilos pero aseguraría que lo que están llamando PPM es PPM puesto que me imagino que no se estarán refiriendo a las señales de salida de los canales del receptor RC. Se estarán refiriendo a la señal que se puede interceptar en el interior del receptor de RC.
Logged


Pages: 1 [2] 3   Go Up
Jump to: