Forum: Mikrocontroller und Digitale Elektronik Hilfe (dringend) bei Master Projekt: Endstops unkonstant


von cwsd (Gast)


Lesenswert?

Liebes Forum,

ich muss in drei Tagen mein Master Projekt prüfen lassen und es 
funktioniert nicht.
Es geht um eine Maschine, ein Schlitten, der an einer Folie hoch und 
runter fährt und dabei auf die Folie drauf zeichnet.
Das ganze beidseitig.

Es sind 4 Motoren verbaut, oben zwei die gleichzeitig ziehen und jeweils 
einer auf einer Seite des Schlittens, die den Zeichenkopf horizontal 
bewegen.
Für diese Horizontalbewegung geht der Schlitten immer von Endstopp zu 
Endstopp. Es werden also Linien abgefahren.
Die Endstopps bestehen aus mechanischen Mini-Schaltern.

Das Problem:

Am Arduino Test ohne 12V Power Supply sind die Stops zuverlässig (10K 
pulldown).
Sobald ich die Maschine fahren lasse, werden die Bewegungen der 
Zeichenköpfe unzuverlässig.
Sie stoppen immer zufällig ab, als ob ein Schalter gedrückt worden wäre.
Ist er aber nicht.

Ich komm gar nicht mehr weiter und hab schon 2 Tage und Nächte an dem 
Problem gebastelt.
Die Schaltung 3 mal neu gemacht, alles geprüft, ... ich weiß nicht mehr 
weiter.

Motoren Horizontal: flache Teile, werden ziemlich warm aber laufen 
eigentlich gut. Hängen an A4988
Kabel: Schleppkabel von Igus , flexibel, 0,5 Querschnitt, mit jeweils 12 
Adern. kein Shielding (könnte das ein Problem sein??)

Alles ist am common Ground, Arduino, Netzteil 12V, Netzteil Logik 
Spannung.

Meine Vermutung:
1) irgendwelche blöden Kriechströme oder sonstwas, die Noise verursachen
2) Noise in den Kabeln, die jeweils 6m lang sind und nicht geshieldet, 
Motoren und Schalter im selben Kabel (12 Adrig)
3) Motoren werden zu heiß und wollen nicht mehr. Aber warum senden sie 
ein HIGH vom Schalter an den Arduino?? (das HIGH bekommt er 100%ig, 
sonst würde es nicht weiter laufen)

Könnt ihr mir bitte helfen, ich bin leicht verzweifelt :(

Dankschön!!!
C

von Martin (Gast)


Lesenswert?

Was sagt dein Betreuer dazu?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

cwsd schrieb:
> ich muss in drei Tagen mein Master Projekt prüfen lassen und es
> funktioniert nicht.

hm, funktioniert es denn erst seit drei Tagen nicht (prlötzlicher 
Defekt), oder wurde bisher noch kein Test der Funktion "ein Schlitten, 
der an einer Folie hoch und runter fährt und dabei auf die Folie drauf 
zeichnet" durchgeführt?

von Jan L. (ranzcopter)


Lesenswert?

cwsd schrieb:
> Die Endstopps bestehen aus mechanischen Mini-Schaltern.

NO oder NC? Schaltung wär' schon recht hilfreich...

Ansonsten tät' ich mal versuchen, die Pullups auf 1k zu reduzieren, und 
100n nach GND zu legen...

von W.P. K. (elektronik24)


Lesenswert?

Oszilloskop anschließen:
· an der Uni leihen
· oder für 380 Euro ein Rigol DS1054Z kaufen (bestes 
Preis/Leistungsverhältnis)
· oder ein gebrauchtes aus Kleinanzeigen)

und die Signale ansehen. Alles andere ist nur rumgestochere im Nebel und 
Du kannst Ewigkeiten dran rummachen.

3 Tage: das wird eng. Also: nicht lange lamentieren: JETZT das Scope 
bestellen oder noch besser zum nächsten Conrad fahren und es direkt 
mitnehmen. Dann weißt Du heute Abend woran es liegt und hast noch einen 
Tag zum Nachbessern.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

