Op 1 juli 2020 21:16:39 schreef Frederick E. Terman:
[...]Dat is grappig, want de essentie van een 'pulse' (letterlijk: polsslag) is juist de herhaling. Denk ook aan pulseren (regelmatig kloppen), en aan dingen als pulscodemodulatie, pulsbreedtesturing, muziek met een sterke puls (zeer ritmisch), etc.
Misschien denk je aan een impuls.
Het Engelse pulse is echter niet hetzelfde in betekenis as het Nederlandse puls. Puls in het nederlands heeft ook de betekenis 'stoot', waarmee je weer heel dicht bij impuls komt.
Uiteindelijk is het belangrijk alle details te specificieren:
Een puls met pulslengte 325ns, amplitude 12V, herhalingsfrequentie 200Hz. Stijg en daal-tijd ontbreken nog. Belasting 1MOhm/15pf (standaard scope-probe).
Arduino op 16MHz kan wel, maar kost wat moeite: 325ns is 5,2 klokperioden dus komt net niet uit (je puls wordt 312,5 of 375 ns), alhoewel je buffer naar 12V waarschijnlijk genoeg vervorming bied om dat recht te trekken.
Tweede detail is dat de meest straight-forward oplossing (een 16 bit timer in PWM mode) niet werkt omdat 16MHz/216 244Hz geeft. M.a.w. je haalt de 200Hz niet zonder prescaling, maar met prescaling kun je geen pulsbreedte van 5 klokken maken.
Dus je moet iets maken met een interrupt die door de timer elke 5ms wordt aangeroepen, en dan met wat assembly een puls maakt van precies 5 klokken.
En dan een tweede timer die 1-3us later afgaat, en de tweede puls maakt. Dat kan dan waarschijnlijk wel met een simpele 8 bit timer, aangenomen dat die tijden niet op 100ns nauwkeurig hoeven te zijn.
Al met al kun je daar wel een paar avonden mee zoet zijn als arduino-beginner.
Die 12V generen vereist dan ook nog een leuke buffer; als je een beetje redelijke stijg en daaltijden wil hebben (bijv 10ns) heb je toch al snel een 100MHz buffer nodig, die bovendien zover in spanning kan. Een 24V voeding kan dan helpen, dan houd je versterker headroom over.
Als de pulsvorm niet belangrijk is:
Laat de arduino gewoon een 200Hz blok maken (dus 2.5ms hoog, 2.5ms laag) en koppen die met een RC hoogdoorlaat filter aan een tor die de 12V schakelt.
Voeg een diode toe om alleen bij de opgaande flank van de blok te reageren. Tune de pulse-lengte met de C.