Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von papa » 26.03.2023, 18:02

Hab das Hex jetzt nicht selbst probiert - aber eigentlich sollte das so laufen.
Irgendwie geht bei Dir ja gar nicht. So langsam bin ich auch raus.

Bist Du Dir sicher, das die ATMega 328P Originale sind ?

ALso den Standard-Bootloader flashen und dann per FTDI zugreifen, sollte doch grundsätzlich erst mal funktionieren.
Anfragen zur AskSin++ werden nur im Forum beantwortet

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von HMSteve » 26.03.2023, 22:06

papa hat geschrieben:
26.03.2023, 18:02
Bist Du Dir sicher, das die ATMega 328P Originale sind ?
ALso den Standard-Bootloader flashen und dann per FTDI zugreifen, sollte doch grundsätzlich erst mal funktionieren.
Wenn's keine Originale sind, sondern Clone aehnlich meinen letzten, koennte die Oszillatorfrequenz so weit weg von 8MHz liegen, dass seriell bei 57kBaud nicht klappt. Meine Loesung war, Optiboot-Bootloader mit auf den konkreten Chip angepasstem OSCCAL-Parameter zu kompilieren, leider eher aufwendig einzurichten, dann laeuft seriell aber problemlos. Alternativ mal testweise eine Quarz anloeten und Fuses entsprechend anpassen. Ohne serielle Debugausgaben ist Helfen hier jedenfalls wohl eher unmoeglich.

quorle
Beiträge: 57
Registriert: 09.02.2018, 09:09

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von quorle » 26.03.2023, 22:20

Ich habe die Platinen von JLPCB fertigen und bestücken lassen. Auf den Chips steht deutlich ATMEL 328P (glaube es steht noch U-TH dahinter, kann ich morgen nochmal nachsehen und Bescheid geben, wenn es hilft?)
Also Fuses setzten geht, Bootloader brennen geht, nur das mit der .Ino geht nicht.
Gibt es eventuell irgendwie etwas, um den Atmel Testen zu können, ohne ihn ausloten zu müssen? Diamex ISP ist vorhanden, den hab ich mir nun gekauft.

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von HMSteve » 26.03.2023, 22:28

Du schriebst doch, Hochladen des .ino via FTDI geht nicht? Dann wuerde ich erstmal versuchen, das serielle Interface ans Laufen zu bekommen/den Fehler diesbezueglich zu finden, also bspw einen Sketch per ISP flashen, der mit niedriger Baudrate Text seriell ausgibt. Dann im seriellen Monitor mit dieser Baudrate schauen, ob etwas ueber den FTDI-Adapter ankommt.
Um den Fensterkontakt-Sketch wuerde ich mich erst kuemmern, wenn die Basics mit der Hardware klappen.

quorle
Beiträge: 57
Registriert: 09.02.2018, 09:09

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von quorle » 27.03.2023, 06:10

Dazu müsste man dann eigentlich einen passenden Bootloader per ISP flashen. Und die Fuses müssen stimmen.
Könnte man zum Beispiel mit der Arduino IDE den Bootloader für den UNO flashen? (Dann würden die Fuses ja doch automatisch passend mitgedacht werden?) und dann mal einen Blinkcode?

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von HMSteve » 27.03.2023, 13:15

quorle hat geschrieben:
27.03.2023, 06:10
Dazu müsste man dann eigentlich einen passenden Bootloader per ISP flashen. Und die Fuses müssen stimmen.
Könnte man zum Beispiel mit der Arduino IDE den Bootloader für den UNO flashen? (Dann würden die Fuses ja doch automatisch passend mitgedacht werden?) und dann mal einen Blinkcode?
Die Fuses beim Uno-Bootloader setzen einen Quarz voraus, wenn Du das machst, wird Dein Controller nicht mehr ohne weiteres ansprechbar sein.
Wie gesagt wuerde ich ein systematisches Vorgehen vorschlagen: Serielle Kommunikation klappt nicht - erste Frage: Liegt's am Takt? Dazu mal diesen Sketch

Code: Alles auswählen

#define ledpin 4
uint32_t b[] = {300, 9600, 19200, 38400, 57600};


void setup() {
  pinMode(ledpin,OUTPUT);
  //OSCCAL=0xC7;
}


