- Akku Tests und Balkonkraftwerk Speicher         
Seite 9 von 11 ErsteErste ... 7891011 LetzteLetzte
Ergebnis 81 bis 90 von 103

Thema: Ersatz des atmega8 mit einem atmega32

  1. #81
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Anzeige

    LiFePo4 Akku selber bauen - Video
    hi Ceos,

    ich glaube damaltor hat recht...

    Das diese idee hier einigermassen in sich vollständig erscheint liegt vielleicht daran, dass ich nicht nur einmal beschreibe dass ich etwas gemacht habe, sondern auch sackgassen beschreibe (z.b. 2 gescheiterte möglichkeiten der hochkontaktierung), ich schildere auch fragen und probleme mit denen jeder anfänger (also auch ich) bei so etwas konfrontiert wird...
    Aber auch ich gehöre zu denen, die über "vieles nur wenig wissen" (also keine spezialisten), bin eher von der mechanischen seite, kein microprozessorprofi aber habe hierdurch unheimlich viel gelernt.
    Angefangen hat das ganze damit:
    https://www.roboternetz.de/phpBB2/ze...t=tiefergelegt

    das war vielleicht noch sinnvoll, wenn auch nicht zwingend erforderlich, hat nur oben auf dem asuro etwas platz geschaffen, hatte aber nichts damit zu tun, den asuro bis an seine grenzen auszureizen...
    Durch die akkus kam die idee mit dem automatischen auffinden seiner ladestation:

    https://www.roboternetz.de/phpBB2/vi...er=asc&start=0

    Da glaubte ich schon an die hardwaregrenzen des asuro gekommen zu sein, weil ich für die realisierung einige funktionen gleichzeitig zu brauchen glaubte, die die hardware eben nicht gleichzeitig hergab (liniefolgedioden und ultraschall z.b.). Heute glaube ich, dass es mit guter software genauso geht...
    Je weiter ich mit dem aufbau komme, sehe ich es so, dass der sinn des asuro nicht im hardwaremässigem ausbau steckt, sondern im ausreizen seiner gegebenen möglichkeiten durch raffinierte software durch evtl. minimale umbauten unterstützt.
    Je umfangreicher ein umbau, um so weiter entfernt man sich von der basis hier und das ist nicht nur schade, sondern im grunde kontraproduktiv. Ich glaube heute das ziel mit dem auffinden der ladestation auch ohne den atmega_32 erreichen zu können...
    Trotzdem werde ich den umbau zu ende machen, alleine wegen des übergreifenden lerneffekts, wenn auch mein schwerpunkt in zukunft schon mehr auf software liegen wird...

    hier sind noch ein paar bilder vom umbau:

    die erweiterungsplatine von der bauteilseite:
    die zweite kurze buchsenleiste (von rechts gezählt) hat keine funktion, zwischen die erste und dritte leiste ist von der lötseite her die 28 polige IC-fassung (umgebogene kontakte) dazwischengelötet.

    Bild hier  

    die erweiterungsplatine von der lötseite:

    Bild hier  

    hier habe ich einige verbindungen fest vedrahtet um sie nicht immer wieder stecken zu müssen:

    Code:
    signal      atmega_8         atmega_32              ISP
    
    MOSI      17                       6                    1
    MISO      18                       7                    9
    SCK        19                       8                    7
    RESET      1                      9                     5
    VCC         7                       10                   2
    GND      8,22                  11,31                4,6,8,10
    flachbandkabelverbindung:
    leider gibt es keine 28polige schneidklemmverbindungstecker für die schmale IC-form, deshalb war der adapter im nächsten bild notwendig

    Bild hier  

    adapter zwischen prozessorfassung und flachbandkabel:
    von der flachbandkabelseite her gesehen

    Bild hier  

    adapter von der prozessorfassung aus gesehen:
    die pinns zur fassung hin waren ursprünglich 0,6x0,6 im quadrat, wurdec auf 0,3x06 abgefeilt...

    Bild hier  
    gruß inka

  2. #82
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi allerseits,
    habe jetzt nach der grundschaltung

    https://www.roboternetz.de/wissen/in...ung_mitisp.gif

    den atmega_32 auf der oberen platine aufgebaut - programme lassen sich mit avr-studio flashen und verifizieren, prozessor wird aber von dem myavr board nicht gefunden (im gegensatz von dem atmega_8 mit vergleichbarem aufbau).
    Das gleiche noch einmal auf einem steckbrett, das gleiche ergebnis. Beim atmega_8 war keine besondere vorbereitung des prozessors (fusebits o.ä.) notwendig, ist es beim 32 anders?

    Ist der atmega kaputt? kann ich es irgedwie prüfen?

    danke...
    gruß inka

  3. #83
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    das könnte evtl am standardmäßig eingeschaltetet JTAG interface liegen, welches einen vollen port belegt. aber wenn du die fuses verändern kannst, dann probiere mal folgende einstellungen für den MEG32:

    Low Fuse: 0x1E
    High Fuse: 0xC7

    das wäre:
    externer quarz, lange startup-zeit (damit der quarz in ruhe einschwingen kann)
    Brown-Out-Detector eingeschaltet, level 0 (fällt die betriebsspannung unter 4V geht der prozessor in reset)
    Kein Bootloader
    EEPROM bleibt bei reprogrammierung erhalten
    CKOPT Rail-to-Rail (Quarz schwingt mit großer amplitude. kostet 1-2 mA mehr strom, aber ist sehr störunempfindlich)
    ISP enabled (sonst lässt er sich ja nicht programmieren... )
    JTAG aus (sonst ist ein kompletter port belegt, und kann nicht für anwenderprogramme genutzt werden (ACHTUNG: dies ist standardmäßig aktiviert, evtl wird deshalb nichts funktionieren) )
    On-Chip-Debug aus (ohnehin nicht ohne jtag nutzbar)

    sowie jtag ausgeschaltet ist, sollte es denke ich funktionieren.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  4. #84
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi damaltor,
    danke erstmal....
    ich glaube nicht dass ich mit den mir zur vefügung stehenden mittel die fusebits sehen, bzw. ändern kann. aber schauen wir mal...

    da der prozessor von dem myavr tool nicht erkannt wird, habe ich nur eine möglichkeit irgendwelche fusebits daten zu sehen, wobei ich nicht weiss, ob es die daten des prozessors sind.
    das tool vopn avr-studio bietet im advancemode folgende einstellmöglichkeiten, von denen ich nur den JTAG erkannt habe:
    SPI Enable
    BOOTRST
    EESAVE
    OCD enable
    und den JTAG enable...

    weiter steht dort Bodlevel 2,7V (einstellbar)
    boot block 256 words (einstellbar)
    ext LFXtal - habe ich jetzt auf 67ms + 32K CK eingestellt, was auch das hinter dem + zu bedeuten mag...

    diese daten sind nur bei abgezogenem ISP stecker manipulierbar, wenn ich das myavr board mit dem prozessor verbinde (ISP) sind sie fest(grau) ich kann zwar irgendwelche daten auslesen, die angezeigten ändern sich nicht...
    Einstellen kann ich
    Mode1 - no programm lock features
    BLBO mode1 - no lock aplication section
    BLB! mode1 - no lock boot loader section

    selbst wenn ich diese einstellungen reinschreibe( write, die grüne LED am myavr board flackert) ist beim nächste herauslesen wieder alles beim alten:
    mode3 - Verify and programming disabled
    BLBO mode3 - No LPM, No SPM aplication section
    BLB1 mode3 - No LPM, No SPM boat loader section

    irgendwie komme ich nicht weiter...
    gruß inka

  5. #85
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    pass auf dass du nicht irgendwas in den prozessor schreibst, du kannst ihn mit falschen fusebits zwar nicht zerstören, aber auf jeden fall unbrauchbar machen.

    versuche mal mit ponyprog dein glück, oder mit einem selbstgebauten adapter. auch in winavr kann man die fuses doch verändern oder?

    edit:
    das hier könnte dir helfen, es berechnet die fusebytes:
    http://palmavr.sourceforge.net/cgi-b...a32&P=ATmega32
    achte darauf dass:
    SPIEN immer prgrammed (0) ist
    NIEMALS Ext.clock (0000) ausgewählt ist
    JTAGEN unprogrammed(1) ist
    OCDEN unprogrammiert(1) ist

    aus der obersten auswahlliste kannst du die taktquelle (fpr einen quarz ext high speed resonator o.ä.) und die zeit auswählen nach der er starten soll (im zweifelsfall lieber zu lang als zu kurz). sie wird angegeben in millisekunden plus kilotaktzyklen, also 1ms+1CK ist eine millisekunde plus 1000 zyklen).



    morgen zu einer vernünftigen zeit werde ich das genauer erklären wenn du noch fragen hast.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #86
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von damaltor
    pass auf dass du nicht irgendwas in den prozessor schreibst, du kannst ihn mit falschen fusebits zwar nicht zerstören, aber auf jeden fall unbrauchbar machen.
    also doch zerstören (=unbrauchbar). gibt es keine möglichkeit den prozessor wieder in den ur-zustand zu versetzen? das geht doch bei jeder armbanduhr!!! Selbst beim pc reicht es wenn man die batterie für ne zeitlang abklemmt. Also echt - keine chance mit (z.b.) 5V an pin x und y anlegen, alles gelöscht, bzw hard-resettet?

    Zitat Zitat von damaltor
    http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega32&P=ATmega32
    .
    habe ich mir angeschaut, sind so viele fachbegriffe die mir absolut fremd sind...
    Was mich wundert ist der unterschied zwischen AM_8 und AM_32! der 8er war ganz easy, nix zum einstellen, einstöpseln und ging...

    ich habe mir die daten für die fusebits nun zusammengeschrieben, werde weiter mein glück versuchen...
    gruß inka

  7. #87
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    12.02.2006
    Beiträge
    459
    gibt es keine möglichkeit den prozessor wieder in den ur-zustand zu versetzen? das geht doch bei jeder armbanduhr!!!
    Hallo Inka,

    es sollte eigentlich möglich sein. Um den Prozessor wiederzubeleben brauchst Du "High Voltage Programming". Der AVR-Dragon kann sowas.

    Gruß,
    robo

  8. #88
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    mit einem HV Programmer kannst du ihn retten. aber sowas hat man normalerweise nicht zuhause

    zu den fusebits allgemein muss gesagt werden, dass "0" = PROGRAMMED also aktiv, und "1" = UNPROGRAMMED = inaktiv gilt. das wird jedoch von dem fuse calculator bereits berückschtigt.

    ok, gehen wir mal den calculator durch.
    wenn in den listen die werte passend ausgewählt wurden, dann stehen oben rechs die korrekten fuses. geh die liste stück für stück durch, und dann kannst du die beiden fuses in den prozessor schreiben.

    Liste1: CKSEL (clockselect) auswahl des taktsignales. möglichkeiten:
    EXT.CLOCK: ein taktsignal bestimmter frequenz wird ausserhalb des atmega generiert und über XTAL1 dem prozessor gegeben. nicht einstellen wenn du keinen externen taktgenerator hast
    INT.RC.OSC: der interne taktgenerator. auswahl von 1,2,4,8 mhz. dieser taktgenerator geht immer, auch wenn kein quarz und nichts weiter bis auf VCC und GND (sowie RESET) angeschlossen sind. standardeinstellung 1 mhz
    EXT.RC.OSC: Ein Externer RC-SChwingkreis ist angeschlossen. (plan im datenblatt). solltest du das jemals verwenden wollen, dann achte darauf die richtige geschwindigkeit auszuwählen (bis 0.9mhz, 0.9 bis 3 mhz, 3 bis 8 mhz, 8 bis 12 mhz) nicht auswählen wenn du keinen RC kreis dran hast
    EXT.LOW-FREQ.CRYSTAL: ein sehr langsamer quarz (B ein uhrenquarz mit 32,768 kHz) dient als taktquelle. sehr stromsparend. aber auch seh langsam.
    EXT.CRYSTAL/RESONATOR.LOW-FREQ: fast das gleiche, nur es darf auch ein schwinger verwendet werden. bei diesem bräuchte man dann keine kondensatoren gegen GND. diese einstellung würde ich bis etwa 1 mhz empfehlen.
    EXT.CRYSTAL/RESONATOR.MEDIUM-FREQ: externer quarz/schwinger, zu empfehlen bis maximal etwa 4 mhz
    EXT.CRYSTAL/RESONATOR.HIGH-FREQ: Schnelle externe, quarze, empfohlen ab 4 mhz bis zur maximalfrequenz. DIESE einstellung ist die richtige für einen quarz auf deiner platine!
    (diese empfehlungen sind erfahrungswerte, im datenblatt stehen ofizielle werte für welceh MHz bereiche man welceh einstellung nehmen soll.)

    immer noch in liste 1: SUT - Start Up Time
    Das bedeutet wie lange der Prozessor warten soll bis sich die systemspannung genug stabilisiert hat. probeweise am anfag maximal auswählen, dann evtl versuchsweise verkürzen. auch die längsten startverzögerungen sind jedoch nicht menschlich merkbar. angabe folgendermaßen:
    ###CK + ###ms
    das erste sind "KiloClockCykles", also tausend takte. 2CK sind 2000 takteinheiten.
    das zweite sind millisekunden.
    der prozessor wartet also eine taktanzahl und dann noch ein paar millisekunden um sicherzustellen dass die bordspannung stabil ist.
    wie gesagt, versuch am anfang das längste auszuwählen.

    so, das war die erste liste. der korrekte takt ist bereits eingestellet.

    Liste2: BOD (Brown-Out-Detection).
    Diese Einstellung sorgt dafür, dass ab einer (wählbaren) versorgungsspannung der AVR intern einen RESET generiert und dadurch angehalten wird bis die spannung wieder höher als der gewählte wert ist. so kannst du ihn vor fehlfunktion schützn und hast quasi noch ne batterieanzeige - wenn er nix mehr macht, sind die akkus leer
    ich empfehle das einzuschalten ("PROGRAMMED").

    Liste3: BODLEVEL
    Hier wählst du ab welcher spannung der prozessor aufhören soll zu arbeiten. wählbar sind 4,0 und 2,7 Volt. ich würde 4V lassen, denn wenn aus 4 akkus nur noch 2,7 volt rauskommen dann ist ohnehin was kaputt... =)

    Liste 4: BOOTRST (Boot-Reset)
    Dieses fuse darf nur dann PROGRAMMED sein wenn du einen bootloader aufgespielt hast. dann wird dafür gesorgt dass der prozessor zuerst in den bootloader springt (welcher am ENDE des speichers abgelegt wird) und dann das hauptprogramm abarbeitet. für normalgebrauch UNPROGRAMMED.

    Liste 5: BOOTSZ (Boot-Size)
    Hier kannst du auswählen wie viele wörter (1 wort = 2 bytes) der bootloader groß ist. beim asuro oriinal prozessor stände hier zB 512 words da er ja 1 kb groß ist. wenn du keinen bootloader verwendest dann ist es unerheblich was hier drin steht.

    Liste 6: EESAVE (EEPROM save)
    wenn der prozessor neu programmiert wird per ISP wird normalerweise der EEPROM gelöscht. wenn dieses bit PROGRAMMED ist, bleiben EEPROM werte erhalten.

    Liste 7: CKOPT (Clock Option)
    Dieses Bit hat unterschiedliche bedeutungen je nach taktwahl. ist zB hier ein uhrenquarz angeschlossen, dann können interne kondensatoren eingeschaltet werden (bei den schnellen quarzen leider nich ). bei schnellen quarzen wie unseren wird folgendes zur auswahl gestellt:
    CKOPT = PROGRAMMED:
    der quarz schwing mit höchstmöglicher amplitude ("Rail-To-Rail"). das kostet etwas mehr strom, ist aber dafür sehr störunempfindlich.
    CKOPT = UNPROGRAMMED:
    Der quarz schwingt mit einer geringen amplitude. das spart strom, aber kann evtl durch störungen zum stillstand kommen. dann hilft nur noch ein reset des prozessors.

    Liste 8: SPIEN (Serail Program Downloading Enabled)
    Wenn dieses bit UNPROGRAMMED ist, dann ist die ISP schnittstelle deaktiviert (!!) und es können keine programme mehr über ISP geflasht werden. (so zB beim asuro prozessor). aber keine angst, dieses bit lässt sich über ISP nicht verändern. trotzdem solltest du darauf achten dass es nicht UNPROGRAMMED wird.

    Liste 9: JTAGEN (JTAG enabled)
    Dieses fuse aktiviert die interne JTAG schnittstelle. dadruch gehen 8 prozessorpins verloren, aber man kann ihn (zB wenn man ein JTAG ICE kauft) ganz gut debuggen oder auch über JTAG flashen. für uns sollte das UNPROGRAMMED werden, damit alle pins voll nutzbar sind.

    Liste 10: OCDEN (On-Chip-Debug Enable)
    Dieses fusebit (de)aktiviert das debugging modul von JTAG. dieses sollte man auch deaktivieren (UNPROGRAMMED) wenn das JTAG interface abgeschaltet ist (JTAGEN). es benötigt eigentlich nur strom.

    JTAGEN und OCDEN sind beide standradtmäßik AKTIV, alsosind einige pins nicht nutzbar.


    versuch mal eine passende einstellung zu finden und dann poste deine fuse bytes hier. dann kann ich kontrollieren ob sie korrekt sind.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  9. #89
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi damaltor,
    enorm, danke, da brauche ich tage um das abzuarbeiten...
    im ernst, im moment brennts woanders, ich melde mich in ein paar tagen wieder hier...
    gruß inka

  10. #90
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    hrhr, kein problem...

    /me gibt inka einen feuerlöscher
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 9 von 11 ErsteErste ... 7891011 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test