Forum: Mikrocontroller und Digitale Elektronik AVR D/A Wandler mit PWM Signal?


von Cheater (Gast)


Lesenswert?

Hi Leute

Da ja bekanntlich die meisten AVR keinen D/A Wandler besitzen habe ich 
mich gefragt ob man einen solchen nicht einfach durch ein sehr schnelles 
PWM Signal imitieren kann?

Beispiel:
1
#include <avr/io.h>
2
#define F_CPU 1000000UL
3
#include <util/delay.h>
4
5
int main()
6
{
7
  DDRB |= (1<<1);
8
  while(1)
9
  {
10
    PORTB |= (1<<1);
11
    _delay_us(1);
12
    PORTB &= ~(1<<1);
13
    _delay_us(1);
14
  }
15
}
Das Prinzip ist jetzt hier vom Gleichspannungsregler abgeschaut. Durch 
ein ein/ausschalten im uSekundenbereich wird die Spannung auf einem 
Level gehalten. Die Spannung liesse sich noch mit einem zusätzlichen 
Kondensator glätten.

Nun, es funktioniert bei mir, ich habe an Pin 1 eine Spannung von 1.8 V. 
Gibt es bei dieser Vorgehensweise einen Hacken? Theoretisch wären dann 
ja all die vielen D/A Wandler unnötig...

von H.Joachim S. (crazyhorse)


Lesenswert?

Nicht schon wieder....
Du hast gerade die PWM erfunden. Macht man aber lieber mit einem Timer, 
der kann das besser und vor allem nebenbei. Mit deinem "Programm" ist 
der MC zu 100% ausgelastet.
Und - nein, D/A-Wandler sind nicht überflüssig.

von Cheater (Gast)


Lesenswert?

Ok, dann habe ich wohl PWM falsch begriffen. Tut mir leid.

Danke für den Hinweis zum Timer.

von Jacko (Gast)


Lesenswert?

Ja klar, "Sinüsse" o.ä. bis 100 Hz kann man schon mal
nebenbei (!) von einem µC-Counter mit PWM-Ausgang erzeugen.
Wenn der µC sonst nicht viel (besonders in Echtzeit) zu tun hat,
kriegt man auch wenige kHz noch halbwegs sauber hin

Bei Gleichspannungen ist das die erste Überlegung, bevor noch
ein IC auf die Platine kommen muss.

Die PWM-Frequenz muss natürlich deutlich höher sein, als die
Ausgaberate beim ADC, um bei gleichem Filteraufwand vergleichbare
Signalqualität zu erreichen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.