AnalogWrite gibt Störungen auf LCD Display

Hallo erstmal ich bin neu im Forum.
Ich wende mich an euch weil ich föllig ratlos bin.

Leider kann ich kein Code Auszug hier einfügen oder Schaltplan denn das Ganze ist ein Projekt was ich in der Ausbildung machen soll und ich zuhause kein Code oder Schaltplan habe.
Eigentlich ist das ganze nicht mein Projekt, sondern ich soll das mit anderen zusammen nur zum laufen bekommen und bin nur so Schlau wie ich den Code verstanden habe.
Der Code ist leider um sich da reinzufuxen sehr groß, um die 2000 Zeilen. Evtl. Kann ich zumindest ein Teil Auszug des Codes nachreichen.

Verwendet wird ein Arduino Mega
Ein normales 20x4 LCD Display (fest eingebaut daher keine plan was es ist)
Und die Ansteuerung läuft über die Bibliothek liquidcrystal.h
Zusätzlich sind DC Motoren verbaut die über einen Treiberchip ST L298N angesteuert werden. (Externe Platine selbst gebaut)

Zu dem Problem:
In dem Code wird eine Funktion aufgerufen und geloopt in der ein Text auf das Display geschrieben wird mit Variabeln die sich halt in dem Loop ändern. Zusätzlich werden ein paar Steppermotoren angesteuert sowie ein LED Streifen mit der Bibliothek neopixel aber das alles läuft Reibungslos.
Doch das Display zeigt entweder nichts mehr an oder Random Zeichen die auch teilweise nicht weg gehen, wenn in dieser Funktion nun ein AnalogWrite dazukommt und ein PWM Signal für den DC Motor schreibt.

Das Display wird von den Pins 35, 37, 39, 41 und 43 (ena) angesteuert. Die Motoren werden von einem ganz anderem Pin angesteuert. Welcher Pin weiß ich leider nicht mehr.

Zusammen gefasst.
Das Display zeigt Random Zeichen an wenn ich im Code Zusätzlich einen AnalogWrite schreibe.
Ohne den Analog Write geht es.

Verdratung sah gut aus. Will ich aber nicht garantieren.

Jetzt ist die Frage warum ist das so?
Beeinflusst ein PWM Signal die Restlichen Pins auf dem Mega zb. das dort ein Rippel ist?
Oder liegt es an dem Pin 41 der Irgendeine ALE funktion reserviert hat.
Dort ist auch noch ein Pin mir WR drauf. Was macht dieser denn? Google hat mir dabei nicht weitergeholfen aber vlt. hab ich auch nach was falschem gesucht.

Ich weiß ohne Code hab ich natürlich die schlechtesten voraussetzungen aber vlt. Hat ja jemand das selbe Problem gehabt oder weiß warum das AnalogWrite das Display das über die Bibliothek eingebunden ist stört.

Ich entschuldige mich für meine Rechtschreibung und Schreckliche Grammatik.
Und Schonmal Danke im Vorraus.

Hallo
zeige zumindest einen Schaltplan in dem alle Kompenten benannt und ersichtlich sind.

Nicht PWM stört dein Display, sondern die angeschlossenen Komponenten.

Was ist am PWM angeshlossen ?
Gibt es da Freilaufdioden ?
Gibt es andere Entstörmaßnamen ?
Wie wird das Projekt mit Spannung versorgt ?

Pins 35, 37, 39, 41 und 43 (ena)

das ist zu wenig. das müssen: 4 Datenpins, ein RS, ein EN brauchst mindestens.

Lade zunächst nur mal ein Hello World hoch aus der Liquid Crystal library. Das muss funktionieren, sonst brauchst gar nicht weitermachen.

paulpaulson:
Hallo
zeige zumindest einen Schaltplan in dem alle Kompenten benannt und ersichtlich sind.

Ich werde schauen ob ich den Schaltplan hier hochladen darf. Hab ihn auch nur auf der Arbeit und gerade nicht zur Hand.

HotSystems:
Nicht PWM stört dein Display, sondern die angeschlossenen Komponenten.

Was ist am PWM angeshlossen ?
Gibt es da Freilaufdioden ?
Gibt es andere Entstörmaßnamen ?
Wie wird das Projekt mit Spannung versorgt ?

Am PWM müsste der Treiberbaustein L298N angeschlossen sein. Und an diesem wiederum der DC Motor dieser wird über 24V versorgt.
Welche Schutzmaßnahmen extra verbaut sind schau ich morgen im Schaltplan nach.
Die Stepper driver und die DC Motoren werden mit 24V versorgt der Arduino und der Rest der Logic Spannung wird über einen Lm7805 mit 5V versorgt der von den 24V versorgt wird. Wo am Mega die 5V eingespeist wird kann ich jetzt nicht sagen. Schau ich aber auch nach und reiche es morgen mittag nach.

noiasca:
das ist zu wenig. das müssen: 4 Datenpins, ein RS, ein EN brauchst mindestens.

Lade zunächst nur mal ein Hello World hoch aus der Liquid Crystal library. Das muss funktionieren, sonst brauchst gar nicht weitermachen.

