PWM generera en sinusspänning som har justerbar amplitud

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Pajander
Inlägg: 223
Blev medlem: 25 april 2005, 15:04:26

Inlägg av Pajander »

Icecap: 640kHz pwm hastighet skall väll inte vara särskilt svårt från en mcu. Om jag förstår dig rätt så kan man välja vilken amplitud man skall ha på utsignalen när man räknar ut sin tabellen.

Därmed borde man kunna skriva ett program som genererar en tabell med den önskade amplituden och samplingsfrekvens och skriva in den i minnet på mcu´n. Sedan kan man stega igenom den med önskad utfrekvens?

Om man vill ändra amplitud blir man då tvungen att generera en ny tabell.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Om du nöjer dig med en 8-bit PWM ska PWM-kretsen klockas med 640kHz * 256 (8 bit) = 163,84MHz... så något större problem är det väl knappast men det är liiiiite svårt att fixa med µC som tuggar iväg med 40MHz...

Och tabellen kan man göra så att man matar in (fast) tabell med fullt utslag. Sedan kopierar man över den tabell till RAM-minnet och under kopieringen "scaler" man den till önskat utslag, halverar man t.ex. alla värden (räknat från ett mittpunkt) blir amplituden den halva självklart, tyvärr förlorar man även 1 bits upplösning på detta sätt, ytterligare minskning ger självklart minskade antal bitar.
Pajander
Inlägg: 223
Blev medlem: 25 april 2005, 15:04:26

Inlägg av Pajander »

Vad jag skall ha ut i andra änden är en sinus med frekvens variabel mellan 10-250 Hz. och då ska man väll inte behöva 163,84 MHz. 640kHz fick jag från din tidigare uträkning
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Ah... sov lite där så ja, det bliv lite kaka på kaka.

640kHz som PWM-frekvens räcker, och uppspelningshastigheten ska då varieras mellan 2560Hz och 64kHz.
Pajander
Inlägg: 223
Blev medlem: 25 april 2005, 15:04:26

Inlägg av Pajander »

Verkar görbart iaf, ska ta o forska vidare lite i det och göra en liten labbuppkoppling.

Tack för all hjälp.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> en sinus med frekvens variabel mellan 10-250 Hz.

I hur många steg ?
Eller jag kanske missade det...
Pajander
Inlägg: 223
Blev medlem: 25 april 2005, 15:04:26

Inlägg av Pajander »

sodjan:256 steg duger bra.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

OK, alltså för att sammanfatta...

10-250 Hz uppdelat (linjärt?) i 256 frekvenssteg och med 100 amplitudnivåer.

Med "linjärt" menar jag om det ska vara ett absolut frekvenssteg (250-10/256
eller ca 0.94 Hz/Steg) eller ett procentuellt lika stort steg. Ett procentuellt steg
ger samma rellativa steglängd över hela frekvensskalan. Ett linjärt steg ger
nästan 10% steglängt i början (10 -> 11 Hz) men bara 0,4 % steg i slutet
(249 -> 250 Hz).

Samma fråga finns ju även kring amplitudstyrningen...

Ett linjärt steg är sannolikt lite enklare att implementera i kod.
Pajander
Inlägg: 223
Blev medlem: 25 april 2005, 15:04:26

Inlägg av Pajander »

det går bra linjärt, behöver inte kunna ställa in exakta frekvenser. När det gäller amplituden så räcker det med att den kan varieras mellan 100% och 75% av max, dvs behöver inte kunna gå ner till 0
docksider
Inlägg: 95
Blev medlem: 19 december 2007, 00:04:52
Ort: Uppsala

Inlägg av docksider »

Att bygga en DA omvandlare med ett gäng motstånd och en hel port istället för bara en pinne är ju inte speciellt svårt och vips så har man något som är drygt åtta gånger så snabbt. Men det är ju bara ett alternativ om du har en hel port över så klart.
Skriv svar