Wie erstelle ich einen Schaltkreis zum automatischen Anheben / Absenken eines höhenverstellbaren Schreibtisches?
Hintergrund
Hallo allerseits, ich arbeite an einem kleinen Projekt, bei dem ich die Höhe eines höhenverstellbaren Schreibtisches mithilfe eines Mikrocontrollers, MOSFET-Transistoren und eines Ultraschallsensors steuern kann. Im Wesentlichen möchte ich, dass der Benutzer eine Höhe eingibt und der Schreibtisch sich automatisch an diese Höhe anpasst.
Technische Details
Dies ist der Schreibtisch, den ich benutze. Es hat nur Auf- / Ab-Tasten und keine "Speicher" -Funktionen.
Ich habe versucht, dieses Tutorial zu verwenden, aber da ich keinen einfachen Zugang zum Motor selbst hatte, habe ich beschlossen, die Auf- / Ab-Tasten durch MOSFET-Transistoren zu "ersetzen".
Dies ist ein MOSFET, den ich benutze. Es hat eine Vgs-Schwellenspannung zwischen 2-4 Volt, die für meinen 5V-Mikrocontroller funktioniert.
Ich habe die Buttonbox geöffnet und hier ist, wie es aussieht.



Im JST-Anschluss befinden sich vier Drähte.
- Rot: 30V
- Schwarz: GND
- Grün: Runter
- Weiß: Auf
Dies ist ein Aktiv-Hoch-Schalter, bei dem durch Verbinden von Grün oder Weiß mit Rot der Schreibtisch nach unten bzw. oben bewegt wird. In der folgenden Abbildung sehen Sie, wie der Switch ( Omron SS-5 ) im Schaltplan funktioniert.

Was ich bisher gemacht habe
Ich zog den JST-Stecker heraus und verband die Überbrückungsdrähte direkt mit den Buchsenstiften, um die folgende Schaltung zum Anheben des Schreibtisches zu erstellen.

Die Spannungsquelle auf der linken Seite ist der Digital-Out-Pin eines Mikrocontrollers. Ich konnte den Schreibtisch erfolgreich anheben, wenn der Stift hoch war, und aufhören , den Schreibtisch anzuheben, wenn der Stift niedrig war.
Bearbeiten (16. August 2020): Ich habe den Strom von der Quelle des Transistors zum weißen Draht gemessen und er hat sich für einen kurzen Moment auf ~ 3A erhöht, und während der Schreibtisch ansteigt (dh wenn der Motor läuft), wird er ausgegeben ~ 300mA.
Dasselbe konnte ich auch zum Absenken des Schreibtisches tun, außer dass die Quelle des MOSFET stattdessen mit dem grünen Draht verbunden war.
Mein Problem ist:
Ich habe einen anderen Transistor als solchen platziert, um sowohl das Anheben als auch das Absenken durchzuführen:

Bearbeiten (15. August 2020): Entschuldigung für das verwirrende Diagramm. Dieses Diagramm verwendet zwei digitale Ausgangspins. Die Spannungsquelle auf der linken Seite ist D2 der MCU und die auf der rechten Seite ist D3 der MCU. Die Stifte haben eine gemeinsame Basis, die für das folgende Problem verantwortlich ist.
Dies verursachte offensichtlich ein Problem, da die Quelle beider Transistoren sowohl mit weißem als auch mit grünem Draht verbunden ist, was bedeutet, dass jedes Mal, wenn ein Transistor eingeschaltet ist, beide weiß / grünen Drähte HOCH sind. Dies entspricht dem gleichzeitigen Drücken beider Tasten, wodurch der Schreibtisch überhaupt nicht bewegt wird. Ich habe versucht, einen 10k-Widerstand zwischen die beiden Quellen der Transistoren zu legen, aber das hat das Problem nicht gelöst.
Meine Frage
- Wie soll ich meine Schaltung bearbeiten, um das zu erfüllen, was ich versuche zu tun?
- Kann ich das überhaupt nur mit Transistoren erstellen? oder
- Muss ich den Motor öffnen, um den typischen Anwendungsfällen von Transistor als Schalter zu folgen?
Ich würde mich sehr freuen, wenn jemand Ratschläge zu meiner Situation geben kann :)
Ich bin mehr als glücklich, Verwirrung zu klären.
Vielen Dank!
Antworten
Die kurzen 3 A beim Starten des Motors bedeuten, dass die weißen und grünen Drähte Motorstrom führen. Ihre FETs müssen für diesen Strom ausreichend und für die Spannungsspitze beim Ausschalten des Motors geschützt sein.
Ihr ursprüngliches Schaltdiagramm zeigt eine H-Brückenkonfiguration. Wenn beide Schalter gedrückt sind, fließt kein Strom zum Motor. Wenn einer der Schalter hochfährt, leiten beide Strom zum Motor, einer von 30 V, der andere sinkt auf 0 V. Ihre FET-Vorschläge zeigen nur einen Pullup, kein Pulldown, sodass Ihr Motor nicht läuft.
Sie benötigen entweder einen H-Bridge-Treiber mit einer Deaktivierung oder zwei Half-Bridge-Treiber, um diese Funktionalität zu replizieren. Angesichts der erforderlichen Pegelverschiebung usw. und Ihrer Kenntnisse der Elektronik ist es am sinnvollsten, Eingangsmodule mit Logikpegel zu kaufen, deren Ausgänge für mindestens 30 V und 3 A ausgelegt sind.
Anstelle von FETs wäre es auch sinnvoll, ein Paar C / O-Relais zu verwenden, um genau das zu tun, was die Schalter tun. Gehen Sie zu Ihrer bevorzugten Online-E-Commerce-Website, suchen Sie nach "Arduino Relay Module" und wählen Sie ein 2-Kanal-Modul aus. Sie können mit 5 V betrieben werden, so billig wie Chips, sprengen nicht wie FETs (obwohl sich die Kontakte irgendwann abnutzen) und haben gerade genug DC-Handhabungskapazität für Ihren 30-V-Motor.
Probleme mit Annahmen für das Design
- Der Zweck von SPDT wurde nicht erkannt.
- verstand Vgs (th) nicht
- Der Motor springt mit dem 10-fachen Nennstrom oder viel mehr als dem tatsächlichen Laststrom, da er wahrscheinlich nicht das maximale Lastgewicht verwendet.
ZB sagen wir, der Motor ist für 1A ausgelegt, verwendet aber nur 0,3A, außer 10x1 = 10A beim Start.
- Beim Ausschalten gibt es einen Lichtbogen und eine Gegen-EMK des Motors, der als Generator und Schalter als Bremse und Zahnräder als Reibungsbremse mit kurzgeschlossener Spule für zusätzliche Last fungiert.
- Daher benötigen Sie eine POWER-Halbbrücke, die mit Logikpegeln arbeitet und einen 30-V-Ausgang mit Leistungsdioden verwendet, um 10-A-Spitzen oder 20-A-Spitzen zu verarbeiten, wenn diese während der Bewegung schnell umgekehrt werden.
Probleme mit FET-Designs
Sie haben angenommen, dass 2 ~ 4 V die Betriebs-Vgs sind, aber es ist nur der Schwellenwert, und Sie benötigen mindestens 2,5 bis 3x 100 uA, um sich RdsOn zu nähern, um> 10 A zu verarbeiten, was häufig bei Vgs = 5, 10 oder 12 V angegeben wird.
„Logic Level FETs“ verwenden Vgs (th) in der Nähe von 1 V, um bei 3 V zu arbeiten, um die beste Leistung zu erzielen. Andernfalls werden sie heiß.
Anstelle eines High-Side-Treibers benötigen Sie einen SPDT- oder Half-Bridge-Power-FET
Es wird eine Leistungshalbbrücke benötigt, die einen Ein- und Ausgang mit Logikpegel verwendet, der wahrscheinlich für 30 A ausgelegt ist, damit Rdson klein genug ist, um beim Start kühl zu bleiben. Leistungsdioden, die für die Flyback-Klemme auf jede Schiene vertauscht sind, müssen beide für 10 A ausgelegt sein.
- Die Halbbrücke muss eine kleine Totzeit zwischen Fwd und Rev haben, um Kurzschlüsse oder Durchschießeffekte zu vermeiden. Das ist normal. Aber Sie müssen es sicherstellen.
Empfehlungen
Definieren Sie den Widerstand der Motorspule und wählen Sie Logic Level Half Bridge IC, um den 30V / DCR + -Rand anzutreiben
Stellen Sie sicher, dass der Totzeitschutz durch Eingangssteuerungen mit RC-Diodenverzögerung oder MCU-Verzögerung gewährleistet ist, und stellen Sie sicher, dass der Reset-Status beim Einschalten ausgeschaltet ist.
Was ist mit Endanschlagschutz? Bei Ausfall des Treibers oder der MCU? Betrachten Sie Polyfuse.
Führen Sie die Wärmewiderstandsberechnungen für Kühlkörper und Isolator mit Fett durch.
Dies ist bei der Konstruktion von Fensterheberschaltern üblich, mit Ausnahme von mehr Masse, weniger Geschwindigkeit, aber möglicherweise der gleichen Stromrettung (?) Aus dem Friedhof des Autos! Oder DIY oder kaufen? Dies sind tägliche Kaufentscheidungen eines Designers.
Was ist schließlich mit dem Positionssensor oder? Ein Positionssensor für lange Wege kann teuer sein, es sei denn, Sie sind ein mechanisches Genie, wenn Sie einen Topf mit 8 mm CNC oder kleinerem Zahnrad von der linearen Bewegung über die Reduzierung der Riemenscheibe bis zum Topf verwenden. Lesen Sie dann die Topfspannung als lineare Position ab, kalibrieren Sie sie und verwenden Sie sie für die Servorückmeldung. Erlauben Sie dann den MCU-Eingangsschaltern, sich die Zustände zu merken, die Sie für Positionen eingegeben haben, und schalten Sie als nächstes nach oben und unten oder 1,2,3 +, - um. Aber entprellen Sie die Schalter. Fehlt noch etwas? Endanschlagschalter? STD-Praxis für CNC-Maschinen.
Eine andere Möglichkeit wäre die Verwendung von zwei SPDT-Relais mit Kontaktwerten, die mit denen der vorhandenen SS-5-Mikroschalter identisch sind.

Wenn der Schreibtisch nur aus Schaltern, einem Motor und Relais besteht, die keine polaritätsempfindlichen Komponenten enthalten, können Sie einfach die Polarität des Netzteils umkehren. Sie hätten dann eine gemeinsame 0-V-Schiene anstelle einer gemeinsamen 30-V-Schiene.
Sie könnten dann 2 NPN-Transistoren oder möglicherweise 2 N-Mosfets verwenden, um die 0 V auf die weißen und grünen Drähte umzuschalten. Das Auf und Ab wird natürlich auch umgekehrt.
Sie müssen einige Freilaufdioden hinzufügen, um Ihre Transistoren vor der Gegen-EMK der vorhandenen Relaisspulen und des Motors zu schützen.