Bascom MEGA128-USB Board per ISP programmieren (Diamex USB ISP Programmer)

spelli

Neues Mitglied
12. Nov. 2011
68
0
0
Sprachen
Hallo,

ich habe das MEGA128-USB Board aus dem Shop hier mit dem integrierten ATmega128A.

Als Programmer hatte ich sonst immer den USB Atmel ISP Programmer / USBasp verwendet.

Ich habe weiterhin einen "Diamex USB ISP" von reichelt (und ein STK500). Ich programmiere mit BASCOM-AVR.

Der Diamex USB ISP wurde erfolgreich installiert und z. B. als Com23 erkannt.


Wie genau stelle ich unter Bascom diesen Programmer ein? AVR Studio 5.0 ist installiert. Bislang habe ich keine
Kommunikation mit dem Board zustande bekommen. Bin mir aber auch nicht sicher, ob ich ihn richtig unter Bascom-AVR
eingetragen hab!

Danke,
Christoph
 
Hallo Christoph!

Mit Bascom kenne ich mich leider nicht so gut aus, vielleicht kann ich dir aber trotzdem helfen.

Soweit mit bekannt ist musst du für den Programmer von Diamex bei Options/Programmer den Programmer
auf STK500 stellen. Bei COM-Port wählst du den entsprechenden Port aus, Baudrate auf 115.200,
STK500 Exe "C:programme/Atmel/AVR/Tools/STK500/stk500.exe" (AVR Studio muss installiert sein).

SPI-Frequenz muss kleiner als 1/4 des Systemclock sein, ich würde hier etwas im Bereich 100kBit/s wählen.

Vielleicht hilft dir das weiter.

Gruß,
Dirk
 
Hi Christoph,

und da sind sie wieder die Probleme mit den "kompatiblen" Proggern ...

Als Programmer hatte ich sonst immer den USB Atmel ISP Programmer / USBasp verwendet.
Meinst du damit die Einstellung bei Bascom ?

Ich habe weiterhin einen "Diamex USB ISP" von reichelt (und ein STK500). Ich programmiere mit BASCOM-AVR.

Der Diamex USB ISP wurde erfolgreich installiert und z. B. als Com23 erkannt.

Wie genau stelle ich unter Bascom diesen Programmer ein? AVR Studio 5.0 ist installiert. Bislang habe ich keine
Kommunikation mit dem Board zustande bekommen. Bin mir aber auch nicht sicher, ob ich ihn richtig unter Bascom-AVR
eingetragen hab!
ich glaube das das AVR-Studio da die wenigsten Finger drin hat. Der Jungo-Treiber ist nach meiner Meinung eigentlich nur für die Progger direkt von Atmel.

Gibts bei dem Ding keine Anleitung wo irgendwas drin steht ?

Ich kann mir nur vorstellen das er über diese COM23 angesprochen werden muß und irgendein STK500 oder AVRISP kompatibler Progger bei Atmel ausgewählt werden muß. Bei USB darfst du dann keinen Haken reinmachen da er ja über COM läuft und nicht nativ über USB. Sonst wüste ich es auch nicht. Ich hab das Ding selber nicht im Einsatz.

Ob du den mit dem AVR-Studio zum laufen bekommst weiß ich allerdings auch nicht (da würde ich nicht die Hand für ins Feuer legen).

Gruß
Dino
 
Hallo,

mit der Bezeichnung USBasp meine ich den Programmer (ulrichradig.de). Der heissst unter Bascom auch glaube ich USBasp.
Mit "AVR-Studio 5.0 ist installiert" meine ich, dass ich auch den Pfad zur AVR-Studio .exe angegeben hatte.

Com23 kann ich angeben. Vielleicht liegt da ein Problem, da AVR Studio selbst anscheinend nur von com1 bis com8 kann.

Als Anleitung gibts nur das "Reichelt-Datenblatt": http://www.reichelt.de/index.html?;...8AAAIAABtSZBkaba60be5344733b21471caf80c2f062b.

Ich werde es sonst morgen noch mal mit dem STK500 ausprobieren - das kleine Diamex-Teil ist natürlich etwas angenehmer...

achso: habe nur diese Anleitung gefunden: http://www.wiesolator.de/index.php?area=AVR&topic=AVR-Progger Diamex DX-ISP

Gruß
Christoph
 
Hallo Christoph,

