zondag 29 november 2020

ADSN [ 35 : Gpredict+ RPI + rotor --> Succes !]

Eindelijk is het zover !

Na errors in de  code , segmentation faults, NULL pointers is het systeem eindelijk werkend .

De C code bestaat uit 2290 regels code ( met witruimte erbij gerekend) en 24 zelfgeschreven functies . Aan de declaraties van alle variabelen ben ik niet eens begonnen met tellen .

Er zijn nog enkel kleine akkefietjes , zoals het vrijgeven van de socket bij ongeoorloofd afsluiten , maar dat is meer een praktijkfout dan wat anders.

Gisteren heb ik de CHANG'E5 getrackt , dit is de Chinese satelliet die ondertussen aangekomen is aan de omloopbaan van de maan . Hiermee was ik in feite ook de maan aan het tracken , wat uiteindelijk mijn eerste bedoeling zal zijn.

Ik heb echter nog geen echt maantrackings programma , dat wordt dus de volgende stap. De H bridgen houden het zonder verpinken uit , dit was een probleem bij de aangekochte modules , maar de zelfgebouwde werken prima.

Ik heb al zekers 100 keer een kalibratie uitgevoerd . Het is te zeggen de soft heeft dat gedaan omdat ik een automatische kalibratie laat uitvoeren bij het opnieuw opstarten van de RPI nadat er weer een verbeterde versie ingeladen was.

Ook de omloopsatellieten zijn te volgen , enkel wel in de zuidelijk hemisfeer maar de rotoren kunnen de snelheden aan. Dit was meer een test , is geen uiteindelijk doel.

Ik heb wel vastgesteld dat ik in het begin een deel van het maanvolgen mist omdat de maan vroeger of het echte Oosten (90°) opkomt . Dus overweeg ik om de schotel van bv 70° en tot 250 ° te laten werken ipv van 90 ° naar 270° . Mijn Westen kant wordt toch een deel geblokkeerd door mijn huis.

Dit was het voor vandaag.

vrijdag 20 november 2020

ADSN [ 34 : Gpredict : rotatorcontroller]



Hier een overzicht hoe de rotatorcontroller in Gpredict eruit ziet en wat ge er met kunt.


Nadat uw Gpredict is ingesteld en ge modules hebt aangemaakt kunnen we verder.

Mijn modules hier zijn SpaceX;Starlink9;wx en Amateur.


Helemaal aan de rechterkant en bovenaan vind ge een minuscuul driehoekje .

Dit doet een keuzemenu open en daar kies ge < Antenna Control>.

U krijgt dan de volgende afbeelding te zien.




In de twee rode kaders zijn de target AZ en EL  te zien , ze staan nu grijs want de tracking staat aan .

Daaronder in de lila kleine kaders ziet ge " Read " en een hoek staan . Dit zijn de waarden die dit menu terugkrijgt en is de actuele stand van uw rotor.U ziet bij AZ dat dit niet overeenkomt . Target zou 57,86° moeten zijn en dit is kleiner dan 90°. 

Dit is  bij mij verboden gebied en wordt dan ook niet gehaald. Bij EL zijn de waarden wel gelijk.

Ook is er boven en onder elk digit een klein driehoekje te zien , hier kunt ge manueel een hoek kiezen en doorsturen naar de rotor.( zie verder)

De twee lila pijltjes laten een cirkel en een kruis zien op de radarplot. Dit is interessant want de cirkel geeft uw rotor positie aan en het kruis de positie van in dit geval de KAITUO 1A satteliet. Als uw tracker goed werkt dan zal het kruis zich precies in de cirkel bevinden . Bij mij hier  dus niet door mijn grensgebieden.

Verder zien we nog een aantal velden rechts waar ge kunt instellen om de hoeveel msec ge wilt dat er een update van de gegevens gebeurt en wanneer dit moet gebeuren , maw hoeveel graden mag de satteliet al verplaatst zijn voor er een nieuw bericht naar de rotor gestuurd wordt.Verder is ook uw gegeven naam van de verbinding te zien of alleszins te kiezen ( ADSN)