cwsd schrieb:
> Könnt ihr mir bitte helfen, ich bin leicht verzweifelt :(

 Schalterzustand mehrmals hintereinander prüfen, nicht nur einmal.

 Also, beim ersten Stopp z.B. noch viermal im Abstand von 2ms
 prüfen.

von geb (Gast)


Lesenswert?

Das hört sich nach einem EMV Problem an. Kabel gehören natürlich 
geschirmt, überhaupt wenn sie lang sind. Die 10K Pulldown sind jetzt 
auch eher als hochohmig und störgefährdet zu bezeichnen. Diese mal 
niederohmiger machen, zusätzlich am Eingang der Steuerung ein RC-Glied 
(Tiefpass) vorsetzen. Die Leistungskabel für die Motoren kannst du noch 
um einen Ferritkern wickeln (gleich nach dem Treiberausgang), das dämpft 
die Gleichtaktstörung. Wenn du einigermaßen Glück hast und sonst keine 
Fehler sind, sollte es dann funzen.

viel Glück!

von W.P. K. (elektronik24)


Lesenswert?

Nachtrag: wenn Dir die 380 Euro für das Rigol zu teuer erscheinen: 
Verkaufe es danach für 350 bei Ebay Kleinanzeigen. Das wirst Du sofort 
los. Somit hast Du nur läppische 30 Euro investieren müssen.
Wenn Du alle Tipps, die hier erscheinen werden, versuchst 
auszuprobieren, bist Du bis morgen damit beschäftigt und dann ist es zu 
spät.

von Wolfgang (Gast)


Lesenswert?

cwsd schrieb:
> Am Arduino Test ohne 12V Power Supply sind die Stops zuverlässig (10K
> pulldown).

Pull-Downs sind eher ungewöhnlich.

Wie sieht dein Schaltplan aus und wie der Aufbau, insbesondere 
Entkopplung der Stromversorgung von Motoren und µC, Massekonzept und 
Entstörung der µC Eingänge?

von Wolfgang (Gast)


Lesenswert?

geb schrieb:
> ... einem EMV Problem ...

Elektromagnetische Verträglichkeit ist kein Problem, sondern eine 
angestrebte Eigenschaft im Zusammenspiel der Systeme.

von Andre (Gast)


Lesenswert?

Hab ich es richtig verstanden: In dem 6m Kabel 12x0,5mm² ist eine (1) 
Ader für GND. Und an der hängen die Endschalter, Motoren, ... alles?

Dann hilft auch ein stärkerer Pulldown wenig. Dir hebt die komplette 
Masse ab. Getrennte Kabelführung könnte dein Problem lösen. 
Steuerleitung 0,14/0,25mm² zu den Endschaltern, entsprechend höheren 
Querschnitt zu den Motoren.
Dazu ggf. noch eine Eingangsschaltung (RC-Filter wie vorgeschlagen, ggf. 
Schutzdioden, Schmitt-Trigger) anstatt die 6m Antenne direkt an einen 
I/O Pin zu hängen.

Und noch das obligatorische Gemecker: Welche Fachrichtung studierst du? 
Falls E-Technik, bitte über den Aufbau & das voran gegangene Studium 
noch mal genau nachdenken. Für eine Masterarbeit klingt der seeehr 
undurchdacht und unsauber, wenn jetzt 3 Tage vor Schluss so etwas 
simples wie I/Os nicht mehr sauber laufen.

von tron (Gast)


Lesenswert?

Beliebte Fehler bei solchen Applikationen und ihre Lösungen:

- Die Daten- und Signalleitungen dürfen nicht gleichzeitig die Leitungen 
sein, über die die Motorströme fließen. D.h., getrennte 
Masseleitungen!!!

- Für Schaltsignale Hardware- und Softwarefilter vorsehen. 
(Hardwarefilter aus Dioden, Widerständen und Kondensatoren, 
Softwarefilter mittels Mehrfachabtastung)

- Kritische Signalleitungen optoentkoppeln.

- Strukturierte Software, die im Fehlerfall wieder auf die Füße fällt 
und wo es keine undefinierten Zustände gibt. D.h., auch die Zustände 
müssen behandelt werden, die nur durch einen Fehler hervorgerufen werden 
können.

- Keine Masseschleifen (gilt nicht für Masseflächen, sondern für alle 
angeschlossenen Leitungen)!!!

- Jedem IC einen Abblockkondensator (100nF) sinnvoll zuordnen.

- Keine offenen Eingänge.

- etc.

von Berufsberater (Gast)


Lesenswert?

cwsd schrieb:
> Alles ist am common Ground, Arduino, Netzteil 12V, Netzteil Logik
> Spannung.

Fotos bitte - dann sieht man was Sache ist und kann Helfen.

von Wolfgang (Gast)


Lesenswert?

Andre schrieb:
> Dann hilft auch ein stärkerer Pulldown wenig. Dir hebt die komplette
> Masse ab. Getrennte Kabelführung könnte dein Problem lösen.

Oder ein Optokoppler, dessen LED mit ausreichender Spannung über einen 
Widerstand betrieben und durch den Schalter geschaltet wird.

Dafür braucht man nicht unbedingt ein getrenntes Kabel.

von Frank (Gast)


Lesenswert?

W.P. K. schrieb:
> Nachtrag: wenn Dir die 380 Euro für das Rigol zu teuer erscheinen:
> Verkaufe es danach für 350 bei Ebay Kleinanzeigen. Das wirst Du sofort
> los. Somit hast Du nur läppische 30 Euro investieren müssen.
> Wenn Du alle Tipps, die hier erscheinen werden, versuchst
> auszuprobieren, bist Du bis morgen damit beschäftigt und dann ist es zu
> spät.

Auf die Idee, mal die Signale mit einem Scope anzuschauen, egal ob 
geliehen oder gekauft, scheinen heute die Studenten nicht mehr zu 
kommen! Ich frage mich was der TO bis zu seinem "Master" überhaupt an 
der Uni/FH gelernt hat?
Wahrscheinlich würde jeder Betriebselektriker (ohne Studium!) nicht in 
"Panik" verfallen und das Problem innerhalb der verbleibenden drei Tage 
locker in den Griff bekommen. Sind heute alle Absolventen einer Uni/FH 
so "praxistauglich"? Wo soll man die im Betrieb einsetzen?

von X4U (Gast)


Lesenswert?

cwsd schrieb:
> Alles ist am common Ground, Arduino, Netzteil 12V, Netzteil Logik
> Spannung.

Bevor sich der TE nicht substantiell auf die Fragen eingeht halte ich 
das für ein Trollposting. So was macht ja höchstens mal ein Hobbybastler 
bei Muttern auf'm Küchentisch.

von TipGeBär (Gast)


Lesenswert?

Die A4988 schalten einfach ab, wenn denen zu warm wird.
Das tun die recht zufällig und die kommen dann auch einfach irgendwann 
wieder.

Deine Aussage, dass die Motoren heiß sind / werden, in Verbindung mit 
dem plötzlichen Stopp ruft bei mir die Erinnerung an meinen ersten 3D 
Drucker wach .... Der hatte die gleichen Macken.

Also, Strom richtig einstellen am A4988 (fang mit 40% Nennstrom an und 
dann so weit erhöhen, bis die Motoren zuverlässig laufen.) und dann 
würde ich zu min. 75% sagen, dass Deine Aussetzer und Stopps weg sind.

Gruß vom Bär.

von cwsd (Gast)


Lesenswert?

Hey alle,

man, ihr seid echt toll!
Vielen Dank für die ganzen schnellen Antworten !!!!!

Also, das erste und einfachste, was ich versucht habe, scheint zu 
funktionieren. Ich traue dem noch nicht zu 100%, aber es sieht gut aus.

Die 10K als Pulldown waren scheinbar wirklich zu hoch.
Ich habe 1K eingebaut und es läuft viel besser bis optimal.

Wenn es das wirklich war, dann habt ihr evtl. meine Prüfung gerettet.
Danke euch allen.

Falls jemandem doch noch was einfällt, gerne posten.
Ich hab etwas Sorge, dass das ganze wieder von neuem beginnt, daher sind 
Ideen sehr willkommen.

ps.
Zu denen die sich wundern warum ich das so spät ausprobiere:
Ich studiere Kunst, nichts technisches. Ich hab mir alles soweit selbst 
beigebracht und weiß deshalb nicht so viel, was in die tiefe geht.
Vorher lief es gut, dann hab ich die Kabel angelötet für das finale teil 
(12adr.) und es lief schlecht. Ich werd das nächste Mal geshieldete 
Kabel nehmen und jegliche sensoren meilen weit von den Motor 
versorgungen weg legen.

von T.M .. (max)


Lesenswert?

-dann hab ich die Kabel angelötet für das finale teil

-und jegliche sensoren meilen weit von den Motor
versorgungen weg legen.


vielleicht machst du das trotzdem noch, damit es stabil funktioniert?

6m Kabel können auch einiges an Störungen einfangen. Man muss nur in 
eine andere Umgebung kommen, die emv technisch schwierig ist und das 
ganze geht wieder los

von Mad (Gast)


Lesenswert?

cwsd schrieb:
> Wenn es das wirklich war, dann habt ihr evtl. meine Prüfung gerettet.
> Danke euch allen.

Lass den Schrotthaufen doch einfach so wie er ist und verkaufe es als 
Kunst. Liegt nur an deiner Argumentation, bist schließlich frei im 
Geiste......

von Patrick B. (p51d)


Lesenswert?

cwsd schrieb:
> Ich studiere Kunst, nichts technisches.

Soll das ein selbständig zeichnender Kunstroboter werden (mit 
künstlicher Intelligenz/Dummheit)? Dann spielt es doch keine Rolle was 
der macht. Wie Mad schon gesagt hat, kannst du halt damit Argumentieren, 
dass das so gewollt ist und das Ding ein Unikat erstellt. Alles andere 
ist ja ein simpler Schreib-Plotter, was es schon Jahrzehnte gibt.

: Bearbeitet durch User
von Hans (Gast)


Lesenswert?

Rein aus Interesse fände ich ein Bild gut! Stelle doch einmal eines ein.

von Jan L. (ranzcopter)


Lesenswert?

cwsd schrieb:
> Vorher lief es gut, dann hab ich die Kabel angelötet für das finale teil
> (12adr.) und es lief schlecht. Ich werd das nächste Mal geshieldete
> Kabel nehmen und jegliche sensoren meilen weit von den Motor
> versorgungen weg legen.

...und evtl. auch mal schauen, was andere dazu konkret schonmal 
herausgefunden haben ;-)
https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