du kannst den COM-Port der virtuellen COM-Schnittstelle im Gerätemanager anpassen und eine niedrigere Portnummer wählen,
falls eine frei ist.
Wenn du mit dem STK500 programmieren möchtest, musst du ggf. den Pullup-Widerstand (1,2kOhm) an der Resetleitung auf
dem Modul entfernen, so dass nur der interne Pullup-Widerstand des ATmega128A genutzt wird. Das STK500 hat eventuell
Schwierigkeiten den Widerstand zu treiben.

Gruß,
Dirk

EDIT: Achso, was noch wichtig wäre. Du hast Betriebsspannung am Mikrocontrollermodul? Entweder über USB VBUS versorgen,
dann muss der Lötjumper neben dem USB Connector geschlossen werden oder extern an einem VCC Pin, dann darf der Lötjumper
nicht geschlossen sein. Die LED zeigt den Zustand von VBUS an, nicht von VCC.
 
Hallo Dirk,

danke für deine Erklärungen. VCC liegt an! - Das Leuchten der LED bei USB-Anschluss und nur bei USB-Anschluss habe ich festgestellt. Ist auch so dokumentiert.

Danke für den Hinweis bzgl. des STK500!
 
Ich komme nicht weiter. Wenn ich auf das "Program Chip" in Bascom-AVR klicke, kommt nach einiger Zeit ein AVR-Studio-Fenster, wo u. a.
"Invalid Command Line. Unknown Switch : dATMega128." drinsteht!

Den Programmer habe ich auf Com4 im Gerätemanager umgestellt! Welcher Baud-Wert muss im Gerätemanager eingetragen werden?

Anbei Screenshots von den Programmer-Einstellungen unter Bascom und das dann erscheinende Fenster:

bascom.pngavrstudio.png
 
Hallo Christoph,

du hast als Programm das AVRStudio5.exe angegeben, du brauchst das STK500.exe!

Das ist aber anscheinend bei AVRStudio5 nicht mehr im Verzeichnis tools/stk500/, zumindest nicht bei mir. Auf der Seite http://www.atmel.no/beta_ware/ findest du einen Download AVR CommandLineTools, hier müsste das STK500.exe enthalten sein. Eventuell auch nochmal mit der Suchmaschine suchen, ich weiß nämlich nicht, ob das alles so funktioniert, mit Bascom und den STK500V2 Programmierern kenne ich micht nicht so aus.

Gruß,
Dirk
 
Hallo,

ich probier mal! Sind bei dem Mega128 Board eigentlich schon die Fuses entsprechend gesetzt?
 
Hallo Christoph!
...Sind bei dem Mega128 Board eigentlich schon die Fuses entsprechend gesetzt?

Ja, der ATmega128 erhält einen 16MHz Systemtakt, der Quarzoszillator für den 16MHz Quarz ist aktiviert.

Dirk
 
Hallo,

ich hatte es mir jetzt auch nochmal bei "Engbedded Fuse Calculator" angeschaut... Danke.

Also, programmieren kann ich, jetzt habe ich aber doch eine Kinke drin!

Wenn ich sowas wie unten schreibe, dann zieht PORTC.1 nur einmal an und bleibt an...
Ist es möglich, dass der Quarz beschädigt wurde o. ä.?

Bzgl. der hw/sw stacks und der framezise weiß ich gar nicht, was ich einstellen müsste...


$regfile = "m128def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 32
$framesize = 32





Config Portc.1 = Output
R1 Alias Portc.1



Do

R1 = 1

Wait 1

R1 = 0

Wait 1



Loop
End



Danke!
 
Hallo,

über ISP kannst du nur dann programmieren, wenn der Mikrocontroller einen Systemtakt erhält. Wenn du erfolgreich programmieren kannst, schwingt der Quarzoszillator also. Verstelle nur Fusebits, die mit dem Systemtakt zusammenhängen (CKSEL3..0, CKOPT), wenn du dir bewußt bist, was du mit den Einstellungen bewirkst. Bei Bascom kann ich nicht weiterhelfen, da muss jemand anderes mal schauen :)

Dirk
 
Diese Aussage "über ISP kannst du nur dann programmieren, wenn der Mikrocontroller einen Systemtakt erhält" bringt mich aber schonmal weiter...

Ich werde mal den Spannungsregler der Schaltung tauschen... Ich habe da jetzt einen Verdacht...
 
Hallo,

vielleicht liest ja noch einer mit!

Ich habe das Mega128-USB Modul aus dem Shop, allerdings stimmt irgendwas nicht, da sowas wie das hier nicht funktiniert:

Code:
$regfile = "m128def.dat"
$crystal = 16000000