Met de knop <Engage> start ge uw TCP verbinding op. deze moet ook aktief staan vooraleer ge daarna de <track> knop wilt gebruiken

 In de velden links daarnaast kunt  ge uw satelliet  kiezen en daar worden ook de actuele AZ en EL waarden meegegeven . Wilt U deze satteliet volgen dat moet ge op de knop < Track>  klikken.


Indien ge enkel de <Engage> knop hebt gebruikt, dan ben je in de mogelijkheid om manueel dmv de driehoekjes bovenaan uw rotor te sturen , bv voor een test of om hem eens af te gaan kuisen 😀.

Let op ,ook hier beperkt uw vorige instelling in de config dat ge niet buiten uw werkdomein kunt komen !

Het gebruik in manuele mode , kan enkel als <Engage> is ingedrukt .De cijfers zijn allemaal zwart en de driehoekjes zijn bruikbaar.

U ziet dat de wenswaarde en de gemeten waarde perfekt overeenkomen.

Nog een afbeelding waarbij de satelliet en de rotor perfect in sync staan . De cirkel omschrijft perfect het kruis.



Dit was het voor vandaag.

ADSN [ 33 : Gpredict en Firewall : de instellingen]

Hierbij de instellingen voor Gpredict.

Deze draait normaal op een  PC  in huis (zoals bij mij) en bevindt de RPI zich op een andere plaats , bv in het tuinhuis ( ook zoals bij mij).

Gpredict heeft enkel instellingen nodig bij eerste gebruik , zoals uw positie enz , maar dat vind ge allemaal op internet of op YT.

Waar het hier overgaat zijn de instellingen voor de rotorcontroller.

We maken immers gebruik van de mogelijkheid om via ethernet en het TCP/IP protocol te praten met de RPI. Hiervoor zijn enkele instellingen nodig.

Gpredict

1. Via <Edit> en <Preferences> kom je in de instellingsmenu terecht.




Kies daar <Interfaces> en vervolgens <Rotators> en daarna onderaan < Add New>.


2. Er komt een nieuwe menu te voorschijn. " Edit rotator configuration".

3. Geef een bijpassende naam aan uw configuratie , bij mij is dit ADSN

4. Geef uw IP adres in van de RPI in deze vorm xxx.xxx.xxx.xxx  . 

  x is hierbij een cijfer van uw LAN  , veelal beginnend met 192.168 of soms ook 10.1.xxx.xxx.  Het IP adres van uw RPI is op uw RPI te vinden of ge typt  ifconfig in op de terminal van de RPI. Zoek naar eth0 bij een vaste verbinding of naar wlan0 voor een WiFi verbinding.

5. Port is 4533 , dit staat vast als standaard ingesteld . Mag verandert worden als je weet wat je doet.

6. Daaronder staan nog velden om in te vullen wat je rotors aankunnen . Bij mij kan ik enkel tussen 90° en 27O° werken ( Oost naar West) en van 10° naar 50 ° elevatie . Ik zie dat mijn minimum elevatie hier dus nog verkeerd staat.


Daarna op <OK> en uw configuratie is gedaan.


Firewall

Om de communicatie over uw huiselijk LAN te laten verlopen moet ge ook uw poort 4533 nog vrijgeven . Dit wordt gedaan op uw plaatselijk PC ( dus niet in de router, omdat ge niet naar internet buiten moet ).

 

Open firewall ( OS afhankelijk) . Ik heb Linux,  dus bij mij ziet er dit uit als volgt. 

Dit overzicht is nadat ik de regel heb toegevoegd.  U ziet dat zowel voor IPv4 als voor IPv6 er regels voor poort 4533 is aangemaakt. 


U kunt dit zelf doen door eerst te klikken op < +> onderaan.


Daarna krijgt ge een nieuwe menu en kies ge voor de < Eenvoudig> tab.