von Cerberus (Gast)


Lesenswert?

W.P. K. schrieb:
> · oder für 380 Euro ein Rigol DS1054Z kaufen (bestes
> Preis/Leistungsverhältnis)
> · oder ein gebrauchtes aus Kleinanzeigen)

Und das in drei Tagen heran schaffen?
Ihr kommt manchmal auf Ideen.

von Hans (Gast)


Lesenswert?

Wo ist das Problem? Hat Conrad in den Filalen lieferbar

von W.P. K. (elektronik24)


Lesenswert?

Cerberus schrieb:
> Und das in drei Tagen heran schaffen?
> Ihr kommt manchmal auf Ideen.


wieso? Heute morgen (als ich meinen Beitrag schrieb) bestellt, morgen 
früh auf dem Tisch. Spätestens Abends dem Problem auf den Grund gegangen 
und es gelöst. Und falls man in der Zwischenzeit eine Lösung findet, 
schickt man es Dank Fernabsatzgesetz zurück.
Da hätte ich keine 30Sek. drüber nachgedacht und heute morgen noch eines 
eines bestellt.

Nur wer weiß, was der Grund eines Fehlers ist, kann ihn auch 
ordnungsgemäß beseitigen. So wird der TO "cwsd" nun ein bisschen 
probieren und vielleicht die Fehlerrate von 90% auf 5% reduzieren. Hilft 
ihm das: nein, denn nicht 5% sondern nur 0% sind OK, evtl. noch 0,0001% 
tolerabel. Aber da er den Grund der Fehler mangels Oszilloskop nicht 
kennt, wird er ihn auch nicht finden und beheben können.... und so gehen 
dann die frustrierenden Tage ins Land.

