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
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?
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...
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.
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.
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!
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.
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?
geb schrieb:> ... einem EMV Problem ...
Elektromagnetische Verträglichkeit ist kein Problem, sondern eine
angestrebte Eigenschaft im Zusammenspiel der Systeme.
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.
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.
cwsd schrieb:> Alles ist am common Ground, Arduino, Netzteil 12V, Netzteil Logik> Spannung.
Fotos bitte - dann sieht man was Sache ist und kann Helfen.
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.
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?
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.
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.
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.
-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
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......
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.
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
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.
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.
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.
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.
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.
"Noise" und "geshieldet"
Das stimmt, mich regen solche Begriffe auch immer auf, versteh nicht
warum manche denken, man nimmt sie kompententer wahr dadurch
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 :)
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!
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
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.
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 ...