PHP Warning: array_keys() expects parameter 1 to be array, null given in /data/f/f/ff42316d-0db1-40a1-a0cb-586a81394e6f/rcflyg.se/public_html/forum/includes/class_core.php on line 1976

PHP Warning: Invalid argument supplied for foreach() in /data/f/f/ff42316d-0db1-40a1-a0cb-586a81394e6f/rcflyg.se/public_html/forum/includes/class_core.php on line 1976

PHP Warning: array_keys() expects parameter 1 to be array, null given in /data/f/f/ff42316d-0db1-40a1-a0cb-586a81394e6f/rcflyg.se/public_html/forum/includes/class_core.php on line 1976

PHP Warning: Invalid argument supplied for foreach() in /data/f/f/ff42316d-0db1-40a1-a0cb-586a81394e6f/rcflyg.se/public_html/forum/includes/class_core.php on line 1976
EzUHF RSSI konvertering till analog spänning? [Arkiv] - Svenska RC-flygförbundet

handdator

Visa fullständig version : EzUHF RSSI konvertering till analog spänning?



Boopidoo
2015-03-21, 09:37
IRC använder ju PPM och/eller PWM för att skicka RSSI/LQ från sina EzUHF-mottagare. Detta fungerar jättebra när man har en OSD som förstår detta men en del enklare OSD (ex tidiga Skylark, StormOSD, SimpleOSD etc) klarar inte detta utan vill ha ett spänningsintervall istället. Jag har ett antal SimpleOSD som jag vill kunna använda tillsammans med EzUHF 4ch-mottagare och behöver således omvandla signalen.

Det finns omvandlare för ca $40 att köpa men jag tycker detta är lite svindyrt faktiskt så jag funderar på alternativ och det verkar finnas några olika. Dels bygga egen mha Arduino eller att använda sig av ett borstat fartreglage. Jag har tänkt att testa bägge och har några arduino nano & mini samt ett par borstade fartreglage på ingång. För att jag ska bli nöjd måste det bli enkelt och inte väga mer än några gram då detta ska sitta på 250 quads eller mycket små FPV-vingar där vikten redan är för stor. :)

Borstat fartreglage
Dessa fungerar på så vis att de tar en PWM-signal (dvs servosignal) från en mottagare samt ström från batteri och skickar ut ett spänningsintervall som varierar beroende på PWM-signalen. Dvs gasar man så skickas en högre spänning och vice versa. Detta borde fungera med EzUHF så länge som RSSI/LQ skickas som en enkel PWM-signal. Dvs man ansluter mottagaren som vanligt men ansluter ström från mottagaren där batteriet ska anslutas. De två kablarna som sedan i vanliga fall går till den borstade motorn går till OSDn, troligtvis tillsammans med en spänningsdelare för att få korrekt intervall.

Om signalen skickas som PPM (dvs kombinerar flera PWM) så kan jag tänka mig att det blir pannkaka av allting, dvs inget vettigt skickas till OSDn.

Det är även flera som rapporterar att detta inte fungerar med EzUHF men jag förstår inte varför. Bara man ser till att använda en dedikerad servoanslutning (inte L2C) för antingen RSSI eller LQ så "borde" ju denna skickas som PWM och därför fungera. Detta såvida EzUHF skickar en vanlig PWM och inget underligt. Nedan en video från någon som hävdar att det fungerar

https://www.youtube.com/watch?v=X7sm45xVzd4



Använda arduino
Den här metoden är lite krångligare och tar mer tid men å andra sidan har man stor möjlighet att påverka resultatet och behöver ingen spänningsdelare då utspänningen (enligt uppgift) kan regleras via kod med arduinon.
http://fpvlab.com/forums/showthread.php?28005-10-Open-Source-EzUHF-PPM-PWM-to-Analog-RSSI-Converter-solution-inside!
http://www.rcgroups.com/forums/showthread.php?t=2137076https://
http://drive.google.com/folderview?id=0B0GQlfZHOrn_ZFBVZ2V5djQya0U&usp=sharing

Jorgen
2015-03-21, 17:15
Jag kollade lite i Arduino sketchen.

Om signalen varit vanlig PWM så hade den angagligen gett en signal med 0-100% duty cycle redan. och ett fartreglage skulle inte ha kunnat användas...och skulle inte heller behövts.

Nu verkar de skicka ut den typ av PWM signal som ett servo förväntar sig, baserat på Arduino sketchen så verkar det vara en puls på mellan 1100uS och 1750uS. Ett borstat fartreglage kan göra om den här signalen till en "vanlig PWM signal" som har en duty cycle på 0-100%. Man måste däremot montera ett motstånd som last på reglagets utgång och även ett fliter som gör om fyrkantsvågen till en jämn spänning på 0-5v. Så länge reglagets kalibrering stämmer någorlunda med signalen som EZUHF skickar ut så borde du få någorlunda resultat.

Ett borstat fartreglage kommer antagligen att ha okänsliga områden längst ner och längst upp i kurvan. Så 0-10% signal från EZUHF blir nog 0% ut ur reglaget, det kan bli lite olijärt i toppen också men det beror på hur killen som programmerade reglaget tänkte om att köra en motor på tex 95% effekt.

Jag hade valt Arduino alternativet, om du inte hållit på med det tidigare så är det ju bara kul att lära sig.

Boopidoo
2015-03-21, 18:32
Ok, hade faktiskt ingen aning om att borstade fartreglage skickade en PWM - signal till motorn, trodde det var ett linjärt spänningsintervall från noll till batteriets spänning. Men det var bara min gissning.

Jag har pysslat en del med det för en markstation tidigare men det var väl kanske ett par år sen. Däremot är jag ju varken främmande för att skriva kod eller hantera elektronik så det ska nog inte vara så stora problem hoppas jag.

Boopidoo
2015-03-22, 18:06
En fråga om koden, kan den här läsa av en kombinerad PWM-signal där RSSI/LQ finns tillsammans med de andra kanalerna eller fungerar den bara om enbart RSSI/LQ läses av?

Jorgen
2015-03-23, 10:54
Koden läser bara av en varje puls den får och skickar ut en matchande spänning. Väntar 400ms och börjar sedan om.

Finns RSSI/LQ med i PPM pulståget på EZUHF?

Boopidoo
2015-03-27, 16:14
Ja, antingen följer de med i PPM eller så plockar man ut den/dem via tilldelade utgångar.

Så fort jag får hem arduinon så ska jag testa att mäta både RSSI och LQ för att kolla vilken jag tycker fungerar bäst. Efter lite letande så verkar LQ vara det som många tycker fungerar bäst.

Jorgen
2015-03-27, 22:07
Det här verkar vara en bra början om man vill avkoda hela PPM strömmen: http://rcarduino.blogspot.se/2012/11/how-to-read-rc-receiver-ppm-stream.html

Boopidoo
2015-05-19, 22:09
Nu har jag bestämt mig att modifiera existerande kod men kalibrera dem mot referensspänningen på 1.1V. Jag gjorde tidigare en multimeter med mycket hög noggrannhet (för att vara arduino, inom 0.1% fel)