Pololu Programmer / Atmel Microship Studio

Wenn unter den anderen Software-Themen kein passendes dabei ist oder wenn das Thema mehrere Bereiche überspant, dann versuche es hier einmal.
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 915
Registriert: 25.01.2008, 23:34

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von psclab38 » 21.02.2021, 21:46

Hallo Oliver,

den R23 kann man auch problemlos bedrahtet montieren, mit möglichst kurzen Anschlüssen, das ist höchstens am LTC2400 etwas knifflig. Dann alles blitzeblank putzen mit reichlich Isopropanol oder Acteton und nicht mehr hinfassen. Dann sollte das der Präzision keinen Abbruch tun.

Wegen dem DCG: 5V sind ja da. Kommen die auch am Controller an Pin 5+27 an? Wird der Controller heiß?
Ansonsten die Verbindungen vom Controller zum ISP-Port checken: das Resetsignal, MISO, MOSI und SCK.

Und den Takt am Programmer ganz langsam schalten, bis die Fuses richtig gesetzt sind.

Die Analogschaltung sollte eigentlich erst mal egal sein.

Viel Erfolg!
Gruß
Paul

Oliver
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 51
Registriert: 31.08.2013, 15:47

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von Oliver » 24.02.2021, 21:18

Hallo,

so, ich habe jetzt alles mehrfach durchgemessen und kontrolliert. Das Problem bleibt: Das DCG-2-Modul kann nicht in den Programmiermodus wechseln.
An der ISP-Schnittstelle liegen zwischen Pin2 und 4,6,8,10 die 5V an. An der ISP-Schnittstelle gibt es keine Kurzschlüsse.
Pin 1; MOSI ist mit Pin 1 am Controller verbunden. Pin 5 an der ISP-Schnittstelle; Reset ist mit Pin 4 am Controller verbunden. Pin 7; SCK, STRADC ist mit Pin 3 am Controller verbunden. Pin 9; MISO, SDADC ist mit Pin 2 am Controller verbunden.
Im Bereich der SMD-Bauteile bestehen keine Kurzschlüsse, die Widerstandswerte sind in Ordnung. Auch mit niedriger Frequenz ist kein Zugriff auf die Fuses möglich. Leider kann ich den Controller zu Testzwecken austauschen, wie es beim Atmga 32 möglich ist. Der Controller könnte also einen Defekt haben, aber das kann ich nicht so einfach überprüfen.
Die Spannungen am PS-Stecker sind alle in Ordnung. Die genaue Fehlerursache lässt sich nicht so einfach ergründen.
Im Augenblick bin ich ich ein wenig ratlos. Der Controller ließe sich nur samt Platine tauschen und abgesehen von den gesockelten IC's sind alle Bauteille fest verlötet und ließen sich nicht mal eben austauschen; bzw. auf eine neue Platine löten.

Gruß

Oliver

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 915
Registriert: 25.01.2008, 23:34

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von psclab38 » 24.02.2021, 23:01

Hmmm, dann wird's schwierig. Du hast ja schon alles kontrolliert, aber trotzdem:
- Ist der Controller richtig rum aufgelötet, es gibt hier ja vier Möglichkeiten?
- Lötbrücken am Controller?
- Wird er heiß?
- Ist es der richtige Chip?

Ich kann mich nicht erinnern, dass wir gar kein Lebenszeichen vom Controller hatten.
Ziehe nochmal alle anderen Chips und das Display ab und probiere nochmal.

Oliver
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 51
Registriert: 31.08.2013, 15:47

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von Oliver » 26.02.2021, 22:57

Hallo,

vielen lieben Dank für Eure Hilfe !
Ich hatte die Platine fertig mit aufgelötetem Controller gekauft. Der ist korrekt eingelötet, es handelt sich um einen Atmega 32 AU. Die 16 MHz vom Quarz liegen sauber an. Sämtliche Lötstellen nochmal komplett nachgelötet und überptüft.
Alles entfernt, was sich entfernen lässt. Alles gründlich auf mögliche Kurzschlüsse, Lötbrücken hin geprüft. Sämtliche Flussmittelrückstände gründlichst mit Isopropanol entfernt. Da der Programmieradapter mit allen anderen Platinen funktioniert kann auch hier kein Fehler liegen. Der Controller wird nicht warm. Alle Sockel und Steckverbinder sind richtig herum eingelötet. Vielleicht wurde irgendein Bauteil beim Löten zu warm oder elektrostatisch zerstört. ...
Hiermit erkläre ich die Platine zum Ersatzteilspender.
Es ist unbefriedigend die genaue Fehlerursache nicht zu kennen, aber es nutzt nichts. Einige Teile lassen sich wiederverwenden.

Gruß

Oliver

Oliver
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 51
Registriert: 31.08.2013, 15:47

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von Oliver » 09.03.2021, 19:29

Hallo,

gerade noch mal eine aktuelle Frage:
Kann mir kurz Jemand beschreiben, wie ich im Atmel Microship Studio die Fuses für das ACV-Modul einstellen muss?
Ich habe als Device den ATmega168 eingestellt.
Die Brown-Out detection at VCC=4,3V setzen ? Boot Flash Size = 256 words... ? Lt. Anleitung sollen nur Bodlevel0 und Bodlevel1 gesetzt werden. Im Atmel Microship Studio heisst das alles aber etwas anders. Verwirren tut mich insbesondere die Einstellung für den Quarz: Die Liste reicht nur bis 8 MHz. Soll da auch 1K CK/14CK+65ms eingestellt werden ? Im Ct-Lab wiki wird der ATmega168 leider nicht explizit genannt oder habe ich da was übersehen ?

