Was sagt das Ohmmeter?
Wenn du GND nicht verbunden hast, ist es doch klar das du überall die 5V misst.
Hallo,
ich hab mit die RNStepp297 mal selbst geroutet (https://www.roboternetz.de/phpBB2/ze...849&highlight=) und nun nach längerer Zeit auch geäzt und gelötet.
Jetzt wollte ich die Platine testen aber bekomm sofort einen Kurzschluss sobald ich GND und Vcc anschließe. Ob es sich tatsächlich um einen richtigen Kurzen handelt kann ich nicht so ganz beurteilen. Fakt ist: Als Versorgung für die Logikspannung nutze ich einen USB-Anschluss meines Computers. Bei einem Kurzschluss wird der USB-Port normalerweise bis zum Neustart des PCs abgeschaltet. In diesem Fall stürzt aber nur der ISP und ein weiteres Board, welches über den selben USB-Port versorgt wird ab. Der USB-Port wird nicht abgeschaltet.
Ich hab mir die Lötstellen alle nochmal genau angeschaut und eigentlich sehen die alle prima aus.
Zum Spaß hab ich jetzt einfach mal nur Vcc verbunden und nicht GND und muss feststellen, dass an allen Lötstellen (wirklich allen!) +5V anliegen! Das kann ganz und gar nicht stimmen.
Das Widerstandsarray und der L297 sind richtigherum drin...
Bevor ich jetzt noch irgendwas anschließe und das ganze Teil vielleicht grille möchte ich erstmal ne runde schlafen und euren fachmännischen Rat.
so long...
Was sagt das Ohmmeter?
Wenn du GND nicht verbunden hast, ist es doch klar das du überall die 5V misst.
Also wenn ich mein Multimeter auf "20k" stelle und die Kontakte an GND und Vcc anlege, dann bekomm ich konstant 2,07 also ca. 2kOhm Widerstand.
Deutet das auf eine Lötverbindung irgendwo hin oder ist das normal? Wenn ich tatsächlich irgendwo ne Brücke gelötet habe muss die dann zwingend zwischen dem GND und Vcc Netz sein? Und wie kann ich diese Stelle leicht identifizieren?
Viele Fragen.....
Wenn die Verbindung zwischen GND und VCC wäre, dann wäre der Widerstand wesentlich geringer.
Es könnte aber auch sein, das nur der Ladestrom für die Elkos zu groß ist.
Wie darf ich das verstehen? Ein USB Anschluss liefert meines wissens nach nur maximal 500mA. Wieso sollte der Ladestrom zu groß sein?
Mit dem Vcc Netz ist ja auch nur der 35V/470uF Elko verbunden.
Wie kann es eigentlich sein, dass der Widerstand 2kOhm zwischen Vcc und GND beträgt? Kann es sein, dass es da Kriechströme in den ICs gibt?
Vielleicht könnte ja mal jemand der auch ein RN STEPP 297 besitzt nachmessen welcher Widerstand herrschen sollte...
Auch wenn ich nicht ganz verstanden habe, wie sich das mit den Elkos verhält...
Ich hab mal eine uC, der eine LED leuchten lässt und die Schrittmotorplatine an den selben Port angeschlossen und die LED blinkt etwa jede halbe Sekunde auf. Mit anderen Worten der uC stürzt etwa alle halbe Sekunde ab und startet neu.
Das deutet für mich auf sehr regelmäßige Lücken in der Stromversorgung hin und das wiederum könnte durch einen Kondensator verursacht werden. Also falls es der Elko ist: Wie umgehe ich das Problem?
Das zu kontrollieren brauchst du ein Meßgerät das schnell genug ist, besser einen Oszi.
Sonst mal testweise den Elko entfernen.
Sind die Elkos, Dioden, IC´s usw.richtig gepolt?
Versuchsweise ein IC nach dem anderen entfernen und danach immer wieder einschalten, schauen ob der Kurzschluss dann weg ist.
Evtl ein anders Netzteil nehmen und ausprobieren wie es sich damit verhält.
Wenn das alles nicht weiterhilft ein stärkeres Netzteil besorgen, optimal bis 3A. Spannung draufgeben und gucken wo es raucht, ist zwar ziehmlich rustikal diese Methode, aber so findet man leicht def. Bauteile.
Edit: Bei den Versuchen mit externen Netzteilen nicht den PC mit anschließen!!!!! Ansonsten könntest du den damit grillen!!!
MfG
Neutro
Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
(Mark Twain)
Also hab den Elko ausgelötet: Kein Unterschied, Problem bestand weiter.
Hab den L297 testweise rausgenommen, kein Problem mehr! Also die Richtung und die Anschlüsse überprüft, ist aber alles richtig soweit. Also wieder richtig eingesetzt und das Problem besteht weiter.
Ohne den L297 beträgt der Widerstand zwischen Vcc und GND übrigens 7,5 statt 2,1 kOhm.
Wo könnte das Problem sein? Ich bin ratlos...
ALso ich hab mir alles nochmal sehr genau angesehen und dabei festgestellt, dass eine hälfte des Diodenarrays von mir falschrum eingelötet wurde. Hab die Dioden also richtig herum positioniert. Mit dem +5V Netz sind die aber gar nicht verbunden und so besteht das Problem weiterhin.
Widerstandsarray, ICs und Elkos sind alle richtigrum drin!
Edit:
So ich hab nochmal einen kleinen Test gewagt.
Wenn ich +UB und Vcc an einen Batterieblock anschließe (etwa 5,5V), dann lässt sich folgendes beobachten:
1. Ist der Takt Pin (Pin 1) nicht angeschlossen, dann vibriert der Motor, der L298 wird ordentlich warm.
2. Liegt an dem Takt PIN (Pin 1) 5V an (angeschlossen an Vcc), dann vibriert der Motor nicht. Der L298 wird ordentlich warm.
3. Liegt an dem Takt Pin 0V an (angeschlossen auf GND), dann vibriert der Motor nicht, der L298 erhitzt sich wieder.
4. Schalte ich einen uC mit an, der einen Ausgang immer wieder an und aus schaltet und an den Ausgang kommt der Takt Pin, dann vibriert der Motor im Takt, also immer wenn der Ausgang ein ist. Nach kurzer Zeit stürzt der uC ab und der Ausgang wird sehr schnell getoggelt.
Dieses Verhalten ist für mich völlig unverständlich!
Das Programm des uC:
Code:// // Programm zum Test der Schrittmotorsteuerung RN Stepp297 // von Jakob Garbe (2009) // // F_CPU = 16 000 000 // PB1 sollte in immer kürzer werdenden Intervallen ein und aus geschaltet werden. #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include <util/delay.h> volatile uint8_t a; volatile uint8_t SubCount; volatile uint8_t Sekunden; volatile uint8_t Flag; ISR (TIMER1_COMPA_vect){ SubCount++; if ( SubCount == a){ // durch verringern von a wird Flag a=a-1; // schneller gesetzt und der Port if(a<=1){ // schneller getoggelt a=60; } SubCount = 0; Sekunden++; Flag = 1; } } int main(void) { // *** Timer-Einstellung *** TCCR1B = (1 << WGM12) | ( 1 << CS11); // CTC-Mode Enable / Prescaler = 8 TIMSK = (1 << OCIE1A); // Compare A Match Interrupt Enable OCR1A = 19999; // Interrupt jede 1/100 Sekunde sei(); // Global Enable Interrupts // *** Initialisierungen *** DDRB = (1 << PB1); a=60; SubCount=0; Sekunden=0; while(1) { if ( Flag == 1) { PORTB ^= (1<<PB1); Flag = 0; } } return 0; }
Lesezeichen