Vul de velden in zoals bovenstaand en klik op de < + ADD > knop.

Uw firewall is nu ingesteld en kunnen er TCP verbindingen gebeuren via poort 4533 op uw eigen huis LAN.


Firewall RPI

Standaard heeft de RPI geen firewall ingesteld . Je kan echter dit wel doen indien je wenst .Zoek op de raspberry pi website op volgende url:

https://www.raspberrypi.org/documentation/configuration/security.md 

 en zoek naar   ufw .

Daar staat de uitleg hoe het moet.

Vanaf nu zijn we in staat om via TCP de rotor op afstand te besturen , ttz als alle software en hardware in orde is , maar dat is nog niet tenvolle uitgevoerd hier.

 

Volgende keer , een kort overzicht van de bediening van de rotor in Gpredict.

ADSN [ 32 : Gpredict en het uitvlooien ervan]

Nu de hardware blijkt te werken wordt het tijd om de schotel automatisch te laten sturen door  een programma.

Uiteindelijk, en als eerste toepassing, zou ik de maan willen volgen .Echter ik heb nog geen gepaste software daar voor gevonden , ttz ik heb er één maar dit moet nog uitgebreid uitgetest worden .

Neen , het is simpelder om eerst een bekend werkend programma te gebruiken en kijken of ik een satteliet of bv het ISS kan tracken weliswaar in mijn bereik van de  zuiderlijke  hemisfeer.


Hoe het één en ander aan elkaar moet geknoopt worden heb ik in een blokschema gezet.

 

 


 Het was lange tijd zoeken hoe nu Gpredict zich gedroeg.

Was het nu een server of een client ? Wat was het protocol en moest ik nu HAMlib gebruiken of niet ?


Door wat te snuisteren op Github in de sourcen van Gpredict kwam ik erachter dat het een clientmodel was en dat deze de letter commando's van Hamlib nabootste maar dat Hamlib niet echt nodig was .

Gpredict gebruikt wel de standaardpoort van Hamlib zijnde 4533 en het protocol is TCP/IP

Hamlib KAN je gebruiken als je een interface wilt tussen een bekende rotor ( bv ene van Yaesu) en de bestaande controller ervan , maar daar ik hier alles zelf heb samengestoken , doe wat ik wil.

Ik moet nu een server socket schrijven op de RPI en luisteren op inkomende clientaanvragen , in dit geval enkel en alleen van Gpredict.

Eénmaal de connectie tot stand gekomen ( wordt allemaal afgehandeld door de socket) kan ik in mijn eigen RPI soft de letter commando's verwerken en antwoorden sturen naar Gpredict.

De eerste testen zijn al gebeurd en na wat zoekwerk hoe nu juist die lettercommando's moesten doorgestuurd worden zijn deze premature testen veelbelovend.

Volgende keer , de instellingen langs de Gpredict kant en over de firewall.



zondag 15 november 2020

ADSN [ 31 : Kalibratieblad voor schotel]

 Eens een geschaald kalibratieblad gemaakt.



Hier is de openingshoek van de schotel op 8.8 GHz getekend met daarbij:

In het geel : de onnauwkeurigheid gerekend naar twintig impulsen ( 0.2°) 

In het rood: de geschaalde  diameter van de maan naar mijn kalibratieafstand , zijnde 4m. Dus als ik de maan uitknip en het is volle maan en ik houd deze op 4 m afstand van mijn oog , zou dit knipsel juist de maan moeten afdekken ? Of ga ik hier in de mist ? ( komt overeen met 0.52°)

Wat is er hier uit te leren( als het allemaal juist is 😀)?

Mijn onnauwkeurigheid valt binnen de maandiameter 👍

Op 8.8GHz - 3dB overstraal ik ferm de maan , zal op 2.3GHz nog veel meer zijn , maar dat kon niet meer op mijn blad. 😡

 


ADSN [ 30 : Nog wat cijfermateriaal]

Van de blog van PE0SAT:

https://www.pe0sat.vgnet.nl/eme/

