Guten Tag,
ich habe mir vor einer Woche als Einstieg das oben genannte Board
besorgt und zusammengelötet. Eingebaut ist ein Mega8.
Angeschlossen an ein 12V Schaltnetzgerät habe ich das Board dann mit dem
PC(Win XP) verbunden und gleich fing die Fehlersuche an.
Bascom findet das Board nicht und schmiert alle 3 Öffnungen ab.
PonyProg weiß nichts von Com1: Fehler -24.
Einstellungen sind so wie in dem PDF von Pollin.
Ich habe erstmal das Kabel überprüft und mir ein zweites besorgt.
Das erste Kabel ist jetzt so modifiziert, dass am links oberen Pin auch
am Ausgang der links obere rauskommt.
Das andere habe ich original gelassen.
Probiert habe ich aber beide.
Zudem habe ich nochmal über die Pins geschaut und gemessen ob und wo der
Controller saft bekommt. Ich konnte bis jetzt kein Problem erkennen.
Nun habe ich den Spaß an meinem alten Dell Debian Rechner hängen und auf
ihm avrdude installiert. Das Board hängt jetzt am Port1.
AVR-Dude gibt mir ein:
Das würde ja heißen, dass eine Verbindung da ist aber keine Daten
fließen.
Ich würde es gerne noch mit einem anderen (habe noch 2 Atmega 8)
Controller versuchen aber ich muss den angeschlossenen erstmal aus dem
Sockel bekommen.
Solangsam bekomme ich da echt aggressionen gegen jegliche Dinge die
einen Com Port benutzen.^^
Hat jemand eine Idee wie ich das Ding zum laufen bekomme oder den Fehler
eingrenzen kann?
Vielen Dank.
guten tag
> ... Fehler eingrenzen kann?
ich nehme an, dass du das kabel an der ISP buchse J3 korrekterweise
angeschlossen hast und nicht am RS232 port J6 ?
gruss
hans
--
Jep, ist am ISP und nicht an RS232.
Danke für die Info, tutorials sollte man nicht blind folgen.
Bin umgestiegen auf ttyS nur scheint das niemand so zu nutzen oder
keiner hat meine Fehler im Netz.
Das folgende Problem besteht dann bei allen bestehenden Möglichkeiten:
avrdude: can't claim device "/dev/ttyS0": Invalid argument
avrdude: can't claim device "/dev/ttyS1": Invalid argument
avrdude: can't claim device "/dev/ttyS2": Input/output error
avrdude: can't claim device "/dev/ttyS3": Input/output error
Es gibt auch wirklich nur die 4:
>>ls /dev/ttyS*>>/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
Ich kann mir zur Zeit den I/O Error nicht erklären.
S0 ist doch default Port.
dmesg | grep -i ttyS*
[ 0.004000] console [tty0] enabled
[ 1.586721] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.586916] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 1.587618] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.587958] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 1805.561243] ttyS2: LSR safety check engaged!
[ 1809.553931] ttyS2: LSR safety check engaged!
> AVR Part : ATMEGA(
Prüf das mal. Da sollte stehen
AVR Part : ATMEGA32
Kann mir nur vorstellen, dass die Kommandozeile falsch eingegeben wurde
>> avrdude -p m32 -c ponyser -P /dev/ttyS0 -v
^
Leerzeichen!
oder dass deine avrdude.conf defekt ist. Der String "ATMEGA(" dürfte
nicht drin stehen! Für -p m32 sollte "ATMEGA32" drin stehen.
Die anderen Daten wie EEPROM und FLASH-Größe sehen aber OK aus, hmm.
Der Programmer -c ponyser hingegen ist wohl OK und die Schnittstelle -P
/dev/ttyS0 wohl auch.
Dann geht es jetzt los mit dem Hardwaredebuggen.
Du kannst z.B. den µC rausnehmen und
# eine Drahtbrücke zwischen MISO und MOSI an der IC Fassung anbringen.
Dann AVRDUDE laufen lassen und die Session mitschneiden (ausführlicher
mit -vv oder -vvv statt -v). Das zeigt, ob die MISO/MOSI Leitungen
Kurzschlüsse haben.
# Spannungen nachmessen am RESET-Pin (5V?) ohne AVRDUDE und während dem
simulierten Programmieren mit AVRDUDE (0V?). Bezugsmasse ist GND an der
IC Fassung
# Spannungen nachmessen am Vcc (5V?) und am AVcc Pin (5V?) der Fassung.
Bezugsmasse ist GND an der IC Fassung
# RS232-Kabel kannst auch komplett abziehen mit dem Durchgangsprüfer
durchpiepsen. Es sollte eine 1:1 Verbindung aller Pins vorhanden sein.
Ähm
>>> Eingebaut ist ein Mega8.>>
Wieso benutzt du ein
>> avrdude -p m32 -c stk200 -P /dev/parport0 -U flash:r:flash.hex:i
oder ein
>> avrdude -p m8535 -c stk200 -e -U qqtraff.hex
und ich merke das nicht und empfehle ein
> avrdude -p m32 -c ponyser -P /dev/ttyS0 -v
Wenn du einen Atmega8 benutzt lautet die Kommandozeile für den
grundsätzlichen Erkennungstest:
Das Atmega( kommt von einer Veränderung von mir.
Wollte 8 hinschreiben(habe die 32er Variante getestet habe aber einen
8er)
.
Von daher sollte das in Ordnung sein -> nachträglicher Schreibfehler.
Wie kann ich die Session mitlaufen lassen?
Einfach den oberen Befehl nochmal mit deinem veränderten Parameter?
Die Tests kann ich gerne nochmal machen falls ich mich vermessen habe,
Ergebnisse kommen dann morgen.
Durchgangsprüfung der Rs232 Kabel kommen auch morgen.
1:1 wäre in diesem fall dann, dass bei beidem Stecker auf dem selben Pin
piepsen sollte,oder?
> Wie kann ich die Session mitlaufen lassen?> Einfach den oberen Befehl nochmal mit deinem veränderten Parameter?
Ja und mit -vv oder -vvv statt -v gibt es mehr Ausgabe
> Durchgangsprüfung der Rs232 Kabel kommen auch morgen.> 1:1 wäre in diesem fall dann, dass bei beidem Stecker auf dem selben Pin> piepsen sollte,oder?
Bei meinen Kabeln sind auf dem Plastikeinsatz wo die Pins rausschauen
oder reingegen ganz kleine Zahlen auf dem Plastik. Damit ist es einfach
die zu messenden Pins zu finden.
Wenn das bei deinem Kabel nicht so ist, konzentriere dich auf den
Mittelpin in der oberen 5er-Reihe (bei dem 9-pol. Exemplar) an jedem
Kabelende. Diesen Pin Nr. 3 kann man nicht verwechseln. Bei einem sog.
Nullmodem-Kabel hast du keinen Durchgang und das Kabel ist nicht
geeignet. Wenn Durchgang da ist, dann die anderen Pins piepsen. Skizze
machen mit Nummerierung beim Blick in die Stecker.
Ok,
die Spannungsversorgung, Reset usw. sind geprüft.
Da liegt überall 5V an wo es sein sollte.
Der IC Sockel wurde auch durchgepiepst.
Schwarzes Kabel hat keine Verbindung von Port 3 zu Port 3.
Weißes hat eine.
Jetzt schau ich mal morgen wie die Pinbelegung ansonsten sein muss, denn
das weiße Kabel sollte dann stimmen auser ich habe etwas verklemmt.
Den Mega8 habe ich jetzt mal aus der Fassung raus gebracht und der
andere liegt bereit um eingebaut zu werden.
Mal schauen obs dann klappt.
Hier einmal die Bilder der Platine von oben und unten(ich hoffe das
Verlinken geht mit der Nettiquette in Ordnung).
http://img821.imageshack.us/i/imag0099fc.jpg/http://img638.imageshack.us/i/imag0100ko.jpg/http://img859.imageshack.us/i/imag0101a.jpg/
Unten:
http://img844.imageshack.us/i/imag0102h.jpg/http://img263.imageshack.us/i/imag0103se.jpg/
ttp://img838.imageshack.us/i/imag0104t.jpg/
ttp://img171.imageshack.us/i/imag0105c.jpg/
Die weiteren Dinge prüfe ich wenn ich wieder fit bin.
Den Umweg über Imageshack musst du nicht gehen. Du darfst Bilder direkt
an deine Antwort anhängen. Dabei aber den Artikel Bildformate
beachten. Hier angehängte Bilder sind bequemer zu betrachten als Bilder
auf einer Drittseite, finde ich.
Hallo, Babbs
sag mal mit was hast du da gelötet?
Ich würd sagen die Lötstellen sehen ein wenig komisch aus!
Leider kann ich auf den Bildern nicht so wahnsinnig viel erkennen.
Hast du eine geregelte Lötstation?
Beachte die richtige Temperatur zum Löten, und es sieht so aus
als ob du da verschiedene "kalte Lötstellen" hast.
Also nochmal ran, und "alle" Lötstellen mit der richtigen Temperatur
(alten Zinn mit Entlötpumpe oder Entlötlitze entfernen) unter Zugabe von
ein wenig Lötzinn neu löten, bis der Zinn richtig fließt.Man erkennt
eine "gute" Lötstelle daran das sie silbrig glänzt.
Bei den Dioden und Widerständen um D1 und D2 (als Beispiel, es sind aber
viele, wenn nicht sogar alle Bauteile betroffen) sieht man bei
dir auf der Bestückungsseite keinen Lötzinn, der ist aber wichtig
wegen der doppelseitigen Kontaktierung "einiger" Bauteile.
Ich hab dir mal ein Bild gemacht, so sollte es aussehen!
Vergleiche mal die beiden Lötstellen(siehe rote Markierung) mit deinen.
Und als Lötanfänger schau mal hier:
http://www.thestorff.de/richtig-loeten.php>...> Jetzt schau ich mal morgen wie die Pinbelegung ansonsten sein muss, denn> das weiße Kabel sollte dann stimmen auser ich habe etwas verklemmt.
Solltest du auch mal checken!
>...> Den Mega8 habe ich jetzt mal aus der Fassung raus gebracht und der> andere liegt bereit um eingebaut zu werden.>...
Hoffentlich nicht raus gebrochen. :)
Dafür gibts Spezialwerkzeug, oder du nimmst einen dünnen Schraubenzieher
und hebelst mittig beide seiten des IC's immer abwechselnd vorsichtig
aus der Fassung.
>Die weiteren Dinge prüfe ich wenn ich wieder fit bin.
Na denn gute Besserung!
Grüße...
hallo Babbs
ganz so schlimm wie Michael sehe ich es nicht. aber wenn ich mir eine
kritik erlauben darf, schoene loetstellen sind es nicht.
auf der loetseite hast du teilweise so lange drahtstuecke noch
wegstehen, dass sie u.u. zusammen stossen koennten. diese gehoeren
abgezwickt. mit dem seitenschneider sollte man es nicht machen, da gibt
es spezielle schneider dafuer mit einer schmalen spitzen schneide.
manche behaupten ja, dass nach dem abzwicken nochmals nachgeloetet
werden muss. diese meinung teile ich nicht unbedingt.
auch sollte man das uebrige flussmittel entfernen. das kann
unerwuenschte verbindungen erzeugen. das wuerde ich im wahrsten sinn als
erstes "bereinigen".
schoene gruesse
hans
--
Gelötet habe ich mit einer alten Lötstation meines Vaters.
Ja es war mein erster Lötversuch und das ganze war nicht ganz so
einfach. ;)
Ich nehme auch an,dass ich nicht immer die richtige Temp hatte,da das
Ding nur heiß macht.Aber danke für die Tipps ich werde nochmal schauen
das ich das etwas verbessere und dann nochmal einem Kollegen zum prüfen
mitgeben wenns nicht klappt.
Der Mega ist bis auf 2 kleinen Schrammen auf der hinterseite noch
originalgetreu herausgekommen.
Das wird wohl einige Zeit dauern.
Vll. sollte ich mir wenns nicht klappt nen usb programmer holen.
Wird dann insgesammt teuer das Projekt xD.
Bis morgen und danke für die Hilfe.
---> Hat geklappt.
Jetzt muss ich nur noch einen Weg finden wie ich Bascom gut unter linux
proggen kann.
Den Mega 8 muss ich ja dann noch auf 16Mhz takten nehme ich an?
Vielen Dank für eure Unterstützung. ;)
hallo Babbs
gratuliere.
> Ich nehme auch an, dass ich nicht immer die richtige Temp hatte
ich glaube, diesen fehler macht man oft. man traut den bauteilen die
tempereatur nicht zu. in wirklichkeit halten sie ohnehin viel aus.
> ... noch einen Weg finden wie ich Bascom gut unter linux ...
muss es bascom sein ?
warum nicht C mit einer vernuenftigen umgebung wie eclipse helios ?
> Den Mega 8 muss ich ja dann noch auf 16Mhz takten nehme ich an?
muessen nicht, aber es macht sinn ihn auf externe clock umzustellen.
> Vielen Dank für eure Unterstützung. ;)
bitte, gern geschah es.
schoene gruesse
hans
--
Der interne Oszillator ist doch völlig ausreichend solange nicht mit
RS232 gearbeitet wird.
Der arbeitet im Auslieferzustand mit etwa 1 MHz, kann aber per fuse auf
die achtfache Frequenz umgeschaltet werden.
Den Quarz würde ich erst dann angehen, wenn ich schon einige Erfolge
erzielt habe oder auf exakte Frequenz angewiesen bin.
Gerade external clock ist eine der Fallen, an denen man sich verfusen
kann.
Hallo liebe AVR-Freunde,
meine Klasse hat mit einem Lehrer den oben beschriebenen
Mikrocontrollerbausatz zusammengelötet. Er wurde testweise programmiert
und es gab keinen Ausfall.
Ausgestattet wurde das Board mit einem Atmega16.
Der zugehörige C-kurs kommt erst im nächsten Schuljahr dran. Da ich aber
schon sehr viel Erfahrung mit der Porgrammierung in C/C++ habe, habe ich
meinen Lehrer gefragt, wo und wie ich anfangen kann usw..
Habe dann auch alles bekommen was ich wollte.
Erstes Ziel was ich mir gesetzt habe, war einfach das vom Lehrer
aufgespielte Programm zu überschreiben, sodass ich weis, die Verbindung
steht.
Das hatte jedoch nicht funktioniert.
Nun das Problem:
Da ja seit Heute Ferien sind, habe ich keinen Kontakt mehr zu meinem
Lehrer. Das Problem habe ich ihn geschildert, und da ich "ausversehen"
(habe blind einem Tutorial vertraut) mit PonyProg Fuse Bits und securtiy
Bits verändert hatte, hab ich an dem letzten Tag (also Heute) einen
jungfräulichen Atmega16 bekommen und erfolgreich eingebaut.
Jedoch, besserte sich an meiner Situation nichts.
Das konkrete Problem mit dem Board:
avrdude bekommt keine Antwort vom MC über den COM beim programmieren.
Der COM ist meiner Ansicht nach richtig konfiguriert und steckt auch im
richtigen Slot vom Mainboard (habe ich nachgerüstet, Stecker stammt von
einem Steinzeit PC), und ist am Board an der ISP-Schnittstelle
angeschlossen.
Die Kommandozeile mit Fehler lautet wie folgt:
Double check connections and try again, or use -F to override
6
this check.
7
8
9
avrdude done. Thank you.
Damals mit PonyProg (ich hab's Deinstalliert, ansonsten könnte wieder
mein Lehrer böse auf mich sein) kann man ja die Einstellungen testen
lassen. Da kam immer "Test failed", also hatte ich da auch keine
erkennbare Verbindung.
Ich besitze auch einen Dongle von USB->COM, der genau 2 mal funktioniert
hat, da habe ich damals die Fuse Bits, nach dem 'Schema F' des Tutorials
geändert. Aber dann hatte es wieder nicht funktioniert.
Ich kann mir auch nicht erklären warum es von ungefähr 100 Versuchen nur
2 geschafft haben mit "Test OK" versehen werden, da konnte ich ein
vorkompiliertes Programm in den Speicher laden/brennen.
Nun sitz ich da, und habe keine Ahnung.
Das COM-Kabel wurde vom Lehrer mit bestellt, und sollte ein 1:1 Kabel
sein.
Ich könnte mir nur noch vostellen das ich etwas falsch gemacht habe,
beim einstecken des COM-Anschlusses am Mainboard, aber es ist doch
einfach nur ein stecker port?
Das Mainboard wäre ein: ASUS P5B-e
Mein Betriebsystem ist: WinXP, daher verwende ich auch WinAVR (wurde von
unserem Lehrer empfohlen)
Ich hoffe Ihr könnt mir helfen, es ist nämlich sehr interessant =]
Mit freundlichen Grüßen
Bastian L.
Du solltest PonyProg nehmen, die Setup Configuration durchführen und
Probe drücken. Wenn das OK ist dann weisst du das der COM-Port passt.
Erst dann weiter machen.
Bastian L. schrieb:> Ich könnte mir nur noch vostellen das ich etwas falsch gemacht habe,> beim einstecken des COM-Anschlusses am Mainboard, aber es ist doch> einfach nur ein stecker port?> Das Mainboard wäre ein: ASUS P5B-e
Ist der Stecker richtig auf die Stiftleiste aufgesteckt?
Markiertes Kabel ist Pin1.
Ist der COM-Port im BIOS des Mainboards aktiviert?
Danke für die schnellen Antworten.
Otto schrieb:> Ist der Stecker richtig auf die Stiftleiste aufgesteckt?> Markiertes Kabel ist Pin1.> Ist der COM-Port im BIOS des Mainboards aktiviert?
Ich habe mir mein Mainboard Büchlein geholt, und mal nachgeblätter um
sicherzugehen, dass ich den COM richtig angeschlossen habe. Habe dann
auch nochmal überprüft, ob der stecker noch richtig sitzt.
Im BIOS steht bei den OnBoard devices: Serial Port1 Address [3F8/IRQ4]
Hubert G. schrieb:> Du solltest PonyProg nehmen, die Setup Configuration durchführen und> Probe drücken. Wenn das OK ist dann weisst du das der COM-Port passt.> Erst dann weiter machen.
Habe erst die Überprüfung von Otto gemacht.
Nun kommt PonyProg2000 wieder ins Spiel. Habe es installiert. Den COM
mit der ISP schnittstelle des Boards verbunden. Saft an. Dann habe ich
auf Probe geklickt und es kam wie vorher auch schon: "Test Failed".
In allen 3 wählbaren Konfigurationen. Alle Checkboxfelder sind nicht
aktiv.
Natürlich bin ich im seriellen Reiter, und nicht im Parallelen.
An was könnte es denn noch liegen?
Mit freundlichen Grüßen
Bastian L.
Wenn das Board schon mal funktioniert hat, dann kann es nur das Kabel
oder der COM-Port sein.
Das Kabel ist auch gerade durch verbunden? Eventuell mal durchmessen.
Danke für die weitere Antwort.
Hubert G. schrieb:> Wenn das Board schon mal funktioniert hat, dann kann es nur das Kabel> oder der COM-Port sein.> Das Kabel ist auch gerade durch verbunden? Eventuell mal durchmessen.
Das Kabel hab ich mit meinen mitteln überprüft. Leider habe ich keine
Profi ausrüstung.
Nun bleibt nur noch die Möglichkeit dass der COM nicht geht, oder
eventuell ein Bauteil am Board kaputt gegangen ist?
Mit freundlichen Grüßen
Bastian L.
Das ComPort kannst du einfach überprüfen.
Das Kabel auf RS232 anstecken, den MAX232 heraus nehmen. Im Sockel
zwischen Pin7 und 13 eine Brücke stecken.
Ein Terminalprogramm starten mit der Tastatur etwas eingeben, es muss
als Echo zurück kommen.
Danke für die Antwort.
Hubert G. schrieb:> Das ComPort kannst du einfach überprüfen.> Das Kabel auf RS232 anstecken, den MAX232 heraus nehmen. Im Sockel> zwischen Pin7 und 13 eine Brücke stecken.> Ein Terminalprogramm starten mit der Tastatur etwas eingeben, es muss> als Echo zurück kommen.
Habe den MAX232 herausgenommen gehabt, und mit meinen Mitteln versucht,
die besagten Pins zu verbinden, leider hatte ich keinen kleinen Draht
dafür, sondern musste improvisieren und ich weis nicht genau ob der Test
funktioniert hat... Ich hatte ein Terminal gestartet, der COM war mit
der RS232-Schnittstelle verbunden, dann habe ich einen Test eingegeben,
es erschien der Text im Terminalfenster, aber er müsste doch dann
doppelt auftauchen? Das war nun nicht der Fall.
ABER, ich habe einen Weg gefunden, den MC zu beschreiben, wie gesagt ich
bin ja noch im Besitz eines Dongels (USB->RS232). Erst ging er
sporadisch, aber nun weis ich wie ich das machen kann, dass er immer
geht. Wahrscheinlich ein Treiber "problem" des Dongles. Ich muss das
Board im eingeschalteten Zustand mit dem Dongle anstecken, und dann erst
das USB Ende in den USB-Port stecken, dann geht es immer zu 100%.
Problem wie bei jedem Dongle, die Zeit von einem mini Programm zum
Übertragen dauert mehr als 2 Minuten! Aber damit kann ich vorerst Leben.
Vielen Dank für die Antworten
Mit freundlichen Grüßen
Bastian L.