void loop() {
  for (uint8_t i = 0; i<sizeof(b)/4; i++)
  {
    Serial.begin(b[i]);
    digitalWrite(ledpin,1);
    Serial.print("Dies ist ein Test mit Baudrate ");
    Serial.print(b[i]);
    Serial.print(". OSCCAL = 0x");
    Serial.println(OSCCAL, HEX);
    digitalWrite(ledpin,0);    
    delay(1000);
    Serial.end();
  }
}
mittels "Hochladen mit Programmer" aus der Arduino IDE per ISP programmer hochladen. Ein evtl Bootloader wird dabei ueberschrieben. Dann den FTDI Adapter dran, seriellen Monitor oeffnen und nacheinander die im Sketch genannten Baudraten im Monitor einstellen und jeweils eine Weile beobachten. Kommt ueberhaupt bei einer der erwartete Klartext? Was ist die hoechste? Falls kein Klartext kommt: Blitzt die LED am definierten Pin sekuendlich kurz auf? Dann laeuft der Sketch wenigstens.
Bitte berichte dann mal Dein Ergebnis.

quorle
Beiträge: 57
Registriert: 09.02.2018, 09:09

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von quorle » 27.03.2023, 15:42

HMSteve hat geschrieben:
27.03.2023, 13:15
quorle hat geschrieben:
27.03.2023, 06:10
Dazu müsste man dann eigentlich einen passenden Bootloader per ISP flashen. Und die Fuses müssen stimmen.
Könnte man zum Beispiel mit der Arduino IDE den Bootloader für den UNO flashen? (Dann würden die Fuses ja doch automatisch passend mitgedacht werden?) und dann mal einen Blinkcode?
Die Fuses beim Uno-Bootloader setzen einen Quarz voraus, wenn Du das machst, wird Dein Controller nicht mehr ohne weiteres ansprechbar sein.
Wie gesagt wuerde ich ein systematisches Vorgehen vorschlagen: Serielle Kommunikation klappt nicht - erste Frage: Liegt's am Takt? Dazu mal diesen Sketch

Code: Alles auswählen

#define ledpin 4
uint32_t b[] = {300, 9600, 19200, 38400, 57600};


void setup() {
  pinMode(ledpin,OUTPUT);
  //OSCCAL=0xC7;
}


void loop() {
  for (uint8_t i = 0; i<sizeof(b)/4; i++)
  {
    Serial.begin(b[i]);
    digitalWrite(ledpin,1);
    Serial.print("Dies ist ein Test mit Baudrate ");
    Serial.print(b[i]);
    Serial.print(". OSCCAL = 0x");
    Serial.println(OSCCAL, HEX);
    digitalWrite(ledpin,0);    
    delay(1000);
    Serial.end();
  }
}
mittels "Hochladen mit Programmer" aus der Arduino IDE per ISP programmer hochladen. Ein evtl Bootloader wird dabei ueberschrieben. Dann den FTDI Adapter dran, seriellen Monitor oeffnen und nacheinander die im Sketch genannten Baudraten im Monitor einstellen und jeweils eine Weile beobachten. Kommt ueberhaupt bei einer der erwartete Klartext? Was ist die hoechste? Falls kein Klartext kommt: Blitzt die LED am definierten Pin sekuendlich kurz auf? Dann laeuft der Sketch wenigstens.
Bitte berichte dann mal Dein Ergebnis.
Also so sieht es aus:

Die LED blinkt im Takt und bei einer Baudrate von 300 kommen die Meldungen im Klartext.
Hier der Auszug aus dem seriellen Monitor, wo ich immer wieder einmal um geschalten habe (von groß auf klein)

Code: Alles auswählen

