PWM generera en sinusspänning som har justerbar amplitud
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.
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.
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.
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.
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.
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.