| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| PIC18F6622 как да излъжа ECCP модул http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=14301 |
Страница 1 от 2 |
| Автор: | dgeorgiev92 [ Чет Яну 21, 2016 11:28 am ] |
| Заглавие: | PIC18F6622 как да излъжа ECCP модул |
Здревейте. Имам следната задача но не мога да и намеря решение ще съм ви много благодарен да ми помогнете. имам един стъпков двигател и свъпков драйвер на който му се подават само стъпки и посока. И целта е да се клати съответния изход на микроконтролера с зададена честота от мен в границите от няколко херца до 100kHz но това да се случва хардуерно без софтуерни ресурси. Опитах с таймер който при препълване да клати пина но това е софтуерно и не мога да достигна високи честоти и също така с прекъсванията става мазало. Опитах през ECCP модула с настройка за смяна на състоянието на изхода при съвпадение. Но и при него виждам проблем когато трябва да променям честотата на таймера пак се получава същото като предното състояние. Другото което пробвах е да го пусна през PWM модула. Когато задам на ECCP да се включи в началото и според периода си определям честотата, а тук проблема е че при тактов генератор от 20MHz не мога да падна под 20kHz. Отделно че и модула за PWM няма вход за външен тактов генератор от основния. На кратко това са проблемите който срещнах ако имате по добри предложения ще се радвам да ги чуя. Поздрави Деян. |
|
| Автор: | ike [ Чет Яну 21, 2016 12:36 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
За какво друго се използва пика, освен да клати стъпковия драйвер? |
|
| Автор: | dgeorgiev92 [ Чет Яну 21, 2016 1:52 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
За доста неща. LCD, serial comunication и обратна връзка от двигателя. |
|
| Автор: | mitko_el [ Чет Яну 21, 2016 2:37 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
Клатил съм стъпков драйвер (3 парчета с 1 мцу на Silab) . С 16 бит таймер , има 1 прекъсване , променям състоянието на пина и това е. |
|
| Автор: | dgeorgiev92 [ Чет Яну 21, 2016 2:42 pm ] | |||||||||
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул | |||||||||
Да пробвах го това нещо но не искам постоянно да влизам в прекъсването и да сменям състоянието на пина. Трябва автоматично да си сменя състоянието. |
||||||||||
| Автор: | 4040 [ Чет Яну 21, 2016 4:42 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
PIC18F8722 FAMILY DS39646C-page 182 © 2008 Microchip Technology Inc. 17.3 Compare Mode 17.3.4 SPECIAL EVENT TRIGGER FIGURE 13-1: TIMER1 BLOCK DIAGRAM |
|
| Автор: | dgeorgiev92 [ Чет Яну 21, 2016 6:02 pm ] | |||||||||
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул | |||||||||
Много ти благодаря. Точно това ми трябва но нещо не мога да го пусна. Настроил съм таймер 3 да работи с ЕCCP3 но на изхода RG0/ECCP3 няма никой настроен е като изход.... В блок диаграмата е даден пример с CCP4 да не би само на него да работи този с SPECIAL EVENT TRIGGER макар че пише че всички CCP-та го поддържат? П.С. 1011 = Compare mode: trigger special event (ECCP resets TMR1 or TMR3, sets CCPxIF bit; ECCP2 trigger starts A/D conversion if A/D module is enabled) това означава ли че ще ми генерира прекъсване и пак софтуерно да променям състоянието на изхода? |
||||||||||
| Автор: | 4040 [ Чет Яну 21, 2016 8:15 pm ] | |||||||||
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул | |||||||||
Мда , с тригера няма да стане защото отменя бутането на изхода. Остава с това:
Като в прекъсване да си ъпдейтваш таймера със сумиране, а не със стойност. Може да се направи в рамките на периода, а не веднага - сиреч ще имаш време. ТМР2 има и прескалер 1/16 така ,че може да смъкнеш PWM-а до 1кхц. А може за ниските честоти (редки прекъсвания) да ползваш режим Compare, а за високите да преминаваш на PWM. Ако и това не те устройва , има малки контролерчета, които могат да се ползват само за драйвера на двигателя. |
||||||||||
| Автор: | dgeorgiev92 [ Чет Яну 21, 2016 8:37 pm ] | ||||||||||||||||||
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул | ||||||||||||||||||
Аха значи с Compare mode: trigger special event не става а със другите 2 начина който казваш вече ги пробвах но там проблема е че не искам при всяко прекъсване да пиша в таймера. а втория по ниска честота от 20кхц не успях да сляза по надолу. Какви са контролерчетата за драйвовете? |
|||||||||||||||||||
| Автор: | 4040 [ Чет Яну 21, 2016 9:31 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
Прегледай например PIC16F1503, 12F1571, 10F320... Имат NCO , PSMC , PWM , а и няма да се конкурират с други задачи. Макар ,че не виждам какво толкова те притесняват прекъсванията. Този двигател как ще се върти - подаваш му една честота и като вентилатор ? |
|
| Автор: | dgeorgiev92 [ Чет Яну 21, 2016 10:21 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
Благодаря за предложените контролери. Ами не няма да е с една честота ще се сменя. Малко по нагоре казах че има обратна връзка с енкодер на двигателя и ще го позиционирам. И ще трябва да има и рампи на ускорение. А гледам документацията и гледам че ECCP модула при SPECIAL EVENT TRIGGER е обвързан с trigger starts A/D conversion if A/D module is enabled това за какво? |
|
| Автор: | 4040 [ Пет Яну 22, 2016 12:53 am ] | |||||||||
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул | |||||||||
АЦП-то като го разрешиш, то сАмо си седи. За да вземеш отчет, трябва софтуерно да го стартираш за всеки отчет. Та този тригер го стартира хардуерно, синхронно със CCP модула. Но резултата пак трябва да си го вземеш софтуерно, преди да постъпи следващия тригер, иначе ще замести резултата с новия. |
||||||||||
| Автор: | dgeorgiev92 [ Пет Яну 22, 2016 1:23 am ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
аха ясно благодаря. |
|
| Автор: | Cekins [ Нед Яну 24, 2016 4:52 pm ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
Много смело желание за това ядро. Може и да се получи всичко което искаш но с голяма софтуерна акробатика и да пуснеш пика на 80-100 мегахерца. Прилични рампи и към 15 кхц. съм постигал с 46к22 на 64мхц клок. |
|
| Автор: | dgeorgiev92 [ Пон Яну 25, 2016 11:58 am ] |
| Заглавие: | Re: PIC18F6622 как да излъжа ECCP модул |
А да попитам за управлението на постояннотоков двигател с Half-Bridge mode дали може да се управлява посоката. Като цяло не го разбирам много много може ли да ми обясните как работи ECCP half-bridge mode. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|