Då är det gjort! Nu är jag ju lite ny på det här men gäller detta bara Companion eller ska man ladda ner något till radion också?
/Mats
Då är det gjort! Nu är jag ju lite ny på det här men gäller detta bara Companion eller ska man ladda ner något till radion också?
/Mats
Först till PC'n sen till radion.
Om du kan engelska så hittar du bra info här: http://open-txu.org/
Hembyggda multikopters med APM2,5 och nu med Pixhawk/Vrbrain/Revo
En undran; ligger alla mina modellinställningar på SD-kortet eller påverkas dom om jag uppgraderar mitt firmware?
Om dom påverkas, kan jag då lägga tillbaks dom från modellbackup:en eller måste jag göra om mina inställningar? Kan ju vara nog så viktigt att veta i fall man har en massa modeller inlagda.
*RC-flyers do it in the air*
/ Keny
Du kan alltid göra en backup till kortet via programmet från pc ... Ifall nått skulle hända ... Men jag har uppgraderat utan problem ..
Using Tapatalk
Jag skall uppgradera min senare idag ... Återkommer med svar
Using Tapatalk
Någon som gått upp till 2.0.13 ännu?
Jag är på väg att även börja med flygplan och då kan flygtiderna öka jämfört med helikopter och multirotor och är det en bugg i någon klockrutin så finns risken att den visar sig vid längre flygningar.
/ Jonas
Ska uppdatera en taranis ikväll är det bara och ta den senaste fw och köra på?
Ska också testa uppgradera ikväll, så får se hur det går
Hej
Jag har uppdaterat till 2.0.13. Men jag har inte märkt buggen i 2.0.x (x är mellan 0 och 12). Jag har som längst flugit i 1 timme. Jag har inte använt någon global variabel i den modellen, det verkar vara på gv som felet upptäkts.
fredrik
Jag fick en idé så jag undrar om nån redan gjort detta?
Telemetrin funkar och jag får rotorvarvtalet till radion, ja det är helikopter då.
Man har ju trottelkurvor för att ställa in ett visst varvtal.
Men: då kan man ju ställa in ett varvtal i radion, ja i klartext 1850 rpm t ex.
Sen tar ett Lua-script telemetrivärdet av varvtalet och ställer trottelvärdet så att
det blir rätt varvtal 1850 rpm då. Som ett slags extern governor, fast jag tänkte
mer på medelvärdesnivå eller så.
Implementeras som en enkel PID-regulator, det är ju inga konstigheter.
Tankar?
Två invändningar :
1) Telemetrin har låg datatäthet. Något i stil med två mätvärden i sekunden. Risken för ett självsvängande system är stor om man använder så få mätpunkter. Och även om det inte självsvänger så blir regleringen långsam.
2) Lua-script övervakas under körning och kan när som helst oväntat termineras av övervakaren. Av den anledningen avråds uttryckligen från att använda telemetridata för direktreglering.
Ja nån realtids "extern governor" lär det inte bli. Jag tror jag mest tänkte på ingafflandet av värdet för trottelkurva. Det kanske är en separat aktivitet av engångskaraktär, ställa in varvtalet och så varvar upp rotorn och radion justerar in trottelvärdet för varvtalet som jag sen kan sätta i mixern. Under flyg så fungerar mina reglage rätt bra med sina interna governorer så där behövs inte så mycket stöd om governorn fungerar bra och inte tappar varv med tiden. Att ställa in varvtalet kan jag låta ta en halvminut eller så, det borde funka.
Jo jag har sett disclaimern om LUA-script. Dels så blir det väl bättre och bättre med tiden kan tänkas så att det så småningom är accepterat att mixa med LUA. Sen borde det väl finnas sätt att mildra konsekvenserna av att ett script stoppar. I det här fallet tänkte jag använda en GV som lua justerar och om lua inte skriver sönder GVn fullständigt så borde värdet finnas kvar även efter ett stopp av scriptet. Jag gissar men hoppas det är så.
Och är det nödvändigt, nej det vet jag inte men det är roligare att prata om 1900rpm istället för "63 i trottelkurvan" tycker jag. Och för att man kan. (göra det med Taranisen)
Visst kommer GVn att finnas kvar. LUAscrioten stängs bara ned. Data lämnas orörda.
Jag flyger inte helikopter och har inte koll på exakt vad du vill göra, men LUA är till för att göra saker som de du beskriver: Lägga till specialfunktioner som är lite för smala för att någonsin komma som standard. Ingaffling av beräknade värden utgående från en långsam mätserie låter som ett bra exempel.
Jag tycker absolut att du skall prova att göra en LUA-funktion. Allt vi gör med RCprylarna gör vi ju för skojs skull och för att lära oss nya saker. Strunt samma om det är nödvändigt eller ej. Jag ville bara varna för de uppenbara farorna med att använda LUA för direkt styrning.
Ja nu har jag gjort ett script. Vågade inte göra det speciellt automatiskt utan scriptet gör en injustering av varvtalet mot satt värde när SD slås till. Sen får jag vänta några sekunder så reglaget får ställa in det nya varvtalet. Kan slå till SD igen för ytterligare finjustering eller så är det klart.
Ska testa i morgon så får jag se hur det verkar och ta det från där.
Det fungerade alldeles utmärkt!
Flög en vända på bondens åker, slog in 1850 rpm som önskat varvtal,
eller ja jag fick ge in värdet 185.
Varvade upp, 1900 rpm blev det. Slog till SD och varvet gick ner till 1860,
slog till SD en gång till och sen var det bra. GV1 har fått nytt värde
så nu behöver jag inte göra om detta förrän jag vill ha nytt varvtal
förutsatt att "governor store" i reglaget fungerar.
Fungerar bra, tillräckligt bra och kanske räcker det så här, det behöver
kanske inte vara mer automatiskt än såhär. Jag kör ett tag såhär.
För att det inte ska bli för akademiskt så bifogar jag koden här.
Kod:local inp = { { "Varvtal/10", VALUE, 120, 330, 150 } -- Skit också, 255 range } local Pfakt = 0 local Rpm = 0 local GV = 0 local newGV = 0 local orgGV = 0 local HasRun = 0 local RpmSet = 0 local function init_func() Pfakt = 0.08 -- 100 rpm = 8 till reglaget. Rpm = 0 GV = 0 newGV = 0 orgGV = model.getGlobalVariable(0,0) HasRun = 0 -- Kör skriptet bara en gång per brytartillslag end local function run_func(inRpm) if getValue("sd") == -1024 then -- Brytaren OFF HasRun = 0 else RpmSet = inRpm*10 -- 255 problem Rpm = getValue("rpm") if (HasRun == 0) and (getValue("rssi") > 42) and (Rpm > 1200) then -- Do it GV = model.getGlobalVariable(0, 0) newGV = GV + Pfakt*(RpmSet - Rpm) if newGV > 100 then newGV = 100 end if newGV < 0 then newGV = orgGV end model.setGlobalVariable(0, 0, newGV) end HasRun = 1 end return end return { init=init_func, run=run_func, input=inp}
Funkade hur bra som helst för mig att uppgradera ... Inga problem ...
Det finns väl ett problem bara ...om man av någon anledning är ute på fältet ... Får för sig att man vill blåsa om den från minneskortet så har inte minneskortet automatiskt uppgraderats till 2.13 ... Så firmwaren får man stoppa in själv där om man vill ...
Using Tapatalk
Efter en veckas semester från både arbete om min Taranis så ska jag försöka uppgradera Firmware till 2.0.13. Eftersom jag inte är någon riktigt datahaj så försöker jag läsa på lite så det ska bli rätt. Något som återkommer är ett program som heter Zadig som ska laddas ner men jag förstår inte varför man behöver det. Är det inte bara att ladda ner filen till datorn och sedan välja "skriv firmware till radion" i Open TX och sedan välja den fil man laddat ner?
/Mats
Zadig behövs bara om din sändare har version från 1.x. Har du 2.0.0 eller nyare behövs inte zadig
fredrik