- Labornetzteil AliExpress         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 37

Thema: Portzustand kurz nach Start des Microkontrollers

  1. #21
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Anzeige

    E-Bike
    Ja, ich merke es auch gerade: es müsste auch in der von VODKACITY benutzten Reihenfolge laufen.

    Nach dem Einschalten/Reset stehen sämtliche DDR- und PORT-Register auf 0x00. Somit ergibt sich: Eingang ohne Pullup. Also ein hochohmiger Eingang, das Potential am Pin wird nur von der Außenbeschaltung bestimmt. In der aktuelle Schaltung: der TTL-Eingang des ULN zieht den Pin über Widerstände auf Masse.

    Nun wird das PORT-Register auf 0x00 gesetzt. Da es diesen Wert schon enthält, ändert sich nichts.

    Schließlich wird das DDR-Register auf 0xFF gesetzt. Die Pins werden damit zu Ausgängen. Weil das PORT-Register auf 0x00 steht, werden alle Pins auf Masse gezogen. Damit ist die Initalisierung abgeschlssen. Die Pins wurden bisher nie auf high geschaltet. Die Treiber wurden also noch nicht aktivert, ebensowenig die internen Pullups.

    Füg mal ein paar Verzögerungen hinzu, um zu prüfen, an welcher Stelle des Programms der unerwünschte Impuls tatsächlich auftritt. Das geht am einfachsten mit einer Funktion aus <util/delay.h>.

    Füge in das Programm folgende Funktion ein, und rufe sie dann an den interessanten Stelle per warte(1000) auf.
    Code:
    #include <util/delay.h>
    void warte (int loop)  //loop: wartezeit in ms 
    {
    	int i;
    	for(i=0;i<loop;i++) _delay_ms(1);
    }

  2. #22
    wenn ich das versuche, die funktion zu implementieren, kann er die header-datei delay.h nicht finden.

  3. #23
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Welche avrgcc-Version? Bei älteren Versionen war es <avr/delay.h>

  4. #24
    Ich habe mir das ganze bezüglich den externen pull down widerständen zwischen Portausgang und Masse nochmals überlegt.
    Nach meiner Meinung kann das ganze nicht funktionieren, da am anfang die internen Pullup widerstände deaktiviert sind ( niederohmig ) und durch meine Zusätzlichen Pull down widerstände würde das Potential am ausgang wiederum durch meine 10k Ohm widerstände auf ca. 5V bleiben würde. ---> Endstufen schalten durch.

    Denkt jemand genauso, oder habe ich hier ein Fehler in der Denkweise?

    Danke nochmals für eure Infos.

    Lg Benny

  5. #25
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    55
    Beiträge
    781
    Wenn die internen Pull-Ups deaktiviert sind, ist der Port hochohmig und nicht niederohmig.
    Den Satz danach kann ich in seinem Sinn nicht ganz überblicken.

  6. #26
    @uwe ich denke ich hab die neuste version, hab sie von der CD.... und diese hab ich erst seit Aug. 2006


    Gruss Benny

  7. #27
    kann mir keiner weiterhelfen???


  8. #28
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    IN deinem letzten Beitrag hast du Pull-Down mit Pull-Up verwechselt. Ich hoffe du hast da nicht einen generellen Gedankenfehler drin.

  9. #29
    Hallo Hubert.

    Ja weißt du wie wir unser Problem lösen können? --> Softwaremäßig?

    Danke für deine Hilfe

    Benny

  10. #30
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Hast du schon Pull-Down-Widerstände probiert, also etwa 5k nach GND von jedem Port?
    Welche Ports verwendest du?
    Machen das alle Ports oder nur einige?

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress