PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR neuling braucht hilfe ( Hex-file erstellen)



MrGentlemen
05.03.2012, 12:02
Hallo,

Ich hab vor, ein attiny85V zu beschreiben und weiss langsam nicht mehr weiter, da ich auch recht neu in der materie bin. ](*,)
Ich hab das RN-control board 1.4 worn der attiny mittels steckbrett und kabeln angeschlossen ist.
Nun hab ich einen fertigen code, der nicht von mir ist, woran ich aber etwas ändern musste bzw was hinzufügen musste.
Den code/das programm hab ich mit angehängt.

Nun muss ich daraus eine HEx-datei erstellen (die hex datei die mit dabei ist ist nicht die veränderte, die ich brauch), aber ich weiss nicht wie ich das zustande bringen soll.
Ich weiss auch nicht in welcher sprache der code geschrieben ist, ich schätze aber mal c++ (bin mir nicht sicher)

Wie kriege ich jetzt aus den dateien eine hex-datei damit ich sie auf dem tiny schreiben kann?

wäre euch sehr dankbar für eure hilfe.

021aet04
05.03.2012, 12:11
Mit was programmierst du? Es gibt verschiedene Programme.

MfG Hannes

Sp666dy
05.03.2012, 12:17
Also wenn du AVR Studio noch nicht hast ist das eine gute Oberfläche zu Programmieren.

Die Sprach ist C... aber wie möchtest du was ändern wenn du nicht weißt wie und was das dann heißt....

Naja sobald du dein Code hochgeladen hast und eventuell die *.h hinzugefügt hast stellst du den Studio auf Simulation und drückst auf den Grünen pfeil oder auf compilieren dann müsstest du in den Ordner wohin du ihn auch angelegt hast ein debug ordner sein wo die jeweilige *.hex datei ist. um den aber dann im Attiny rein zu bekommen brauchst du ein programmer.

Willst du denn den attiny mittels den rn_control programmieren?

Wenn du löt zeug hast verbinde den Attiny doch einfach nach datenblatt mit den jeweilige isp schinittstelle und leg eine versorgungsspannung an.

Im allgemeinen wenn das keine einmalige Sache ist, geh doch einfach das tutourial durch von AVR und das ist auch beschrieben wie man ein Prozessor programmiert.

joar50
05.03.2012, 12:19
Hallo,
wie änderst du ein Programm, wenn du nicht weißt in welcher Sprache es geschrieben ist?
Dein angehängter Code ist in C geschrieben, nicht C++.
In welchem Programm hast du die Änderungen vorgenommen? Hoffentlich nicht in einem Textverarbeitungsprogramm.
Deinen geänderten Code musst du compilieren um eine .hex zu erzeugen. AVR-Studio mit WinAVR.

MrGentlemen
05.03.2012, 12:47
es handelt sich um diese änderung:
http://www.instructables.com/id/Battery-saving-TV-B-Gone-with-regionrange-selecti/step3/Firmware-modification/

da steht dass man die Main.c mit einem editor öffnen soll um das, was da steht hinzuzufügen und danach das ganze neu compilieren und daraus eine Hex-file erstellen.
Das ändern der main.c hab ich schon getan, aber ich schaff es nicht das zu compilieren und daraus eine Hex zu erstellen.
Deswegen mein hilferuf.

Kampi
05.03.2012, 13:00
es handelt sich um diese änderung:
http://www.instructables.com/id/Battery-saving-TV-B-Gone-with-regionrange-selecti/step3/Firmware-modification/

da steht dass man die Main.c mit einem editor öffnen soll um das, was da steht hinzuzufügen und danach das ganze neu compilieren und daraus eine Hex-file erstellen.
Das ändern der main.c hab ich schon getan, aber ich schaff es nicht das zu compilieren und daraus eine Hex zu erstellen.
Deswegen mein hilferuf.

Ja um eine Hex-Datei aus einem Code zu machen brauchst du einen Compiler.
Der Texteditor ist NUR ein Editor. Wenn du z.B. AVR-Studio benutzt hast du da einen Editor (dort schreibst du den Code drin), einen Compiler (dieser macht aus deinem Code den du im Editor geschrieben hast dein Hex-File) und eine Programmierschnittstelle (dort kannst du dann mit Hilfe eines Programmers das Hex-File auf einen Controller aufspielen).
Lad dir am besten AVR-Studio runter (4 oder 5 ist egal nur bei 4 musst du noch WinAVR installieren, das fällt bei 5 weg). Dort kannst du dann deinen Code aus dem Texteditor reinkopieren und daraus ein Hex-File machen.
Weil nur mit dem Editor kommst du nicht weit, weil du um ein Hexfile zu machen einen Compiler, ein Makefile usw. brauchst.

Sp666dy
05.03.2012, 13:00
wie öffnest du das denn???? in einer textdatei?

joar50
05.03.2012, 13:02
Wie schon geschrieben, AVR-Studio mit WinAVR installieren und darin deine .c compilieren. Manuals zur Installation und Benutzung gibt es im Netz. Schau bei mikrocontroller.net vorbei, dort gibt es einen Artikel darüber.
Hier der Link:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

joar50
05.03.2012, 13:04
wie öffnest du das denn???? in einer textdatei?
Wenn er das in einem Editor, wie geschrieben; gemacht hat ist es doch i. O,

MrGentlemen
06.03.2012, 22:57
So, ich glaub, dass ich es mittlerweile geschafft habe , die Hex-datei mit Programmers Notepad zu erstellen :p

