Meten: SGP1010S, functiegenerator

(gepubliceerd op 13-03-2022)

Deze ongeveer € 60,00 kostende module is een veelzijdige functiegenerator met een frequentiebereik tot 10 MHz en een uitgangsspanning tot 10 Vtop-tot-top. De generator wordt gevoed uit een gelijkspanning van 9 V tot 36 V.

Kennismaking met de SGP1010S


Fabrikant, modellen, leverancier, prijzen
De SGP1010S maakt deel uit van de SGP10xxS-familie van functiegeneratoren, die alleen in het frequentiebereik van elkaar verschillen:
       - SGP1002S: 2 MHz
       - SGP1005S: 5 MHz
       - SGP1008S: 8 MHz
       - SGP1010S: 10 MHz
       - SGP1012S: 12 MHz
Deze serie functiegeneratoren wordt gefabriceerd door het Chinese FeelTech en wordt door alle bekende postorderbedrijven aangeboden. Wij selecteerden het model met een frequentiebereik tot 10 MHz. Dit wordt aangeboden voor prijzen variërend tussen € 60,00 en € 146,29. Bij alle aanbieders is een eenvoudige netstekkervoeding die 12 V bij 2 A levert en een BNC-kabel met krokodilklem-uitgangen in het aanbod inbegrepen.

SGP1010S-functiegenerator-01 (© 2022 Jos Verstraten)
De omvang van de levering. (© 2022 Jos Verstraten)

De handleiding
Een handleiding wordt niet meegeleverd, maar wij hebben deze op het internet opgespoord en beschikbaar gesteld op onze cloud op Google Drive:
Aanklikbare link ➡ SGP1010S_Manual.pdf

De functiegenerator SGP1010S
De module bevat één printje van 13,0 cm bij 6,5 cm dat is gemonteerd op een frontplaatje van 13,5 cm bij 7,0 cm. Het frontplaatje is niet van aluminium, maar gemaakt van een stukje epoxyprint dat gezeefdrukt is. Als display wordt de overbekende en spotgoedkope LCD1602 toegepast met 2 x 16 karakters en background verlichting. De drie BNC-connectoren zijn respectievelijk:
       - de ingang voor een extern signaal
       - de uitgang op TTL-niveau
       - de analoge uitgang

SGP1010S-functiegenerator-02 (© Banggood)
De voorzijde van de SGP1010S. (© Banggood)

De 'ADJ'-knop bedient een draai-encoder waarmee u keuzes kunt maken en deze kunt bevestigen door op de knop te drukken. Met de twee potentiometers kunt u respectievelijk de offset op en de amplitude van het uitgangssignaal instellen. Het rode drukknopje bedient een verzwakker waarmee u de uitgangsspanning met een factor tien (20 dB) kunt verzwakken. Dat is een heel handige en nuttige voorziening waardoor het mogelijk wordt ook kleine uitgangsspanningen voor het testen van audio-versterkers nauwkeurig in te stellen.
Met acht drukknopjes selecteert u de vrij uitgebreide opties die deze functiegenerator te bieden heeft. In de linker bovenhoek ziet u een zwart blokje uitsteken. Dat is een standaard 5,5 mm x 2,1 mm connector voor het aansluiten van de voedingsspanning en dat brengt ons op....

...ons eerste punt van kritiek
Wie verzint het om een module van zo'n meetapparaat op de markt te brengen die met geen mogelijkheid is in te bouwen in een behuizing? Het frontplaatje is in beide dimensies slechts 5 mm groter dan de printplaat. Bovendien is die al zeer geringe extra lengte en breedte niet eens gelijkmatig verdeeld. Aan de kant van de voedingsconnector staan de print en de frontplaat precies recht achter elkaar. Wat had het extra gekost om de frontplaat in beide dimensies 2 cm groter te maken en deze symmetrisch voor de printplaat te monteren? En had het één cent meer gekost om de liggende voedingsconnector te vervangen door een die loodrecht op de print staat? Dan had iedereen een passende behuizing kunnen maken waar de frontplaat netjes op of in past.


Wat biedt de SGP1010S?

