ATMega32 och massor med interuppt

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> när jag tarbort den där loopen verkar allt vara normalt, spänningarna kommer upp i 5v istället för 2,5 som de va å lura vid förut med loopen...

Ligger spänninge fast på 2.5V eller är det ett genomsnitt (t.ex av en 38 Khz signal) du ser ?

> jag vet inte hur jag ska göra för att få det att funka!

Använd en PWM modul !
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

den hoppar lite runt 2,5...

ja, det blir nog bäst så...
kör på pwm då ;) hehe...
jo, pwm får de bli... det ska bli kul att lära sig de:)

då kan jag använda de i framtida projekt ifall jag vill ha motorer osv med :)

aja, tack sodjan...

Edit: för er som försöker med(troligen är de ingen mer, men kasnke i framtida liv) http://atmel.com/dyn/products/faq_card.asp?faq_id=1581 finns lite pwm exempel...
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Länken du hänvisar till är för atmels 8051 och inte AVR nu är det inte så stor skilnad men namn och några siffror i formel är fel....
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

ne, jag vet...

men, det är lite hjälp, jag vet lite vad jag ska leta efter i databladet :)
frejo
Inlägg: 496
Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping

Inlägg av frejo »

jag postade mer eller mindre komplett pwm-kod för atmega32 tidigare, kolla upp de registrena som används där.
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

Provade att kompilera den koden du skickade, men den funkade inte så bra...

men, det kanske va ja som missade något när jag skrev av de, det va rätt sent, ska prova sen ikväll igen...
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

Nu har jag fått lite hjälp med koden... den funkar bra...

det är bara det att jag äger inget oscilloscop och jag vet inte vad jag ska ställa ICR1A på för att få rätt frekvens...

om det nu är där jag ställer in frekvensen(?)

Kod: Markera allt

 #include <avr/io.h>
 #include <avr/delay.h>
 #include <avr/interrupt.h>
 int main (void)
{
    // Using phase & freq correct pwm, TOP=ICR1, freq scaling = 8
    TCCR1A = _BV (COM1A1);
    TCCR1B = _BV (CS11) | _BV (WGM13);
    OCR1A = 600;      // ~10% dutycycle
    ICR1 = 4167;    // 30Hz (tror jag att det är iaf)
    DDRD = _BV (PD5);   // enable OC1 as output
    /* enable interrupts */
    sei ();
} 
Skriv svar