Ich hab mit dem erbauer der schaltung geschrieben, und er hat mir gute hilfestellung dazu gegeben,

Allerdings kann ich die Hex datei nicht auf dem tiny übertragen.
Ich bekomme im PN folgende fehlermeldung:
> "make.exe" program
avrdude -p attiny85 -P lpt1 -c stk200 -b 19200 -B 1 -U flash:w:tvbgone.hex
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude done. Thank you.
make.exe: *** [program] Error 1
> Process Exit Code: 2
> Time Taken: 00:01

Ich hab die verbindungen überprüft und hab dabei bemerkt dass vom tiny zwei kontakte nicht verbunden waren.
Das waren:
Pin 2 (PCINT3/XTAL1/CLKI/OC1B/ADC3)
Pin 3 (PCINT4/XTAL2/CLKO/OC1B/ADC2)

Nun verwundert mich eines...auf dem ATMEGA32 sind auch die Pins XTAL1 und XTAL2 sowie ADC2 und ADC3
Wenn ich die pins an ACD anschliesse, dann bekomme ich immernoch diese fehlermeldung, und bevor ich mein board oder etwas anderes jetzt schrotte, frag ich vorher besser nochmal nach.

Wo muss ich die beiden pins vom Tiny denn jetzt anschliessen? an Xtal oder ACD?

021aet04
07.03.2012, 09:54
Ich bin mir zwar nicht sicher ob du einen brauchst, aber ich frage einmal. Wie hast du den mit dem PC verbunden? Brauchst du eventuell einen ISP Programmer? Wenn ja, hast du einen? Wenn du per ISP Programmierst brauchst du nur Versorgungsspannung, GND, Miso, Mosi, Clock und Reset. Es ist egal wieviele Anschlüsse der µC hat. Wenn du per ISP programmieren willst (und der µC per ISP programmierbar ist) brauchst du diese 6 Anschlüsse.
http://www.kreatives-chaos.com/artikel/avr-programmieradapter

Die einzelnen Bezeichnungen (z.B. PCINT, XTAL,...) sind alternative Funktionen des Pins. Als Beispiel Pin 2, dieser hat die Funktion als normaler Ein- oder Ausgang, dieser kann einen Pin change Interrupt auslösen (PCINT), man kann aber auch einen Quarz anschließen (XTAL), Takteingang (CLKI), PWM Ausgang (OC1B) und kann Analogsignale messen (ADC). Als was dieser genutzt wird wird im Programm eingestellt (mit den einzenen Registern).

Was mir bei dir auffällt ist das du STK200 mit 19200Baud an LPT 1 eingestellt hast. Stimmt das so?

MfG Hannes

MrGentlemen
07.03.2012, 10:14
Hi,
Natürlich hab ich einen ISP Programmer, und zwar diesen hier:
http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel



Was mir bei dir auffällt ist das du STK200 mit 19200Baud an LPT 1 eingestellt hast. Stimmt das so?

MfG Hannes

Ist das etwa falsch? Welcher wert soll denn da normalerweise stehen?

Ich hab dort stk200 hingeschrieben , weil der programmer von RN mit dem kompatibel ist.
Was ich sonst dahin schreiben sollte, wüsste ich jetzt nicht.

Kampi
07.03.2012, 10:22
Die Pins beim Tiny kannst du ruhig unbeschaltet lassen.
Wenn es ein neuer Tiny ist wo du nichts an den Fusebits umgestellt hast brauchst du die Pins nicht. Zum Programmieren sind die Pins nur wichtig, wenn du die Fuses auf einen externen Takt eingestellt hast. Dann musst du an den freien Pins des Tinys ein Quarz anschließen, weil du sonst nicht auf den Controller zugreifen kannst. Wie oben schon gesagt haben diese Pins mehrere Funktionen. Zum einen sind sie Anschlusspins für den internen ADC und zum anderen kannst du dort ein externes Quarz o.ä. anschließen (wird durch das XTAL1 und XTAL2 verdeutlicht).
Das heißt du musst die Pins nicht an die ADC Pins vom Mega anschließen, sondern an die XTAL1 und XTAL2 Pins. Damit verbindest du den Quarz, der für den Mega32 sein soll, mit dem Tiny (aber wie gesagt bei Werksfrischen Tinys braucht man keinen Quarz, weil die Defaulteinstellung auf interner RC-Oszillator gesetzt ist).

021aet04
07.03.2012, 10:48
Da kann ich dir dann leider nicht weiterhelfen. Ich programmiere mit AVR Studio und mache alles über die Software (Fuses einstellen, Programm aufspielen,...). Ich verwendete auch einmal so einen ISP Adapter in der Schule bzw als ich zum Programmieren angefangen habe. Ich habe den µC mit Ponyprog geflasht. Mit Programmers Notepad bzw AVR Dude kenne ich mich leider nicht aus.

MfG Hannes

joar50
07.03.2012, 11:45
So, ich glaub, dass ich es mittlerweile geschafft habe , die Hex-datei mit Programmers Notepad zu erstellen
Wie hast du mit einem Editor eine .hex - Datei erstellt? Ist mir rätselhaft.

joar50
07.03.2012, 11:51
Geh bei google auf die Bildersuche und gib "attiny isp" ein. Dann bekommst du genügend Bilder wie ein ATTiny für ISP zu verschalten ist.
Sind nur ein paar Drähte.

