Kristall-Lastkapazität mit Python & UliEngineering berechnen

English Deutsch

Wenn du eine Kristall-Oszillatorschaltung implementierst, ist eine Aufgabe, die sowohl essentiell als auch oft übersehen wird, die Berechnung der Lastkondensatoren des Kristalls.

Tipp: In vielen Fällen ist es einfacher, einen integrierten Kristall-Oszillator zu verwenden, bei dem du dich nicht um Lastkondensatoren kümmern musst. Kristalle sind normalerweise für Niedrigleistungs-Anwendungen und Großserienfertigung empfehlenswert, wo Oszillatoren zu teuer sind.

In diesem Beispiel berechnen wir die Lastkondensatoren für einen Abracon ABLS-16.000MHZ-B4-T (spezifiziert mit einer Lastkapazität von 18 pF gemäß dem Datenblatt).

Es ist von größter Bedeutung zu verstehen, dass die 18-pF-Lastkapazitätsspezifikation nicht bedeutet, dass du 18 pF-Kondensatoren oder 2x 9 pF-Kondensatoren verwenden kannst. Du musst die korrekten Werte tatsächlich berechnen.

Du benötigst die folgenden Informationen:

Installiere zunächst UliEngineering.

Nun können wir die korrekten Lastkondensatoren berechnen mit:

crystal_load_capacitors.py
from UliEngineering.EngineerIO import auto_print
from UliEngineering.Electronics.Crystal import *

# Lastkondensatoren ausgeben: gibt "29.0 pF" aus
auto_print(load_capacitors, cload="18 pF", cpin="3 pF", cstray="2 pF")

In diesem Fall benötigst du zwei Lastkondensatoren von jeweils 29.0 pF.

Du solltest den nächsten verfügbaren Wert für den Lastkondensator verwenden, aber überprüfe immer die resultierende Frequenz, wenn du hohe Taktgenauigkeitsanforderungen hast.

Tipp: Du kannst sowohl Zahlen (wie 18e-12) als auch Strings (wie 18 pF oder 0.018 nF) an die meisten UliEngineering-Funktionen übergeben. SI-Präfixe wie p und n werden automatisch dekodiert.

Wenn du den Wert programmatisch verwenden möchtest, rufe load_capacitors() direkt auf:

crystal_load_capacitors_value.py
from UliEngineering.EngineerIO import auto_print
from UliEngineering.Electronics.Crystal import *

# Lastkondensatorwert berechnen (für beide der zwei Lastkondensatoren):
load_caps = load_capacitors(cload="18 pF", cpin="3 pF", cstray="2 pF")
# load_caps = 2.9e-11

Check out similar posts by category: Electronics, Python