PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Attiny13 PWM



Sp666dy
20.11.2014, 00:37
Guten Tag,

nachdem ich jetzt viel mit den Arduino gemacht habe, habe ich viel verlernt:(...

Ich versuche ein einfachen PWM Signal rauszubringen und habe vielle Sachen ausprobiert.
Mein Problem ist das ich sofort bei der der Helligkeit auf 100% bin obwohl ich vielleicht beim
OCR0A = 10 bin.

Also ich erwarte ja bei OCR0A=127 ca die hälfte der leuchtkraft.




#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>


int main(void){



DDRB =(1<<PB0);

TCCR0A = (1<<WGM01) | (1<<WGM00) | (1<<COM0A1);
TCCR0B = (1<<CS00);
OCR0A = 0;

while(1)
{
if (OCR0A == 255)
{
OCR0A = 0;
}
else
{
OCR0A++;
}
_delay_ms(2);

}

}

Noch zur Info:
Nach den PB0 Ausgang vom Attiny13 liegt ein IRFB, wo ein LED Hotspot verbunden ist.
Im Grund schalte ich einfach den Hotspot mit den IRFB wie ein schalter.

Che Guevara
20.11.2014, 01:00
Hi,

der Zusammenhang zwischen dem Duty-Cycle und der Helligkeit ist nichtlinear! Google mal danach, ich glaube, es ist eher was in Richtung logarithmus.

Gruß
Chris

Unregistriert
24.11.2014, 17:31
Bei einigen AVR muss auch ein wert in OCRXC geschriben werden. (Der maximale Wert)

oberallgeier
24.11.2014, 18:10
Bei einigen AVR muss auch ein wert in OCRXC geschriben werden. (Der maximale Wert)Sp666dy hat nen tiny13 - dessen Timer kenne ich ziemlich gut, ein OCRxC existiert bei dem nicht, auch kein OCR0C. Ich kenne nicht mal nen mega mit einem OCRxC.


... sofort bei der der Helligkeit auf 100% ... beim OCR0A = 10 ... schalte ich einfach den Hotspot mit den IRFB wie ein schalter ...Ne ganz dumme Frage, abgesehen von Chris´Argument : was macht die LED bei deutlich niedrigeren Werten - 1, 2, ... 5 ... ? Weil ... , sorry Du wirst die LED schon richtig rum angeschlossen haben, aber ich hatte wohl mal ein ähnliches Problem als die PWM - je höher - die LED immer dunkler gestellt hatte (*ggg*). Weil ich beim Rumprobieren die Schaltung geändert hatte ...