- LiTime Speicher und Akkus         
Ergebnis 1 bis 8 von 8

Thema: Manche Tiny2313 senden falsche Werte

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    06.04.2006
    Beiträge
    48

    Manche Tiny2313 senden falsche Werte

    Hallo,

    ich habe bei ein paar Tiny2313 ein merkwürdiges Verhalten festgestellt.

    Ich habe eine Schaltung mit einem tiny2313 und MAX232. Spannungsreglung mit 7805 100nF an Ein und Ausgang und einem 100µ Elko dahinter. Selbstverständlich 100nF Abblockkondensator am Tiny.

    Der µC läuft mit internen 8 Mhz. Die Baudrate beträgt 19200 Baud.

    Die Schaltung fragt einfach nur Messwerte von einem externen Sensor ab und verpackt sie in 4 Bytes und sendet sie dann über den MAx232 zum PC der diese auswertet.

    Nun das Problem:
    Ich habe 10 identische Schaltungen. Alle wurden mit einem Prototypen des Tiny2313 getestet und funktionieren auch einwandfrei. Dann habe ich die 10 weitere Tinys programmiert, aber bei 3 sendet der Controller Werte die um 128 zu groß sind. NAchdem ich dann jeweils einen anderen Tiny programmiert habe, gab es noch einen mit diesem Fehlverhalten aber letztendlich konnte ich durch den Wechsel der Controller alle 10 Schaltungen zum einwandfreien funktionieren bekommen.

    Nun wollte ich natürlich Wissen warum das so ist. Ich habe also die Tinys in ein STK500 gesteckt und dort getestet. Dort funktionieren sie aber.
    Also nochmal in die Schaltung, dort senden sie falsche Werte. Immer um 128 zu hoch. Also ein falsch gesendetes Bit. Ich habe ein Oszi dran gehangen, keine Spannungsspitzen und Restwelligkeit < 50mV.
    Ich habe die gesendeten Daten zwischen Tiny und MAx232abgegriffen, die falschen Werte kommen definitiv vom Tiny.

    Hat jemand eine Idee woher dieses Verhalten kommen könnte? Vor allem warum es nur bei manchen Tiny2313 in Verbindung mit meiner Schaltung auftritt, aber der gleiche Tiny im STK500 keine Zicken macht.

    Ist das gleiche Verhalten evtl. schon jemand anderem passiert?

    Bin für jeden Tipp oder Hinweis dankbar.

    Viele Grüße
    Frank

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.12.2004
    Alter
    39
    Beiträge
    165
    guck dir mal das Timing des RS232 Signals an. Die internen RC-Oszis sind nicht sehr genau.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hallo,
    hast du das Calibration-Byte für 8MHZ der einzelnen Tiny2313
    ausgelesen und nach dem Start in das OSCCAL-Register geschrieben ?
    Automatisch wird nur der Wert für 4MHz geladen.
    Sonst kann der Systemtakt und damit auch die Baudrate ziemlich
    ungenau werden. Das kann dann zu Übertragungsfehlern führen.

    Gruß Jan

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    06.04.2006
    Beiträge
    48
    Hallo,

    ich weis natürlich das die internen Oszillatoren nicht sehr genau sind, aber wie gesagt auf den STK 500 laufen sie ja auch ordentlich mit internem Takt.

    @Jan
    Das war auch mein erster Gedanke, war aber leider nix. Ich schreibe das Byte mit Hilfe des AVR Studios ins EEProm und lese es nach dem Programmstart aus. Gegenüber der ersten Programmversion gab es keine merkliche Verbesserung.

    Um festzustellen, ob es am internen Takt liegt, werde ich am Wochenende mal eine Schaltung mit einem Quarz versehen und dann mal gucken ob es läuft.

    Empfangen tut der Tiny die Befehle übrigens einwandfrei. Er reagiert auf alle gesendeten Befehle absolut korrekt. Das auslesen der Sensoren wird über Befehle der Auswertesoftware gesteuert.

    Gruß Frank

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo,
    natürlich werden sie mit Quarz richtig funktionieren.
    UART mit internem Takt ist wie Lotto spielen, bei mir hat das noch nie richtig geklappt

    Du kannst zum Testen Deine "funktionierenden" Module mal in Kühlschrank stecken und gucken, ob sie dann noch gehen, oder die Spannung mal was niedriger machen.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn keine extra Fehler hinzukommen durch den Empfänger, einen ungenauen Teiler oder Pegelwandler die an die Grenze getrieben werden, kann die UART theoretisch noch bis fast 10% Frequenzfehler funktionieren. Bei niedrigen Baudraten sollte es also kein so großen Problem sein und hat bei mir bisher funktioniert.
    Wenn die Pins für einen Quarz noch frei sind, sollte man den aber zumindet als Option vorsehen.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    06.04.2006
    Beiträge
    48
    So, ich habe das ganze nun mit externem Quarz probiert und dann funktionieren auch die zickigen Tinys einwandfrei.

    Trotzdem würde ich gerne Wissen, was das STK500 anders macht. Denn da laufen die Tinys ja auch mit internem Takt einwandfrei.

    @izaseba
    Ich habe schon viele Schaltungen mit internem Takt gebaut und hatte bisher kaum Probleme damit. Ich nutze allerdings immer niedrige Baudraten von 9600 oder 19200 Baud. Die meisten Schaltungen landen in Schaltschränken, in den es nicht gerade Temperatur stabil ist. Trotzdem laufen einige schon seit Jahren ohne Probleme. Allerdings haben die meisten eine aufwendige Spannungsstabilisierung.

    Gruß Frank

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    @izaseba
    Ich habe schon viele Schaltungen mit internem Takt gebaut und hatte bisher kaum Probleme damit. Ich nutze allerdings immer niedrige Baudraten von 9600 oder 19200 Baud. Die meisten Schaltungen landen in Schaltschränken, in den es nicht gerade Temperatur stabil ist. Trotzdem laufen einige schon seit Jahren ohne Probleme. Allerdings haben die meisten eine aufwendige Spannungsstabilisierung.
    Wir könnten das ja weiter diskutieren, ich finde aber, daß Du selber die Antwort auf dein Dein Problem gefunden hast.
    Ich habe (nicht nur) meine Meinung zum Thema gesagt.
    Wie Du das jetzt interpretierst und was Du daraus machst ist alleine Deine Sache.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

Berechtigungen

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

LiTime Speicher und Akkus