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

"нискочестотен тактов генератор 1KHZ-0.05HZ С F877"
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4620
Страница 1 от 2

Автор:  todorstz [ Пет Авг 10, 2007 7:11 pm ]
Заглавие:  "нискочестотен тактов генератор 1KHZ-0.05HZ С F877"

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


забележки да има!

Автор:  Wise [ Пет Авг 10, 2007 7:54 pm ]
Заглавие: 

Ами напиши го с малки букви и на кирилица - може някой да прочете!
Така - едва ли!

Автор:  Yanek [ Пет Авг 10, 2007 10:32 pm ]
Заглавие:  Re: "нискочестотен тактов генератор 1KHZ-0.05HZ С F877&

todorstz написа:
нещо немога да зацепя .немога да постигна толкова ниска честота на генериране с ШИМ, а трябваше да мога,другите таймери могат ама искам да управлявам и коефициента на запълване...доста съм объркан.


забележки да има!


Доколкото разбирам искаш да ползваш PWM режима на 877. Аз лично винаги съм предпочитал да си направя "ръчно" ШИМ-а с таймерите. Не е проблем и управлението на коефициента на запълване. Стана ми интресен твоя случай и според изчисленията максималната честота на uC-то, при която можеш да получиш ШИМ с честота 1000 Hz е около 1000 *( 2 на степен 14) с максимален prescaler. Демек не можеш да получиш честота на ШИМ-а по ниска от 1000 Hz при честота по-висока от 16,384 Mhz на uC-то. Не ми стана ясно какво е това -0.05 Hz. Това някакво отклонение от 1 KHz ли е, долна граница ли или нещо трето, за което не ми стига акъла да схвана. Отхвърлям да е долна граница, щото шим с такава честота практически не можеш да получиш използвайки PWM режима на 877. Малко уточнение, моля.

Автор:  ToHu [ Пет Авг 10, 2007 10:35 pm ]
Заглавие: 

Абе според мен за класически ШИМ вграденя модул си е най-добре, а за тази честота . мързи ме да смятам, не е трудно, в описанието имаш формулата и може да провериш при твоята честота дали можеш да постигнеш желаната от теб.

Автор:  todorstz [ Съб Авг 11, 2007 2:11 pm ]
Заглавие:  RE

ИМЕННО ЦЕЛТА Е ДА ГЕНЕРИРАМ 0.05HZ ДОЛНА ГРАНИЦА.

ОПРЕДЕЛЕНО СЕ УБЕДИХ ЧЕ С ШИМ НЕМОЖЕ, НО КАК ТОГАВА ДА СИ УПРАВЛЯВАМ ПРОДЪЛЖИТЕЛНОСТТА НА ИМПУЛСА?

Автор:  Ки4о [ Съб Авг 11, 2007 4:37 pm ]
Заглавие: 

А какво мислиш по предложението - да вземеш да се убедиш,че трябва да се пише и с малки букви ?

Автор:  todorstz [ Съб Авг 11, 2007 6:21 pm ]
Заглавие:  /

МНОГО ПРИНЦИПЕН СИ БРЕ КИР4О ЛИ СИ КАКЪВ СИ?така е добре а:)

Автор:  ДедоБоре [ Съб Авг 11, 2007 7:43 pm ]
Заглавие: 

приеми критика и от мен

Автор:  ToHu [ Съб Авг 11, 2007 9:43 pm ]
Заглавие: 

Ами за 0.05 изцяло софтуерно, какво точно те мъчи. Правиш си софтуерен ШИМ, при тези ниски честоти няма да гълта много време.

Автор:  Yanek [ Нед Авг 12, 2007 10:54 am ]
Заглавие: 

При подобни честоти, ще трябва да го обмислиш. Решението зависи от много фактори, като това по какъв закон ще се изменя честотата, с каква стъпка, съответно същото за коефициента на запълване. Тъй като ми стана интересно би ли споменал повече подробности?

Автор:  bateAz [ Нед Авг 12, 2007 10:56 am ]
Заглавие: 

Това за какво ти трябва: комерсиално приложение, за курсов проект или за чесане на крастата? Щото подходът е различен ...

