- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: PWM mit TCA auf Attiny 806

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.065

    PWM mit TCA auf Attiny 806

    Hallo Community,
    ich versuche schon ein paar Stunden den Timer ans laufen zu bekommen.
    Leider bin ich bis jetzt gescheitert.

    Ich bin gerade dabei eine von mir geplante Platine etwas zu ändern.
    Jetzt möchte ich gleichzeitig den uC von einen Attiny 44 zu einen Attiny 806 tauschen (neuer und mehr I/Os).

    Auf dieser Platine benötige ich PWM.

    Habe zum Testen einfach einen Attiny auf eine Adapterplatine gelötet und auf ein Breadboard gesteckt.


    Ich programmiere mit Atmel Studio 7. Die genaue Version ist 7.0.2389

    Das ist "Main", das Programm soll nur die PWM erhöhen (ist ein reines Testprogramm).
    Code:
    PORTC.DIR = (1<<PIN0_bp);
    PORTB.DIR = (1<<PIN0_bp) | (1<<PIN1_bp);
        
    PORTMUX.CTRLC = 0x03;
        
    TCA0.SINGLE.CTRLB = 0x35;
    TCA0.SINGLE.EVCTRL &= ~(TCA_SINGLE_CNTEI_bm);
    TCA0.SINGLE.PER = 0x00;
        
    TCA0.SINGLE.CTRLA = 0x0f;
    
    
    volatile  uint8_t PWM = 0, PWM_1 = 0;
        
    while (1) 
    {
        PORTC.OUTTGL = (1<<PIN0_bp);
            
        PWM++;
        PWM_1 = 255 - PWM;
        TCA0.SINGLE.CMP0BUFL = PWM;
        _delay_ms(100);
        TCA0.SINGLE.CMP1BUFL = PWM_1;
            
        _delay_ms(500);
    }
    Das delay(100) habe ich zum Test eingefügt, weil die PWM-Variablen in den Buffer geschrieben wurde. Zuerst habe ich CMP0L bzw. CMP1L getestet und danach die BUFL.
    Am Anfang habe ich mit 20MHz getestet (20MHz Takt ohne Prescaler), habe danach auf ~3,3MHz verringert. Verschiedene Timer Prescaler habe ich auch schon getestet. Habe noch einiges mehr getestet (z.B. mit und ohne CNTEI), alles ohne Erfolg.


    Meine Frage ist, ob sich jemand mit dem uC auskennt und mir einen Tipp geben kann.


    Ich habe den Timer eingestellt, so wie es laut DB sein sollte für Single Modus.

    Laut Debugger ist der Timer auch aktiv, aber CNT ändert sich nicht (bleibt "0"). Die beiden Ausgänge schalten auch nicht.


    MfG Hannes
    Geändert von 021aet04 (07.11.2021 um 19:56 Uhr)

Ähnliche Themen

  1. [ERLEDIGT] UART bei ATTINY AVR 1 Serie (ATTINY 412)
    Von Gnom67 im Forum C - Programmierung (GCC u.a.)
    Antworten: 19
    Letzter Beitrag: 27.12.2018, 22:17
  2. Attiny PCB
    Von moritz31 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 29.04.2016, 15:10
  3. AtTiny 12L + 1*16 LCD ?
    Von Robin1508 im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 27.12.2007, 14:55
  4. ATtiny 13 mit Stk 500
    Von AVRboy im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 01.10.2006, 16:36
  5. ATtiny 13 bzw. 85
    Von MrQu im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 16.05.2005, 15:51

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad