| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Измерване на ШИМ 100kHz- как? http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2899 |
Страница 1 от 1 |
| Автор: | Nikolas_N [ Чет Сеп 14, 2006 10:45 pm ] |
| Заглавие: | Измерване на ШИМ 100kHz- как? |
Здравейте! Застигна ме следния проблем: Трябва да измервам дължината на импулса на ШИМ с честота 100KHz. Пробвах с PIC18, но достигнах до 50-60KHz Проблема е, че съм се занимавал само с PIC а сега няма време да уча друго. Ако може да ме посъветвате нещо? |
|
| Автор: | bateAz [ Чет Сеп 14, 2006 11:00 pm ] |
| Заглавие: | |
Откажи се да мериш време. По-добре интегрирай импулсите и мери постоянната съставка. |
|
| Автор: | Nikolas_N [ Чет Сеп 14, 2006 11:01 pm ] |
| Заглавие: | |
Това ми е план Б |
|
| Автор: | sthx [ Чет Сеп 14, 2006 11:10 pm ] |
| Заглавие: | Re: Измерване на ШИМ 100kHz- как? |
С каква точност (разрешаваща способност) трябва да измерваш продължителността на импулса? Не познавам от близо pic-овете, и не съм сигурен дали са виновни с нещо в случая. Ако имат брояч , който да спира тактуването по фронта на сигнала и го използваш, единственото, което може да се направи е да се увеличи честотата на кварца. Вместо брояч може да се използва регистър за запис на стойността на друг брояч, но това не променя същността на нещата. Ако Pic-а няма такова чудо, ще се наложи използването на външна схемичка с брояч. |
|
| Автор: | plameniv [ Чет Сеп 14, 2006 11:36 pm ] | |||||||||
| Заглавие: | Re: Измерване на ШИМ 100kHz- как? | |||||||||
Защо да не става зависи колко точно искаш да отчетеш времето примерно дали е от качващ до качващ или от качващ до падащ фронт ? Приемаме че например е 50кHz преобразувано във време е 20 мкс, при 20MHz кварц имаш 0.2 мкс за такт, ако ползваш таймера ще се натрупва с тази честота максимум 100 единици в таймера при 20мкс демек точноста ти е 0.2 Правиш следното : Предварително си настройваш делителя на таймера да отиде към WDT , така таймера остава без делител и ще се тактува с такта на процесора. Сигнала който мериш го вкарваш във входа за прекъсване например при 16F84 е B0 , включваш прекъсването и когато прекъсне прочиташ таймера и го записваш в времена клетка , после нулираш таймера и излизаш от прекъсване , може би ще имаш малко корекция в резултата от инструкциите при прекъсването . В основната програма си правиш един Loop и си обработваш този темп. |
||||||||||
| Автор: | didofen [ Пет Сеп 15, 2006 8:10 am ] |
| Заглавие: | CCP |
Ама защо ще се занимаваш с брояч? 16ф872 например има Capture модул, който прави това с брояча автоматично, получаваш направо времето на импулса. Има възможности за настройка на честота на броене, на избор на фронт и т.н. Освен ако нямаш такъв ПИК, защото 84А наистина няма ССР модул. Има пикове даже с два такива модула. Успех ! |
|
| Автор: | Cekins [ Пет Сеп 15, 2006 8:16 am ] |
| Заглавие: | |
При всички положения докато не се синхронизира със 100-те kHz няма да има 100% точност, ако това е целта. На мен ми е по интересно за какъв грездей ШИМ-а е 100 kHz. |
|
| Автор: | Цецо [ Пет Сеп 15, 2006 10:01 am ] |
| Заглавие: | |
CCP - мериш с точност 1 процесорен такт. Т.е 100ns при 40 МHz пик. Това не стига ли? |
|
| Автор: | bateAz [ Пет Сеп 15, 2006 10:24 am ] |
| Заглавие: | |
CCP не щракаше ли само по предния фронт? С него как се мери период ( всъщност : полупериод )? |
|
| Автор: | Gogo [ Пет Сеп 15, 2006 10:34 am ] | |||||||||
| Заглавие: | ||||||||||
|
||||||||||
| Автор: | miro_atc [ Пет Сеп 15, 2006 10:42 am ] |
| Заглавие: | |
Nikolas_N, нещо е много мъгляво какво се опитваш да направиш... Да не се мъчиш семплираш PCM аудио? |
|
| Автор: | Nikolas_N [ Пет Сеп 15, 2006 8:06 pm ] |
| Заглавие: | |
Благодаря на всички Става въпрос за сензор за разстояние на капацитивен принцип. Изхода на схемата е фиксиран на 100KHz. Пробвах с PIC18F458 пуснат на 4x8MHz, като ползвам двата CCP модула-единият мери нарастващия , а другия падащия фронт. По разликата съдя за дължината на импулса. Точността не е нужно да е много висока-0.5us е достатъчна при период 10us Ще го пусна на 4x10MHz Ако не стане, ще го интегрирам и после ADC. Лошото е че са 8 ШИМа на 40см разстояние един ог друг |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|