Ja da hast du recht die Pins 35, 37, 39, 41 sind die 4 Daten Pins der 43 ist der EN und der RS müsste auf dem Pin 33 sitzen aber da bin ich mir nicht sicher.
Ja das Funktioniert habe das Display so getestet zwar nicht mit Hello World aber mit einfacher Text Ausgabe. Mit dem Display und Eingabe Knöpfe steuert man ein ganzes Menü mit Untermenü das funktioniert einbahnfrei. Es fängt dann erst an zu Spinnen wenn man ein PWM Signal ausgibt.

Dann teste es mal ohne den Motor.
Vermute, dann funktioniert es.
Der Motor macht Störungen oder die Versorgungsspannung bricht zusammen.
Das solltest du mal messen.

HotSystems:
Nicht PWM stört dein Display, sondern die angeschlossenen Komponenten.

Was ist am PWM angeshlossen ?
Gibt es da Freilaufdioden ?
Gibt es andere Entstörmaßnamen ?
Wie wird das Projekt mit Spannung versorgt ?

Ok Ich hab misst erzählt dieser DC Motor wird nicht über den Treiberbaustein L298N angesteuert, sondern ist an 24V angeschlossen und die Gnd Verbindung wird über ein vom PWM Signal (vom Arduino komment) gesteuerten Darlington Transistor (BD647) hergestellt. Und als Schutz sitzt eine Freilaufdioden parallel zu dem Motor

HotSystems:
Dann teste es mal ohne den Motor.
Vermute, dann funktioniert es.
Der Motor macht Störungen oder die Versorgungsspannung bricht zusammen.
Das solltest du mal messen.

Ohne den Motor Funktioniert es.
Die 5V Versorgung hab ich nachgemessen und diese bricht mit Motor nicht zusammen. Auch mit dem Oszilloskop konnte Ich keine Störungen oder veränderungen auf der 5V Versorgung und den 4 Datenpins des LCDs Feststellen.

Warum nimmst du keinen Mosfet zum steuern des Motors ?
Und wenn es ohne den Motor funktioniert, dann musst du den entstören.

HotSystems:
Warum nimmst du keinen Mosfet zum steuern des Motors ?
Und wenn es ohne den Motor funktioniert, dann musst du den entstören.

Die Schaltung haben wir nicht entwickelt bzw. aufgebaut daher kann ich dir nicht sagen warum sich für ein Darlington Transitor das gemacht wurde. Haben es Probiert zu entstören mit einem einfachen 100nF Folienkondensator den wir Parallel dazu geschalten haben. Leider Ohne Effekt. Zusätzlich wurde leider eine Feld Wald und wiesen 1N4007 Diode verbaut. Die Probieren wir mal zu tauschen gegen eine deutlich schnellere Schottky Diode, leider hatten wir die nicht zur hand ist aber bestellt und ab jetzt ist auch erstmal Urlaub bis übernächste Woche solange kann ich nichts daran testen. :confused:
aber was wir uns nicht erklären können ist wie die Störungen über den Darlington Transistor kommt um auf den Arduino einzustören. Wenn du uns da mal auf die Sprünge helfen könntest wären wir dir sehr dankbar.
Eine Theorie die ich hätte ist, dass wir uns über das gemeinsame Ground von den 24v Leistungsversorgung und 5v Logik Versorgung uns was einschleifen.

Hier auch noch der Schaltplan der Leistungs Platine. Oben Rechts ist der Teil markiert der für den Probleme machende Motor zuständig ist.
Das PWM0 Signal geht über eine Flachbandleitung direkt auf den Digitalen Ausgang des Arduinos.
Die Diode 1N4933 ist auch nicht verbaut sondern eine 1N4007

bqckfisch:
Die Schaltung haben wir nicht entwickelt bzw. aufgebaut daher kann ich dir nicht sagen warum sich für ein Darlington Transitor das gemacht wurde. Haben es Probiert zu entstören mit einem einfachen 100nF Folienkondensator den wir Parallel dazu geschalten haben. Leider Ohne Effekt.

Meist ist ein Kondensator nicht ausreichend. Vielfach muss auch das Motorgehäuse mit einbezogen werden.
Abgeschirmte Leitungen zum Motor können auch helfen.

Zusätzlich wurde leider eine Feld Wald und wiesen 1N4007 Diode verbaut.

Diese Diode ist ok.

aber was wir uns nicht erklären können ist wie die Störungen über den Darlington Transistor kommt um auf den Arduino einzustören. Wenn du uns da mal auf die Sprünge helfen könntest wären wir dir sehr dankbar.

Störungen gehen immer ungeahnte Wege, auch durch die Luft (Funkstörungen). Und Motoren machen das immer gerne.

HotSystems:
Meist ist ein Kondensator nicht ausreichend. Vielfach muss auch das Motorgehäuse mit einbezogen werden.

Probieren wir nach dem urlaub direkt auch mal aus.

HotSystems:
Störungen gehen immer ungeahnte Wege, auch durch die Luft (Funkstörungen). Und Motoren machen das immer gerne.

Ja das schon, nur der Motor hat einen großen Abstand zu der Schaltung mit Blech dazwischen. Bei den Kabeln vom Motor haben wir extra geschaut das dort etwas Abstand zu den Display Kabeln ist. Nichts destotrotz schauen wir mal ob wir die Motor oder Display Leitungen mal extra Schirmen können.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.