- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Arduino startet nicht an externer Spannungsquelle

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.12.2017
    Beiträge
    8

    Arduino startet nicht an externer Spannungsquelle

    Anzeige

    Praxistest und DIY Projekte
    Hallo Forum,

    ich bin neu hier und möchte ein wenig von euch lernen und später auch meine Kenntnisse weitergeben.

    Ich habe bereits einige kleinere Programme mit C++ geschrieben/modifiziert und habe aktuell einen Arduino Pro Mini in der 3,3V-Version als Entwicklungssystem in Betrieb.

    Zur Zeit arbeite ich an einem kleinen Programm, welches aus einer Echtzeituhr DS3231 Zeit und Datum ausliest und auf einem OLED SSD1306 zur Anzeige bringt.
    Zusätzlich wird auch noch die Temperatur aus einem Temperatursensor DS18B20 ausgelesen und angezeigt.

    Bisher funktioniert auch alles zu meiner Zufriedenheit, allerdings nur wenn ich den Arduino über eine FTDI-Schnittstelle am PC hängen habe.

    1. Ich lade mein Programm mittels IDE über die FTDI-Schnittstelle in den Arduino, das Programm beginnt sofort zu starten und die OLED-Anzeige zeigt mir sinnvolle Werte.

    2. Wenn ich jetzt den Strom unterbreche (FTDI-Modul oder USB-Kabel abziehe), und die Verbindung wieder herstelle, beginnt das Programm erneut zu laufen, soweit ok.

    3. Versorge ich jetzt den Arduino nicht über den PC sondern aus einem USB-Steckernetzteil oder auch über den RAW-Eingang mit Spannung (5V), startet das Programm nicht.
    Erst ein Druck auf den RESET-Button bringt dann Erfolg. Aber so sollte es ja nicht sein.

    Ich habe zu dem Thema schon sehr viel im Internet gelesen, ich bin da offensichtlich nicht allein, habe auch schon viel ausprobiert. Leider habe ich immer noch keine Lösung für das Problem.

    Vielleicht finde ich hier jemanden der mir helfen kann?

    Gruß Volker

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Hallo Volker,

    willkommen im Forum.

    .. Arduino Pro Mini .. 3,3V.. mit Spannung (5V), startet das Programm nicht. Erst ein Druck auf den RESET-Button bringt dann Erfolg ..
    Woher weißt Du dass das Programm nicht startet? Woran ist das eindeutig zu erkennen?

    .. das Programm beginnt sofort zu starten und die OLED-Anzeige zeigt mir sinnvolle Werte ..
    Bin ich richtig wenn ich jetzt sage: Du schaltest nach Punkt 3. die Spannung von Netzteil oder so auf den arduino und das OLED bringt keine Anzeige ? Daher meinst Du, dass das Programm nicht läuft?

    Oder gibt es andere Diagnosen?

    Ich glaube (!) ich hatte etwas Ähnliches festgestellt als ich mit einem nanoClone (328er mit 20 MHz) ein OLED1306 angesteuert hatte. Behoben hatte ich das damals (glaub ich . . . ist halt nicht dokumentiert) durch ne lange Startzeit des Controllers : Fuse SUT_CKSEL auf Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14CK + 65 ms. Grund war offenbar ein schneller Start des Controllers - der ans OLED die Startinitialisierung gesendet hatte, bevor das überhaupt ready war.

    1) Zum Erkennen des Programmstarts durch einen echten RESET habe ich praktisch immer zu Startbeginn nach der Portinitialisierung, vor allen andern Initialisierungen, eine LED auf Blinklicht - meist 10 x (3 ms an, 97 ms aus). Danach läuft das "normale" Programm.
    Ciao sagt der JoeamBerg

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.12.2017
    Beiträge
    8
    Ich erkenne das das Programm nicht startet daran, das das Display eben dunkel bleibt und nichts weiter passiert.
    Ich kann da gerne noch mal eine Diode blinken lassen um das abzusichern.

    Ok, mit den Fuse- Bits habe ich mich auch schon beschäftigt, die sind aber beim Arduino schon initial so vorbelegt, das der Start langsam ist (14CK + 65ms).
    Ich wüsste auch nicht wie ich die mit meinen Mitteln umprogrammieren könnte.

    Ich verstehe eben auch nicht warum das am PC funktioniert und am separaten Netzteil eben nicht.

    Ich werde die Diode mal einbauen um zu beweisen das wirklich nichts läuft und nicht nur das Display dunkel bleibt. Das wird aber jetzt ein paar Tage dauern, da ich ab morgen 3 Tage unterwegs bin.

    Gruß Volker

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Ich erkenne das das Programm nicht startet daran, das das Display eben dunkel bleibt und nichts weiter passiert ..
    Als erste Hilfe wäre es ja noch möglich gleich zum Programmanfang mal ein simples Delay von einer Sekunde einzprogrammieren und erst danach das Display zu initialisieren. Dann sollte man ziemlich sicher sein, dass "alles" bereit ist zu arbeiten *gg*.

    Mein Blink-Krückstock ist eher als Allzweckwaffe für unsauber arbeitende Programmierer oder Tester gedacht. Jeder nicht abgefangene Interrupt zeigt sich so, ebenso auch jeder noch so kleinste Spannungseinbruch - weil hier jedes Programm beim Start vorbei muss. Und was kommt nach nem Reset? GEnau - ein Start. Der Code ist ziemlich simpel, mein main fängt so an (ok, ich weiß, dass das NICHT arduino-language ist).

    Code:
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     int main(void)
     {                              //
      uint8_t       i;              //
    // - - - - - - - - - - - - - - -
    // Ports:  A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp, siehe oben
    // DDRx:   als Ein- (0) oder Ausgänge (1) konfigurieren, Pins/Pull Ups (1) aktiv
    // PORTx:  Eingänge: Pullup  =  1;   Ausgaenge:  low  =  0,   high    =  1
      DDRB  = 0b00100111;   // Mot1/2: PB1 = OC1A-MotorPWM; PB2 = OC1B-MotorPWM
      PORTB = 0b11011000;   //      PB5 - onBoard-rtLED
                            //
      DDRC  = 0b01101111;   // PC6+7-Pin  NUR bei babyorangutan (TQFP+MLF)
      PORTC = 0b10100000;   // PC0=LHeart/~beat, PC1=GND, PC2=LEDTst
                            // PC3=GND, PC4-ADC/Srv-Poti ohne Pullup, PC5=VccPoti!!
                            // 
                            // PD5/PD6 = M1B/M1A, PD7 = Taste: PullUP !
      DDRD  = 0b01100010;   // RX/TX-PD0/1, PD2 = INT0-Servopuls,
      PORTD = 0b10010101;   //   Pull Ups aktivieren, mit pololuMot AUCH bei INT0/~1
                            //
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      for(i=0; i<10; i++)   // LEDs blinken bevor Interrupts erlaubt sind   ==> um
      {                     //      ungewollte Resets u.ä. besser erkennen zu können
                            // ###>>> HeartbeatLEDs schalten Aode -<|- Portpin <<<###
        SetBit(PCLED, LHeart);  // gnLED/PC1 EIN, HELL           << ist (m)ein Macro
        SetBit(PORTB,    PB5);  // gnLED/PB EIN, HELL
        wms(3);             //                                   << ein simples wait Millisekunden
        ClrBit(PCLED, LHeart);  // LED aus
        ClrBit(PORTB,    PB5);  //
        wms(97);            //
        SetBit(PCLED, LEDTst);  // rtLED/PC6 EIN, HELL
        SetBit(PDLED,    LDr);  // rtLED auf PD1, babyo-spezifisch = onBoard + TX !!
        wms(3);             //
        ClrBit(PCLED, LEDTst);  // LED aus
        ClrBit(PDLED,    LDr);  // LED aus
        wms(97);            //
      }             // Ende von for(i=0; i<nn; i++)
      ClrBit(PDLED, LDr);   // rtLED auf JEDEN Fall aus
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // ##>> JETZT werden die Timer-/Zeit-Größen gesetzt, siehe Header ~tmr~.h
    Ciao sagt der JoeamBerg

  5. #5
    HaWe
    Gast
    Zitat Zitat von VolkerB Beitrag anzeigen
    Ich erkenne das das Programm nicht startet daran, das das Display eben dunkel bleibt und nichts weiter passiert.
    Ich kann da gerne noch mal eine Diode blinken lassen um das abzusichern.

    Ok, mit den Fuse- Bits habe ich mich auch schon beschäftigt, die sind aber beim Arduino schon initial so vorbelegt, das der Start langsam ist (14CK + 65ms).
    Ich wüsste auch nicht wie ich die mit meinen Mitteln umprogrammieren könnte.

    Ich verstehe eben auch nicht warum das am PC funktioniert und am separaten Netzteil eben nicht.

    Ich werde die Diode mal einbauen um zu beweisen das wirklich nichts läuft und nicht nur das Display dunkel bleibt. Das wird aber jetzt ein paar Tage dauern, da ich ab morgen 3 Tage unterwegs bin.

    Gruß Volker
    Mit fuse-bits hast du bei Arduino nichts am Hut, sowas kann nur von nicht-Arduinorianern kommen...

    kontrolliere doch einfach mal den Programmablauf per Serial.println(), womit du alle setup()-inits und dann in der loop() auch alle OLED-Anzeigen zusätzlich seriell ausgibst, zum Nachverfolgen!

    - - - Aktualisiert - - -

    edit -
    Denkfehler: ich übersah. dass es ja angeschlossen am PC IMMER funktioniert, also NIE ein Startfehler - dann geht es ntl nicht mit Serial

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Der Unterschied beim Starten des Programms ist der, das nach dem Programm laden, die Stromversorgung schon vorhanden ist und das Display damit schon genug Zeit hatte Startbereit zu sein.
    Beim Anstecken der Stromversorgung, auf RAW sollten es zumindest 7V sein, läuft der Arduino schon bei Erreichen der in den Fuses eingestellten 2,7V los, das OLED etwas später und möglicherweise auch etwas langsamer.

    Einfache Abhilfe schafft hier das von Oberallgeier genannte Blinken oder ein einfaches "delay(100);" im setup.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  7. #7
    HaWe
    Gast
    Zitat Zitat von Hubert.G Beitrag anzeigen
    Der Unterschied beim Starten des Programms ist der, das nach dem Programm laden, die Stromversorgung schon vorhanden ist und das Display damit schon genug Zeit hatte Startbereit zu sein.
    Beim Anstecken der Stromversorgung, auf RAW sollten es zumindest 7V sein, läuft der Arduino schon bei Erreichen der in den Fuses eingestellten 2,7V los, das OLED etwas später und möglicherweise auch etwas langsamer.
    nicht ganz, der OP schreibt ja:
    2. Wenn ich jetzt den Strom unterbreche (FTDI-Modul oder USB-Kabel abziehe), und die Verbindung wieder herstelle, beginnt das Programm erneut zu laufen, soweit ok.
    3. Versorge ich jetzt den Arduino nicht über den PC sondern aus einem USB-Steckernetzteil oder auch über den RAW-Eingang mit Spannung (5V), startet das Programm nicht..
    also per USB/PC geht es nach ab- und anstecken,
    aber per USB/Adapter geht es nicht.

    die +5V Buchse am Arduino ist identisch mit der stabilisierten 5V Spannung, die der interne Arduino-Adapter liefert, also auch kein Unterschied zu USB+5V, also braucht man da auch keine 7V - wobei ich da auch nicht weiß, wo und wie "RAW-Eingang" definiert ist (der Pin, der mit dem Netzteil-Stecker identisch ist, heißt normalerweise Vin, nicht RAW).
    Geändert von HaWe (14.12.2017 um 13:17 Uhr) Grund: typo

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Zitat Zitat von HaWe Beitrag anzeigen
    nicht ganz, der OP schreibt ja:


    also per USB/PC geht n es ach ab- und anstecken,
    aber per USB/Adapter geht es nicht.

    die +5V Buchse am Arduino ist identisch mit der stabilisierten 5V Spannung, die der interne Arduino-Adapter liefert, also auch kein Unterschied zu USB+5V, also braucht man da auch keine 7V - wobei ich da auch nicht weiß, wo und wie "RAW-Eingang" definiert ist (der Pin, der mit dem Netzteil-Stecker identisch ist, heißt normalerweise Vin, nicht RAW).
    s
    Ich bin trotzdem der Meinung das es mit der Stromversorgung zusammenhängt.
    Hatte selbst schon mal so ein ähnliches Problem das mit einem delay behoben war.
    RAW ist der Spannungseingang bis 12V, geht intern auf den Spannungsregler. Vin wäre der 5V Eingang/Ausgang.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  9. #9
    HaWe
    Gast
    Zitat Zitat von Hubert.G Beitrag anzeigen
    s
    Ich bin trotzdem der Meinung das es mit der Stromversorgung zusammenhängt.
    ...
    Vin wäre der 5V Eingang/Ausgang.

    das stimmt so nicht, Vin ist das was man per Cinch Stecker anschließt, also an den Spannungswandler:

    VIN: This should be above 6.2V (since the dropout voltage is 1.2V) and preferably between 9V and 12V.
    VIN is the completely unaltered input power before the regulator (it will be useless if regulated 5v is supplied directly).
    Vin is the voltage powering the arduino. If you hook it up to a 12V power supply the Vin pin will be 12V.
    5V is the 5V power coming from the onboard regulator. If you hook up the arduino to a 12V power supply this pin will still be 5V.
    If you're using a regulated 5V power supply they're interchangeable, though from my understanding you can use the 5V pin if you want a bit of overvoltage protection or the Vin pin if you need a bit more power (where you're limited by the current limit of the traces, not by the regulator).
    It's important to note that both pins are not outputs - you can put power through them as well.
    "RAW" hingegen ist eine Bezeichnung, die Arduino.cc nirgends anführt.

  10. #10
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Das mit Vin war mein Fehler. Der 5V Eingang/Ausgang ist mit 5V gekennzeichnet.
    RAW ist eine Bezeichnung die auf einem Pro-Mini steht, ist gleichzusetzten mit Vin. Vielleicht gibt es die Bezeichnung auch nur auf einem Klone.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 22
    Letzter Beitrag: 12.12.2013, 09:39
  2. [ERLEDIGT] PC startet nicht von CD/DVD
    Von oderlachs im Forum Offtopic und Community Tratsch
    Antworten: 6
    Letzter Beitrag: 08.01.2013, 19:24
  3. Arduino IDE startet (schon wieder) nicht
    Von robo_tom_24 im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 27.11.2012, 21:56
  4. Antworten: 1
    Letzter Beitrag: 14.10.2012, 16:12
  5. Arduino IDE startet nicht
    Von robo_tom_24 im Forum Arduino -Plattform
    Antworten: 11
    Letzter Beitrag: 01.10.2012, 14:54

Berechtigungen

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

Labornetzteil AliExpress