Piezo Alias Porta.4
Config Piezo = Output

Sound Piezo , 220 , 227
Waitms 125
Sound Piezo , 220 , 227
Waitms 125
Sound Piezo , 220 , 227
Waitms 125

Do

 nop

Loop
End



Die Schaltung wird von einem 78S05 (http://www.eleccircuit.com/power-supply-5v-2a-by-ic-78s05/) gespeist, allerdings habe ich festgestellt,
dass bei Anziehen von 8 Relais (http://de.rs-online.com/web/p/products/718-1796/, beschaltet über BC517) eine Komplett-Last von 0,7 A anliegt - eigentlich problemlos für den 78S05 (bei ca. 13 Volt).

Der wird nur irre heiß! - Kann das alles zusammenhängen?

Ich steh gerade auf dem Schlauch!

Achja: Ich messe 5V am Ausgang des 78S05!
 
allerdings stimmt irgendwas nicht, da sowas wie das hier nicht funktiniert:
keine Stackwerte?
Was funktioniert denn nicht, was hast du schon getestet?

dass bei Anziehen von 8 Relais ...eine Komplett-Last von 0,7 A anliegt - eigentlich problemlos für den 78S05 (bei ca. 13 Volt).
den Mut muß man dir lassen, 3,5 Watt nutzen und 5,6 Watt verheizen ist sportlich.
Der wird nur irre heiß! - Kann das alles zusammenhängen?
der wird eigentlich schon bei 1Watt irre heiß, hast du einen Kühlkörper dran?

SickBoy
 
Hallo SickBoy!

Wie bemesse ich die Stackwerte? - Das habe ich nocht richtig verstanden!

Den Regler werde ich tauschen! - Ich hatte mich bei den Relais verrechnet...

Vorher hatte ich, wie ich es immer gemacht hatte, die Stackwerte auf 32 gesetzt.

Wenn ich bspw. ein Relais in einer Schleife jede Sekunde anziehen und abfallen lassen wollte, zog das Relais nur einmal an und mehr nicht.

Mittels "Sound" konnte ich kein Ton herausbringen..
 
Hallo Christoph!

Wie Sickboy schon geschrieben hat, ist die Verlustleistung am Linearregler sehr hoch, ohne anständige Kühlung wird der Regler nicht lange halten.

Bezüglich der Programmierung, bist du dir sicher, dass der Programmer richtig programmiert? Ist Verify aktiviert? Hat der Programmer Zugriff auf den Mikrocontroller, kannst du zum Beispiel die Signature oder die Fuses lesen?

Dirk
 
Hallo!

Das mit dem Regler war natürlich murcks!

Habe einen 7805 eingelötet mit 100nF und 10uF/Diode am Eingang.

5 Volt liegen an etc.

Ich kann die Fuses lesen und ein Verify ist auch möglich.

Schalte ich alle 8 Relais ein, wird der 7805 sehr heiß! So, dass man nicht mehr richtig ran kann...

Anbei ein Bild der Schaltung, es handelt sich dabei um eine Eingangsplatine, die 5 PIR Melder auswertet und bei 12V Low einen Optokoppler schaltet (das ganze 10x, um Alarm und Tamper-Alarm auszuwerten). In dieser Abhängigkeit werden bis zu 8 Relais geschaltet.

Ich will auch nicht ausschliessen, dass in der Verdrahtung ein Problem ist, aber soweit kann ich Programmieren, dass ich z. B. alle 8 NPNs auf High schalte und so alle Relais geschlossen werden...

K1024_IMG_0372.JPG
 

Anhänge

  • K1024_IMG_0372.JPG
    K1024_IMG_0372.JPG
    82,2 KB · Aufrufe: 7
Das mit dem Regler war natürlich murcks!
das ist es (mit Verlaub) immer noch.
Die Verlustleistung hat sich nicht verändert, ob du jetzt die 1A oder die 2A Version benutzt.
Schau dir mal das Kühlkörperchen an, wieviel K/W hat das?
Ich schätze so 20.
Das heißt, dein Kühlkörper hat bei 5,6W 112° über der Umgebungstemperatur!
Warum hast du keine 12V Relais genommen und betreibst die direkt aus der Versorgung?
Damit bleiben auch die Störungen durch das Schalten draußen.
Jetzt kannst du nur einen größeren Kühlkörper oder gleich einen Schaltregler benutzen.

SickBoy
 
Ja.

Da habe ich wieder was dazu gelernt. Hättest du vielleicht einen tip!?
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)