Deze module is, althans volgens de specificaties, een volwaardige functiegenerator die de volgende opties biedt:
       - Frequentiebereik: 0,01 Hz ~ 10 MHz
       - Resolutie: 0,01 Hz
       - Signaalvormen: sinus, driehoek, rechthoek, puls, zaagtand
       - Uitgangsspanning: 10 Vtop-tot-top max.
       - Uitgangsimpedantie: 50 Ω ±10 %
       - DC-offset: ±3,0 V
       - Symmetrie (duty-cycle) rechthoek: instelbaar 1 % ~ 99 %
       - Frequentie nauwkeurigheid: ±[5 x 10-6]
       - Frequentie stabiliteit na drie uur: ±[2 x 10-6]
       - Vervorming op de sinus: kleiner dan 0,8 % (1 kHz)
       - Lineariteit driehoek: beter dan 98 % (0,01 Hz ~ 10 kHz)
       - Stijg- en daaltijd rechthoek: kleiner dan 100 ns
       - TTL-uitgang: groter dan 3,0 V tot 20 TTL-loads
       - Stijg- en daaltijd TTL-uitgang: kleiner dan 20 ns
       - Frequentiemeter bereik: 1 Hz ~ 60 MHz
       - Frequentiemeter gevoeligheid: 0,5 Vtop-tot-top
       - Puls counter bereik: 0 ~ 4294967295
       - Sweep modus: lineair en logaritmisch
       - Sweep tijd: 1 s ~ 99 s
       - Sweep bereik: 0,01 Hz ~ 10 MHz
       - Parameter geheugen: tien instellingen bewaren en oproepen
       - Display: 2 x 16 karakters, groen

De elektronica van de SGP1010S
In de onderstaande foto is de componentenzijde van de print voorgesteld. Uit deze foto volgt heel duidelijk hoe onnadenkend men de frontplaat en de printplaat tot een geheel heeft samengevoegd. Niet in een kastje in te bouwen!
Maar nu naar de elektronica. Op de print ontdekken wij:
  • 1 x AG576SL100
    Een CPLD, een 'Complex Programmable Logic Device' van AGM Microelectronics waarin waarschijnlijk de datatabellen zijn geprogrammeerd die de outlines van de drie signaalvormen definiëren.
  • 1 x STC12C5A52S2
    Een 8 bit microcontroller, die het apparaat bestuurt.
  • 2 x MC34063A
    DC naar DC boostconverters die ongetwijfeld worden ingezet voor het genereren van de twee symmetrische voedingsspanningen.
  • 2 x AMS1117
    Een step-down buck-converter voor het genereren van een 3,3 V voedingsspanning.
  • 1 x 74LVC14AD
    Een hex inverting Schmitt trigger uit de TTL-familie.
  • 1 x LMH6643MA
    Een dubbele op-amp met een bandbreedte van 130 MHz en een uitgangsstroom van 75 mA, die ongetwijfeld wordt gebruikt in de uitgangstrap van de analoge uitgang voor het regelen van de offset op en de amplitude van het uitgangssignaal.
SGP1010S-functiegenerator-03 (© Banggood)

De componentenzijde van de print. (© Banggood)


Op de andere zijde van de print is niet veel spannends te zien, behalve uiteraard de drukknopjes, de overige bedieningsorganen, het display en de drie BNC-connectoren.

SGP1010S-functiegenerator-04 (© AliExpress)
De andere zijde van de print. (© AliExpress)


Het werken met de SGP1010S


Versienummer
Het aan ons geleverde exemplaar werkt met firmware met als versienummer REV2.1. Dit versienummer verschijnt even in het display als u de generator activeert.
De module heeft geen aan/uit-schakelaar, u activeert de generator door het aansluiten van de voedingsspanning. In de onderstaande afbeelding is te zien wat het display op dat moment beweert. De SGP1010S levert dus een sinusspanning met een frequentie van 10 kHz. Het sterretje op de eerste regel (*F) geeft aan dat de frequentie-functie F actief is, u kunt dus de frequentie variëren. Dat doet u met de drukknopjes '◄' en '►' (selecteren van het te variëren cijfer) en met het draaien aan de encoder-knop. De wijziging van de frequentie gaat onmiddellijk in, u hoeft niet te bevestigen. Dat is handig, want op deze manier kunt u bijvoorbeeld een audio-versterker snel 'doorfluiten' van 20 Hz tot 20 kHz.
Door het drukken op de encoder-knop kunt u de eenheid van de uitlezing instellen op MHz, kHz of Hz.

SGP1010S-functiegenerator-05 (© 2022 Jos Verstraten)

Het display na het inschakelen van het apparaat.
(© 2022 Jos Verstraten)


Het instellen van de golfvorm
Door het drukken op het knopje 'WAVE' kunt u altijd snel omschakelen tussen sinus, driehoek en rechthoek.

De drukknop 'MENU'
Als u op deze knop drukt verplaatst het sterretje zich van de eerste F-regel naar de tweede FUNC-regel en kunt u de functie van de generator instellen. U kunt dit wijzigen met de '◄' en '►' drukknopjes. Het menu heeft de onderstaande opties:
       - DUTY
       - COUNTER/EXT. FREQ
       - SAVE
       - LOAD
       - TIME
       - SWEEP
       - WAVE
De functies SAVE, LOAD en WAVE zijn ook rechtstreeks benaderbaar door de gelijknamige drukknopjes te bedienen.

FUNC: DUTY
In deze functie kunt u, als u rechthoekvormige uitgangsspanning hebt ingesteld, de aan/uit-verhouding van deze puls variëren tussen 1 % en 99 %. Bij sinus heeft deze functie geen invloed op het signaal. Bij driehoek zorgt iedere afwijking van 50 %, zelfs met slechts 1 %, onmiddellijk voor het veranderen van het uitgangssignaal in een stijgende of dalende zaagtand.

SGP1010S-functiegenerator-06 (© 2022 Jos Verstraten)
Het display in de functie DUTY. (© 2022 Jos Verstraten)

FUNC: COUNTER/EXT. FREQ
In deze functie wordt de SGP1010S een pulsteller of frequentiemeter. U schakelt om tussen deze beide functies met de knop 'MEAS'. Bij de optie pulsteller geeft het display 'CNTR=0' aan. Bij de optie frequentiemeter wordt dat 'ExtF=0Hz'. U kunt vervolgens het te meten signaal aan de ingang 'Ext. Input' aansluiten.

SGP1010S-functiegenerator-07 (© 2022 Jos Verstraten)
Het display bij de twee subfuncties COUNTER en EXT.FREQ.
(© 2022 Jos Verstraten)

FUNC:SAVE/LOAD
In deze functies staan tien geheugenplaatsen M0 tot en met M9 ter beschikking waarin u diverse instellingen van de frequentie en de signaalvorm van de generator kunt bewaren en oproepen. De SGP1010S start altijd op met de instellingen die u in M0 hebt bewaard. Vreemd genoeg moet u M1 en M2 reserveren voor de start- en stop-frequenties van een sweep, waarbij de waarde in M1 uiteraard kleiner moet zijn dan de waarde in M2.
U selecteert een geheugenplaats door het draaien aan de encoder, u bevestigt een save-operatie door een druk op deze knop.
Met de functie LOAD stelt u de generator uiteraard in op de waarden die u in M3 tot en met M9 hebt bewaard. 

SGP1010S-functiegenerator-08 (© 2022 Jos Verstraten)

Het display bij de functies SAVE en LOAD. (© 2022 Jos Verstraten)


FUNC:TIME
In deze functie stelt u de tijd in van een sweep. U kunt een waarde invoeren tussen 1 en 99 seconden door het draaien aan de encoder-knop. Bevestig weer door een druk op deze knop.

FUNC:SWEEP
Door het draaien aan de encoder-knop kunt u selecteren tussen een lineaire en een logaritmische sweep. U start en stopt de sweep-functie door een druk op de encoder-knop. De sweep gaat niet heen en weer. Als de in M2 ingestelde maximale sweep-frequentie is bereikt gaat de frequentie opeens weer terug naar de frequentie die in M1 is bewaard en start een nieuwe sweep.

SGP1010S-functiegenerator-09 (© 2022 Jos Verstraten)
Het display bij de functie LIN-SWEEP. (© 2022 Jos Verstraten)

Het instellen van de frequentie
U kunt altijd, onafhankelijk van welke functie is ingesteld, snel de frequentie wijzigen door het knopje 'MENU' in te drukken. Het sterretje verspringt dan van de FUNC-regel naar de F-regel en u stelt op de reeds beschreven manier een andere frequentie in.

De knop 'OUTPUT'
Met deze knop schakelt u het signaal op de analoge uitgang 'Wave Output' in of uit.
Het signaal op de uitgang 'TTL Output' is echter altijd aanwezig.

De SGP1010S van Feeltech getest


