Werbung
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Hast du denn allereinfachsten Test schon gemacht, den PIN direkt mit GND zu verbinden? Löst er dann korrekt aus? Haben der Arduino und die Schalter definitiv gemeinsame Masse? Wenn beides ja, dann wie oben geschrieben, den Strom messen, der über GND fließt, und hier posten.
Was würden denn neue Schalter kosten? Und was kostet es, wenn die Endabschlatung nicht zuverlässig ist und die Maschine durchdreht?
Wenn ich den einen der drei Pins (X-, Y-, Z-Achse) direkt mit Gnd verbinde, funktioniert alles, wie es soll.
Die Masse des Leistungsnetzteils, des Logiknetzteils und des Arduinos (der via USB mit Strom versorgt wird), ist zusammengeführt.
@Picture: Danke für den Vorschlag. Ich werde nacher mal messen, wie viel Strom fließt. Und wie wäre die weitere Vorgehensweise?
Die Größe des internen Pullups lässt sich mit den bisherigen Angaben bereits ermitteln.
Bei einer Last von 0,3kOhm hast du eine Spannung von 0,11V gemessen. Es fließen also 0,11V/300Ohm=0,000367A
Am Pullup-Widerstand fallen 5V-0,11V=4,89V ab. Da durch ihn derselbe Strom fließt, ergibt sich ein Widerstandswert von 4,89V/0,000367A=13,3kOhm.
Auf dem kleinen Arduino ist ein ATmega328 verbaut, laut Datenblatt haben die integrierten Pullup-Widerstände zwischen 20 und 50kOhm.
Grüße, Bernhard
So, heute hab ich endlich mal wieder Zeit um mich weiter darum zu kümmern.
Ich habe gestern kurzerhand nen Git-Account gemacht und in der GRBL-Community nachgefragt: https://github.com/grbl/grbl/issues/307
Die Programmierer haben diesen Fall schon vorgesehen - allerdings muss ich mir GRBL gleich dann selbst neu kompilieren, nachdem ich die Codezeile
auskommentiert habe.Code:// #define LIMIT_SWITCHES_ACTIVE_HIGH
Ich denke, das sollte die einfachste Lösung sein![]()
Dennoch Danke für all euere Ratschläge!
Lesezeichen