Sida 1 av 1

AGC-fråga

Postat: 20 oktober 2017, 21:14:40
av AndersG
Gäller min Navtex-mottagare
20171020_220757_resized.jpg
Ingångssteget är ju en FET-kaskod och där behöver jag en negativ spänning för att strypa. Det har jag nu inte så jag tar en 200kHz jag ändå har (klockan till anti-aliasingfiltret) och genererar en negativ spänning. Sedan skapar jag en PWM-signal som är omvänt proportionell mot signalen. Dvs då signalen är noll är PWMen max, eller 5V och sedan avtar den med signalstyrkan:

Kod: Markera allt

                agc = (((hi_ave^0x8000)-32768)>>8) + (((lo_ave^0x8000)-32768)>>8);
                agc = (FCY/200000 + 1) - agc;
                if(agc<0) agc=0;
                OC2RS = agc;
Dvs jag summerar medelnivåerna för MARK och SPACE för att mäta nivån.

Är detta en bra eller dålig metod? Om dålig, vad skulle vara bättre?

Re: AGC-fråga

Postat: 21 oktober 2017, 12:03:30
av Icecap
Om MARK & SPACE är fasta signaler som anger signalstyrkan är det nog en fungerande metod.

Nu vet jag inte hur snabbt AGC'n ska reglera men jag hade nog satsat på en PI-reglering, den är ju enkel att åstadkomma med an µC inblandad. Med en PI-reglering kan du få näst intill stabil nivå på signalerna.

Re: AGC-fråga

Postat: 21 oktober 2017, 12:14:16
av AndersG
Ja. Mark och Space är signaler ut från filtren. Antingen eller. Tidskonstanten bör vara ganska lång. Det är inte livsviktgt att nivån hålls jätteexakt dock. Vill bara kunna dra ned om innivån är jättestark.

Har du exempel på PI-kod så ser jag gärna på den, dock kan det ibland vara enklare/biligare/strömsnålare att göra analogt.

Re: AGC-fråga

Postat: 21 oktober 2017, 16:22:45
av Icecap
Koden har jag inte exempel på, jag använder den förvisso i ett antal projekt men ingen kod som är "exemplarisk".

Funktionen är dock enkel:
Skapa variablerna "Diff", "Integrating" och "Sum", alla lik 0 till en början.

Med 'Mål' menas det önskade värde på slutsignalen.

Diff = (Mål - Signalstyrka) * P-faktor.
Intergrating += (Mål - Signalstyrka) * I-Faktor.
Sum = Diff + Intergrating.

Detta upprepas med lagom hastighet. P-Faktor och I-Faktor kan som utgångspunkt vara 20% och 3%.
Man bör såklart ha en begränsning på hur långt Intergrating kan stega, aldrig under 0% och aldrig över 100%.

Det går såklart att lösa analogt också, då med en op-amp med en rimlig hög förstärkning - men där motkopplingsmotståndet har ett motstånd i serie med en kondensator.

Med rätt balansering av komponentvärden kan det fungera bra, analogt är det dock svårt att justera värden utan en massa trimpotentiometer - vilka ju blir glappa efter ett tag.

Re: AGC-fråga

Postat: 21 oktober 2017, 17:06:55
av AndersG
Tack. Jag skall testa. Finns en massa att labba med ännu före jag gör kort.