x���������������������������������������������������������������������������������������������������������������p�������������������������������������vr߀l;��߀l�#�n���r��Ĺn���ɂ���Ȓ܀����|~�l�`Gl�?�l�;�Dies ist ein Test mit Baudrate 57600. OSCCAL = 0x9E
���������������������������������������������������������������������������������������������������������������p�������������������������������������vr߀l;��߀l�#�n���r��Ĺn���ɂ���Ȓ܀����|~�l�`Gl�?�l�;�Dies ist ein Test mit Baudrate 57600. OSCCAL = 0x9E
���������������������������������������������������������������������������������������������������������������p�������������������������������������vr߀l;��߀l�#�n���r��Ĺn���ɂ���Ȓ܀����|~�l�`Gl�?�l�;�Dies ist ein Test mit Baudrate 57600. OSCCAL = 0x9E
x<��x<�x��x�x��x��x�x�x<�x<��x��x�x<x�x��x�x�x��x<��x�x��x<x<x�x��x<x�x<�x�x��������x����x��x<�x�x<x�x�x����x<��x<x<��x`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f���������?��3000������f��f�Dies ist ein Test mit Baudrate 38400. OSCCAL = 0x9E
b�-�-P�+��tJz�aͪr�h�Ŭ@�Nlʡ�Z&�x<��x<�x��x�x��x��x�x�x<�x<��x��x�x<x�x��x�x�x��x<��x�x��x<x<x�x��x<x�x<�x�x��������x����x��x<�x�x<x�x�x����x<��x<x<��x`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f���������?��3000������f��f�Dies ist ein Test mit Baudrate 38400. OSCCAL = 0x9E
b�-�-P�+��tJz�aͪr�h�Ŭ@�Nlʡ�Z&�`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f�������?��3000������f��f�Dies ist ein Test mit Baudrate 19200. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�2�Y��`�1`c�`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f�������?��3000������f��f�Dies ist ein Test mit Baudrate 19200. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�2�Y��`�1`c�`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f�������?��3000������f��f�Dies ist ein Test mit Baudrate 19200. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�2�Y��`�1`c�`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f�������?��3000������f��f�Dies ist ein Test mit Baudrate 19200. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�2�Y��`�1`c�`0��f<?������̆f̆��3�����̞f����f�f�Æ�f��f�������?��3000������f��f���ą����Ƅ��������#!@Ą�@�Z��^SC�9b!B��,�h����Dies ist ein Test mit Baudrate 9600. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�Z��^SC�9b!B�X,�h����Dies ist ein Test mit Baudrate 9600. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�Z��^SC�9b!B��,�h����Dies ist ein Test mit Baudrate 9600. OSCCAL = 0x9E
��ą����Ƅ��������#!@Ą�@�Z��^SC�9b!B��<h1p�d�Dies ist ein Test mit Baudrate 300. OSCCAL = 0x9E
�Dies ist ein Test mit Baudrate 300. OSCCAL = 0x9E
Dies ist ein Test mit Baudrate 300. OSCCAL = 0x9E
�Dies ist ein Test mit Baudrate 300. OSCCAL = 0x9E

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von HMSteve » 27.03.2023, 15:46

Oho, nicht mal 9.6 kBaud geht? Das haette ich nicht erwartet. Hast Du aus Versehen die DIVCLK8 Fuse gesetzt - kannst Du die Fuses nochmal auslesen und posten?

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von HMSteve » 27.03.2023, 15:57

Jetzt habe ich gesehen, dass nicht nur 300 Baud, sondern auch 57.6 kBaud gut aussehen, siehe ganz oben im Codeblock. Insofern scheint das serielle Interface zu funktionieren. Sehr schoen.

Dann jetzt also den 8Mhz-Bootloader per ISP flashen, der bei der Arduino IDE dabei ist, heisst ATmegaBOOT_168_atmega328_pro_8MHz.hex. Die Fuses aber nicht aendern.
Danach nochmal versuchen, meinen Testsketch -aber diesmal ueber den FTDI- hochzuladen und posten, was im seriellen Monitor kommt.

quorle
Beiträge: 57
Registriert: 09.02.2018, 09:09

Re: Keine Verbindung per FTDI zu HM-SEC-RHS-3 AskinPP

Beitrag von quorle » 27.03.2023, 16:20

HMSteve hat geschrieben:
27.03.2023, 15:57
Dann jetzt also den 8Mhz-Bootloader per ISP flashen, der bei der Arduino IDE dabei ist, heisst ATmegaBOOT_168_atmega328_pro_8MHz.hex. Die Fuses aber nicht aendern.
Danach nochmal versuchen, meinen Testsketch -aber diesmal ueber den FTDI- hochzuladen und posten, was im seriellen Monitor kommt.
Ok, doofe Frage jetzt, aber als Board habe ich "Arduino pro or pro Mini" eingestellt. Soll ich dann einfach auf bootloader brennen gehen? Oder wie flasht man den von dir genannten Bootloader ordentlich?


Oder so:
Unbenannt.png

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“