Автор:  todorstz [ Нед Авг 12, 2007 2:57 pm ]
Заглавие: 

мисля да оживя едно такова нещо с 4 бутонна клавиатура задаваща ми период и продължителност на импулса с определени стъпки разбира се,и едно дисплейче .Ами това е общо взето само незнам искам посредством 2-3 регистъра да управлява тези параметри ама...трудно при зададените граници.някой може ли да ми постне някое сайтче от което мога да прочета повечко за тази таймерна система .Благодаря ви предварително.

Автор:  Ки4о [ Нед Авг 12, 2007 3:05 pm ]
Заглавие: 

Има всякакви примери: www.microchip.com
А и ще ти трябват повече от 4 регистъра в зависимост от това с какъв кварц си подкарал процесора.А тази таймерна система си я правиш сам на принципа на старите броячи.Това проектче може да се събере и в един 16F84 :wink:

Автор:  key5 [ Чет Авг 16, 2007 2:57 pm ]
Заглавие: 

Е щом те мъчат таймерите, а и ще имаш LCD и клавиатура само, виж най отдолу на цитата:

Цитат:
● Using internal PWM modules

Internal PWM modules (more precisely: PWM modes of CCP modules) are turned on using PWMON statement. This statement has two arguments. The first argument is module number and it must be a constant in the range 1-3. The second argument is used for mode selection. Internal PWM module can be used on three different output frequencies for each of four duty cycle resolutions supported by PWMON statement (10-bit, 9-bit, 8-bit and 7-bit). So, PWM module can be turned on with PWMON statement in 12 modes. Here is the list of all modes at 4MHz clock frequency (for other clock frequencies, the values should be proportionally adjusted):
mode 1: 10-bit, 244Hz
mode 2: 10-bit, 977Hz
mode 3: 10-bit, 3906Hz
mode 4: 9-bit, 488Hz
mode 5: 9-bit, 1953Hz
mode 6: 9-bit, 7813Hz
mode 7: 8-bit, 977Hz
mode 8: 8-bit, 3906Hz
mode 9: 8-bit, 15625Hz
mode 10: 7-bit, 1953Hz
mode 11: 7-bit, 7813Hz
mode 12: 7-bit, 31250Hz
The PWM module is initially started with 0 duty cycle, so the output will stay low until the duty cycle is changed. PWM module can be turned off with PWMOFF statement. It has only one argument - module number.

The duty cycle of PWM signal can be changed with PWMDUTY statement. Its first argument is module number. The second argument is duty cycle and it can be a constant in the range 0-1023 or byte or word data type variable. User must take care to use the proper value ranges for all PWM modes (0-1023 for 10-bit resolution, 0-511 for 9-bit resolution, 0-255 for 8-bit resolution and 0-127 for 7-bit resolution). Here is
one example example:

DIM duty AS BYTE
PWMON 1, 9
loop:

ADCIN 0, duty
PWMDUTY 1, duty


GOTO loop


http://www.oshonsoft.com/pic.html - "PicSimulatorIde" - за любителски цели става, както го определиха във форума :
Цитат:
не е развойна среда


Срам не срам, аз си го ползвам от време на време заедно с Протеуса.

За да гониш ниска честота - свали тактовата /може да се опита с RC като за пробата сложи на мястото на резистора, потенциометър/

Автор:  todorstz [ Чет Авг 16, 2007 3:37 pm ]
Заглавие: 

благодаря ти за информацията,но аз се отказах да се възползвам от периферията толкова обстойно, мисля малко бабешката(софтуерно) :) ,bcf porta,0 и после bsf porta,0, като между тях си слагам подпрограмки които ми регулират продължителността на лог "1" и лог "0"(регулирам си по този начин коефициента на запълване и то с доста добра точност)

Имам само един проблем мога ли да направя програма на асемблер която да ми сортира по възходящ ред 4 стойности , но да ги сортира така и в рам паметта, понеже искам да викам първо програмките които са с най-малко закъснение(както и трябва да бъде.
Например 1 канал -времезакъснение от стартиращия импулс 5сек
2 канал -1сек
3 канал-0.5сек
4канал-8сек
да се вика първо 2 канал ,но ми трябва някакъв макрос който да ги подрежда тези стойности???

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