Fehlermeldung/ avrdude: stk500_recv(): programmer is not responding

Hallo zusammen,
ich arbeite gerade an einer Remote Steuerung für ein Netzteil. Dafür benutze ich aktuell einen ELEGOO UNO R3 und SerialCominstruments ein Programm zur Visualisierung serieller Daten von der Com-Schnittstelle. Um den Sketch zu schreiben benutze ich die ArduinoIDE. Den Sketch zu diesem Programm habe ich fertig und habe alles auch bereits erfolgreich getestet. Seit letzter Woche habe ich aber das Problem, dass ich meinen Sketch nicht mehr hochladen kann und immer eine Fehlermeldung bekomme wenn ich diesen hochladen möchte. Ich habe in mehreren Foren nach einer Lösung gesucht und mehrere Lösungsmöglichkeiten ausprobiert:
-Reset des Arduinos
-Austauschen der Kabel
-Versuch mit einem andern Arduino
-Aktualisierung der Treiber

Ich habe in der IDE auch den richtigen ComPort ausgewählt, der Sketch lässt sich trotzdem nicht hochladen, auch die andern Lösungsvorschläge, die ich zu dem Fehler gefunden habe, haben nicht geholfen.

Was ich mir noch überlegt habe, ist das es bei dem Arduino der Bootloader kaputt gegangen ist und ich darum keine Sketches mehr hochladen kann.
Wäre das möglich? Kann jemand etwas zu der Fehlermeldung sagen?

Fehlermeldung:
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM6
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xdf
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xfe
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x80
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xfe
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xfe
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done. Thank you.

Anbei noch den Code, aber an dem sollte aber eigentlich nicht liegen:

const unsigned int SERIAL_KANALID_ISTSPANNUNG = 1;              // Kanal von SerialComInstruments für die aktuelle Spannung
const unsigned int SERIAL_KANALID_RELAIZUSTAND_EIN = 70;        // Kanal von SerialComInstruments der das Relais einschaltet
const unsigned int SERIAL_KANALID_RELAIZUSTAND_AUS = 71;        // Kanal von SerialComInstruments der das Relais ausschaltet
const unsigned int SERIAL_KANALID_SOLLSPANNUNG = 80;            // Kanal von SerialComInstruments zur Eingabe der gewünschten Spannung
const unsigned int SERIAL_KANALID_RELAIZUSTAND_LED = 60;        // Kanal von SerialComInstruments der über die LED anzeigt, ob das Relais an oder aus geschaltet ist
const unsigned int SERIAL_KANALID_KLEMME_EIN = 72;              // Kanal von SerialComInstruments der die Klemme einschaltet
const unsigned int SERIAL_KANALID_KLEMME_AUS = 73;              // Kanal von SerialComInstruments der die Klemme ausschaltet
const unsigned int SERIAL_KANALID_KLEMME_LED = 60;              // Kanal von SerialComInstruments der über die LED anzeigt, ob die Klemme ein oder aus ist
const unsigned int PWM_Output_Pin = 10;                         // Definiert Pin für das Netzteil
const unsigned int relayPin =  2;                               // Definiert Pin für Relais
const unsigned int KlemmePin = 4;                               // Definiert Pinn für Klemme
float AnalogOutput = 0;                                         // Spannung in [V] hier verändern
float IstSpannung = 0;                                          // Tatsächliche Spannung am Netzteil
const unsigned int analogPin = A2 ;                             // Pin, der gelesen werden soll: Pin A2
unsigned int PWMSignal = 0;                                     // Resultierende PWM-Impulsbreite aus dem AnalogenOutput (Ausgangsspannung)
char zeichen;
int kanalId;
float wert;



void setup() {

  //put your setup code here, to run once:

  Serial.begin(38400);                                           // Serielle Kommunikation mit 38400 Baud Starten
  pinMode(relayPin, OUTPUT);                                     // Deklariert digitalen Kanal 2 auf dem Arduino-Board als Output
  pinMode(KlemmePin, OUTPUT);                                    // Deklariert digitalen Kanal 4 auf dem Arduino-Board als Output
  delay(2000);                                                   // Programm wartet 2 Sekunden und bootet dann
}

void loop() {
  // put your main code here, to run repeatedly:

  while (Serial.available()) {                                // Solange serielle Eingabe vorhanden ist
    zeichen = Serial.read();                                    // nächstes Zeichen einlesen

    if (zeichen == '#') {                                       // Wenn Zeichen eine Raute ist:
      kanalId = Serial.parseInt();                              // eingehende Ganzzahl in Variable "kanalId" einlesen.
      // gelesen wird bis zum nächsten Zeichen, welches keine Ganzzahl ist.

      zeichen = Serial.read();                                  // nächstes Zeichen einlesen.
      if (zeichen == 'M') {                                     // Wenn gelesenes Zeichen ein "M" ist:
        wert = Serial.parseFloat();                             // eingehende Fließkommazahl einlesen.
        // gelesen wird bis zum nächsten Zeichen, welches keine Fließkommazahl ist.

        zeichen = Serial.read();                                // nächstes Zeichen einlesen.
        if (zeichen == '<') {                                   // Wenn gelesenes Zeichen ein Kleiner-Zeichen ist:
          schalte(kanalId, wert);                               // rufe "schalte" Methode mit eingelesenem Kanal und Wert auf.
        }
      }
    }
  }

  IstSpannung = analogRead(analogPin) * 5.7;                      // Pin einlesen
  sendStringInt(SERIAL_KANALID_ISTSPANNUNG, (IstSpannung));     // Analog-Wert vom Poti auslesen und per Serieller Kommunikation übermitteln an #01


  delay(1000);                                                  // 100ms warten
}

//------------------------------------------------------
//  Senden eines Telegramms/Text an den PC
//------------------------------------------------------
void sendStringInt(byte instrNr, int mWert) {
  Serial.print('#');                                            // Raute als Segmentanfang seriell ausgeben
  Serial.print(instrNr);                                        // Kanalnummer seriell ausgeben
  Serial.print('M');                                            // M als Trennzeichen seriell ausgeben
  Serial.print(mWert);                                          // Messwert seriell ausgeben
  Serial.println('<');                                          // Kleiner als Ende des Segments mit Zeilenumbruch seriell ausgeben

}

void schalte(int kanal, float wert) {

  if (kanal == SERIAL_KANALID_SOLLSPANNUNG)
  {
    if (wert >= 1)
    {
      AnalogOutput = wert;
    }
    else
    {
      AnalogOutput = 1;
    }

    PWMSignal = ( 10 * AnalogOutput  )  / 2 ;

    analogWrite( PWM_Output_Pin, PWMSignal );





  }


  else if (kanal == SERIAL_KANALID_RELAIZUSTAND_EIN)
  {
    digitalWrite(relayPin, wert);// turn relay OFF/ON
    sendStringInt(SERIAL_KANALID_RELAIZUSTAND_LED, 1);
  }

  else if (kanal == SERIAL_KANALID_RELAIZUSTAND_AUS)
  {
    digitalWrite(relayPin, wert);// turn relay OFF/ON
    sendStringInt(SERIAL_KANALID_RELAIZUSTAND_LED, 0);
  }



  else if (kanal == SERIAL_KANALID_KLEMME_EIN)
  {
    digitalWrite(KlemmePin, wert);// turn relay OFF/ON
    sendStringInt(SERIAL_KANALID_KLEMME_LED, 2);
  }

  else if (kanal == SERIAL_KANALID_KLEMME_AUS)
  {
    digitalWrite(KlemmePin, wert);// turn relay OFF/ON
    sendStringInt(SERIAL_KANALID_KLEMME_LED, 0);
  }


}

Das widerspricht Deiner Aussage, dass Du auch einen anderen Arduino ausprobiert hast.

Gruß Tommy

Hätte ich vielleicht dazuschreiben sollen, an dem andern Arduino hatte ich das gleich Problem.

Dann würde ich als Nächstes die IDE neu installieren, evtl. zusätzlich als portable Installation.

Gruß Tommy

Das habe ich schon gemacht, hat aber auch nichts gebracht.

Außer anderer USB-Anschluss fällt mir da nichts Weiteres ein.

Gruß Tommy

Ok danke

Beides gleichzeitig auf dem Port?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.