- 3D-Druck Einstieg und Tipps         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 41

Thema: Ein AVR (AT TINY) programmieren - einfachste hardware?

  1. #31
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Anzeige

    Powerstation Test
    Die Schaltung mit dem 74xx244 gibt schon etwas mehr Schutz für den Parallelport. Die Ports sind gegen Kürzschlüsse und anlegen von Spannungen bis 5 V normalerweise ressitent. Was dagegen schädlich ist sind Spannungsspitzen durch statische Aufladungen wie sie beim Verbinden mit der Schaltung oder Berühren der Kontakte entstehen können. Das Andere Mögliche Problem sind eventuell -5V durch eine falsch verbundene Masse. Die 74xx ICs leiten derartige Spannungen erst einmal auf ihre Versorgungsspannung ab und ehrhöhen damit die Spannung im hoffentlich vorhandenen Kondensator ein wenig. Wenn man will kann man diese mit einer Zenerdiode auf ca. 5,6 V begrenzen. Wie schon oben erwähnt ist der Typische Schaden ein Latch-up, d.h. das IC verursacht einen Kurzschluß in seiner Versorgungsspannung und das schadet dem Parallelport nicht.

    Die Widerständen zwischen dem Parallelport und dem Treiber IC, die in manschen Schaltungen zu finden sind, haben durchaus ihren Grund: Sie Verhindern das der Prallelport den Programmierer und eventuell sogar die Schaltung mit Strom Versorgt. Bei mir fehlten diese Widerstände und das hat zu einem schwer zu finden Problem geführt:

    In der zu Programmierenden Schaltung war die Spannungsversorgung unbemerkt unterbrochen. Der Parallelprort konnte genug Strom liefern um die Prozessor ID auszulesen, aber beim Schreiben ins Flash gabs dann dauernd Fehler.

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    10.11.2006
    Beiträge
    78
    Hallo,

    darf ich mich anhängen: habe nach obigen Ratschlägen zur ISP die Schaltung (Parallelport) mit 74LS245 nachgebaut. Allerdings nach dem Bauplan von Gerhard Schmidt http://www.avr-asm-tutorial.net/avr_...ner/index.html

    Problem: AVR Studio 4 kann keinen Kontakt aufnehmen.

    Statt Paralellport über den klassischen 10pin Pfostenstecker mit dem STK500 verbunden lässt sich der Controller einwandfrei programmieren. Lötstellen usw. auch geprüft und i.O.

    Hat jemand Rat?

  3. #33
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    PonyProg verwenden, das AVR-Studio kann diesen Programmer nicht.

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    10.11.2006
    Beiträge
    78
    und ich hab mir schon die Haare gerauft... Danke für prompte Antwort!!!

  5. #35
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2007
    Ort
    Kornwestheim (kWh)
    Beiträge
    1.118
    Also ich hab mir den lpt-adapter mitm 74HCT244 gebaut, und dann mal mit bascom-AVR programmiert. Er macht auch immer das, was ich von ihm will, solange ich keine fehler programmiert hab.
    jetzt hab ich mir den SI-Prog in der vereinfachten variante gebaut, damit ich nicht immer am lpt umstöpseln muss.
    Hatte zwar auch beide male ein mulmiges gefühl, es gingen aber beide, der lpt mit Bascom und ponyprog, mit dem SI-prog kann ich mit ponyprog meinen AVR auslesen, beschrieben hab ich ihn noch nicht damit.

    Was mich jetzt nur wundert: mein bascom-AVR gibt mir beim Auslesen folgendes an (als Bsp. mal nur den Anfang, der Rest geht so weiter):
    Code:
    0000 C0 10 95 18 95 18 95 18 95 18 95 18 95 18 95 18 À.|.|.|.|.|.|.|.
    Und mein ponyprog das da (sowohl mit SI-prog, als auch mit dem lpt-HCT244-Adapter):
    Code:
    0000 10 C0 18 95 18 95 18 95 - 18 95 18 95 18 95 18 95 .À|.|.|.|.|.|.|
    Warum vertauscht ponyprog da jede zweite stelle?


    Und "Komplex" ist eine Frage der Sichtweise.
    An nem Parportadapter mit 74xxx244 finde ich nichts kompliziertes.
    Es sind ja nur eine Hand voll Bauteile.
    Wer das schon zu komplex findet und kapituliert der kann rein logisch betrachtet bei Mikrocontrollern nur noch Slebstmord begehen denn einfacher wirds bestimmt nicht.
    Wenn man das Datenblatt des 74HCT244 durchliest, versteht man die (fast) gesamte schaltung. zumindest ich.
    Gruß, AlKi

    Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
    ==> UMPROGRAMMIEREN!

    Kubuntu

  6. #36
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Zitat Zitat von AlKI
    Was mich jetzt nur wundert: mein bascom-AVR gibt mir beim Auslesen folgendes an (als Bsp. mal nur den Anfang, der Rest geht so weiter):
    Code:
    0000 C0 10 95 18 95 18 95 18 95 18 95 18 95 18 95 18 À.|.|.|.|.|.|.|.
    Und mein ponyprog das da (sowohl mit SI-prog, als auch mit dem lpt-HCT244-Adapter):
    Code:
    0000 10 C0 18 95 18 95 18 95 - 18 95 18 95 18 95 18 95 .À|.|.|.|.|.|.|
    Warum vertauscht ponyprog da jede zweite stelle?
    Hmm, das sieht ja nicht gut aus. Meine Meinung zu den ersten Datensätzen (evtl. ist die Allgemeingültigkeit jetzt beschränkt ): C0 ist ja der Relativ-Jump-Befehl - hinter dem die Sprungweite kommt. Und C0 steht in meinen hex-files immer VOR der Sprungweite. ALSO ist wohl in Deinem zweiten code-Beispiel irgendetwas nicht so richtig glaubwürdig.
    Ciao sagt der JoeamBerg

  7. #37
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2007
    Ort
    Kornwestheim (kWh)
    Beiträge
    1.118
    es ist so:
    Bild hier  
    Gruß, AlKi

    Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
    ==> UMPROGRAMMIEREN!

    Kubuntu

  8. #38
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Hi, AlKi,

    dazu kann ich nun nix sagen, da ich kein PonyProg verwende und dessen Handbuch nicht kenne. Aber auch Deine weiteren Codeteile sind ja im ponyprog "verkehrt" rum, denn der "reti"-code = 95 18 (hex) erscheint ja ebenso verdreht wie der Rest - aber das hattest Du ja schon selbst festgestellt.

    Fazit: rtfm. Oder hoffen wir, dass bald ein ponyprog-user antwortet.
    Ciao sagt der JoeamBerg

  9. #39
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2007
    Ort
    Kornwestheim (kWh)
    Beiträge
    1.118
    ja, mehr bleibt mir aber auch nicht übrig

    trotzdem vielen dank, denn jetzt weiß ich wenigstens, dass Bascom wirklich das programm ist, welches richtig ausliest.

    voher wusste ich ja nur, dass eines von beiden falsch sein muss.

    vlt. gibts ja irgend ne inverted-einstellung o.ä....


    !!!! [EDIT!]: gelöst:
    jap, da gibts bei Utility ne "Byte swap"-Funktion, die isses gewesen!
    Gruß, AlKi

    Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
    ==> UMPROGRAMMIEREN!

    Kubuntu

  10. #40
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Hallo AIKI,

    ich habe jetzt auch PonyProg. Und sehe die Codesequenzen wie Du sie zeigst. Die Frage war jetzt für mich - warum ist das so programmiert?

    Dazu habe ich mir Folgendes überlegt (vielleicht kann das bitte ein Programmierprofi kommentieren ?):
    bei den Programmen (z.B. in Assembler) wird üblicheweise die Folge MSB/LSB (most significant byte/least significant byte) eingehalten.

    Beispiel mit einem tiny-Befehl in Assembler:
    ADIW R25:R24, 2 ;Subtrahiert dez2 vom Word in den beiden Registern R25:R24
    siehe dazu auch die Notiz:
    http://de.wikipedia.org/wiki/Bitwertigkeit

    Es liegt also bei dieser Denkweise nahe, den Code als Word-Schreibweise (zwei Bytes bilden ein Paar) in dieser Art zu präsentieren: das erste Byte ist das HÖHERWERTIGE (höhere Adresse) und das zweite ist das NIEDERWERTIGE (niedrigere Adresse). Die Adressenfolge der Bytes ist demnach:
    2 1 4 3 6 5 ...
    Es ist also nur eine formalistische Geschichte. Und wie Du vermutlich feststellen kannst - der HEX-Code, den Du mit Ponyprog einlädst, wird (normalerweise, ohne Deine byte swap - Umstellung) in dieser Reihenfolge dargestellt - aber im Controller stehts dann schon richtig drin - und funzt auch wirklich .

    Nachtrag: ADIW ist die Addition, SBIW die Subtraktion, sorry.
    Ciao sagt der JoeamBerg

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests