Forum: Mikrocontroller und Digitale Elektronik Probleme beim Programmieren des Atmega16 mit Pollin-Platine


von Kai S. (hugstuart)


Lesenswert?

Hallo

Vor kurzem habe ich mir bei Pollin den Atmel-Evaluation-Board-Bausatz
gekauft und nun zusammen gebaut. Leider kriege ich keine Daten auf den
Atmega16. Auf der Platine befindet sich ein Anschluss für die serielle
Schnittstelle, von dem aus zwei Pins über einen Pegelwander direkt an
den Atmega geführt werden, und zwar an die Pins PD1 und PD0. Da die
Dokumentation recht dürftig ist, frage ich mich, ob ich den richtigen
Anschluss nehme. Dann habe ich mit PonyProg versucht eine Verbindung
herzustellen; kann mir evtl. einer sagen, was ich unte I/O-Port
einstellen muss (SI Prog API, SI Prog I/O, EasyI2CBus)? Ich habe schon
einige Programmiererfahrungen mit dem Butterfly-Kit, dieses konnte ich
über meine serielle Schnittstelle mit dem AVR-Studio einwandfrei
programmieren, aber zu dem Pollin-Board bekomme ich auch im AVR-Studio
keine Verbindung. Über Hilfe würde ich mich sehr freuen.

MfG
Kai

von TravelRec. (Gast)


Lesenswert?

Ich denke nicht, daß das Board fürs Programmieren des ATMEGA gedacht
ist, wohl vielmehr für´s Probieren mit einem bereits beschriebenen
Prozessor. So wie Du´s beschreibst, hat zumindest die serielle
Schnittstelle nichts mit dem Programmieren des Controllers zu tun (es
sei denn, der Controller hat einen Bootloader im Flash). Wenn da nicht
irgendwo ´ne 6-polige oder ´ne 10-polige Buchse ist, die an PB5-PB7
geht, dann fürchte ich, daß Du damit nix proggen kannst. Mach doch
mal´n Foto.

von Sascha (Gast)


Lesenswert?

Ich glaube, das Teil bestitzt ein Parallelport-Programmer.

Mfg Sascha

von Kai S. (hugstuart)


Lesenswert?

Erstmal danke für die Antwort. Laut Pollin ist das Gerät durchaus zum
Programmieren gedacht. Auf dem Teil befindet sich eine 10polige
Stiftleiste mit der Aufschrift "ISP", sowie zwei serielle
Schnittstellen. Von der einen gehen wie gesagt zwei Leitungen an PD1
und PD0, von der anderen durchaus auch an PB5-PB7. Nur: Es funktioniert
mit beiden nicht. Laut Dokumentation kann man das Teil direkt über die
serielle Schnittstelle programmieren ODER über die 10polige
Adapterleiste (ISP). Ich mache nachher oder morgen mal ein Bild vom
Schaltplan.

MfG
Kai

von der Gerd (Gast)


Lesenswert?

Kai,

such mal nach ISP im wiki dieser Seite, dort findest Du geeignete
Programmer dafür:
http://www.mikrocontroller.net/articles/AVR_In_System_Programmer

Ciao,
der Gerd

von Dirk M. (avr-nix)


Lesenswert?

abo

von TravelRec. (Gast)


Lesenswert?

Also wenn Dein Controller noch doof (sprich neu) ist, dann geht´s
erstmal nur über ISP, nur dazu mußt Du Dir auch ein ISP-Interface wie
z.B. SI-Prog oder einen richtigen ISP-Programmer, wie z.B ATMEL AVR-ISP
zulegen. Ersteres funktioniert dann mit PonyProg, zweiteres mit
AVR-Studio. Wenn der Controller dann per ISP zum Beispiel mit einem
Bootloader versehen wurde, dann kannst Du auch direkt über RS232
programmieren.

von tf1973 (Gast)


Lesenswert?

Hi,

also ich habe mir das Board auch gekauft. Ich programmiere den Mega16
mit Ponyprog 2.0x - mit Version 1.7 ging das nicht.

Ich verwende einen low-cost-parallelport-ISP mit 4 Widerständen was
keine Probleme macht.

Allerdings sollte das an der "richtigen" seriellen schnittstelle von
den beiden auch mit einem seriellen Kabel funktionieren in Verbindung
mit Ponyprog - laut Schaltplan ist bei dem seriellen
Programmieranschluß da kein Treiber dazwischen sondern es werden nur
die Pegel wieder angepaßt und direkt auf die ISP Anschlüsse geleitet.

von xeus (Gast)


Lesenswert?

hallo kai,
 du hast recht, auf dem board ist ein progger angebracht. nur in deinem
fall nimmst zu einfach die falsche buchse, die die du verwendest ist der
serielle anschluss also rs232. weil ein progger hat keinen pegelwandler,
wie es in deiner beschreibung steht. also versuch einfach mal die andere
schnittstelle.

viel erfolg

von Kai S. (hugstuart)


Lesenswert?

Hallo zusammen

heute hatte ich endlich mal wieder Zeit und habe nochmal versucht,
meinen Atmega16 zu programmieren und es funzt. Ich habe einfach statt
Ponyprog 1.7 Version 2.0 genommen (Dank an tf1973), und es klappte auf
Anhieb. Also ohne zusätzlichen ISP, nur mit der Platine und seriellem
Kabel.

MfG
Kai

von Markus Maussner (Gast)


Lesenswert?

Hallo

k.a. ob das bei euch zutrifft aber ich habe heute Post von Pollin
bekommen mit der Meldung das u.a. die Seriellen Schnittstellen nicht
funktionieren da es einen Fehler auf dem Board gibt.
Dazu gabs ne kleine Doku wie man den Fehler behebt und 5 Euro Gutschein
für den nächten Einkauf als "Entschuldigung".

Es gab da 3 oder 4 Sachen die "Falsch" waren einer davon war imho die
rs232.

Falls ihr den Brief (noch) nicht bekommen habt kann ich ihn mal scannen
wenn Bedarf besteht.

gruss

Markus

von tf1973 (Gast)


Lesenswert?

Hallo,

ja, wäre mal ganz interessant. Ich hab zwar keine Ahnung was sonst noch
alles falsch sein könnte - die 2 led's, taster und buzzer funktionieren
und viel mehr ist ja nicht drauf :-)

von Kai S. (hugstuart)


Lesenswert?

Jo, habe diesen Brief auch bekommen. Aber solange es funktioniert sehe
ich keinen Anlass, da rumzulöten.

von Phas (Gast)


Lesenswert?

Hallo,

ich habe ein ähnliches Problem mit dem Board (vorgestern bekommen und
zusammengelötet). Im Board steckt gerade ein Mega16.

Der Witz ist folgender:

-Board wollte nicht. Alles nachgelötet=>sinnlos (Serielles Interface;
Ponyprog 2er). Dann: Dioden lt. Fehlerliste getauscht. Brachte auch
nichts. Irgendwann gewaltsam (-24 Fehler, Unknown Device) das
CKSEL0-Bit gesetzt, -dann- ging´s mit dem internen 1 MHz OSC. Bit
wieder gelöscht, auf einmal nicht mehr programmierbar.

Hab dann im Endeffekt einen Defekt am Comport vermutet, neue PCI-Karte
mit 2*COM, 1*PAR gezogen. Brachte nix. Dann hatte ich noch aus
"Experimentierzeiten" einen LPT-ISP-Adapter gefunden. Den
drangesteckt ("Probe" mit AVR ISP API ging), selber Fehler. Ich hab
VCC am Proz, die Signal kommen und gehen, aber ich bekomme (trotz
rumfummeln an den Delays in Ponyprog-ini-File) das Board um´s verrecken
nicht zum laufen. Mein Verdacht ist, das evtl. das externe Quarz nicht
schwingt, vielleicht deswegen, weil evtl. keine 100%ige Masse für die
Quarzkondensatoren vorhanden ist (evtl. "stört" ein anderer Kondi
oder gar der Gleichrichter?) und somit das Quarz erst gar nicht anfängt
zu schwingen. Weil (so denke ich): Kein XTAL, kein SPI.

Ich fummel mal weiter dran rum, malde mich, wenn ich Erfolg hatte.

Grüsse

von tf1973 (Gast)


Lesenswert?

hallo,

probier doch mal folgendes zu messen:

1. geht RESET auf 0 wenn du programmierst ? und liegt RESET ohne
programmierung auf High-Pegel?

2. Mess doch mal die Spannung an XTAL 1

von Phas (Gast)


Lesenswert?

Hi,

thx für die Tip´s!

Also, folgender Sachverhalt. Reset ist ok, aberMISO kommt nix raus,
weder als "separat gebogener" Pin noch in der Schaltung. XTAL1 hat
VCC, aber so, wie es aussieht, zu wenig. Der 9V-Block von meinem
Multimeter ist leider leer=>ich kann´s daher nicht genau sagen. Eine
stinknormale LED zwischen XTAL1 und GND leuchtet "normal", wiederum
die gleiche LED an GND -und- VCC blitzt kurz auf und leuchtet danach
schwach=>ergo Versorgungsspannung zu niedrig. Lege ich eine Leitung
-direkt- vom 7805er zu VCC vom AVR, wird der 05er extrem heiß=>das
machen die 05er eigentlich ja nur dann, wenn kein GND am mittleren Pin
anliegt. Ergo: VCC fließt bei diesem Experiment auf GND, deshalb denke
ich, ein Kondensator wird spinnen. Ich hab ja -in gewisser Hinsicht-
VCC am Proz, aber wohl zu niedrig (dadurch auch das
"Entladungs"-Blitzen der LED zwischen GND und VCC am Prozessor). Alle
Kondensatoren -sind- zu 100% richtig gepolt (halt die Elko´s), entweder
ein Kondi spinnt komplett oder ist falsch "bedruckt". Deswegen hole
ich mal jetzt mal spaßeshalber -alle- Elko´s raus.

Grüsse

von Phas (Gast)


Lesenswert?

Gut, ausgebaut, bringt nix. Aber: Der heiße 7805 war im Endeffekt
logisch, lt. mitgelieferter Doku ist VCC=Pin11, in der Mega16-Doku ist
VCC aber Pin10.

Ich schnall grad irgendwie sowieso nicht, was richtig ist und was
nicht! Irgendwie wiederspricht sich der Schaltplan von vorne bis
hinten.

IC2 VCC=Pin 11, wiederum IC3 Pin11=VCC.
IC2 GND=12, wiederum IC3 Pin12=XTAL2.
IC2 GND=1 (wird tatsächlich auf GND gezogen!), und wiederum bedeutet
Pin1 am Mega16=PortB0!

Ich glaub so langsam, das Board iss´n Konstruktfehler hoch 10! Ich weiß
ja nicht, welche REV´s ihr habt, aber -mein- Board ist mit ziemlicher
Gewißheit trash!)

Grüsse

von Phas (Gast)


Lesenswert?

WEnn euer Board nicht geht, schaut mal auf Pin12 der Platine! Da gehen
-zwei- Leitungen auf Pin12, und zwar einmal -Masse- und einmal auf
XTAL2!

Grüsse

von Phas (Gast)


Lesenswert?

Ah, ok, lesen und zwei mal nachdenken, was man schreibt, macht schlau,
IC2 entspricht den anderen Sockel. Pin1 an IC3 stimmt trotzdem nicht.

Grüsse

von Phas (Gast)


Lesenswert?

Ok, und die Pin´s nochmal entlöten macht nochmal schlauer. Ich bin mir
nicht zu 100% sicher, ob GND tatsächlich an XTAL2 hängt, man kann es
nicht genau erkennen....

von xeus (Gast)


Lesenswert?

reiss den ganzen müll(quarz und kondis) raus, nimm ne kleine
lochrasterplatine, löt einen rc oszi drauf, noch von der 34 poligen
portleiste port1 und port34 zur stromversorgung geschnapt, und in ein
lötauge(wo vorher der quarz drinn war) den ausgang des rc oszis. und
aueinmahl: es funktioniert!!!

viel erfolg

xeus

von Phas (Gast)


Lesenswert?

Hi,

ich hab´s aufgegeben, ich löte mir gerade eine eigene Platine (für
Parallel-ISP) zusammen. Der Scheiß (sorry) an der Platine ist/war, das
wirklich in -jedem- Eck der Platine ein Stück Masse bzw Felder
vorhanden sind/ist. Wenn die das auch weggeätzt hätten, so glaub ich,
hätte man weniger Probleme mit der Platine gehabt. Es kann doch nicht
sein, das die nicht belegten "Leiterbahnen" (selbst wenn es
durchgetrennte sind) ´nen -Milimeter- vor einem Pin enden! Man muß so
gesehen nur einmal ein -bischen zu lange- auf ´nem Pin mit´m Kolben
bleiben und schon kann sich der Stoplack an der durchtrennten
Leiterbahn auflösen und -zack- hat man Masse oder was weiß ich auf dem
Pin!


