Hallo zusammen, will mit meinem raspberry pi 3 bei meinem protoneer cnc stepper shield den ENABLE pin von 5V auf low ziehen. Dieser ist mit einem 10K Widerstand auf high. Wenn ich in python GPIO.output(ENABLE,0) probiere, schafft es der Pegel nicht auf 0. Was mache ich falsch? Über Hilfe würde ich mich sehr freuen. Liebe Grüße dabreaka
Claus H. schrieb: > Hallo zusammen, > will mit meinem raspberry pi 3 bei meinem protoneer cnc stepper shield > den ENABLE pin von 5V auf low ziehen. Dieser ist mit einem 10K > Widerstand auf high. Wenn ich in python Die GPIO-Pins dürfen niemals mehr als 3.3V sehen, und sie sind auch recht schwach. Du solltest einen Transistor dafür verwenden. Sowas wie ein BSS138 reicht. 100k vom Gate gegen GND. fchk
Claus H. schrieb: > den ENABLE pin von 5V auf low ziehen. Dieser ist mit einem 10K > Widerstand auf high. Das wären 100uA von 5V über den Widerstand und die Schutzdiode des Gpio-Pins zu den 3V3 VCC des PI. Und dann 500uA in den Gpio sobald der auf GND geschaltet wird. Sollte eigentlich gehen. Sind auf den Motortreibermodulen des Shields noch weitere ENABLE-Pullups? LG, Sebastian
Vielen Dank Euch beiden für die Hilfestellungen - auf dem cnc shield ist für mich nur der ENABLE pin wichtig (s. Anhang) - den muss ich auf low ziehen, dass die Treiber arbeiten. Ich muss mal sehen, wie das mit dem Transistor geht - das shield ist eigentlich für den Arduino - hier funktioniert es auch - aber am raspberry zickt es
Claus H. schrieb: > den muss ich auf low ziehen, dass die Treiber arbeiten Sind auf den Treibermodulen noch weitere EN-Pullups? LG, Sebastian
das shield hat Sockel für 4 Treiber (A4988) - zwei Sockel brauche ich für x und y Stepper - alle enable pins sind mit einem zentralen enable PIN schaltbar - und das ist ein 10k Pullup zu 5V - den will ich mit einem GPIO auf 0V ziehen
Claus H. schrieb: > das shield hat Sockel für 4 Treiber (A4988) - zwei Sockel brauche ich > für x und y Stepper - alle enable pins sind mit einem zentralen enable > PIN schaltbar - und das ist ein 10k Pullup zu 5V - den will ich mit > einem GPIO auf 0V ziehen Ja, ist mir klar. Und sind die zwei Sockel schon belegt, oder schafft es der PI nicht gegen den puren 10k zu 5V? Und falls die zwei Sockel schon belegt sind: Sind auf den Treibermodulen in den Sockeln noch weitere Pullups, zusötzlich zu den 10k suf dem Shield? LG, Sebastian
Claus H. schrieb: > Wenn ich in python > > GPIO.output(ENABLE,0) > > probiere, schafft es der Pegel nicht auf 0. > Was mache ich falsch? Kannst du das "nicht" auch in Zahlen ausdrücken. Welchen Pegel erreicht der Pin, wenn der GPIO einen High-Pegel ausgibt?
Frank K. schrieb: > Die GPIO-Pins dürfen niemals mehr als 3.3V sehen, und sie sind auch > recht schwach. Du solltest einen Transistor dafür verwenden. Sowas wie > ein BSS138 reicht. 100k vom Gate gegen GND. Für so einen Kinderkram nimmt man einen beliebigen NPN-Transistor, braucht keinen FET, Elektronik zweite Schulstunde. BC107, BC238, BC347, BC546 oder 2N_irgenwas aus dem China-Sortiment Claus H. schrieb: > das shield Oh weh, Legosteinchen stecken. Einen Transistor plus Basiswiderstand sollte man gerade noch ohne shield zusammen bekommen.
Hallo nochmal, vielen Dank an Euch alle - hab mir einen Transistor besorgt, dann zunächst den Strom zwischen ENABLE und GND gemessen : 0.5 mA - dann sind das bei 5V genau die 10 kOhm pull up Widerstand Transistor: 2N 3904 - hab im Datenblatt eine Reihe von Stromverstärkungen gefunden - dann mit 50fach gerechnet (also 3,3V Steuerspannung raspberry - 0,7V Abfall Transistor - geteilt durch 0.5 mA - mal 50 - komme dann auf 260 kOhm - mit einem 270 kOhm Widerstand tut sich nix - dann 47k probiert - auch nichts, dann mit 4,7 k - dann schaltet der Transistor mein ENABLE 5V auf GND Beste Grüße dabreaka
Frank K. schrieb: > Claus H. schrieb: >> Hallo zusammen, >> will mit meinem raspberry pi 3 bei meinem protoneer cnc stepper shield >> den ENABLE pin von 5V auf low ziehen. Dieser ist mit einem 10K >> Widerstand auf high. Wenn ich in python > > Die GPIO-Pins dürfen niemals mehr als 3.3V sehen, und sie sind auch > recht schwach. Du solltest einen Transistor dafür verwenden. Sowas wie > ein BSS138 reicht. 100k vom Gate gegen GND. > > fchk du hattest Recht, mein GPIO18 pin am raspberry ist nun tot ... seufz ...
Claus H. schrieb: > du hattest Recht, mein GPIO18 pin am raspberry ist nun tot ... seufz Ich kann mir irgendwie nicht vorstellen, dass 100uA Schutzdioden des Pi zerstört. Sind die derart fragil? LG, Sebastian
Sebastian W. schrieb: > Sind die derart fragil? offensichtlich, die gestorbenen PIs sind deutlich wenn man den Nutzern glauben darf. Vielleicht ist es aber nur falscher Umgang, z.B. Stecken unter Spannung. Jedenfals scheint ein Raspi SoC sensibler als ein AVR (Arduino) und definitiv nicht 5V tolerant.
Joachim B. schrieb: > offensichtlich, die gestorbenen PIs sind deutlich wenn man den Nutzern > glauben darf. Aber das sind nur 70uW! LG, Sebastian
Sebastian W. schrieb: > Aber das sind nur 70uW! > > LG, Sebastian na denn müssen ja alle User lügen oder der PI nie kaputt gehen. Was willst du beweisen? (Das es Murphy nicht gibt?) 1. Hauptsatz, was kaputt gehen kann geht kaputt. Der Serienwiderstand ist zwecklos wenn die auf 5V aufgeladene Kabelkapazität unter Spannung gesteckt wird. Ich war bei keinem der getöteten Raspis dabei, Tatsache bleibt er ist nicht 5V tolerant und er ist sensibeler.
:
Bearbeitet durch User
Joachim B. schrieb: > Was willst du beweisen? Erstens kann ich mir nicht erklären, warum der Pi einen 10k Pullup zu 5V nicht auf GND ziehen kann. Zweitens kann ich mir nicht erklären, wie ein 10k Pullup zu 5V einen Pi-Gpio zerstören kann. Und drittens wüsste ich wirklich gerne, wieviel Mikrowatt so eine Schutzdiode in einem IC thermisch abgeleitet bekommt, und ab wann sie durch die Hitze des Strompfads zerstört wird. Klar wird das stark von der Fertigungstechnologie abhängen ... LG, Sebastian
Sebastian W. schrieb: > Erstens kann ich mir nicht erklären, warum der Pi einen 10k Pullup zu 5V > nicht auf GND ziehen kann. das tut mir leid, ehrlich. warum? -> Ich gab die Antwort schon! lesen musst du selber.
Joachim B. schrieb: > Ich gab die Antwort schon! Ich habe gehört was über den Raspberry Pi kolportiert wird. Broadcom ist zudem reichlich zugeknöpft. Aber: Es ist bekannt dass Schutzdioden thermisch sterben. Dazu braucht es aber eine gewisse Leistung über eine gewisse Zeit (oder anders ausgedrückt eine gewisse Energiemenge in einer gewissen Zeit). Und ich verstehe nicht, wie ein 10k Vorwiderstand nicht ausreichen soll einen Port zu schützen, wenn auf der anderen Seite des Widerstands 5V anliegen. Ich verstehe es nicht im Sinne von: Nach welchem physikalischen Prinzip richtet ein solches Vorgehen genau welchen Schaden auf dem Silizium an? Immerhin kann man an einen AVR lt. der bekannten Atmel Appnote über einen geeigneten Widerstand 230V Wechselstrom anlegen! LG, Sebastian
Sebastian W. schrieb: > Claus H. schrieb: >> du hattest Recht, mein GPIO18 pin am raspberry ist nun tot ... seufz > > Ich kann mir irgendwie nicht vorstellen, dass 100uA Schutzdioden des Pi > zerstört. Es dürfte der sein, den er zuvor direkt an seinem 5V-Anschluß hatte. Mit dem NPN und 4k7 hat er nun eine sinnvolle Lösung und die 0,56mA Basisstrom wird der Raspberry schadlos können.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.