Hallo zusammen,
ich bin Maschinenbautechniker und habe Grundkenntnisse in der Elektrotechnik und wenig Kenntnisse in der Programmierung, egal welcher Programmiersprache.
Ich kämpfe nun vergeblich gegen folgenden Fehler. Zuerst aber mal Infos zu meinem Projekt.
Es handelt sich dabei um einen Münzautomaten eines Billard-Clubs, der für die Steuerung einer Billardtisch-Beleuchtung installiert ist. Der Automat ist 30 Jahre + alt, die installierte Steuerung via Elektroplatine, Transistoren, ICs etc. war defekt. Reparieren war vergebens, weshalb ich einen Arduino Uno inkl. Display eingebaut habe.
Ziel ist folgendes:
Ähnlich wie bei einem Münzautomat im Solarium, soll eine Zeitschaltung aktiviert werden. Konkret, Münze rein, 60min Timer soll gestartet werden, Licht geht an, Display soll Restzeit anzeigen.
Wenn eine Münze nachgeworfen wird, soll die Restzeit um 60 min erhöht werden. Bsp.: 12 min Restzeit -> weitere Münze einwerfen -> 72 min Restzeit.
Ein weiterer Taster soll die Möglichkeit bieten, den Timer zurückzusetzen.
Ein NOT-Schalter soll bei einem Defekt des Arduino das Tischlicht manuell dauerhaft einschalten.
Dafür habe ich das auf den Fotos ersichtliche Setup erstellt.
Zusammenfassend:
- Uno
- Relais für 230V Durchschalten der Beleuchtung
- Taster des alten Münzeinwurfs
- Taster für Timer-Rückstellung
- Not-Ein Schalter
- Display LCD
- Ein paar Reihenklemmen
- Eine grüne LED für die Anzeige das der Timer aktiv ist
Programmiert habe ich in OpenRoberta, da mir ehrlich gesagt die zeilenbasierte Programmiersprache zu hoch ist, und ich früher bereits Erfahrungen mit grafischen Programmiersprachen sammeln konnte. Dazu auch ein Bild unten.
Nun zur Historie und meinem Fehler.
Zuhause habe ich den Frontdeckel des Automaten mit allen Komponenten versehen, sowie die Programmierung erstellt und über Stunden über "Trial and Error" Verkabelung und Programm erstellt (mit Hilfe eines Freundes), sowie getestet, getestet, getestet. Speziell die wohl bauartbedingte Taktzeit des Unos hat mir viele graue Haare hinsichtlich der Timerzeit beschert.
Für gut befunden und den Fronteckel in den Club zum Einbau mitgenommen. Dort habe ich:
- 230V Steckdose für Steckernetzteil installiert
- 230V der Beleuchtung über Reihenklemmen ans Relais sowie den Not-Schalter angeschlossen
Ergebnis: Wenn ich den Deckel des Automaten geschlossen habe, spann das Display und zeigte nur noch Hieroglyphen an. Entstörung nur durch spannungsfrei schalten des Arduino.
Meine Vermutung, 230V Verteilung im Automaten funkt mir auf den Uno und stört diesen.
Nächster Akt:
Alles was ihr auf dem Bild im Hintergrund an Kabeln seht, habe ich extern verlegt. In den Kasten geht nur noch ein 2-adriges Kabel mit 230V zum Relais/Not-Ein Schalter (parallel geschalten), sowie wieder zurück zur Beleuchtung.
Ergebnis: Das Display ist stabil, der Uno funktioniert augenscheinlich, Münzeinwurf funktioniert, Reset funktioniert, Not-Ein sowieso da hart-verdrahtet.
Jetzt das ABER: Der Timer schaltet sporadisch ohne Münzeinwurf ein, zählt sogar willkürlich nach oben, wie wenn ich Münzen nachwerfen würde.
Fehlersuche:
- Steckdose unter Automaten für Steckernetzteil weiter weg installiert
-> Keine Besserung - 230V zum Relais entfernt, somit vermutet elektrisches Feld entfernt
-> Besserung! Kein sporadisches Einschalten mehr!
Daher vermute ich, dass der Eingang durch jegliche 230V Spannung gestört wird.
Kann das sein?
Kann das Problem ggf. durch das Enstören des Eingangs behoben werden?
Verbaut habe ich bei beiden Tastern einen Pull-Down Widerstand, sieht man auch auf meinem Schaltplan.
Könnt ihr mir hier helfen? Vorab, ich habe keine Ahnung wie ich den von OpenRoberta generierten Programmcode anpassen kann. Daher seht es mir bitte nach, dass ich mich da ggf. blöd anstelle.
Vielen Dank im Voraus!





