Diagramm und Beschreibung der vorgeschlagenen HW 2.0
Bisher ist dieses Schema nur meine Idee. Ich bin gerade dabei, einen experimentellen Prototyp vorzubereiten. Wenn jemand das Schema mit Ratschlägen und Kommentaren kommentieren möchte, würde ich mich freuen. Ob in den Kommentaren am Ende des Artikels oder im Diskussionsforum hier. Sobald ich die Funktionalität des Designs überprüfe, werde ich hier weitere Informationen schreiben.
Abb.1 - Diagramm und Beschreibung der vorgeschlagenen HW 2.0
Die Verbindung mit den Raspberry Pi 3 GPIO-Pins unterscheidet sich von der mit HW Version 1.0. Der Grund sind die PWM-HW-Kanäle und die Servomotorsteuerung, die feste Stifte haben, aber in HW 1.0 wurden diese Stifte bereits für etwas anderes verwendet. Die Beschreibung des GPIO-Anschlusses ist in der folgenden Abbildung dargestellt.
Abb. 2 Anschlussbeschreibung GPIO Raspberry Pi
Die Ausgaben vom Computer werden wie folgt neu verteilt:
- GPIO12 (Pin32) Schalten Sie den Höhenmotor ein / aus (HW PWM)
- GPIO13 (Pin33) Schalten Sie den Azimutmotor ein / aus (HW PWM)
- GPIO17 (Pin11) Ändern Sie die Richtung des Hubmotors
- GPIO4 (Pin7) Ändern Sie die Richtung des Azimutmotors
- GPIO18 (Pin12) Servomotorische Steuerung (HW PWM)
Die Eingaben in den Computer sind wie folgt neu angeordnet:
- GPIO19 (Pin35) Höhenmotorsensor A
- GPIO26 (Pin37)Höhenmotorsensor B
- GPIO20 (Pin38) Azimutmotorsensor A
- GPIO21 (Pin40) Azimutmotorsensor B
- GPIO16 (Pin36) Höhennullschalter
- GPIO6 (Pin31) Azimut-Nullschalter
Die erwähnte Verwendung von Stiften ist immer noch vorübergehend, sie kann sich während des Entwurfs der Leiterplatte aufgrund der Optimierung noch ändern.
Die Ausgänge des Raspberry Pi 3 gehen zunächst an den isolierenden Optokoppler, der die GPIO-Pins mit einer Spannung von 3,3 V schützen soll. Bei dieser Konstruktion ist die Situation jedoch etwas komplizierter als bei der HW-Version 1.0. Die Leistungserregungsbrücke L6203 wird durch eine Spannung von 5 V gesteuert. Für diese Spannung sollte ein separates Netzteil verwendet werden. Aber das scheint mir bisher zu übertrieben. Ich möchte testen, ob es ausreicht, wenn 5 V für meine Platine nicht durch die Stromkreise von Raspberry Pi 3 gehen. Die Versorgungsspannung von der 5-V-Quelle geht zuerst an meine Leiterplatte und erst dann wird sie dem Computer zugeführt. Ich weiß, dass es falsch ist. Im Falle eines L6203-Fehlers kann die 24-V-Spannung auf diese Weise den Raspberry Pi 3 erreichen. Aber jetzt möchte ich es so versuchen.
Die Eingänge IN1 und IN2 der L6203-Schaltung entscheiden, welche Spannung an welchem Ausgang anliegt. Für meinen Gebrauch muss es immer in der entgegengesetzten Phase sein. Dies wird durch die 74SL05-Schaltung oder eines ihrer Gates bereitgestellt. Dies schaltet die Polarität der Spannung am geregelten Motor um. Die Drehzahl wird über den Eingang ENABLE gesteuert. Das Prinzip von PWM besteht darin, dass die Versorgungsspannung dem Motor in Form von Impulsen zugeführt wird. Die Frequenz dieser Impulse muss an das Design des Motors angepasst werden, beträgt jedoch normalerweise 50 bis 200 Hz. Der Wechsel dieser Impulse bestimmt dann die Drehzahl des Motors. Der Vorteil dieser Methode der Drehzahlregelung besteht darin, dass immer die volle Versorgungsspannung an den Motor angeschlossen ist, damit die Motorleistung bei niedriger Drehzahl nicht zu stark reduziert wird. Welche Frequenz ich in meinem Design verwenden werde, muss ich experimentell anhand des Verhaltens der Motoren herausfinden. Eine Verschiebung von 0% bedeutet, dass der Motor ausgeschaltet ist. 100% Gang bedeutet, den Motor mit voller Geschwindigkeit laufen zu lassen.
Der Servomotor MG996R kann gemäß TTL-Standard direkt über ein 5-V-Signal gesteuert werden. Daher ist kein Leistungsschaltelement erforderlich. Natürlich habe ich hier auch einen isolierenden Optokoppler verwendet, der jedoch die Polarität des Signals umkehrt. Daher müssen wir es durch ein Gate von der 74LS05-Schaltung in seinen ursprünglichen Zustand zurückversetzen. Obwohl das Servo für eine Versorgungsspannung von 6 V ausgelegt ist, reichen bereits 5 V für eine ausreichende Motorleistung aus. Das Steuerprinzip des Servomotors ist das gleiche wie bei PWM. Der Unterschied besteht darin, dass der Bereich der Steuerimpulse genau definiert und relativ eng ist. Es wird eine Frequenz von 50 Hz verwendet, dh die Länge einer Periode beträgt 20 ms. Eine Impulslänge von 1,5 mS bringt den Servorotor in die mittlere Position. Eine Impulslänge von 0,5 mS bringt den Rotor auf eine Extremposition und eine Impulslänge von 2,5 mS auf die andere Extremposition.
Die Verarbeitung des Eingangssignals erfolgt auf die gleiche Weise wie in Version 1.0. Das Eingangswiderstandsnetz liefert die LEDs in den isolierenden Optokopplern. Bisher erwäge ich zwei Varianten von HW, 24 V für EGIS und 36 V für Fahrmotoren. Wenn für beide Versorgungsspannungen das gleiche Widerstandsnetzwerk verwendet werden kann, werde ich den ersten Prototyp experimentell überprüfen. Ich werde die Ströme durch die Eingangs-LEDs der Optokoppler messen und anhand der gefundenen Werte für die endgültige Variante entscheiden. Obwohl ich an der Konstruktion der Eingänge nichts Grundlegendes ändere, möchte ich testen, ob alles zuverlässig funktioniert, auch wenn es mit ungeschirmten Kabeln mit einer Länge von 10 m an EGIS angeschlossen ist. In meinem Fall würde diese Kabellänge es ermöglichen, die Steuerelektronik auf dem Dachboden eines nahe gelegenen Hauses zu verstecken. Dies würde den Wetterschutz vereinfachen.
In der folgenden Tabelle sind die verwendeten Komponenten aufgeführt:
Artikelnummer | Komponentenname | Stücke |
---|---|---|
19 | 40-poliges flaches IDE-Kabel | 1 |
18 | Raspberry Pi3 + Quelle + SD-Karte | 1 |
17 | QuelleMEAN WELL LRS-75-24 | 1 |
16 | Verbinder MLW40G | 1 |
15 | Klemmenblöcke ARK500/2EX | 2 |
14 | Klemmenblöcke ARK500/3EX | 4 |
13 | Kondensator 220nF | 2 |
12 | Kondensator 22nF | 2 |
11 | Kondensator 15nF | 4 |
10 | Kondensator 1nF | 2 |
9 | Widerstand 3k3 | 5 |
8 | Widerstand 1k5 | 12 |
7 | Widerstand 680Ω | 6 |
6 | Widerstand 560Ω | 6 |
5 | Widerstand 410Ω | 5 |
4 | Widerstand 10Ω | 2 |
3 | 6x Wechselrichter mit offenem Kollektor SN74LS05 | 1 |
2 | Optokoppler PC844 | 3 |
1 | DMOS VOLLBRÜCKENTREIBER L6203 | 2 |