| Автор |
Съобщение |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
 Управление на мотори с ШИМ
Здравейте, имам няколко въпроса относно управляване на обикновени правотокови електромоторчета на 9в.
Първият въпрос е как се определя честотата на ШИМ ? Горе долу каква е най-често ползваната честота? Ако си мисля правилно колкото по - висока е честотата толкова по-прецизно ще може да се настрои скоростта, прав ли съм ? В един проект видях че ползват 200Hz, не е ли малко ниско ?
Втория въпрос е следният - искам да следя 2 ротационни енкодера и да управлявам два мотора едновременно, единственото, което ми идва на акъла е да има по един малък контролер, които да четата енкодерите, един по-голям получава информацията и изпраща на други два малки контролера корекциите в ШИМа, които пък от своя страна контролират Н-мостовете ? Обаче ми се струва много не рационално това решение, ако имате някоя по-икономична идея ще съм благодарен да споделите 
|
| Пет Авг 03, 2007 11:23 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
 Re: Управление на мотори с ШИМ
Ами ползвай един микроконролер за цялата работа - има такива с по 2 PWM-а. При по-ниска честота шим-а е по-прецизен ,но по-бавно ще реагира на промяна в скоростта, макар че за твоите моторчета едва ли ще е толкова критично. Ползвай 4кХц за по-лесно.
|
| Пет Авг 03, 2007 11:35 pm |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Е това ми дойде на главата  Енкодерите, обаче, как ще ги чета едновременно с един контролер? Иначе с PWM добре, тъй като мисля да ползвам 20MHz резонатор, ще мога да изкарам около 2-2,5kHz честота, но се чудя дали няма да е прекалено висока ?
|
| Пет Авг 03, 2007 11:47 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Каквато и честота да пуснеш на мотора, той си я усреднява до DC-стойност. Но при прекалено високи честоти могат да се появят загуби от вихрови токове, пък и се товарят драйверите. Ползвай най-ниската възможна честота , но 1-2кхз няма да са никакъв проблем. А енкодерите можеш да ги четеш едновременно на един порт и после си ги разделяш в контролера. С каква скорост ще ти идват данните?
|
| Пет Авг 03, 2007 11:55 pm |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Ами енкодера се върти с около 500 оборота в минута. Въпроса е, че искам да чета енкодерите и да изравнявам позициите на моторите, което трябва да се поне 10 пъти в секунда. Така няма да мога с един порт да ги чета защото контролера ще отиде само за това, а и до като мисли как да променя шим ще изпусна някое отместване.
|
| Съб Авг 04, 2007 12:14 am |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Нищо няма да изпуснеш - давай смело. Това е контролер - той не мисли, а действа  .
Ще четеш данните в прекъсване, а ще мислиш през останалото време. И сигурно пак ще ти останат няколко мипс-а в излишък.
|
| Съб Авг 04, 2007 12:34 am |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
От опитi глава не боли, ще пробвам пък да видим  Мерси за вниманието.
|
| Съб Авг 04, 2007 12:46 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9123 Местоположение: Разград
|
С какъв контролер мислиш да го правиш?
Принципно само давам пример : със 18f252 имаш необходимия хардуер за следене и на двата енкодера с външно прекъсвнае и има два PWM модула. Даже и на 8 MHz сигурно ще се справи.
|
| Съб Авг 04, 2007 12:07 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Може да се събере и в 16-ка, примерно 877, може и с някоя 18-ка за по-лесно, примерно 252 или 1320, ресурс има достатъчно, PWM може и да е софтуерен, не го бърка, енкодерите могат да се следят в прекъсване, PWM също може да се реализира с прекъсване от таймер (ако няма хардуерен такъв). На 4MHz също не би било проблем да се справи, задачката е по-лесна отколкото изглежда
|
| Съб Авг 04, 2007 12:15 pm |
|
 |
|
Taner
Ранг: Новодошъл
Регистриран на: Пет Юли 08, 2005 3:46 pm Мнения: 112 Местоположение: Пловдив
|
Задачата може да се реши и със PIC16F876A, тои също има два ШИМ изхода,
с него съм правил автономен синусоидален инвертор с 12V вход и 220V изход,
тои управлява транзисторен мост, като подава сигналите ШИМ и посока,
има си и доста обратни връзки, по напрежение и ток, така че според мен може да се справи и
със задачата за управление на двата мотора.

|
| Съб Авг 04, 2007 12:41 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Е аз съм правил PWM на 2KHz в PIC16F84 на 4MHz точно за радиоуправление, и то с доста функции като например можеш да си настроиш минумима, максимума и средното положение на "лостчето", помня че имаше още 300 байта свободни и може в тях спокойно да се събере още един PWM
|
| Съб Авг 04, 2007 2:51 pm |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Ами мисля да пробвам в 16Ф877, ама проблема е че енкодерите абсолютно едновременно ще се въртят.
|
| Съб Авг 04, 2007 6:14 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9123 Местоположение: Разград
|
Ами дай 1$ повече и вземи 18f252, пускаш го на 20 MHz, на двете външни прекъсвания и ще видиш че не се въртят абсолютно синхронно  Бих ти предложил нещо по различно, ама не знам ще следиш ли посоката, ТIMER0 и TIMER3 имат външни входове. Можеш на определено време да ги проверяваш двата и от там да разбираш кой с каква скорост се върти. TIMER3 го няма в 87х.
|
| Съб Авг 04, 2007 8:06 pm |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Ами опредлено ми трябва и посоката, аз мисля да пусна 16ф877 на 20MHz и да чета 2та енкодера с прекъсване при промяна на пина, тъкмо 4 пина са.
|
| Съб Авг 04, 2007 8:32 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Вземи си контролер от 18 серия.Там има едно нещо наречено приоритетно прекъсване (не е едно,няколко са). Та по този начин ще си степенуваш важността на процесите които управляваш. Приготви си и още 2 пина за следене на тока на всеки двигател - това е важно.Пика може да го подкараш на 40 МHz.Колко импулса на оборот ти дават енкодерите?
|
| Съб Авг 04, 2007 8:49 pm |
|
|