Ich arbeite an einem Projekt für die Universität. Ziel ist es, einen Ultraschall-Fehlerdetektor zu entwickeln, der Fehler in einem Metallstück messen kann. Ich habe nur Einführungskurse in die verschiedenen Zweige der Elektrotechnik wie Schaltungen, Netzwerkanalyse und elektrische Geräte besucht. Da mein Karriereweg derzeit in der Softwarebranche liegt, habe ich mich nicht stark darauf konzentriert, die Themen zu lernen, die ich zum Abschließen dieses Projekts benötige. Trotzdem habe ich einige Fortschritte gemacht, mit denen ich zufrieden bin.
Hier mein aktueller Schaltplan:
Der PT-12 hat eine Resonanzfrequenz von 5 MHz und arbeitet am besten bei einer Impulsamplitude von 220 V. Es handelt sich um einen Zwei-Element-Wandler, d. h. Ausgang und Eingänge des Wandlers laufen auf unterschiedlichen Kabeln, und beide Elemente innerhalb des Wandlers sind durch eine akustische Barriere getrennt.
Da die HF 5 MHz beträgt, ergibt sich eine Zykluszeit von 200 ns. Ich habe gelernt, dass diese Wandler normalerweise durch einen Hochspannungsimpuls von 1/2 Zyklus oder weniger arbeiten. Dies wird als Ping des Geräts bezeichnet. Das Ziel der Impulserzeugungsschaltung besteht also darin, einen 100-ns-Impuls bei einer Amplitude von 220 V bereitzustellen.
Meine Fortschritte verliefen ziemlich gut, bis ich anfing, darüber nachzudenken, wie ich den Puls ein- und wieder ausschalten würde. Ich dachte zuerst, ich könnte einen einfachen SPST-Schalter verwenden, und merkte schnell, dass ich mich täuschte. Es scheint, dass die einzige Lösung, die ich finden konnte, die Verwendung eines Power Mosfet war.
Ich habe viele verschiedene potenzielle Geräte recherchiert, sowie die Parameter auf den Datenblättern, die am wichtigsten wären. Ich fand heraus, dass ich, um so nahe wie möglich an die Impulsbreite von 100 ns zu kommen, sowohl die Gate-Ladungen (Qg, Qgs, Qgd) als auch die Verzögerungszeiten (tf, tr, td (on), td (off) minimieren müsste. ). Ein mögliches Gerät, das ich gefunden habe, war SiHP6N40D, http://www.vishay.com/docs/91498/sihp6n40d.pdf .
Welche hatte die folgenden Parameter:
Es spezifiziert auch Rds(on) = 0,85 bis 1 Ohm. Bei der Recherche zu diesen Power-Mosfets habe ich gelernt, dass Rds(on) normalerweise abnimmt, wenn mehr Zellen hinzugefügt werden, was wiederum die Kapazität erhöht und die Reaktionszeit verkürzt. Ein guter Rds(on)-Wert liegt also für hohe Schaltzwecke nahe 1 Ohm.
Ich habe diese Gleichung im folgenden electronic.stackexchange- Post gefunden .
Und dies scheint 22,22 MHz als Schaltfrequenz zu geben, das Datenblatt gibt jedoch keine Speicherzeit an. Ich hoffe, dass dieser Parameter nur in die anderen Verzögerungen einkalkuliert wurde. Es gab einen anderen Zeitparameter, trr oder Reverse Recovery time, aber ich bin mir nicht sicher, ob dies die Schaltfrequenz beeinflussen würde. Angenommen, es kann 22,22 MHz erreichen, scheint das ziemlich gut zu sein, da es in 22,5 ns ein- und in 22,5 ns ausschalten könnte.
Der nächste Schritt war, den Schalter mit meinem Mikrocontroller zu verbinden, damit er die Abtastrate steuern konnte. Mir wurde klar, dass der GPIO-Ausgang nicht hoch genug sein würde, um die Vgs von 10 V zu erreichen, und außerdem wäre es zu gefährlich, meine Raspberry Pi-GPIO-Pins aufgrund von Kapazitätsverlusten durch das Gate direkt mit dem Power-Mosfet zu verbinden. Die Lösung hierfür war die Verwendung eines Gate-Treibers, der wiederum eigene Verzögerungszeiten hat.
Ich habe einige potenzielle Gate-Treiber recherchiert und 2 mit sehr geringen Verzögerungszeiten gefunden:
ISL55110 --> https://www.mouser.com/datasheet/2/698/isl55110-11-1302115.pdf
MD1213DB1 --> http://ww1.microchip.com/downloads/en/DeviceDoc/20005713B.pdf
Und an diesem Punkt erreichte ich eine Schwelle der Verwirrung, bei der ich das Gefühl hatte, dass ich Hilfe brauchte. Ich weiß nicht, wie ich mein Ziel einer Impulsbreite von 100 ns erreichen soll, da so viele Faktoren zu berücksichtigen sind: Mosfet-Verzögerung, Gate-Verzögerung, Umschaltgeschwindigkeit des Mikrocontrollers. Darüber hinaus bin ich mir jetzt ziemlich sicher, dass Vgs = 10 V zum Aktivieren des Mosfet-Gates nicht bedeutet, dass 10 V an das Gate angelegt werden, sondern dass ich 230 V anlegen müsste. Das Anlegen von nur ~ 10 V würde den Mosfet gemäß diesem Beitrag in Vorwärtsrichtung versetzen .
Zusammenfassend möchte ich Hilfe dabei haben, herauszufinden, wie ich das angehen kann, um sicherzustellen, dass ich so nah wie möglich an 100 ns komme. Wenn es offensichtliche Probleme gibt, die ich nicht erwähnt habe, informieren Sie mich bitte darüber. Wenn es nicht möglich ist, sich 100 ns zu nähern, wäre es letztendlich in Ordnung, einfach einen Impuls an den Wandler senden zu können.
Komponentenberechnungen:
Ich habe mich für eine Abtastrate von 2 kHz entschieden und diese verwendet, um die Komponenten in meinem Schaltplan zu bestimmen.
Da der Kondensator in 4 Zeitkonstanten (~ 98%) fast vollständig entladen sein sollte und ich möchte, dass der Impuls 100 ns beträgt
τ = 25 ns.
C = 25 ns / (50 Ohm + 1 Ohm) = ~ 490 pF --> 470 pF
* Wobei 50 Ohm die Impedanz des Wandlers und 1 Ohm der Rds(on)-Widerstand des Mosfets ist.
Wir möchten, dass der Kondensator in weniger als einem halben Zyklus der Abtastrate oder 250 us aufgeladen wird.
R = 250 us/470 pF = 530 kOhm -> 560 kOhm
Der Strom, der den Kondensator beim Einschalten des Mosfets verlässt, beginnt hoch
Vc(1ns) = 220V xe^-(1ns/(470pF x 50,32 Ohm)) = 210,89V
dV/dT = (220 V - 210,89 V)/1 ns = 9,11E9
ic(1ns) = 470pF x 9,11E9 = 4,28A
Am Ende der gewünschten Zeit sollte der Mosfet offen sein, ic wäre
Vc (100 ns) = 3,2 V
dV/dT = (220 V - 3,2 V)/100 ns = 2,168E9 V/s
ic(100ns) = 470pF x 2,168E9 = 1,02A
Zusatzinformation:
Warum habe ich sowohl einen Arduino als auch einen Raspberry Pi?
Ich begann das Semester mit der Absicht, den Arduino zu verwenden, da er bereits analoge Eingangspins auf der Platine hatte. Ich hatte bereits eine GUI auf einem LCD-Bildschirm entwickelt, als ich feststellte, dass die 16-MHz-Taktrate des Arduino nicht schnell genug war, um die Mosfet-Schaltergeschwindigkeit von 100 ns zu steuern. Ich entschied, dass es zu viel Arbeit wäre, die Schnittstelle in Python neu zu schreiben. Ich habe einfach einen Code hinzugefügt, um seriell mit dem Pi zu kommunizieren, der dann stattdessen die Logiksignale senden würde.
Um die Entfernung zu bestimmen, zählt der Pi einfach die Anzahl der Taktzyklen seit dem letzten HIGH-Ausgang an seinem Gate-Treiber-Pin. Hoffentlich würde ich bis dahin die volle Verzögerung der Schaltung kennen, und dann könnte dies aus der Reaktionszeit herausgerechnet werden, um die wahre Zeit zu erhalten, die die Welle benötigt, um das gemessene Medium zu durchqueren. Insbesondere beträgt die Schallgeschwindigkeit in Aluminium 6320 m / s (google). Die Maße meines gemessenen Objekts sind auf 20 cm x 20 cm x 2,5 cm festgelegt. Wenn also kein Fehler vorhanden ist, würde die Welle die volle Strecke zurücklegen und 63,2 us benötigen, andernfalls würde eine reflektierte Welle schneller zum Wandler zurückkehren. Es ist eine Selbstverständlichkeit, dass der Fehler beim Testen irgendwo in der Mitte liegt, also ungefähr 31,6 us Fahrzeit, wenn ein Fehler vorhanden ist.
Betrachten Sie so etwas
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Und verwenden Sie ein einziges Blatt Kupferfolie für alle Ihre GROUNDS. Machen Sie keine Schlitze in das Blatt.
M KS
schneit