Ich erinnere mich noch daran, wie ich irgendwann mal einen Intronix 
Logicport Logicanalyzer gekauft habe und mich am nächsten Tag in den 
Hintern gebissen habe, das nicht schon viel eher gemacht zu haben. So 
viel verschwendete Lebenszeit für die Fehlersuche .... daraus habe ich 
gelernt: effiziente, ordentliche Arbeit braucht ordentliches Werkzeug.

: Bearbeitet durch User
von Hans (Gast)


Lesenswert?

Auf der anderen Seite müsste er oder sie auch wissen wie man ein oszi 
bedient und auswertet

von Stefan F. (Gast)


Lesenswert?

Für eine EMV Entstörung per Software könnte die Zeit knapp werden.

Du könntest alternativ noch parallel zu den Endschaltern kleine 
Kondensatoren im Bereich 22nF bis 100nF schalten, um das Ganze noch 
etwas stabiler zu machen.

Es ist ganz wichtig, dass die Lastströme der Motoren nicht über die 
Masseleitung fließen, die für die Signale verwendet wird. Das haben 
andere schon geschrieben, ich wollte es nur nochmal wiederholen, weil es 
so wichtig ist.

von Stephan (Gast)


Lesenswert?

Mich irritiert weiterhin das Zusammenspiel von Pulldown und gemeinsamer 
GND-Verbindung.
Entweder es ist ein PullUp oder die Schalter hängen an der 
Betriebsspannung.
Zumal der A4988 ja ein Stepper-Treiber ist und Stepper keine 
Ground-Verbindung haben.

von Stefan F. (Gast)


Lesenswert?