Enkele gegevens:

 

  • De maan is gemiddeld  384.400 km verwijdered  van ons
  • Diameter van de maan is 3.476 km
  • De maan neemt slechts  0.52 van een graad in beslag van de 180° hemelsbreed

 

Hoe zit het met mijn schotel ?

Al berekend dat:

bij 2.3 GHz de openingshoek 6.5 ° bedraagt

bij 8.8GHz  deze 1.7° bedraagt , zie daarvoor in deze blog

ADSN [ 24 : De software : deel 4 + uitgevoerde testen]

Als ik deze hoeken uitzet naar een afstand van 4m( mijn kalibratielengte)  kan ik een lijn teken waarin mijn laserpointer zich steeds zou moeten bevinden bij gelijk welke verplaatsing ik maak.

Daarvoor gebruik ik de tangens van een hoek en neem de halve hoek  en waarvan ik de uitkomst terug verdubbel. Dit geef mij het gevoel dat ik beter de cirkelboog  zal benaderen die in feite de schotel maakt bij het azimuthaal draaien.

 

De lijnlengte van het target bij 2.3 GHz bedraagt

tan (halve hoek) x 4000mm 

bv tan ( 6.5/2) x 4000 = 0,056784115 x 4000 = 227mm

dit nog verdubbelen geeft  een lijn met een lengte  van  454,4 mm , wat best veel is .

Hetzelde berekenen voor 8.8GHz geeft een lijnlengte 258 mm.

 

Wat met de nauwkeurigheid van mijn rotor ?

Bij de laatste opmeting ( moet deze nog bevestigen) had ik een tolerantie van 7 pulsen linksom en 7 pulsen rechtsom. Deze geven samen 14 pulsen wat overeenkomt in het AZ met 0.14 ° . Ik neem 20 pulsen en bereken een wat onnauwkeuriger situatie.

Twintig pulsen komen overeen met 0.2°

Uitgezet vogens hetzelfde stramien geeft mij dit op 4m afstand een lijnlengte van 

14 mm .

Als dit alles bevestigt wordt kan ik zekers met deze opstelling op 8.8 GHz een nauwkeurigheid behalen die voldoende is . Dit alles wel berekend bij een openingshoek van de schotel op de - 3dB punten , wat toch maar de helft is van het vermogen .

 

Hetzelfde moet ook nog berekend worden  met de Elevatierotor .


Ik zou dit eens moeten kunnen herhalen voor bv - 1 dB punt .

Maar zover ben ik nog niet


woensdag 11 november 2020

ADSN [ 29 : hardware : Hbridge uitgevoerd]

 De praktijk van het vorige schema.



Links de eerste versie en getest op Azimuth en goedgekeurd , rechts de nieuwere versie met minder brugjes en nog te testen op Elevatie.

Gebruikte MOSFETS:

P  kanaal : IRF4905

N kanaal : IRLZ44N

Gate wordt aangestuurd via fotokoppelaars zo ben ik gescheiden tussen "vermogen" en het RPI gedeelte. Hierdoor is ook de levelshifter niet nodig.

Er zijn ook leds voorzien zo dat ik kan zien welke MOSFET er aangestuurd wordt.



woensdag 4 november 2020

ADSN [ 28 : hardware : Hbridge schema]

 Het schema:



Het is een normale configuratie . Enkel de clamping tussen de N en P kanaal MOSFETs is misschien niet zo bekend . Ik heb dit gedaan omdat de VgMmax niet zo kunnen overschreden worden , want dit is één van de oorzaken die een MOSFET doet sneuvelen . Dus is er een 7812 gebruikt in het "middelpunt". hierdoor kan de Vgs van het P kanaal niet lager worden dan 24 V - 12 V = 12 V.  tov de source  Langs de andere kant bij het N kanaal is er hierdoor ook maar 12 V positief tov de source mogelijk.

Veelal is VgsMax ongeveer 16V tot 20 V.

