BMX Startrampe bauen mit Arduino UNO

Guten Tag,

für ein Schulprojekt baue ich eine BMX Startrampe. Die Klappe an der man sein Vorderad abstützt soll von einem 12V 60kg 210mA Elektromagneten gehalten werden. Dieser soll von einem Arduino UNO dann den Befehl bekommen, die Klappe loszulassen, damit der Fahrer losfahren kann.
Ich will Euch den Ablauf kurz erklären:

  1. Man steckt das 12V Netzteil ein. -> Der Magnet bekommt Strom, sowie der Arduino.
  2. Sobald der Fahrer auf der Rampe mit seinem Bike steht, kann er mit einem Fußtaster/Knopf ein Programm auf dem Arduino starten.
  3. Der Arduino stellt den Magneten in einer Zeit zufälligen Zeit von 1s-3s ab. -> Klappe geht auf.
  4. Der Magnet geht wieder an, die Klappe wird manuell wieder in Position gebracht, der Ablauf beginnt wieder von Punkt 2. (Hier spielt ein delay, genauso wie ein loop eine Rolle denke ich)

Wie programmiert man das in den Arduino? In welche Themenbereiche muss ich mich einlesen?
Funktioniert dieser oben vorgestellte Ablauf überhaupt? Welche Tipps habt ihr damit sich mir die Sache so einfach wie möglich gestaltet?

Vielen Dank für Eure Hilfe

Lukas

Erste Hürde. Du kommst mit dem Arduino allein nicht hin.
Geht entweder mit einem Relaisbaustein oder einer Treiberstufe.

Der restliche Ablauf ist klar. Und bekannt :wink:

Pins definieren für Eingang (Fusstaster) und Ausgang (Magnetsteuerung)
Pins initialisieren
Warte auf auslösen des Fusstaster (digitalRead(fusstasterPin))
Starte Zufallsgenerator zur Zeitbestimmung (randomseed und random)
Starte Zeitvorgabe (millis())
Löse Ausgang aus

Und jetzt musst Du sicherstellen, das der Fahrer durch kommt, also die Sperre auch tatsächlich geöffnet wurde und nicht nur das Magnet frei läuft.
Geht entweder mit einem Reedkontakt, einem Microschalter mit Rolle oder wenn es einfach und robust sein soll mit einem Endschalter: Endschalter XZ-8/108, 5A/250V~, verstellbarer Rollenhebel online kaufen | Pollin.de

Wenn der ausgelöst wird, dann darfst wieder von vorn beginnen....

Naja, für den Anfang würde es reichen, den Magneten z.B. für 10 Sekunden auszusetzen. Wer es in 10 Sekunden nicht schafft loszufahren, hat irgendwelche Probleme beim Start. Da braucht die Klappe nicht mehr öffnen. Natürlich kann man später sein Projekt mit Solchen Dingen erweitern. Lichtschranke wäre auch eine Möglichkeit, die zeitgleich eine Zeitmessung startet.

Den Zustand des Magneten würde ich optisch noch anzeigen lassen, damit der Biker auch weis das er los kann.

Na das ist ja dann nur noch nen Klacks.

Also sind es zum Schluß nur 2 Zustände, die abgefragt werden.

Wieviel Erfahrung hast Du mit der Arduino-IDE?
Wieviel Erfahrung hast Du mit der Sprache?

Guten Abend,

erstmal danke für die schnellen Antworten.
Erfahrung mit dem IDE, sowie mit der Sprache habe ich keine.

So wie ich es verstanden habe, muss ich über den Arduino ein Relais ansteuern, was ein Signal weiter an den Magneten gibt?
Dazu werd ich mir mal zwecks Funktionsweise Wissen anlesen.

Ich würde das ganze gerne erstmal sehr einfach halten, aufbauen kann man immer noch oder?

Lukas

Deine Beschreibung des Ablaufs ist super. Sehr gut gemacht.

Der Elektromagnet braucht kein "Signal" (Signal = superminimum Leistung)

sondern ordentlich Leistung
Ein Arduino kann schlappe 5V und 0,02A Strom an einem Ausgang liefern.
(Ein Schaltsignal)

Das ist viiiiel zu wenig für einen Elektromagneten.

Dein Elektromagnet braucht mit 12V mehr als die doppelte Spannung und den zehnfachen Strom. = ordentlich Leistung.

Deshalb braucht man ein zusätzliches "Bauteil".
Dieses "Bauteil" wird mit einem Signal angesteuert. 5V 0,01A

Und das Bauteil schaltet dann die 12V, 210 mA ein/aus.

Das geht entweder mit einem Relais oder mit einem MOS-FET-Transistor.
Da du wenig Ahnung von Elektronik hast empfehle ich das Relais von einem Fachmann (hier im Forum) aussuchen zu lassen.

Relais sind robuster als MOS-FETs und beim Relais ist es egal wo man plus-12V und wo man Minus der 12V anschliesst.
Du solltest dir aber trotzdem gaaaaanz genau zeigen lassen wie man Arduino-Uno, 12V-Netzteil und Relais untereinander verbindet. Ene falsche Verbindung und der Arduino kann kaputt sein.

Es ist keineswegs so dass der Arduino kaputt sein muss. Es kann sein.
Das soll heißen ahnungsloses rumprobieren
Ich schließe mal dieses Kabel hier an und das andere hier ....
Das geht in die Hose.

vgs

Hallo,
du kannst ja auch anstelle des Magneten erst mal eine LED mit Vorwiderstand nehmen und damit schon mal den Sketch machen. Dann nimmst du später ein Relaismodul und schliesst daran den Magnet an . Dazu wirst Du dann noch eine Freilaufdiode benötigen.
Heinz

Deswegen mein Rat sich das Relais-Modul von jemandem der sich auskennt so aussuchen lassen, dass es schon Optokoppler mit für 5V passendem Vorwinderstand und eine Freilaufdiode dabei hat

Oh - jetzt verstehe ich. Wenn ein Elektromagnet geschaltet werden soll macht eine Freilaufdiode auch auf der Seite des Elektromagneten Sinn um den Schaltkontakt des Relais zu schonen.

Hm da könnte jetzt ein MOS-FET-Modul auch wieder Sinn machen ...

vgs

Ja,
darum war meine Frage nach Kenntnis von IDE und Sprache.

Zusatzfrage:
Kannst Du Dir seitens des (Schulförderverein?) bzw. der Informatiker ggfls. Unterstützung mittels Hardware holen?

Also nen UNO, nen Relaisboard nen Taster?

Wenigstens nen UNO wäre nicht schlecht.
Den Rest kann man mit Draht machen :wink:

Ich wure empfehlen den Modul

https://www.makershop.de/module/relais/2-kanal-relais/

da ist schon alles drauf sogar LED zum anzeigen ob an oder aus, damit üben und naher den Magneten steuern
1 Relais steuert den Magneten
2 Relais für später was anderes steuern
Es müssen nicht beide benutzt werden

Hallo,
der Magnet induziert beim Abschalten mit Sicherheit eine hohe Spannung, die verbrutzelt die Kontakte des Relais oder zerschiesst den Mosfet. Also Freilaufdiode auf jeden Fall parallel zum Magneten ( Richtung beachten )

Relaismodule für Arduino findest Du jede Menge , da kannst Du in Deinem Fall eigentlich jedes nehmen.
Heinz

Als Dioden noch sehr teuer waren hat mann RC Glied benutzt,
mit dem nachteil verlängerte Anzug Periode :wink:

Grüße Bernhard

Ich bin raus.

Der TO will erstmal was anfangen!

Ob und was da nachher verbaut wird ist doch vollkommen wurscht!
Erstmal sinnvoll an die IDE und die Sprache ran.

Na macht mal.

Hallo,
denke ich auch, hatte in #7 geschrieben das er ja erst mal mit einer LED anfangen kann.
Heinz

Und die allereinfachste Variante mit LED ist die onboard-LED von IO-Pin 13 von die auf einem Arduino-Uno sowieso schon drauf ist.

Also erster Schritt Onboard-LED blinken lassen.
@lukasmb : Man kann schon mit einem Arduino Uno die auf dem Arduino eingebaute LED ohne zusätzliche Bauteile die LED blinken lassen.
Wenn es dann später eine andere LED oder der Elektromagnet werden soll ändert man eine Zahl (die sogenannte IO-Pin-Nummer) und schon wird das Relais statt der LED geschaltet.
Das ist einfach anzupassen.

Für das Gesamtprogramm muss man natürlich noch mehr wissen.
Wenn du dir es leisten kannst dann kaufe ein Starterset.
Wenn es besonders kostengünstig werden soll melde dich noch mal dann kann ich dir so ein "Starterset" zusammestellen.

Gleich loslegen und Erfahrung sammeln kannst du mit dem Wokwi-Simulator

vgs

Hier ein Demo-Code im Wokwi-Simulator der die LED nicht-blockierend blinken lässt

vgs

Meinst Du nicht dass das für Anfänger viel viel zu hoch ist?
2 X delay am Anfang ist nicht so schlecht., Wenn Ee danach noch Taster einbindet dann langsam mit milis, bol true u.s.w fortfahren.
Grüße
Bernhard

Werbeveranstaltung...

Der TO wird das hoffentlich ausschlagen.
Was ist denn hier blos los?

Seit #5 ist doch klar, wo die Reise hin geht.
Ihr seit bei #17 und ich sehe schon eine #18 im Anmarsch - denkt mal nach.

Nein. Ich habe mich sehr bewußt gegen delay() entschieden weil delay() gleich zu Anfang schlechtes programmieren beibringt.
vgs

Poste doch auch mal einen Sketch