Kampi
07.03.2012, 11:53
Wie schon mehrmals erwähnt ;)
Fang lieber gleich mit AVR Studio an. Das ist am Anfang zwar um einiges komplizierter aber das gibt sich sehr schnell, wenn du erstmal weiß wo die wichtigsten Knöpfe sind. Und du hast damit halt viele Vorteile. Unter anderem sind dort die ganzen Peripherieregister aufgeführt, du hast nen Compiler und nen Programmer integriert.
Die Software ist komplett kostenlos und ist halt direkt von Atmel (sprich es sollte alles so funktionieren wie es sein muss :) ).
Also wie gesagt ist (meiner Meinung nach) eher zu empfehlen als so eine Programmers Notepad-Geschichte.

joar50
07.03.2012, 12:22
@Kampi:
Wenn ich den TO richtig verstehe hat er wahrscheinlich mit fremder Hilfe das vorhandene .hex - File im Programmers Notepad editiert ( was anderes kann die Software meines Wissens nicht). Nun versucht er über einen ISP-Dongle mit AVRDude einen ATTiny zu beschreiben.
Nur verstehe ich auch nicht wofür er 19200 Baud bei einem parallelen Anschluss angibt.
Der bessere Weg für ihn ist wahrscheinlich der von dir vorgeschlagene Weg über AVR-Studio. Dort evtl. noch die 4er Version. ISt meiner Meinung nach einfacher zu händeln und ich glaube nicht das er gleich in C programmieren will.

MrGentlemen
07.03.2012, 21:09
@ Joar50
Das Hex file hab ich mit PN erstellt, aber ich kriege es nicht auf den microcontroller (das kann man auch mit PN machen, da bei PN AVRdude integriert ist).
Hier steht der ablauf, wie ich es mit fremder hilfe versucht habe.
http://www.instructables.com/id/Battery-saving-TV-B-Gone-with-regionrange-selecti/step3/Firmware-modification/


mit AVR Studio hab ich es auch schon versucht, aber bei AVR studio 5 kriege ich den ISP nicht eingerichtet.
Wenn ich den ISP auwählen möchte dann kann ich da nur den AVR Simulator auswählen und nichts anderes (siehe anhang 1).

So, als nächstes weiss ich nicht welche adresse der parallelport hat und mit welcher baudrate er arbeitet, da es eine PCI schnittstelle ist und es weder 278,378 oder 478 gibt (siehe anhang 2)

OT:
Aller anfang ist schwer *seufz*

Wsk8
07.03.2012, 22:32
Also wenn er WinAVR installiert hat, dann kann er natürlich mit dem PN2 seine .hex erstellen.

In diesem Tut kannst du dir mal ein paar Einstellungen abschauen: http://www.rn-wissen.de/index.php/Bascom_-_Erstes_Programm_in_den_AVR_Controller_%C3%BCbertr agen
Falls es immer nocht nicht geht, dann lad dir Bascom runter und geh nach dieser Anleitung vor. Wenns dann immer noch nicht geht, dann liegts an deinem Programmer oder Controller.

mfg

MrGentlemen
08.03.2012, 07:15
Ich glaub ich hab den fehler gefunden (hoffe ich zumindest):

1. der Motortreiber (IC3) war falsch herum eingesteckt.
Ist behoben, aber problem besteht immernoch.

2. Die Pinbelegung des ISP-anschlusses auf dem Board besagt folgende Pinbelegung:


Pin 1 MOSI
Pin 2 VCC
Pin 3 Nicht belegt
Pin 4 GND
Pin 5 RESET
Pin 6 GND
Pin 7 SCK
Pin 8 GND
Pin 9 MISO
Pin 10 GND


Die des AVR ISP Kabels besagtdass der 9-Polige anschluss folgendermaßen belegt ist:



Pin 1 = MOSI
Pin 2 = LED
Pin 3 = RESET
Pin 4 = SCK
Pin 5 = MISO
Pin 6 = 5V (?)
Pin 7 = GND
Pin 8 = GND
Pin 9 = GND
weiteres siehe hier: http://www.rn-wissen.de/images/6/6b/Ispschaltplan.gif


So, ich habe das ISP kabel so belegt dass es 1:1 belegt ist und habe wohl nicht darauf geachtet die leitungen passend zuzuordnen, sprich Pin 1 vom 9pol. seriellen stecker geht an pin 1 vom ISP-Pfostenbuchse usw.

Wenn meine vermutung jetzt richtig ist, dann muss ich einfach das kabel den anschlüssen (MOSI, MISO usw.) neu zuordnen und hoffe dass es nann auch geht.

Kampi
08.03.2012, 07:50
Das sieht doch schonmal nach was aus.
Bei dem Motortreiber musst du gucken ob der es noch tut....verpolen ist nicht so gerne gesehen bei ICs ;)
Aber eine 5V Quelle wirst du bei deinem Kabel wahrscheinlich nicht haben (oder hat der LPT nen 5V Pin bzw. ist in der Lage über Datenpins ein ganzes Board zu treiben?), dementsprechend musst du die Spannung extern einspeisen. MOSI, MISO, SCK, RESET und GND musst du dann nur noch passend verbinden.

joar50
08.03.2012, 15:19
@MrGentlemen:
Ich muss nochmals meine Frage zu Programmers Notepad stellen.
Wenn ich dich richtig verstehe hast du damit editiert, copiliert und auch gebrannt. Soweit mir bekannt ist handelt es sich bei PM nur um einen Texteditor der in der v.2 um einen HEX-Editor erweitert wurde.
Wäre nett wenn du mal was dazu sagen könntest.

ePyx
08.03.2012, 15:24
Naja du kann via Menü die Schritt make, make program und make clean aufrufen. Das ist aber eine Funktionalität, die durch ein Makefile bereitgestellt wird. Programmers Notepad ruft da nur externe Programme auf. Zum Flashen wird dann avrdude benutzt.

MrGentlemen
08.03.2012, 20:54
@MrGentlemen:
Ich muss nochmals meine Frage zu Programmers Notepad stellen.
Wenn ich dich richtig verstehe hast du damit editiert, copiliert und auch gebrannt. Soweit mir bekannt ist handelt es sich bei PM nur um einen Texteditor der in der v.2 um einen HEX-Editor erweitert wurde.
Wäre nett wenn du mal was dazu sagen könntest.

Programmers Notepad (PN) nichts anderes als ein Texteditor mit Syntax Highliting. Wenn man zuvor mit dem AVR Studio gearbeitet hat, schreibt man seine Programme im Grunde genau so wie in diesem Editor. Anderst als im AVR Studio, werden Einstellungen am Makefile, oder das hinzufügen von zusätzlichen Header- und Quelltextdateien im PN per Hand vorgenommen.

MrGentlemen
09.03.2012, 14:48
Das sieht doch schonmal nach was aus.
Bei dem Motortreiber musst du gucken ob der es noch tut....verpolen ist nicht so gerne gesehen bei ICs ;)
Aber eine 5V Quelle wirst du bei deinem Kabel wahrscheinlich nicht haben (oder hat der LPT nen 5V Pin bzw. ist in der Lage über Datenpins ein ganzes Board zu treiben?), dementsprechend musst du die Spannung extern einspeisen. MOSI, MISO, SCK, RESET und GND musst du dann nur noch passend verbinden.

Ich dachte, die 5V kommen vom Board aus zu dem ISP O.o
Würdest du mich das mal genauer erklären?

Irgendwie passt da was nicht mit der belegung des programierkabels und des Boards....kann das vielleicht ein fehler sein?
Ich hab mal schnell mit eagle einen plan für einen adapter gemacht und ich bitte dich mal darüber zu schauen.
Über pin 6/2 müsste dann die 5V vom board laufen.
G1 und G1 müsst ihr euch einfach wegdenken.
Die Pinbelegungen sind die Originalen von dem RN-Control 1.4 und dem AVR ISP-Kabel von RN.
Muss ich GND noch nachträglich einfügen, oder läuft es von stecker zu buchse ohne dass ich was dazwischen schalten muss?

MrGentlemen
11.03.2012, 12:03
erstmal vielen dank für eure Hilfe.
Ich weiss dass es manchmal nerven kann, wenn jemand zuviele fragen stellt :-b

Mir ist gerade nochwas anderes aufgefallen.

Erstmal die datenblätter des tinys und des MEGA32:
Tiny (http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME= A200%2FATTINY25_ATTINY85-DB.pdf;SID=12Tzr0-X8AAAIAAFItlcA2abcf780bd7c2c212d64bba3bf92c2ec
MEGA32 (http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME= A300%2FATMEGA32.pdf;SID=12Tzr0-X8AAAIAAFItlcA2abcf780bd7c2c212d64bba3bf92c2ec

Ich habe den Mega aus der fassung des RN-controls genommen.
Hab den Tiny auf nem steckbrett gesetzt und mit steuerdraht die Pins des tinys (RESET, GND, VCC, SCK, MISO, MOSI) mit dem selben kontakten verbunden, wo auch der MEGA32 die benannten pins hat.
Ich hoffe man kann das verstehen ^^

Was mir auch noch auffällt ist dass wo der MEGA32 VCC und AREF hat, es eine verbindung gibt.

Ist das alles so richtig, oder hab ich da was falsch gemacht?

Kampi
11.03.2012, 12:22
Ja genau so ist es richtig.
Die Verbindung von Vcc zu Aref hat (beim Programmieren) keinerlei Bedeutung. Aref ist der Pin für die Referenzspannung des ADCs vom Mega32.
Fürs Programmieren brauchst du nur die 6 Pins die du da aufgezählt hast.

Edit:
Das mit der 5V Quelle bezog sich auf den Hintergedanken falls du das Board ohne externe Spannung programmieren möchtest :)

MrGentlemen
11.03.2012, 12:44
Ja genau so ist es richtig.
Die Verbindung von Vcc zu Aref hat (beim Programmieren) keinerlei Bedeutung. Aref ist der Pin für die Referenzspannung des ADCs vom Mega32.
Fürs Programmieren brauchst du nur die 6 Pins die du da aufgezählt hast.

Edit:
Das mit der 5V Quelle bezog sich auf den Hintergedanken falls du das Board ohne externe Spannung programmieren möchtest :)

Dank, aber es klappt immernoch nicht :(
das board reagiert quasi garnicht...´keine led leuchtet, kein ton, garnichts!
Ich steh kurz vorm aufgeben *seufz*

ePyx
11.03.2012, 13:09
Welchen Programmer benutzt du ? Wenn es ein ATMEL-Programmiergerät ist, dann kann es sein das er das Target nicht mit Spannung versorgt. Der MkII oder derDragon liefern keine Versorgungsspannung am VTarget Pin.

Kampi
11.03.2012, 13:13
Womit versorgst du den das Board mit Spannung?

ePyx
11.03.2012, 13:16
Womit versorgst du den das Board mit Spannung?

Hehe, gleicher Gedanke. ;) Nehme an, dass der µC keinen Saft kriegt.

Wsk8
11.03.2012, 14:35
erstmal vielen dank für eure Hilfe.Ich weiss dass es manchmal nerven kann, wenn jemand zuviele fragen stellt :-bMir ist gerade nochwas anderes aufgefallen.Erstmal die datenblätter des tinys und des MEGA32:Tiny (http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME= A200%2FATTINY25_ATTINY85-DB.pdf;SID=12Tzr0-X8AAAIAAFItlcA2abcf780bd7c2c212d64bba3bf92c2ecMEGA 32 (http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME= A300%2FATMEGA32.pdf;SID=12Tzr0-X8AAAIAAFItlcA2abcf780bd7c2c212d64bba3bf92c2ecIch habe den Mega aus der fassung des RN-controls genommen.Hab den Tiny auf nem steckbrett gesetzt und mit steuerdraht die Pins des tinys (RESET, GND, VCC, SCK, MISO, MOSI) mit dem selben kontakten verbunden, wo auch der MEGA32 die benannten pins hat.Ich hoffe man kann das verstehen ^^Was mir auch noch auffällt ist dass wo der MEGA32 VCC und AREF hat, es eine verbindung gibt.Ist das alles so richtig, oder hab ich da was falsch gemacht?So wie ich das verstehe, verbindest du nur die Pins, die zum Programmieren wichtig sind mit dem Board.Von daher kann das Board auch nicht funktionieren, keine LED leuchtet, kein Ton.....mfg

MrGentlemen
12.03.2012, 01:07
Welchen Programmer benutzt du ? Wenn es ein ATMEL-Programmiergerät ist, dann kann es sein das er das Target nicht mit Spannung versorgt. Der MkII oder derDragon liefern keine Versorgungsspannung am VTarget Pin.

Ich hab diesen Programmer.
http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel



Womit versorgst du den das Board mit Spannung?

über die Power-Schraubklemmenund einem netzteil mit 9V und 1000mA


So wie ich das verstehe, verbindest du nur die Pins, die zum Programmieren wichtig sind mit dem Board.Von daher kann das Board auch nicht funktionieren, keine LED leuchtet, kein Ton.....mfg

Ich hab mal eine zeichnung angehängt, wo man die verbindungen erkennt.
Das sind die einzigen verbindungen die ich gemacht habe.

ePyx
12.03.2012, 08:05
Hast du an dem Tiny einen Pullup für Reset dran ? Ansonsten sollten alle GND sowie AVCC mit VCC verbunden sein. Aber ich denke mal, dass das durch das RN-Control sichergestellt wird.

PS: Wo sind in deinem Verbindungsschema die LEDs etc ?

MrGentlemen
12.03.2012, 08:46
Hast du an dem Tiny einen Pullup für Reset dran ? Ansonsten sollten alle GND sowie AVCC mit VCC verbunden sein. Aber ich denke mal, dass das durch das RN-Control sichergestellt wird.

PS: Wo sind in deinem Verbindungsschema die LEDs etc ?

Ich denke mal der pullup ist aufm RN-board.
Ich schätze mal die microcontroller werden vom board mit spannung versorgt.
AVCC gibt es beim tiny nicht, nur VCC.

Ich hab mal zwei fotos gemacht, wie ich es angeschlossen habe.
Die schwarzen kabel die nach unten weggehen versorgen das board mit spannung.
Die anderen schwarzen kabel verbinden den tiny mit dem board, wie im vorherigen schaltplan.
Das flachbandkabel ist vom ISP.

ePyx
12.03.2012, 08:50
Und wie sollen die LEDs da laufen ? Wenn dann musst du die doch auch verbinden. So hast du nur die Programmierleitungen dran und wenn du nicht gerade diese Leitungen zum Ansteuern der LEDs/des Buzzers verwendest, dann wird auch nichts gehen.

Kampi
12.03.2012, 09:18
Der Pull-up ist auf dem RN-Control. Da braucht er keinen zusätzlichen.
Ich denke mal das Problem bezieht sich in erster Linie darauf, dass er nicht auf den Controller zugreifen kann, sprich irgendwas am ISP nicht stimmt.
Aber wäre gut wenn du hier nochmal für Klarheit sorgen kannst.
Kannst du das Programm nicht auf den Chip überspielen oder funktioniert das Programm nicht?
Deiin Verdrahtungsplan vom Board zum Tiny ist, soweit ich es beurteilen kann, korrekt.
Hast du mal die Gegenprobe gemacht und geguckt ob du den Mega32 auf dem RN-Control programmieren kannst (wenn möglich mit den selben Einstellungen zum Programmieren aber halt nur ein Programm für den Mega32).
Wenn das funktioniert ist die ISP Verbindung vom PC zum Board o.k. Dann können wir weiter gucken.

ePyx
12.03.2012, 09:24
Hast du an dem Tiny einen Pullup für Reset dran ? Ansonsten sollten alle GND sowie AVCC mit VCC verbunden sein. Aber ich denke mal, dass das durch das RN-Control sichergestellt wird.

Also ich hab das jetzt so verstanden, dass die Sache mit dem ISP klappt, aber er nicht das gewünschte Ergebnis nach dem Brennen hat. Sprich LEDs etc funktionieren nicht wie erwartet.

MrGentlemen
12.03.2012, 10:22
Und wie sollen die LEDs da laufen ? Wenn dann musst du die doch auch verbinden. So hast du nur die Programmierleitungen dran und wenn du nicht gerade diese Leitungen zum Ansteuern der LEDs/des Buzzers verwendest, dann wird auch nichts gehen.

Es geht hier nicht um die LEDs, sondern darum den Tiny zu programmieren.
Das mit den LEDs hat sich darauf bezogen dass die LEDs auf dem Board nicht leuchten wenn ich das Board anschliesse.
Das Board muss ja irgendwie ein lebenszeichen von sich geben.

Nochmal: Ich will auf dem tiny nur eine Hex file aufspielen, aber das programm (auf dem PC) meint es gäbe keine verbindung zum board.


Der Pull-up ist auf dem RN-Control. Da braucht er keinen zusätzlichen.
Ich denke mal das Problem bezieht sich in erster Linie darauf, dass er nicht auf den Controller zugreifen kann, sprich irgendwas am ISP nicht stimmt.
Aber wäre gut wenn du hier nochmal für Klarheit sorgen kannst.
Kannst du das Programm nicht auf den Chip überspielen oder funktioniert das Programm nicht?
Deiin Verdrahtungsplan vom Board zum Tiny ist, soweit ich es beurteilen kann, korrekt.
Hast du mal die Gegenprobe gemacht und geguckt ob du den Mega32 auf dem RN-Control programmieren kannst (wenn möglich mit den selben Einstellungen zum Programmieren aber halt nur ein Programm für den Mega32).
Wenn das funktioniert ist die ISP Verbindung vom PC zum Board o.k. Dann können wir weiter gucken.

Wenigstens verstehst du mich ;)
Das Programm funktioniert, aber es kommt, sowohl beim Mega als auch beim tiny, immer die meldung, dass das gerät nicht gefunden wird.
Ich hab mit dem testprogramm von der RN-cd versucht den mega zu programmieren...selber fehler.


Also ich hab das jetzt so verstanden, dass die Sache mit dem ISP klappt, aber er nicht das gewünschte Ergebnis nach dem Brennen hat. Sprich LEDs etc funktionieren nicht wie erwartet.

Das hast du falsch verstanden.
Ich hoffe es ist jetzt geklärt :cool:

ePyx
12.03.2012, 11:30
Das hast du falsch verstanden.
Ich hoffe es ist jetzt geklärt :cool:

Nun, mir kann es ja prinzipiell egal sein, da ich keine Antwort brauche. ;) Finde es nur recht krass, dass du es nicht schafft hast dein Problem - auf 4 Seiten - nicht einmal konkret geschildert hast.

Wenn das Board schon ein Problem darstellt, dann würde ich folgendes versuchen :


Spannungen mit einem Multimeter messen
Leitungen durchklingeln (Durchgangsprüfer oder eben auch DMM)

Wenn du das Board selbst zusammengebaut hast, nochmal ganz kritisch die Lötpunkt beäugen und eventuelle kalte Lötstellen und Kurzschlüsse ausschließen.

Das wären die ersten Sachen die ich ausprobiert hätte. Wenn die Spannungsversorgung funktionieren würde, hätte ich die ISP-Verbindung zuerst mit dem dafür vorgesehenen Controller ausprobiert und zumindest die Chip-ID ausgelesen.

Wenn du das alles getan hast und sämtliche Fehler ausschließen kannst, ist alles ok. Wenn nicht würde ich dort anfangen zu suchen. Bei einem einsamen Tiny auf einem Steckbrett ist es ja relativ schwer einen Kurzschluss unabsichtlich zu produzieren.

MrGentlemen
12.03.2012, 12:07
Nun, mir kann es ja prinzipiell egal sein, da ich keine Antwort brauche. ;) Finde es nur recht krass, dass du es nicht schafft hast dein Problem - auf 4 Seiten - nicht einmal konkret geschildert hast.

Wenn das Board schon ein Problem darstellt, dann würde ich folgendes versuchen :

Spannungen mit einem Multimeter messen
Leitungen durchklingeln (Durchgangsprüfer oder eben auch DMM)
Wenn du das Board selbst zusammengebaut hast, nochmal ganz kritisch die Lötpunkt beäugen und eventuelle kalte Lötstellen und Kurzschlüsse ausschließen.

Das wären die ersten Sachen die ich ausprobiert hätte. Wenn die Spannungsversorgung funktionieren würde, hätte ich die ISP-Verbindung zuerst mit dem dafür vorgesehenen Controller ausprobiert und zumindest die Chip-ID ausgelesen.

Wenn du das alles getan hast und sämtliche Fehler ausschließen kannst, ist alles ok. Wenn nicht würde ich dort anfangen zu suchen. Bei einem einsamen Tiny auf einem Steckbrett ist es ja relativ schwer einen Kurzschluss unabsichtlich zu produzieren.

guck mal bitte auf seite 1 ganz unten was da steht =)
Ist ja nicht böse gemeint, nur hab ich in diesem thread vielleicht mindestens 3 mal hingeschrieben welchen ISP ich habe, ob das board mit spannung versehen ist, ob ich es richtig angeschlossen habe usw.
Nimm es jetzt nicht persönlich, aber man sollte wenn dann schon den ganzen thread lesen, damit nicht jeder fragt welchen ISP ich habe oder ob spannung anliegt usw.

also, zurück zum thema:

-Spannungen hab ich hier und dort schon gemessen und sind soweit in ordnung. Gibt es allgemein bestimmte messpunkte die man messen sollte?
-Leitungen habe ich auch durchgetestet und kurzschlüsse sind keine vorhanden.

ePyx
12.03.2012, 12:12
Zwischen VCC und Masse sollten 5 Volt liegen. Wenn nicht, dann weiter vor gehen bis zum Spannungsregler. Dort sollte deine Eingangsspannung am Eingang anliegen (9V) und am Ausgang VCC.

