Софтуерна промяна на амплитудата на синусоидата

Разглеждате архивите на форума.

Автор: Смит () Дата: 24/11/2006 14:33

Има програма на PIC16F684, която използва ШИМ за генериране на синусоида. Синусните стойности са посочени в таблицата (128 стойности). Може би някой знае как можете плавно да промените амплитудата на синуса програмно?

Автор: xepp () Дата: 24/11/2006 15:15

Ако стойността на синуса е дадена с байт, тогава можете да умножите стойността на синуса по числото x=0..255 цяло число. Получаване на двубайтов резултат. Взимаме старшия байт - и тук е синусът, умножен по (x / 256). Но това ще пострада от точността. Тези. вашата синусоида ще бъде по-стъпаловидна. Може да се направи малко по-различно, особено ако PWM е 10-битов хардуер. Променете леко алгоритъма и ще бъде по-добре. Познайте как? Но във всеки случай бита PWM ще бъдат ограничение.

Автор: jsi_ () Дата: 24/11/2006 15:49

Можете да контролирате коефициента. усилване на активния snusoid филтър с помощта на DAC. Високи разходи, разбира се, но във вашия случай има много дискретни времена на период и ще се окаже, че амплитудата се променя чисто програмно в много тесен диапазон,

Автор: xepp () Дата: 24/11/2006 16:02

DAC има нужда от макара. На опората - синуса от пика, DAC кода като коефициент. MAX517, AD7304 или каквото и да е. Това, че веднага дадох името на DAC-овете, далеч не е най-добрият вариант.

Автор: VVank () Дата: 29/11/2006 11:17

Като сложиш на изхода дигитален потенциометър Microchipa MCP41010 - има 256 градуса, може да сложиш усилвател MCP601 или MCP602 - те са reel-to-reel и работят на 5V.

Автор: Алексейслав () Дата: 29/11/2006 15:02

По-правилно би било rail-to-rail, т.е. буквално от шина до шина, което характеризира обхвата на входните и изходните напрежения, при които аналоговата микросхема(operamp, ADC, DAC) могат да изпълняват своите функции.

Автор: xepp () Дата: 30/11/2006 09:22

Алексейслав е 100% прав. Това са всичките ми познания по английски.

Автор: Смит () Дата: 01/12/2006 16:26

"Можете да го направите малко по-различно, особено ако ШИМ е 10-битов хардуер. Променете малко алгоритъма и ще бъде по-добре. Можете ли да познаете как? Но във всеки случай битрейтът на ШИМ ще бъде ограничението ." Моля, кажете ми как да променя алгоритъма, не познах;)

Автор: vptr() Дата: 01/12/2006 17:25

Можете да опитате да увеличите периода, без да променяте максималната продължителност на пулса. Дълбочината със сигурност ще намалее.