Jag har gjort nu kommunikation mellan C och Android App som är skriven i Java. Dock så har jag lite problem med objektorienteringen när det kommer till JavaFX. Men det är säkerligen bara jag som kan lösa det på detta forum
Jag har nu skapat:
1. Android applikation för läsa av insignaler och utsignaler i realtid via JavaFX. Jag rekommenderar JavaFX starkt om ni ska göra appar till Android eller Iphone eller allmänna skrivbordsapplikationer.
2. Jag har fått en modbusserver att fungera i rent C.
3. Jag har implementerat modbusklient i min Android app.
4. Jag har implementerat en modbusklient i mitt C matrisprogram.
Jag testade köra lite skitdata och som vanligt fick man skit tillbaka. Men jag förväntade mig inte något annat. Det jag såg är att algoritmerna räknar rätt och appen fungerar riktigt bra tack vare modbus. Jag kommer dock köra på första ordningens modell för andra ordningen är grymt mer avancerad, trots att det handlar bara om en 2x2 matris jämfört med 1x1 matris, vilket kan uttryckas som en konstant. Dessutom är första ordningen mer "styrktålig" mot svängningar då den är för enkel och tråkig. Jag ska ju reglera i temperatur så som jag vet så oscillerar inte temperaturen som en mekanisk fjäder. Rätta mig gärna om jag har fel, men enligt mina ODE-samlingar på olika dynamiska system så hittar jag ingen "acceleration" inom fluiddynamik och temperatur. Eller ja, det skulle säkert vara om fluiden åker in spolformad kylare och därmed skapas ett litet motstånd när fluidens hastighet förändras. För temperatur vet jag dock inte.
Jag har testat logga temperatur och jag tycker att temperaturgrafen liknar mer första ordningens dynamiska system än andra ordningens dynamiska system. Så det är bra för min fördel.
Hur som helst! Angående filtrering. Tycker ni att jag ska använda mig av en keramisk kondensator på typ 100nF mellan analog in och GND eller ska jag implementera ett digitalt filter i STM32? Jag MÅSTE ha bra filtrering. Otroligt viktigt för mig. Annars fungerar inte min adaptiva reglering och SVD.
Det måste vara filtrering för min ADC på min STM32 fladdrar. Dom säger i manualen att man ska sätta dit en kondensator. Men problemet med kondensator är att man får en fasförskjutnig, dvs fördröjning. Detta får inte ske.
Så något filter som helst är adaptiv utan fasförskjutnig vore perfekt.
Jag vet inte vilken frekvens jag är på. Men ska mäta snart.
Så något filter som helst är adaptiv utan fasförskjutnig vore perfekt.
Kausala filter utan fasförskjutning finns inte. Du vill kanske ha ett filter med konstant grupplöptid, dvs linjär fas?
Det viktigaste är att fördröjning inte får ske så mycket. Fördröjning kan orsaka problem vid systemidentifiering.
Edit:
Vill bara säga det igen att det är fladdrande ADC-värden som jag måste filtrera bort. Det är alltså inget "stort" problem. Jag får inge yttre störningar.
Då finns det olika alternativ:
1. Kondensator mellan analog in och GND som manualen säger.
2. Öka medelvärdesfiltreringen
3. FIR-filter
Till Rick81 som bad om en skärmdump. Bilden nedan visar en skärmdump på en modbusserver och min Android app. Appen ansluter bara till modbusservern. Sedan har jag ett annat program som utför regleringen, och den ansluter till modbusservern också. Modbus är så genomtänkt. Jag använder Gluon's ramverk för att skapa mobilappar. Gluon är gratis, men man får med en notering vid uppstart av en app att man kör gratisversionen. Annars kostar licensen 42 dollar per månad eller 499 dollar per år. Fördelen med Gluon är att man kan både skapa appar för Iphone också. Man kan faktiskt få en fri licens från Gluon om man har öppen källkod. Då slipper man uppstartsvyn.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av Al_Bundy 18 mars 2019, 11:34:30, redigerad totalt 1 gång.
Jag minns inte om du har gett något exempel på detta "fladder".
Hur stort är det? Varierande värden kan komma från mätsignalen
men det kan även komma från matningsspänningen eller referensen.
Du kan använda kalmanfilter för att estimera tillstånd i systemet.
Edit: Jag ska försöka logga lite och sedan skall jag plocka ut lite data för att analysera bruset, om det blir något brus när jag använder en PT100 med LM378 förstäkrare.
Jag har lite svårt att hänga med i svängarna.
Du skriver att du behöver filtrera bort "fladder" (utan vidare specifikation). För detta nämner du medelvärdesfiltrering och Kalmanfilter. Det första är en typ av kamfilter och det andra är en vanligt förekommande tillståndsestimator. Två helt orelaterade koncept varav inget lämpar sig för uppgiften som jag ser och förstår det. Därav min reaktion. Does not compute...