- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 8 von 8

Thema: ATtiny13A: HESUNSE (CY800) Funksteckdosenprotokoll auswerten

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Zitat Zitat von Bernd_Stein Beitrag anzeigen
    Nur ist der interne RC-Oszillator bei mir dermaßen ungenau, dass er statt mit den 600kHz mit ca. 410kHz läuft, wie man im Scrennshot zum 1ten Bit sehen kann ( 550µs ).

    .....

    Jaaa... nicht ganz, aber auch hier wieder den ungenauen RC-Oszillator beachten. Die 300kHz werden bereits in der INT0-ISR eingestellt und gelten somit für die darauf folgende PCI0-IRQ und schließlich immer für die OC0A-IRQ.
    Hallo Bernd,

    irgendetwas stimmt da nicht. Der PCINT tritt auf, wenn sich an Data was tut. Zu dem Zeitpunkt ist OCR0A mit dem Wert 66 geladen und der Systemtakt auf 1/16 in INT0 mit CLKPS2 gestellt (die theoretischen 300kHz). In der PCINT ISR wird dann der TIMER0 gestartet und soll damit eine Zeit von 550µs bis CTC Comparematch machen? oder wo soll man die 410kHz im Screenshot ablesen?

    550µs/(66+1) = 8,2µs für einen Timerstep. Der Timer wird also mit 1/8,2µs=121,951kHz getaktet.
    Wegen 1/16 ist der Systemtakt = 16*121,951kHz= 1,951219MHz und nicht die theoretischen 4,8MHz. (Dann komme ich aber statt 1100µs aber auf über 1500µs bei OCR0A = 192 und 1/16 SYSCLK)

    Läuft der Timer mit 1/8 SYSCLK wären das 1,951219MHz/8 = 243,902kHz und nicht 410kHz.

    Bitte überprüfen und/oder Korrekturrechnung bzw jetzt genau mal den SYSCLK explizit über zB OC0A toggle messen. Ist der Systemtakt stabil? Ist die Stromversorgung stabil und sauber?

    Der µC geht zwischen den Comparematch Interrups immer wieder in den Idle Sleep. Laß ihn doch mal durchlaufen ohne Sleep. Sind die Zeiten dann konstanter?

    Die Diskrepanz von 4,8Mhz zu 1,9Mhz ist arg. Vielleicht mal einen neuen µC probieren?

    Gruß
    Searcher

    PS und das auf 0 Setzen des TCNT0 in der Comparematch ISR ist doch eigentlich nicht nötig. Der Timer ist doch auf Comparematch eingestellt. Es reicht das OCR0A beim ersten Mal auf 192 zu stellen und von mir aus jedes Mal. Rücksetzen von TCNT0 an der Stelle verkompliziert die Berechnung, da ja die Zeit von Aufruf der ISR bis Rücksetzten des Timers ja uach noch verrechnet werden muß.
    Geändert von Searcher (05.05.2020 um 20:00 Uhr) Grund: TCNT nicht immer Rücksetzen
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. [ERLEDIGT] ATtiny13A: Wo kommt der eine Takt her?
    Von Bernd_Stein im Forum Assembler-Programmierung
    Antworten: 27
    Letzter Beitrag: 03.05.2020, 17:04
  2. [ERLEDIGT] ATtiny13A: Frage(n) zum Register GTCCR
    Von Bernd_Stein im Forum Assembler-Programmierung
    Antworten: 8
    Letzter Beitrag: 01.05.2020, 18:04
  3. [ERLEDIGT] ATtiny13A: Pin Change Interrupt vs. INT0
    Von Bernd_Stein im Forum Assembler-Programmierung
    Antworten: 7
    Letzter Beitrag: 17.04.2020, 17:17
  4. [ERLEDIGT] Empfängersignal mit ATtiny13A erkennen
    Von Lichti01 im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 24.06.2017, 08:19
  5. Attiny13a RS232
    Von flecralf im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 09.10.2013, 19:27

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test