Grüsse

von Jörn G. aus H. (Gast)


Lesenswert?

1mm ist doch auf einer PCB ein Riesenabstand?! 6mil (=0,15mm) ist
heutzutage ein Standard-Abstand und trotzdem schließt man da nichts
kurz beim Löten, wenn man es richtig macht und es eine (halbwegs)
vernünftige Lötstopmaske gibt.

Lötstoplack löst sich übrigends normalerweise nicht beim Löten auf!
Lötest du bei 500 Grad, oder was?

jörn

von Sebastian Weschke (Gast)


Lesenswert?

Hallo

Ich wollte mir das Board zu Weihnachten kaufen...für die kalten
Winternächte. Bin zwar werdender Elektroniker aber ich habe mit
µControllern keine Erfahrung. Nun...habe ich hier gelesen was so los
ist mit dem Board...soll ich es mir nur kaufen oder nicht???(bei den
anderen hat es ja versucht)

mfg
Sebastian

von Hannes L. (hannes)


Lesenswert?

Der Fehler soll inzwischen behoben sein.

Wenn du keine Lust auf Lochraster oder eigene Platine hast, dann ist
das Board sicherlich nicht verkehrt.
Nimm auch gleich das 4x27-LCD mit, das ist sein Geld wert. Dazu gibts
auch eine Frontscheibe.
Ein paar Trimmpotis (10k...47k) schaden auch nicht (wegen Tests mit
ADC).

...

von Sebastian Weschke (Gast)


Lesenswert?

Hallo

Jo ok ich verstehe. Ich werde sie mir kaufen... und die Potis sowie das
Display auch.

mfg
Sebastian

von Sebastian W. (thebasti)


Lesenswert?

Hallo

Ich habe mir das Board zusammen gebaut und merke erst denn das ich gar
nicht das passende Kabel habe...die haben bei Pollin auch nicht das
richtige verlinkt(nur 25pol...ich brauch aber 9 Pol)...ich hatte denn
ein altes Nullmodem so umgelötet das es rein theoretisch gehen
müßte...hat es aber nicht. Was brauch ich denn nun für ein Kabel wenn
ich den Atmega16 per RS232 programmieren will???

Noch ne Frage...gibt es für die AVM µController Programmierung auch
eigentlich eine Pascal - ähnliche Sprache? Wenn ja...wo?

mfg
Sebastian

von A.K. (Gast)


Lesenswert?


von Martin P. (paq)


Lesenswert?

Hallo Leute,
ich habe mir das Board auch geholt und fertig aufgebaut.
Ich wollte die serielle (ISP)Schnittstelle des Boards zur
Programmierung eines ATMega16 verwenden. Als Software habe ich mir die
neueste Version des PonyProgs runtergeladen. Als Besonderheit in
meinem Aufbau kann man nur die serielle Schnittstelle am PC bezeichnen,
da ich den AVR von meinem Laptop aus programmieren möchte, und dieses
keine seriellen Schnittstellen mehr hat. Aus diesem Grund verwende ich
einen USB2Serial-Adapter.
Und nun mein Problem:
Nach einiger Konfiguration des Ponys konnte ich den Controller auf
Anhieb beschreiben. (D.h. Write All, Write Flash ...) Das ging wenn ich
im I/O port setup des PonyProgs die Einstellung "SI Prog API" oder
"JDM API" verwendet habe und das Board über meinen USB2Serial-Adapter
bedient habe. Das Beschreiben des Controllers ging "relativ" zügig.
Der anschliessende Vergleich übertraf meine kühnsten Vorstellungen.
PonyProg benötigte ungelogen ca. 2,5 Stunden um den Vergleich
abzuschließen. Das ist für Entwicklungszwecke überhaupt nicht tragbar.
Ich werde versuchen mir heute einen Parallel-Port-ISP-Programmer zu
basteln und es über den nochmals zu versuchen, ansonsten werde ich mir
ernsthaft überlegen mir das STK500 zu holen.
Sind Euch solche, oder ähnliche Kommunikationsprobleme bekannt?

Grüsse
Paq

von Hannes L. (hannes)


Lesenswert?

