nach bootloader flashen kein FTDI-Adapter connect mehr möglich

Hallo, nachdem ich den Bootloader auf dem TiNo neu geflasht habe, habe ich kein connect mehr zum FTDI-Adapter. Ausgang war der Versuch damit eine Wägezelle zu betreiben. Das Projekt ist jetzt unerfüllt vorbei und ich möchte den TiNo wieder auf seinen Ursprung. heißt “1 MHz, int. Osc., bootloader”, dann habe ich den bootloader neu geflasht mit einen USPasp Programmer, der flash war erfolgreich:

avrdude done.  Thank you.

         User configuration file is "/home/matze/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "/home/matze/.arduino15/packages/TiNo/hardware/avr/2.1.0/bootloaders/optiboot_tino_1mhz_9600bd.hex"
avrdude: writing flash (32768 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 32768 bytes of flash written
avrdude: verifying flash memory against /home/matze/.arduino15/packages/TiNo/hardware/avr/2.1.0/bootloaders/optiboot_tino_1mhz_9600bd.hex:
avrdude: load data flash data from input file /home/matze/.arduino15/packages/TiNo/hardware/avr/2.1.0/bootloaders/optiboot_tino_1mhz_9600bd.hex:
avrdude: input file /home/matze/.arduino15/packages/TiNo/hardware/avr/2.1.0/bootloaders/optiboot_tino_1mhz_9600bd.hex contains 32768 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 32768 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.

Jetzt habe ich den USBasp Proigrammer abgemacht und den FTDI Adapter angesteckt, der Port stimmt, setup stimmt u.s.w. trotzdem kann ich den sketch nicht mehr auf den TiNo flashen.
Ausgabe: siehe Anhang log2.

Einen gleichen baugleichen TiNo im originalen Zustand habe ich noch, da funktioniert das Aufspielen des Sketches mittels FTDI Adapter.
Ich gehe davon aus, dass der Bootloader nicht richtig geflasht wurde bzw. der OSZILLATOR nicht stimmt, aber da habe ich leider keine Ahnung.
vielleicht wisst ihr ja mehr und könnt noch ein Tipp geben.

log2.txt (3.73 KB)

Ich gehe davon aus, dass der Bootloader nicht richtig geflasht wurde

Wieso? Ist doch ohne Meldung durchgelaufen.

der OSZILLATOR nicht stimmt,

Das ist wohl so... Der RC Oszillator ist nicht sonderlich exakt. Schon gar nicht genau genug für eine Serielle Verbindung. Darum wurden ja auch die Baudrate Quarze erfunden.. (?)

Tipp: Mach das Board mal warm, oder kalt, und versuchs nochmal... Dann tuts das.

Also den TiNo warm oder kalt machen, dann nochmal den bootloader flashen?

Nein!

Also dann prüfen ob ich den FTDI Adapter connecten kann?

Ok, also ich bekomme nur per Serial connect wenn er warm ist (guter Tipp). Sobald er wieder abgekühlt ist, ist pumpe. Hat das Ausmaße auf die eigentliche Arbeit des Board's, oder nur wenn man es über Serial betreiben möchte?

wie kann man das generell ändern, so dass man ihn nicht erhitzen muss?

Ach, normalerweise macht das nichts aus....

Allerdings: Die serielle Verbindung gilt ab 2% Taktabweichung als gefährdet.

Die Versorgungsspannung lässt sich messen. Der µC hat einen internen Thermosensor und anhand dessen Werte könntest du an der OSCCAL Schraube drehen. Das müsste dann aber auch der Bootloader schon tun.

Der µC hat einen internen Thermosensor und anhand dessen Werte könntest du an der OSCCAL Schraube drehen. Das müsste dann aber auch der Bootloader schon tun.

Wie macht man das?

Ausmessen! Und eine Lookuptable im EEPROM oder FLASH anlegen.

Alternativ, einen Uhrenquarz montieren und gegen diesen abgleichen.

Das ist doch mal eine schöne Aufgabe für dich! Das übt auch das Datenblatt lesen und das nachdenken.

Hier mal sowas ähnliches (Abgleich des RC Oszillators gegen Versorgungsspannung und Temperatur)