Gruß

Oliver

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 915
Registriert: 25.01.2008, 23:34

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von psclab38 » 09.03.2021, 22:26

Hallo Oliver,

das ACV hab ich leider nicht, aber ich versuch's mal.

Der allerunterste Eintrag heisst "Ext. Crystal Osc. 8.0- MHz... +65 ms". Das Minus da drin soll wohl "über 8MHz" heißen.
Brown-Out auf 4.3V ist gut,
CKDIV8 nicht gesetzt! (Ich hoffe ich verstehe die Logik richtig rum)

Den Rest mal original lassen. Schreib Dir mal die Original Fuses auf und dann sehen wir weiter.

Gruß
Paul

Oliver
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 51
Registriert: 31.08.2013, 15:47

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von Oliver » 11.03.2021, 22:04

Hallo Paul,

vielen Dank für die Hilfe ! Die ursprünglichen orignal-fuses waren:
Extended.Bootsz: Boot Flash size-1024 words start adress=$1000 habe ich mal wie bei den anderen Modulen geändert auf:
Boot Flash size-256 words start adress=$1F00
High.Spien ließ ich unverändert.
High.Bodlevel: Brown-out detection disabled geändert auf: Brown-Out: 4,3V
Low.CKDIV8 habe ich deaktiviert
Low.SUT_CKSEL: Int. RC Osc.8Mhz,Start-up time PWRDWN/Reset: 6 CK/14 CK + 65ms habe ich geändert auf:
Ext. Crystal Osc. 8.0- MHz... +65ms

Beim flashen fängt die Schaltung an zu klappern, zu zischen und zu zu fiepen. Hörte sich ein wenig bedrohlich an, so als ob mir gleich die Elkos um die Ohren fliegen. War aber alles in Ordnung. Das sirren und fiepen kommt wohl von den Induktivitäten; nehme ich an.
Zunächst bekomme ich eine Warnung angezeigt, dass das deaktivieren von Low.CKDIV8 zu einem nichtfunktionieren der Schaltung bei falsch gewählter Taktung führt.
Das Display vom Panel zeigt nichts an. Die Schaltung läuft nicht.

Gruß

Oliver

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 915
Registriert: 25.01.2008, 23:34

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von psclab38 » 12.03.2021, 21:48

Hallo Oliver,

woher die Geräusche kommen, kann ich Dir nicht sagen, ich hab das Modul nicht. War das nur beim Flashen oder nachher auch?
Das könnten aber die Relais sein, die sind am MOSI-Signal angeschlossen und klappern dann zuammen mit den Bits des Programmers.

Ich hab mal in das Datenblatt vom ATmega168 geschaut. Der hat zwei verschiedene Modi für den Quarz-Oszillator: "LowPower" und "FullSwing".
Das steht leider bei den Fuses im MicroChip Studio nicht dabei.

Das sollten die Werkseinstellungen sein: Kein BrownOutDetection, 8 MHz intern, Clockteiler8 ein, daher effektiv 1MHz:
BOOTSZ = 1024W_1C00
BOOTRST = [ ]
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BODLEVEL = DISABLED
CKDIV8 = [X]
CKOUT = [ ]
SUT_CKSEL = INTRCOSC_8MHZ_6CK_14CK_65MS

EXTENDED = 0xF9
HIGH = 0xDF
LOW = 0x62


Mit diesen Fuses sollte der "Full-Swing" Oszillator normal laufen. "LowPower" brauchen wir nicht. Und damit der Prozessor nicht mit 2, sondern mit 16MHz läuft, muss der CKDIV8 aus:

BOOTSZ = 1024W_1C00
BOOTRST = [ ]
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BODLEVEL = 4V3
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = EXTFSXTAL_16KCK_14CK_65MS

EXTENDED = 0xF9
HIGH = 0xDC
LOW = 0xF7

Probier' das mal. Der Oszillator sollte ja auch mit der "LowPower" Einstellung laufen.
Wenn Du was anderes ausprobierst, gibt doch bitte die Fuses in Hex an, dann ist das eindeutiger.

Das hex und das eep-File dann in dieser Reihenfolge oder gemeinsam programmieren. Andersrum wird das eep gelöscht.

Grüße
Paul

PS: Die Bootloader-Einstellungen brauchen wir nicht, die Firmware hat keinen Bootlader.
Die Warnung bei dem ClockDIV8 gilt nur, wenn die Betriebsspannung niedriger als 4,5V ist.

Oliver
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 51
Registriert: 31.08.2013, 15:47

Re: Pololu Programmer / Atmel Microship Studio

Beitrag von Oliver » 19.03.2021, 17:10

Hallo Paul,

herzlichen Dank für Deine Hilfe ! Das ACV-Modul läuft :D . Es gibt, so meine ich, mindestens 2 Einträge für den Taktgeber mit SUT_CKSEL = EXTFSXTAL_16K CK_14CK_65MS. Jetzt läuft's aber. Vermutlich sind das die Einträge für "LowPower" und "FullSwing". Das ist aber blöde, wenn'snicht dabei steht.
Stimmt, dass sind die Relays, die beim Flashen klappern. Die Geräusche treten nur beim Flashen auf, danach nicht mehr.

Gruß

Oliver

Antworten