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

Генериране на 120 KHz с PWM на PIC
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4345
Страница 1 от 1

Автор:  IceBurn [ Чет Юни 14, 2007 11:24 am ]
Заглавие:  Генериране на 120 KHz с PWM на PIC

Става въпрос да се генерира сигнал с честота 120 KHz (+-2 KHz, коеф. на запълване 50%) като се използва PWM модула на PIC12F683. В тази връзка имам няколко въпроса:

1. В раздела за PWM пише:
Код:
PWM Period =[(PR2)+ 1]•4•TOSC •(TMR2 Prescale Value)

Следователно:
Код:
1/120000 = [15 + 1] • 4 • (1/TOSC) • 1

От където следва, че при Tosc = 7.680 MHz на изхода на PWM ще има точно търсените 120 KHz.

2. Ще се използва вътрешния генератор, пуснат на 8 MHz. Но така се получава честота 125 KHz, което е много. Има един регистър OSCTUNE с който може да се донастройва честотата на вътрешния генератор. До колкото разбирам от AN244 на Microchip чрез него честотата се донастройва в границите +-12% със стъпка около 1%. Ако честотата се смъкне с 4% се получава Tosc = 7.692 MHz и изходен сигнал 120.192 KHz, което е перфектно. Виждам че този AN се отнася за други чипове от 16 и 18 серии, но предполагам, че генераторите са еднакви, а и документа е от 2003 когато тоя пик май го е нямало

Та питането ми е правилно ли разсъждавам (особено във втората част). Някой ползвал ли е този начин за донастройка и може ли да се разчита на него. Ако има и други подводни камъни, за които трябва да внимавам, моля споделете ги.

Мерси предварително на всички отговорили.

Автор:  VSU [ Чет Юни 14, 2007 12:46 pm ]
Заглавие: 

Имай предвид че вътрешния осцилатор не е кварцов а RC и при различни температури ще мърда честотата (колко справка в инфото) така че ако това те устройва става и калибрацията става да си нагласиш честотата колкото ти трябва

Автор:  zaphod [ Чет Юни 14, 2007 1:29 pm ]
Заглавие:  Re: Генериране на 120 KHz с PWM на PIC

луд ли си да докарваш честота с управление на тактовата? съдейки по формулата която си дал, при 12 мегахерца кварц и стойност 25 във PR2 ще изкараш точно 120 килохерца, къф е проблема?

Автор:  IceBurn [ Чет Юни 14, 2007 2:13 pm ]
Заглавие:  Re: Генериране на 120 KHz с PWM на PIC

zaphod написа:
... къф е проблема?

Проблема е че ми трябват всички крака на процесора.

Другия вариант е да сложа един външен RC генератор с 40xx например и да го пускам като ми трябва. Обаче пак ще играе честотата. Пък гледам че няма кварцове на 120 KHz, а няма място да слагам делители. Трябва ми възможно най-простото решение откъм елементи. И на пик-а мога да отделя само един крак, а да преминавам към по0глям процесор няма смисъл, защото тогава пък ще ми останат много свободни крака (трябват ми точно 6 крака).

Автор:  zaphod [ Чет Юни 14, 2007 6:17 pm ]
Заглавие: 

ъъ, че то май краката за кварц само за това ставаха, или греша?

Автор:  plameniv [ Чет Юни 14, 2007 8:59 pm ]
Заглавие:  Mne

zaphod написа:
ъъ, че то май краката за кварц само за това ставаха, или греша?

Зависи от контролера, на някои там са си и нормални изводи според това как го настроиш !

Автор:  ToHu [ Пет Юни 15, 2007 8:46 am ]
Заглавие: 

На малките там са изводи, обаче ... да сложиш външен генератор и да сложиш PIC в о големия корпус .. не знам кое е по-удачно ..... замисли се. Въпроса е че външния RC генератор също не е стабилен. 2 kHz са около 2% при тази честота, това значи резистори и най-вече кондензатори с толеранс под 1%. Като калулираш място на платката + цена на компонентите + труда по спойването им ... PIC12- $1.04, 16F616 - $1.06, 16F636 - $1.34, дори с по скъпия рзликата ти е $0.30 за тези пари не можеш само частите за външен генератор да купиш....

Автор:  IceBurn [ Пон Юни 18, 2007 8:01 pm ]
Заглавие: 

Мерси на всички отговорили.
В крайна сметка реших да не рискувам с глупости и ще ползвам PIC16F627 на 12MHz. Излишните крака почти ги оползотворих (малко бутони, по-добра индикация...).
Сега изникват други трудности, но за тях можеби ще има друга тема. :roll:

Автор:  ToHu [ Пон Юни 18, 2007 8:40 pm ]
Заглавие: 

Най-доброто, и икономически целесъобразно решение :)

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