Hallo Zusammen.
Ich habe ein MC der leider nur 3,3V an GPIOs ausgibt. Nun habe ich aber ein 5V Relais, genauer gesagt dieses .
Ich habe aber noch ein MT3608 Step Up Converter da. Diesen habe ich auf 5V am output eingestellt. Aber leider bekomme ich keine Schaltung hin, die das Relais steuern lässt.
Ich hatte den GPIO des MC an den MT3608 VIN+ und den GND des MC an VOUT- des Stepup. Das Relais habe ich mit VCC an den 5V Ausgang des MC und GND mit dem GND vom MC verbunden. VOUT+ des Stepups mit dem IN Pin des Relais wo normalerweise der GPIO angeschlossen werden soll.
Nun dachte ich ich verbinde den VOUT- des Stepups ebenfalls mit dem MC GND aber leider funktioniert das nicht.
Ist die Steuerung des Relais mittels zwischengeschaltetem Stepup überhaupt möglich, wenn ja, was mache ich falsch?
Die Teile kosten nur ein paar Groschen. Und die VK liegen bei meinen Lieblingslieferant bei ca. 3 Euro.
Du brauchst zwar nur ein. Aber ich empfehle dir, falls du mehre Projekte Planst, durchaus mal so 4-5 Stück zu bestellen. Der Grund ist, viele arbeiten mit sehr günstigen ESP32 und die haben alle 3.3 Volt. Viele Teile abr wollen 5 Volt. Ergo. Eine Investion für die Zukunft
Nachtrag : Vergiss die "üblichen Verdächtigen" beim Thema Arduino + Module.
eine grundsätzliche Möglichkeit, höhere Spannungen und Stromstärken mit einem GPIO zu schalten, ist der Einsatz von Transistoren oder eines ULN2003 (oder eines vergleichbaren IC).
Eine ziemlich gute Beschreibung zum Einsatz des ULN2003 findet man u.a. hier
Bei entsprechender Beschaltung der integrierten Freilaufdioden kann man auch induktive Lasten direkt schalten, ohne das IC oder den Controller zu gefährden. Das teuerste an der Beschaffung sind vermutlich die Versandkosten ...
Ob das für Dich die richtige Lösung ist, musst Du selbst entscheiden, aber es ist vielleicht hilfreich für zukünftige Projekte.
Das Modul soll auch für den Raspberry Pi geeignet sein:
Deren Pins arbeiten mit 3.3V ...
Dann müsstest Du nur VCC des Relais an 5V, GND an GND und den IN-Pin an den GPIO anschließen. Die Schaltschwelle sollte auch mit 3.3V GPIO erreicht werden.
Weiß nicht ob es an meinem Code liegt, aber das Relais schaltet zwar durch (grüne LED an) wenn ich es zb am PB12 anlege, aber es geht halt nicht aus, aus geht es erst wenn ich den Pin entferne (grüne LED aus). Hier mein Code:
HardwareSerial Serial2(PA15, PA2);
#define LED_PIN PB12
void setup() {
Serial2.begin(115200);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Schalte den Pin auf HIGH
digitalWrite(LED_PIN, HIGH);
Serial2.println("Pin PB12 ist HIGH");
// Warte 5 Sekunde
delay(5000);
// Schalte den Pin auf LOW
digitalWrite(LED_PIN, LOW);
Serial2.println("Pin PB12 ist LOW");
// Warte 5 Sekunden (insgesamt 3 Sekunden Zyklus)
delay(5000);
}
Wieder ein Board was ich nicht kenne. Die wachsen wie die Pilze
Aber was mich misstrauisch macht ist, das da Arduino + Morpho steht.
Ich vermute (ohne Beweise) das du unter einer Arduino-IDE den Pin anders nennen musst.
Welche IDE benutzt du. ??
Davon abgesehen finde ich ein 35 Euro Board etwas überdimensioniert um ein lausiges Relais zu steuern
Am Besten, Du verbindest den GPIO mal mit einer LED mit Vorwiderstand (z.B. 220 Ohm) oder Du misst die Spannung mit einem Voltmeter, um sicherzugehen, dass genau dieser Pin auch schaltet ...
P.S. Es scheint ein Mapping für die STM Pins auf "Arduino" zu geben (Seiten 41 und 42):
Ich hab mal PA8 aus der Tabelle genommen. Wenn ich den Code von oben (mit PA8) starte (im Debugger)geht das Relais kurz aus dann wieder an. Aber auf high und low reagiert es nicht.
Eine angeschlossene LED blinkt mit diesem code (also ohne Relais)
Mit PB12 hat die LED nicht geblinkt, aber am Voltmeter hat der Pin mit 3,3V -> 0V -> 3,3V -> ... regiert, so hab ich auch den Stepup eingestellt
Das hier ist einer für den SPI-Bus. Aber es wäre besser wenn jemand hier sich auch dazu außern würde.
Den du ausgewählt hast, funktioniert übrigens hervorragend am SPI-Bus. Davon habe ich mir da nämlich 10 Stk. gekauft. Ich habe nur keine Ahnung ob, der auch an einen Relais klappt und möchte dir keinen falschen Tipp geben.
Mit dem gibt es kleines Problem es ist ein I²C Level Shifter.
Mit dem hast dauerhaft 3,3V an dem µC und 5V auf dem Relais, also wen das Relais schaltet mit High im Sketch bleibt dauerhaft an, erst mit Low schaltet der um.
Zuständig für das Verhalten sind die zwei Pull UP Widerstände.