De voedingsspanning en -stroom
Wij hebben de functiegenerator getest met de meegeleverde netstekkervoeding. De SGP1010S verbruikt slechts 146 mA uit de 12 V voeding.

De kwaliteit van de sinus uitgang
In de onderstaande foto hebben wij de maximale sinus uitgangsspanning weergegeven bij frequenties van 1 kHz, 1 MHz en 10 MHz. De offset staat hierbij op 0 V ingesteld. Bij 1 kHz werd een maximale effectieve waarde van 3,519 V gemeten. In de '-20dB' stand was de maximale spanning 0,328 V. Niet helemaal 1/10, dus.
De horizontale cursorlijnen, ingesteld op de toppen van het 1 kHz signaal, laten duidelijk zien dat het signaal verzwakt bij de hoogste mogelijke frequentie van 10 MHz. Onze 100 MHz oscilloscoop is recht tot 30 MHz (hebben wij gemeten met een professionele Marconi HF-generator), dus de getoonde signaalverzwakking bij 10 MHz komt helemaal voor rekening van de SGP1010S.

SGP1010S-functiegenerator-10 (© 2022 Jos Verstraten)
De sinus uitgangssignalen bij 1 kHz, 1 MHz en 10 MHz. (© 2022 Jos Verstraten)

De harmonische vervorming op de sinus
Digitale functiegeneratoren zijn geen helden als het op minimale harmonische vervorming aankomt. Tóch doet deze goedkope SGP1010S zijn uiterste best om een zuivere sinus te produceren. Wij hebben de totale harmonische vervorming gemeten op een signaal van 1 Veffectief bij 1 kHz en bij 100 kHz, met onbelaste uitgang. Wij meten 0,85 % bij 1 kHz en slechts 0,55 % bij 100 kHz. De specificaties liegen dus niet! In het onderstaand oscillogram stelt het gele signaal de uitgang van de generator voor bij 100 kHz en het blauwe signaal de totale harmonische vervorming op dit signaal.

SGP1010S-functiegenerator-11 (© 2022 Jos Verstraten)
De harmonische vervorming bij 1 V ~ 100 kHz.
(© 2022 Jos Verstraten)

De lineariteit van de uitgangsspanning
Een door een digitale functiegenerator geproduceerde zaagtand is een ideaal signaal om de lineariteit van de digitaal naar analoog omzetting te beoordelen. Iedere stap van de 'stapvormige benadering' moet dan in theorie even groot zijn en de overgang van de ene naar de volgende stap moet gebeuren zonder spikes. In de onderstaande figuur is een zaagtand van 100 kHz weergegeven. De lijn is kaarsrecht, hetgeen een goede lineariteit betekent, maar rond de nul is er duidelijk sprake van een spike op het signaal. Dat is een bekend verschijnsel bij goedkope DAC's.

Share 

Stel dat de volledig beschikbare resolutie van de DAC wordt gebruik voor het omzetten van de digitale code naar een analoog signaal. Dan is het punt in het midden van het bereik het punt waarbij alle bits van waarde veranderen. Bij een 8 bit brede DAC is dat dus de overgang van 'H-H-H-H-H-H-H-L' naar 'L-L-L-L-L-L-L-H'. Door ongelijke signaalvertragingen en stijgtijden van de acht bits ontstaan er allerlei ongewenste overgangsverschijnselen die een dergelijke spike veroorzaken. Zo'n spike wordt een 'double lobe glitch-impulse' genoemd en is een typisch verschijnsel van een R-2R DAC. 

SGP1010S-functiegenerator-12 (© 2022 Jos Verstraten)
De aanwezigheid van een glitch op de zaagtand. (© 2022 Jos Verstraten)

De kwaliteit van de rechthoekvormige spanning
Deze en de volgende metingen worden uitgevoerd met 50 Ω terminatoren op de ingangen van de oscilloscoop. In de onderstaande drie oscillogrammen ziet u in de gele traces de blokpuls van de SGP1010S bij 1 MHz, 5 MHz en 10 MHz. Als referentie hebben wij deze vergeleken met de uitgangsspanning van een pulsgenerator die snelleTTL-signalen levert (blauwe traces).

SGP1010S-functiegenerator-13 (© 2022 Jos Verstraten)
Blokgolven van 1 MHz, 5 MHz en 10 MHz. (© 2022 Jos Verstraten)

Meten van de stijgtijd van de rechthoekvormige spanning
De stijgtijd is de tijd die een signaal nodig heeft om te stijgen van 10 % tot 90 % van de amplitude van het signaal. Dank zij de vier cursors van iedere oscilloscoop is deze tijd snel te bepalen. De stijgtijd van de SGP1010S is iets kleiner dan de gemeten 45,20 ns, want daarin zit uiteraard ook de stijgtijd van de oscilloscoop. Volgens de spec's is die slechts 3,5 ns, dus in dit kader verwaarloosbaar. Ook bij deze parameter geven de specificaties van de functiegenerator een reële waarde.

SGP1010S-functiegenerator-14 (© 2022 Jos Verstraten)

De stijgtijd van de SGP1010S gemeten. (© 2022 Jos Verstraten)


De DUTY-functie getest
In het onderstaande oscillogram ziet u in de gele trace de blokgolf met een frequentie van 1 MHz en met een duty-cycle van 5 %. Dit signaal wordt weer vergeleken met een identiek signaal van een TTL-pulsgenerator, blauwe trace.

SGP1010S-functiegenerator-15 (© 2022 Jos Verstraten)
Een naaldpuls van 1 MHz. (© 2022 Jos Verstraten)

De uitgangsweerstand van de analoge uitgang
Deze parameter kunt u meten door de onbelaste uitgang in te stellen op een gemakkelijk afleesbare spanning, een potentiometer tussen de uitgang en de massa aan te sluiten en de loper te verdraaien tot de meter de helft van de onbelaste spanning aanwijst. Op dat moment is de waarde van de potentiometer gelijk aan de waarde van de inwendige weerstand van de generator. Wij hebben deze parameter gecontroleerd bij een onbelaste sinusspanning van 3,0 V. De inwendige weerstand van de SGP1010S blijkt 54,88 Ω te bedragen, alweer een waarde die keurig binnen de specificatie valt.

De gevoeligheid van de frequentiemeter
Wij hebben de SGP1010S in de functie EXT.FREQ gezet en gemeten hoe groot het sinusvormig ingangssignaal op de 'Ext. Input' moet zijn om een stabiele uitlezing van de frequentie te krijgen. De resultaten zijn samengevat in de onderstaande tabel. De noodzakelijke spanning voor een stabiele uitlezing is dus iets groter dan gespecificeerd. Helaas levert onze HF-generator een te klein uitgangssignaal om de gevoeligheid tot de gespecificeerde meetgrens van 60 MHz te kunnen meten. Duidelijk blijkt dat de meetresolutie lager wordt als de frequentie van het signaal afneemt. Blijkbaar meet de software het aantal perioden dat binnen een tijdsinterval van één seconde wordt ontvangen en zet het resultaat op het display. Vandaar dat een signaal met een frequentie van 10 Hz wordt gemeten met een resolutie van slechts twee digits, wat een intrinsieke meetonnauwkeurigheid van ±10 % tot gevolg heeft.

SGP1010S-functiegenerator-16 (© 2022 Jos Verstraten)
De gevoeligheid van de frequentiemeting. (© 2022 Jos Verstraten)

Onze conclusie over de FeelTech SGP1010S


Deze functiegenerator voldoet op vrijwel alle gemeten eigenschappen aan de door de fabrikant opgegeven specificaties. Het is een leuk apparaatje voor de hobbyist. Gecharmeerd zijn wij door de voorziening van de -20 dB verzwakker knop, waardoor u ook kleine signalen voor het testen van audio-versterkers zonder problemen kunt instellen. Zo'n knopje zouden alle goedkope functiegeneratoren moeten hebben!
Minder gecharmeerd zijn wij over de rare manier waarop u de laagste en hoogste frequentie van een sweep moet instellen. Het ligt niet voor de hand dat deze parameters in de M1 en M2 geheugens worden opgeslagen. Waarom heeft men die twee instellingen niet als opties aan het menu toegevoegd, bijvoorbeeld na de optie FUNC:TIME? Dat was veel logischer geweest.
Tot slot willen wij hier nogmaals onze verbazing uiten over de onpraktische afmetingen van het frontplaatje, waardoor eenvoudige inbouw van deze module in een behuizing erg moeilijk wordt. Een jammerlijke tekortkoming die heel eenvoudig en goedkoop verholpen had kunnen worden.



(Banggood sponsor advertentie)
SGP1010S functiegenerator