Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

PWM в честота
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=9406
Страница 1 от 2

Автор:  Реконструктор [ Вто Окт 04, 2011 5:43 pm ]
Заглавие:  PWM в честота

Много ли е сложно да се направи такова устройство? Примерно PWM с 10 битова стъпка да се преобразува в генератор на правоъгълни импулси 50% запълване от 0 до 1024 Хц през 1 Хц?

Автор:  БатеВаньо [ Вто Окт 04, 2011 10:09 pm ]
Заглавие:  Re: PWM в честота

Има поне два начина:
1) Чисто аналогов - формиране на импулсите по амплитуда, филтрация до постоянно напрежение и след това - преобразувател U/f (има готови чипове).
2) Микроконтролер - с един таймер мери коефициента на запълване на ШИМ-а, а с друг генерира съответната честота.
При втория начин определено може да се постигне по-добра точност на преобразуване, ако честотата на ШИМ-а не е по-висока от няколко десетки kHz.

Все пак, за какво ти е такова нещо?

Автор:  Реконструктор [ Вто Окт 04, 2011 11:49 pm ]
Заглавие:  Re: PWM в честота

Да, и на мен първата ми мисъл беше U/f, но силно се опасявам че ще има дрейф на честотата в зависимост от температурата, влажността и положението на Луната. :) Ще ми се да е нещо по-цифрово, но mcu-то не върши работа, примерно честота точно 33 Хц няма как да я получиш.

Автор:  БатеВаньо [ Сря Окт 05, 2011 12:07 am ]
Заглавие:  Re: PWM в честота

Все пак, при всяко преобразуване говорим за определена точност. Ако ШИМ-ът е 10-битов, е безсмислено да говорим за точност по-добра от 1/2048 (или, ако следваме препоръките на метролозите 1/3072) от обхвата. Т.е. грешка от 0.5 или 0.33Hz може да се считат за допустими. Има вече доста контролери с 32-битови таймери, с които разделителната способност за честоти до 1023Hz ще бъде по-добра от 0.01Hz.
Друг е въпросът, ако трябва да получиш решетка от честоти от 1 до 1023Hz с висока точност (примерно, няколко ppm). За това си има малко по-други методи (напр. PLL с TCXO и следващ делител), но също е постижимо.

Автор:  Dimitar [ Сря Окт 05, 2011 12:16 am ]
Заглавие:  Re: PWM в честота

Я по-добре кажи направо какъв е точно замисъла на тая задача, защото най-вероятно ще има по-лесно решение :D .
Т.е. защо искаш да преобразуваш PWM точно в честота и каква е цялата постановка - т.е. от къде идва PWM-а, кой искаш да го мери и да го прави на честота и какво ще правиш с тая честота после :) . Не заради друго, ами понякога имаш доста странни идеи как трябва да станат нещата, та затова питам толкова :D .
Цитат:
примерно честота точно 33 Хц няма как да я получиш.

И що пък така мислиш :? ?
Това каква честота можеш да получиш зависи от това какъв ти е кристала, какви прискелъри имаш и какви точно таймери, т.е. не можеш да кажеш така категорично, че дадена честота не може да се получи :) .

Автор:  kiiid [ Сря Окт 05, 2011 9:43 am ]
Заглавие:  Re: PWM в честота

PWM в честота се прави елементарно само с три компонента (приемайки че сигналът ти е вече оформен в TTL нива): един 8-пинов PSoC от най-евтините 8C21123A, един кондензатор и един резистор. Тествано и доказано за честоти до 6MHz. Мога да ти пусна примерна схема и код ако поемаш по тоя път и имаш нужда от помощ.

Автор:  Реконструктор [ Сря Окт 05, 2011 9:52 pm ]
Заглавие:  Re: PWM в честота

Dimitar написа:
Я по-добре кажи направо какъв е точно замисъла на тая задача, защото най-вероятно ще има по-лесно решение :D .
Т.е. защо искаш да преобразуваш PWM точно в честота и каква е цялата постановка - т.е. от къде идва PWM-а, кой искаш да го мери и да го прави на честота и какво ще правиш с тая честота после :) . Не заради друго, ами понякога имаш доста странни идеи как трябва да станат нещата, та затова питам толкова :D .