MrGentlemen
12.03.2012, 12:26
Zwischen VCC und Masse sollten 5 Volt liegen. Wenn nicht, dann weiter vor gehen bis zum Spannungsregler. Dort sollte deine Eingangsspannung am Eingang anliegen (9V) und am Ausgang VCC.

Danke.
Spannungen sind so wie du beschrieben hast.
Was muss ich als nächstes prüfen? ^^

Kampi
12.03.2012, 12:26
Das der Mega32 auch nicht erkannt wird ist (gewissermaßen) ein gutes Zeichen :)
Überprüf mal, wie oben gesagt, die Spannung am Board. Wenn die Spannung stimmt (kannst du am besten an Pin 9 und 10 der 10-pol Wannenstecker messen oder an den drei Vcc und GND Anschlüssen über dem Mega32) nimmst du dir den ISP vor. Erstmal kontrollierst du deinen Programmer und dann den ISP auf dem Board.
Wie gesagt der ISP vom Board zum Tiny sieht gut aus aber prüf den auch nochmal.

ePyx
12.03.2012, 12:31
Die Spannungen sollte auch auf deinem Breadboard liegen. Also an VCC und GND des Tinys. Bei den gesteckten Kabeln auch ruhig schauen, ob da wirklich Kontakt besteht. Die gehen halt auch schnell kaputt und haben Wackelkontakte.

ISP würde ich auch überprüfen. (siehe Kampi's Post über mir)

Wenn du was zum Leuchten bringen möchtest, dann leg VCC an eine der LEDs auf dem Board (nicht vor den Vorwiderstand!). Dann weißt du, dass die Spannungsversorgung geht. Gleiches würde ich mit einer LED auf dem Steckbrett machen. Ansonsten wie gesagt, ISP prüfen. Wenn der mit dem MEga32 geht hast du halb gewonnen.

PS: Wenn ich alles persönlich nehmen würde, wäre ich hier nicht mehr angemeldet. Es zwingt mich ja auch keiner auf irgend etwas zu antworten.

Kampi
12.03.2012, 12:37
Die Spannungen sollte auch auf deinem Breadboard liegen. Also an VCC und GND des Tinys. Bei den gesteckten Kabeln auch ruhig schauen, ob da wirklich Kontakt besteht. Die gehen halt auch schnell kaputt und haben Wackelkontakte.

ISP würde ich auch überprüfen. (siehe Kampi's Post über mir)

Wenn du was zum Leuchten bringen möchtest, dann leg VCC an eine der LEDs auf dem Board (nicht vor den Vorwiderstand!). Dann weißt du, dass die Spannungsversorgung geht. Gleiches würde ich mit einer LED auf dem Steckbrett machen. Ansonsten wie gesagt, ISP prüfen. Wenn der mit dem MEga32 geht hast du halb gewonnen.

PS: Wenn ich alles persönlich nehmen würde, wäre ich hier nicht mehr angemeldet. Es zwingt mich ja auch keiner auf irgend etwas zu antworten.

Das mit den LEDs kannst du am besten machen indem du 5V ans Board anlegst und dann die Kontakte des Sockels vom Mega32 verwendest, welche für PortC sind, mit GND verbindest.
Hier hast du einen Schaltplan des Boardes vlt hilft dir das ja:

http://www.rn-wissen.de/images/3/31/Rncontrol1.4schaltplan90grad.gif

MrGentlemen
12.03.2012, 12:49
Ich hab übrigens gerade beim durchmessen bemerkt dass am I2C-Bus an den pins wo spannung anliegen soll, keinerlei spannung anliegt.
Ist das richtig so=

MrGentlemen
12.03.2012, 13:02
Die Spannungen sollte auch auf deinem Breadboard liegen. Also an VCC und GND des Tinys. Bei den gesteckten Kabeln auch ruhig schauen, ob da wirklich Kontakt besteht. Die gehen halt auch schnell kaputt und haben Wackelkontakte.

ISP würde ich auch überprüfen. (siehe Kampi's Post über mir)

Wenn du was zum Leuchten bringen möchtest, dann leg VCC an eine der LEDs auf dem Board (nicht vor den Vorwiderstand!). Dann weißt du, dass die Spannungsversorgung geht. Gleiches würde ich mit einer LED auf dem Steckbrett machen. Ansonsten wie gesagt, ISP prüfen. Wenn der mit dem MEga32 geht hast du halb gewonnen.

PS: Wenn ich alles persönlich nehmen würde, wäre ich hier nicht mehr angemeldet. Es zwingt mich ja auch keiner auf irgend etwas zu antworten.

Die Spannung (5V) für den tiny hole ich vom IC-sockel auf dem RN-control (PIN 10 VCC und PIN 31/11 GND) und sind auch richtig verbunden.
Die Verbindungskabel sind in Ordnung.

ISP habe ich schon überprüft.
Kein kurzschluss oder sonstige lötfehler zu sehen.
Durchgeklingelt hab ich auch - keine Fehler.

PSS: Gute einstellung ;)



Das mit den LEDs kannst du am besten machen indem du 5V ans Board anlegst und dann die Kontakte des Sockels vom Mega32 verwendest, welche für PortC sind, mit GND verbindest.
Hier hast du einen Schaltplan des Boardes vlt hilft dir das ja:

http://www.rn-wissen.de/images/3/31/Rncontrol1.4schaltplan90grad.gif

Danke :)

joar50
12.03.2012, 14:26
Es wäre evtl. hilfreich wenn du vom momentanen Aufbau (Verdrahtung) eine Skizze machen würdest. Aber bitte alles, also dein Programmieradapter (jeder Pin), dein Programmer (ISP - Anschlüsse zum Programmieradapter) und RN - Control (Stromversorgung zum Programmieradapter).
Also alles was du verwendest und wie es genau verkabelt ist.

Wsk8
12.03.2012, 14:31
Das ist jetzt nebensächlich. Das wichtigste ist, das Board überhaupt mal zum laufen zu bringen. Schnapp dir am besten den Schaltplan vom Board.
Als erstes legst du mal Spannung an und überprüfst jeden Pin, an dem laut Datenblatt eine Spannung anliegen soll, ob sie das auch tut. Wenn das passt, überprüfst du, ob alle Pins die zum Programmieren benötigt werden, auch Kontakt haben, also ISP-Buche <-> IC-Sockel. Dann überprüfst du alle Bauteile, die etwas mit dem Programmierleitungen zu tun haben.

mfg

joar50
12.03.2012, 17:59
@ Wsk8:
Dein Tipp ist hier bestimmt schon 10 mal gegeben worden. Antwort war immer ist alles i. O. Davon weißt du aber nicht welcher ISP - Anschluß auf welchem Pin de MC liegt. Ich finde es daher nicht nebensächlich, mal eine Skizze zur Verfügung zu stellen.
Immerhin erwartet der TO Hilfe, also müssen auch Informationen rüberkommen.

ePyx
12.03.2012, 18:36
Also, wenn dann habt ihr beide Recht. Skizze wäre nicht schlecht und wie gesagt, sollte das Board auch ohne Tiny funktionieren. Dann kann man sich um das Programmieren des Tinys kümmern.

Denn ohne Board, wird das nix mit dem Tiny.

MrGentlemen
12.03.2012, 18:56
Also:
Board ist (zum xten mal) dieses hier:
http://www.rn-wissen.de/index.php/RN-Control

Programmer ist (zum xten mal) der hier:
http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel
(http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel)
Falsch gelötet kann ich nicht haben, da ich für den programmer und das board mir die platinen aus dem RN-shop bestellt hab.
Datenblatt vom tiny und Mega ist eine seite zurück.
Wie ich es verkabelt habe ist auch auf der vorherigen seite zu sehen.
Die bauteile die auf dem board sind stehen auch unter dem link.

Ich steh kurz davor das teil in die Tonne zu kloppen...*seufz*

EDIT: was ich mich noch frage ist, ob ich die dioden (NICHT LEDs!) richtig rum eingelötet habe.
Also da wo auf dem Bestückungsplan der dicke schwarze strich ist, in dieser richtung ist auch der strich auf der eingelöteten diode.

Kampi
12.03.2012, 19:17
EDIT: was ich mich noch frage ist, ob ich die dioden (NICHT LEDs!) richtig rum eingelötet habe.
Also da wo auf dem Bestückungsplan der dicke schwarze strich ist, in dieser richtung ist auch der strich auf der eingelöteten diode.

Ja genau.
Nicht aufgeben! Der Fehler findet sich schon :)
Spannungsversorgung hast du geprüft?

