Hallo zusammen! Ich habe ein Problem mit meinem Mikrocontroller und zwar geht es um den Reset. Es ist ein MSP430F2011. Der Reset ist über 47k an Vcc und hat momentan einen 2n2 Kondensator gegen Masse. Wenn ich die Versorgung trenne, dann wackelt der uC kurz an einem Pin, bevor er ausgeht. Das sollte ja eigentlich nicht sein. Es stellt auch ein Problem da, da dort ein Motor dran hängt, welcher dann kurz zuckt. ABER: Wenn ich den Programmieradapter mit dran habe, so passiert das nicht (ez430f2013). Also der beeinflusst den Reset irgendwie in positiver Weise. Kann mir da vielleicht einer helfen?
Ich dachte, Versorgung weg -> zu wenig Spannung -> alles hochohmige Eingänge
Hallo, wenn der Programmieradapter mit an der Versorgung hängt, wird natürlich mehr Leistung entnommen -> evtl. sinkt dadurch die Versorgungsspannung beim abstecken schnell genug, damit der MSP nicht mehr anläuft? Vielleicht macht der Adapter auch seltsame Sachen am Reset, wenn man ihm langsam den Saft abdreht. Oder er benutzt ne Brown-Out-Detection, so dass sich der Programmieradapter irgendwann abschaltet, die Versorgungsspannung geht nochmal hoch, der MSP läuft nochmal kurz an. Woran auch immer es liegt: Brown-Out-Detection ist nie ne schlechte Idee. Hat der MSP sowas? Gruß, Alex
Ja, alle Modelle haben einen! Nur wie gesagt, dachte das wäre standardmäßig eingeschaltet, so hatte ich es zumidnest verstanden - scheinbar hab ich das falsch verstanden.
Jetzt hast du mich erwischt. Ist anders als beim AVR, beim MSP430, wenn vorhanden, dann immer aktiv. [zitat http://focus.ti.com/lit/ml/slad011/slad011.pdf] The MSP430 introduced the industry’s first ultra-low power BOR protection feature. The brown-out reset (BOR) function forces a MCU into reset both on power-up when VCC rises and when VCC falls below the normal operating range, but not fully to ground. While BOR protection is not unique, the MSP430 features a unique low-power implementation that is in the nA range. This makes BOR practical for all applications including those that are extremely low power. The MSP430 BOR function is so low power that it is always-on and active even in all low-power modes. This ensures the most reliable performance possible. Competitor’s BOR protection is in the 10-50uA range, which is not usable in ultra-low power battery powered applications. This leaves the application vulnerable to BOR conditions. [/zitat] Allerdings gibt es Berichte über "mäßige Funktion" und "besser externen Resetcontroller nehmen" z.B. Beitrag "MSP430-Anfängerfrage" ADD: Hinweise zum externen Supply Voltage Supervisor (SVS) http://focus.ti.com/lit/ml/slap126/slap126.pdf
Hat den jemand für mich einen Tip bezüglich Reset-Baustein, welcher auch schon bei 3V Versorgung arbeitet?
Habe nen 7702 gefunden, aber der is mit der Spannung auch schon eher grenzwertig
Darf ich mal nach fragen wie der Motor Treiber angeschlossen ist? Hängt der zufällig mit an einem Pin für den Programmieradapter? Kann es sein dass der Ausgang hochomig wird und dein Treiber dann kurzeitig einen nicht definierten Zustand am Eingang hat? Es könnte sein dass Dein Programmieradaper für einen definierten Pegel sorgt und darum nichts passiert. Wenn dem so ist dann hilft ganz einfach ein Widerstand um den Treiber sicher zu sperren wenn der Ausgang hochomig wird.
Wolfgang Heinemann schrieb: > Wenn dem so ist dann hilft ganz einfach > ein Widerstand um den Treiber sicher zu sperren wenn der Ausgang > hochomig wird. Also erstmal nein, ich programmiere über SBW - die Pins kann man garnicht anders zweckentfremden. Daran liegt es also nicht. Zu deinem Text - meinst du damit Widerstände von den Basen nach GND? Ich benutze ein ULN2003, der hat die Pull-Down-Rs ja schon integriert, der definierte Pegel sollte da sein. Aber das mit dem Programmiergerät wundert mich auch.
Ich muss das hier leider nochmal aufwärmen... Kann sich vielleicht jemand mal meine Initialisierung der Ports angucken? Ob da vielleicht der Fehler liegt? Das ist hier echt ein Problem mit meinem zuckenden Motor beim Aus- wie auch beim Einschalten. Für alle, die die Thematik hier nicht kennen, ganz kurz: MSP430F2011 wackelt beim Ein- und Ausschalten an einem Pin, an dem ein Motortreiber hängt. Der Motor zuckt dadurch leider kurz, was sehr stört. Der interne Brownout des uCs scheint daran Schuld zu sein - einen externen kann ich leier nicht mehr einbauen, da alles schon auf der Platine sitzt. Ich hatte beim experimentieren immer den Debugger dran - mit Debugger verläuft der Reset ohne Probleme, kein Mux. Ist meine Initialisierung so korrekt?
1 | P1SEL = 0x00; // Port 1 GPIO [1100 0000] |
2 | P1REN = 0x3F; // P 1.0,1,2,3,4,5 Pull-Rs [0011 1111] |
3 | P1OUT = 0x3C; // P 1.0,1 Pull-Down-Rs; P 1.2,3,4,5 Pull-Up-Rs [0011 1100] |
4 | P1DIR = 0xC0; // P 1.0,1,2,3,4,5 Eingang; P 1.6,7 Ausgang |
5 | P1IFG = 0x00; // Port 1 Interrupt-Flags loeschen |
6 | |
7 | P2SEL = 0x00; // Port 2 GPIO [0000 0000] |
8 | P2REN = 0xC0; // P 2.6,7 Pull-Rs [1100 0000] |
9 | P2OUT = 0xC0; // P 2.6,7 Pull-Up-Rs [1100 0000] |
10 | P2DIR = 0x00; // Port 2 Eingang [0000 0000] |
11 | P2IFG = 0x00; // Port 2 Interrupt-Flags loeschen |
Ich schreib erst an den Port und deklariere ihn dann als Ausgang.
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.