Ja, ein Schaltplan wäre sehr hilfreich, um den Sachverhalt zu klären.

von Manfred (Gast)


Lesenswert?

Hans schrieb:
> Auf der anderen Seite müsste er oder sie auch wissen wie man ein oszi bedient 
und auswertet

Wären entsprechende Kenntnisse vorhanden, wäre dieser Thread garnicht 
erst entstanden. Ich glaube sogar, dass ich das ohne Scope in den Griff 
bekäme:

cwsd schrieb:
> 2) Noise in den Kabeln, die jeweils 6m lang sind und nicht geshieldet,
> Motoren und Schalter im selben Kabel (12 Adrig)

"Noise" und "geshieldet" klingt schon einmal oberwichtig, aber "Motoren 
und Schalter im selben Kabel" ist vermutlich der Schlüssel zum Glück.

von Hans (Gast)


Lesenswert?

"Noise" und "geshieldet"

Das stimmt, mich regen solche Begriffe auch immer auf, versteh nicht 
warum manche denken, man nimmt sie kompententer wahr dadurch

von cwsd (Gast)


Lesenswert?

Also es läuft jetzt ziemlich stabil, ich hab es im finalen Umfeld 
installiert.

Nur noch ein Schalter macht manchmal kleine Probleme, da nehme ich die 
Leitung aus den mehradrigen Kabeln und lege das extern.

Also noch mal allen ein dickes Dankeschön, die so Hilfreiches 
geschrieben haben.
Einen Filter werd ich evtl. auch noch einbauen, falls es wieder spinnt.
Vielleicht auch in der Software per Mehrfachmessung, wie vorgeschlagen.
Bisher reichen die kleineren Widerstände.

Ich glaube so kann ich das Ding zeigen.
Nach der Prüfung setz ich gerne ein Foto rein, für die, die es 
interessiert :)
Das ganze ist ein Interaktiver Lichtplotter (man kann die Zeichnung 
beeinflussen) mit einer phosphoreszierenden "Leinwand" im dunklen Raum. 
Ist 3m hoch und 1,40 breit, hängt von einer Stahlkonstruktion herab, die 
an der Decke befestigt ist.
Studiengang ist Medienkunst.

Und ja stimmt, ich kann (noch) kein Oszilloskop auswerten oder bedienen.
Aber danke für den Tip zu dem Modell, das werd ich mir zulegen :)

von Route_66 H. (route_66)


Lesenswert?

Für Dein nächstes Kunstprojekt solltest Du von Anfabng an
pairweise teilgeschieldete Leitungen als connection zwischen den 
different groundet Baugruppenconstructions verwenden - oder besser: 
usen!

von Bernd B. (microwave-designer)


Lesenswert?

X4U schrieb:
> So was macht ja höchstens mal ein Hobbybastler
> bei Muttern auf'm Küchentisch.

Ihr werdet lachen: bei Aufbauten mit fliegender Verdrahtung hat man 
häufig weniger Probleme, als bei sauber gebündelten Kabeln/Drähten.

@CWSD: Sollte es sich wirklich um Verkoppelung von Signalen handeln, 
empfehle ich ein Flachbandkabel, dieses erst ganz am Ende am oder im 
Gerät verzweigen / aufspleißen. Nimm ein Kabel mit der doppelten 
benötigten Aderzahl plus eins! Die beiden äußeren Drähte sollen Masse 
werden, dann immer abwechselnd von einer Seite zur anderen Masse . 
Signal . Masse . Signal...

Viel Erfolg!

Bernd

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Sicher ist es keine dumme Idee, die Versorgung der Motoren völlig 
unabhängig als eigenes Netzteil zu gestalten, das nichts mit dem Arduino 
zu tun hat. Eine einzige Verbindung von Motormasse zu Arduino Masse an 
einem Sternpunkt hilft dann auch.

von Thomas W. (diddl)


Lesenswert?

Bernd B. schrieb:
> Ihr werdet lachen: bei Aufbauten mit fliegender Verdrahtung hat man
> häufig weniger Probleme, als bei sauber gebündelten Kabeln/Drähten.

Das kann ich bestätigen ...

Vor der Wende hatte ich oft in der DDR zu tun.
Als unser Elektriker das erste Mal einen DDR Schaltschrank sah, war 
vollkommen aus dem Häuschen.
Er hat sofort die Türe des Schrank wieder geschlossen. :-D

Aber die Praxis hat gezeigt, dass eine Punkt zu Punkt Verdrahtung auch 
Vorteile hat.
Und zwar nicht nur Einsparung von Draht ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.