Door elke MOSFET apart aan te sturen ben ik baas over de sequentie . De logica voor deze aansturing is geen hardware maar zit in mijn soft.

De vier fotokoppelaars 4N35 hebben als voordeel dat er ook galvanische scheiding is en dat ik deze kan aansturen rechtstreeks uit de RPI . De levelshifter kan verdwijnen.


Let er goed op dat bij de P kanaal MOSFET de source ( S) aan de voeding ligt( 24 V)  en dat deze bij het N kanaal aan de massa (24M) ligt. De drains vormen dus het brugpunt.

dinsdag 3 november 2020

ADSN [ 27 : hardware : Hbridge eigen ontwerp]

Zoals reeds eerder aangehaald heb ik na diverse pogingen met de LN298N deze piste verlaten en zelf een H bridge met MOSFETs gemaakt.

Ik had er nog een aantal op een oude print gevonden met twee P en twee N kanaals MOSFETs

Ideaal om een H bridge samen te stellen . De oude MOSFETs hebben wel nog een vrij hoge R-on weerstand maar om te testen kan dit geen kwaad . trouwens ik kan de spanningsval compenseren door de voeding te verhogen maar de dissipatie over de MOSFET blijft natuurlijk.

Elke tak van de H bridge stuurde  ik apart aan , eerst met een gewone drukknop en defintief zal het met 4 fotokoppelaars worden , zo scheid ik beide spanningen én kan ik de levelshifter laten vallen .

Als proef op de som heb ik eens twee verkeerde MOSFETs in geleiding gebracht om te zien of deze wilden overleven . Ik heb natuurlijk wel de stroombeperking van de voeding ingesteld op 1 A maar de MOSFETs hebben het overleeft.

Ook de remmode getest en alles OK.

Zal later nog het schema bijvoeren maar hier alvast een snapshot van de testopstelling mét de fotokoppelaars.




zondag 1 november 2020

ADSN [ 26 : De software : deel 6 --> Hbridge perikelen]

Nog steeds problemen met de  H bridge sturing.

Nu ik er zeker van ben dat deze niet ongewild wordt aangestuurd in een eventuele onbekende modus, ben ik eens in de datatsheet gaan kijken van de L298N.

(Had dit beter al vroeger gedaan !)

Deze zou 25 W kunnen  dissiperen en volgens mijn manual van de rotor vragen deze maar 18 W . In principe zou dit voldoende moeten zijn . 

Ik ga nog één poging wagen met deze H bridge en anders wordt het een zwaarder type of bouw ik hem zelf.

Wat ik een beetje over het hoofd heb gezien is dat door inertie de schotel bij het afschakelen nog effe doordraait . Hierdoor wordt de motor een generator en stuurt deze een emk terug naar de brug. Dit had ik trouwens ook al opgemerkt doordat de ledjes die parallel aan de rotor , met een dimeffekt uitdoofden en niet plots .

Dit effekt noemt men breaking of bij ons remwerking of remfase.

Dat doordraaien had ik ook reeds gemerkt bij het debuggen van de soft . Er kwamen nog  tientallen  pulsen door ná het afschakelen . Ik had reeds in de soft een variabele voorzien om hierop te anticiperen en zelfs uitgesplitst naar beide richtingen ( dus of ik van Oost of van West naar het punt kwam) en dit werkte goed .

Op internet , dit gevonden  :  http://www.bristolwatch.com/ele/h_bridge.htm. 

Hier wordt de break functie uitgelegd , die bij sommige H bridgen kan toegepast worden en gelukkig ook bij de mijne. 


Ik heb nu de soft aangepast en twee kleine motoren hier in de shack aangesloten op mijn electronica zodat ik kan kijken of het remeffekt ook daadwerkelijk plaatsvindt.

Eerst getest zonder remwerking natuurlijk en ook hier gingen de ledjes zachtjesaan uit. Met remwerking doven ze onmiddellijk.


Nu nog " in het veld" testen , hopelijk zijn de weergoden mij gunstig gezind.