MrGentlemen
12.03.2012, 21:09
Ja genau.
Nicht aufgeben! Der Fehler findet sich schon :)
Spannungsversorgung hast du geprüft?

Das sagst du so leicht :Haue
Ich such jetzt schon seit über einer woche nach dem fehler und bin bis jetzt kein stück weiter gekommen.
Da fällt einem das hoffen umso schwerer ^^

Spannungen sind okay.

Kampi
12.03.2012, 21:53
Die Frage ist auch ob dein Programmer funktioniert und richtig eingestellt ist ;)
Weiß leider nicht ob man für den Programmer etwas am PC einstellen muss.

ePyx
12.03.2012, 23:25
Naja Fehler in der Hardware sind zwar nicht schön, aber mit Geduld und Spucke zu finden. Meist sind es die einfachen Sachen die man falsch gemacht hat. Dioden oder Elkos falsch herum einlöten ist da nur eine der vielen Sachen, die mir da einfallen. Viel schlimmer ist es, wenn irgendwo ein Puffer überläuft und der Kram so komplex ist, dass man Tage damit verbringt den Code zu durchwühlen. Toll wenn man versucht einen Stack für ein Funknetzwerk zu implementieren. :rolleyes:

Spaß macht das vor allem, wenn das Übertragungsmedium Luft ist. ;) Von daher pack das Ding ein paar Stunden weg, hol Luft und dann noch einmal mit System ran : alles durchmessen und überprüfen. Das kann dir leider keiner abnehmen und jeder der hier herumrennt, kennt dieses Gefühl . Schließlich ist hier auch kein Meister vom Himmel gefallen.

MrGentlemen
14.03.2012, 05:17
So, Ich werd jetzt mal meiner intuition nachgehen und es mal mit einem anderen programmer versuchen.
Hab mir jetzt diesen hier
http://www.ebay.de/itm/Diamex-ISP-USB-Programmer-fuer-Atmel-ALL-AVR-Xmeg-ATmega-ATtiny?item=330658449629&cmd=ViewItem&_trksid=p5197.m7&_trkparms=algo%3DLVI%26itu%3DUCI%26otn%3D4%26po%3D LVI%26ps%3D63%26clkid%3D6986968188127138280
bestellt und werd euch auf dem laufenden halten

ePyx
14.03.2012, 07:48
Das Teil wird ja sicherlich erst zum Ende der Woche da sein. Aber das würde schon einmal den Programmer ausschliessen. ;)