> Das ist für Entwicklungszwecke überhaupt nicht tragbar.

Nunja, für ernsthafte "Entwicklungszwecke" nimmt man auch keine
15-Euro-Lösung.

Schau dir mal im Datenblatt der AVRs die ISP-Kommunikation zwischen
ISP-Gerät und AVR an. Und dann schau dir mal die paketorientierte
multimediataugliche USB-Kommunikation an.
Bei ISP-Adaptern ohne eigene Intelligenz muss der gesamte ISP-Dialog
Byteweise über USB erfolgen. Das bremst USB total aus.
Du wirst daher sehr schnell erkennen, dass du entweder auf USB oder auf
intelligenzlose ISP-Adapter verzichten musst.

Mit einer echten seriellen Schnittstelle (also ohne USB dazwischen)
wird (einfaches) ISP gut funktionieren.

Kannst du USB nicht vermeiden, so musst du ein ISP-Adapter mit eigener
Intelligenz verwenden, wie es z.B. mit STK500, im ATMEL-AVR-Prog oder
in einigen Eigenbauprojekten (Diskussion darüber ist hier im Forum zu
finden) realisiert wird.

...

von Sebastian W. (thebasti)


Lesenswert?

Hallo

Über RS232 hat es ja bei mir einfach nicht geklappt...entweder Kabel
hin oder die Schnittstelle vom Laptop ist schuld(macht bei Nullmodem
auch schwirigkeiten). Aber, ich habe es jetzt per Paralell
Schnittstelle probiert und hat gleich geklappt. Da werde ich
warhscheinlich jetzt auch bei beibehalten denn wenn du sagt das(die
RS232) es so lange dauert kann ich es nicht brauchen. Mit der Paralell
to ISP geht die Sache flott.

Ne echt teure Platine benötige ich doch wenn ich erstmal nur ein paar
LED und Taster verarbeiten will gar nicht. Ich habe mit dem AVR nix
weltbewegendes vor...ich will ein wenig die Sache kennen lernen was mir
als zukünftiger Informations Elektroniker sicher nicht vom Nachteil
ist.

So werde heute ein wenig rum experementieren.

mfg
Sebastian

von Hannes L. (hannes)


Lesenswert?

Nicht die RS232 ist das Problem, sondern der Transfer von einzelnen
Bytes (im Dialog) über die USB-Schnittstelle, die nunmal für große
Datenpakete (Multimediakonsum) ausgelegt ist und nicht für schnellen
Austausch einzelner Bytes.

Ich habe aber auch schon über die Pollin-Platine nachgedacht. Ich habe
aber drauf verzichtet, da ich viel mit einfachen, oberfächenbestückten
Testplatinen mache (siehe www.hanneslux.de) und seit einem Jahr über
ein STK500 verfüge, was ich als "Programmer" aber kaum nutze, da sich
meine Eigenbau-Lösung irgendwie einfacher bedienen lässt (Calibration).
Ich habe mich schon dabei erwischt, dass ich Testaufbauten auf dem
STK500 mit meinem Eigenbau-ISP programmiert hatte. 8-)

Wenn das bei dir mit dem Parallelport auf Anhieb klappt, dann genieße
es. Das Forum ist nämlich voller Berichte über Probleme damit. Auch ich
kam damals mit Pony nicht klar, weshalb ich meine eigene Lösung schuf.
Es lag vermutlich an dem langen Parallelkabel mit Umschalter. Die
meisten Probleme entstehen aber durch "zu stromsparende"
Schnittstellenschaltkreise (besonders bei Laptops und neuesten PCs)
oder zu lange Kabel.

Dann frohes Schaffen und guten Rutsch...
...

von Chris (Gast)


Lesenswert?

Hallo,
das Thema ist zwar schon etwas alt, aber ich versuche gerade auf Teufel 
komm raus das Pollin Board via Bascom zu Programmieren, leider geht 
garnichts. Welche einstellungen muß ich im Bascom machen, Pony Prog 
läuft wunderbar aber leider kann ich kein ASM, ich wollte das mit Basic 
machen.

Chris

von Frank (Gast)


Lesenswert?

dann machs doch in BASIC. Wo siehst du das Problem? Gibt dir dein 
Compiler keine Hex-Datei raus? Die musst du doch nur mit Ponyprog 
übertragen und schon gehts.

bye

Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.