Може би си прав. :) Просто ми трябва софтуерно да генерирам честота - не много висока, но с достатъчно голяма точност, примерно десета от херца.

Автор:  Реконструктор [ Сря Окт 05, 2011 9:53 pm ]
Заглавие:  Re: PWM в честота

kiiid написа:
PWM в честота се прави елементарно само с три компонента (приемайки че сигналът ти е вече оформен в TTL нива): един 8-пинов PSoC от най-евтините 8C21123A, един кондензатор и един резистор. Тествано и доказано за честоти до 6MHz. Мога да ти пусна примерна схема и код ако поемаш по тоя път и имаш нужда от помощ.


Ами дай да видим как става. :) Мен не ми трябва висока честота, по-скоро висока точност.

Автор:  Dimitar [ Чет Окт 06, 2011 1:56 am ]
Заглавие:  Re: PWM в честота

Ако просто ти трябва да генерираш честота, тогава за какво ти е шим-а? Иначе дали ще стане генерирането зависи какъв е и обхвата и с какво разполага процесора.

Автор:  michev [ Чет Окт 06, 2011 12:06 pm ]
Заглавие:  Re: PWM в честота

Ако не ти се харчат 10лв за DDS чип, то - сглоби си сам.
На базата на едно тини 2313.. Тествах го и с атмега8 и работи идеално. Мисля че покрива всички твои изисквания.

Автор:  Cekins [ Пет Окт 07, 2011 8:58 am ]
Заглавие:  Re: PWM в честота

Не е невъзможно, но 1. Няма смисъл от PWM-а. 2. Иска смятане.

Правил съм подобно нещо с 8MHz клок и 16 битов таймер - обаче за добра точност иска за всяка честота да се сметне делител и запълване и то така, че да няма голяма грешка. Ама както казва Мичев, ако има готово добро решение, няма смисъл от подобна гимнастика.

Автор:  Реконструктор [ Пет Окт 07, 2011 11:37 am ]
Заглавие:  Re: PWM в честота

Dimitar написа:
Ако просто ти трябва да генерираш честота, тогава за какво ти е шим-а? Иначе дали ще стане генерирането зависи какъв е и обхвата и с какво разполага процесора.


Ами ясно ти е, че ако се генерира с директно с процесора, стъпката се увеличава с увеличаване на честотата. Мен ми се иска да има константна стъпка.

Автор:  Cekins [ Пет Окт 07, 2011 1:23 pm ]
Заглавие:  Re: PWM в честота

А какво ще ти помогне PWM-а в този случай. В общи линии можеш да го докараш на обхвати, като в малките честоти стъпката ще е най-малка увеличавайки се в по-големите а обвхатите с прескалер/постскалер да ги докарваш.

След малко сметки излиза че за 1023Hz при 8MHz клок на 16 битов таймер, може да се докара стъпка близо 0.25 Hz

Автор:  Dimitar [ Пет Окт 07, 2011 4:49 pm ]
Заглавие:  Re: PWM в честота

Цитат:
Ами ясно ти е, че ако се генерира с директно с процесора, стъпката се увеличава с увеличаване на честотата. Мен ми се иска да има константна стъпка.

Така е - затова наистина най-добре да ползваш някой честотен синтезатор. Или пък просто се подсигуряваш с необходимата точност на най-голямата честота и после надолу няма да имаш проблем.
И въпреки всичко още не разбирам за какво ти е PWM-а, освен ако точно това не е задачата - да мериш PWM-а и да го преобразуваш в честота.

Автор:  plameniv [ Съб Окт 08, 2011 2:21 am ]
Заглавие:  Re: PWM в честота

Реконструктор написа:
Ами ясно ти е, че ако се генерира с директно с процесора, стъпката се увеличава с увеличаване на честотата. Мен ми се иска да има константна стъпка.

http://www.national.com/mpf/LM/LM331.html#Overview
http://www.national.com/ds/LM/LM231.pdf
С PWM правиш напрежението необходимо за входа на чипа а той ти прави честота. Mоже тази честота да я върнеш в контролера и да я мериш всеки път като правиш промяна. Така ще постигнеш желана стъпка без да те интересува каква е стъпката на PWM :)

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/