| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Управление на мотори с ШИМ http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=4585 |
Страница 1 от 2 |
| Автор: | sv_shady [ Пет Авг 03, 2007 11:23 pm ] |
| Заглавие: | Управление на мотори с ШИМ |
Здравейте, имам няколко въпроса относно управляване на обикновени правотокови електромоторчета на 9в. Първият въпрос е как се определя честотата на ШИМ ? Горе долу каква е най-често ползваната честота? Ако си мисля правилно колкото по - висока е честотата толкова по-прецизно ще може да се настрои скоростта, прав ли съм ? В един проект видях че ползват 200Hz, не е ли малко ниско ? Втория въпрос е следният - искам да следя 2 ротационни енкодера и да управлявам два мотора едновременно, единственото, което ми идва на акъла е да има по един малък контролер, които да четата енкодерите, един по-голям получава информацията и изпраща на други два малки контролера корекциите в ШИМа, които пък от своя страна контролират Н-мостовете ? Обаче ми се струва много не рационално това решение, ако имате някоя по-икономична идея ще съм благодарен да споделите |
|
| Автор: | ji4ka [ Пет Авг 03, 2007 11:35 pm ] | |||||||||
| Заглавие: | Re: Управление на мотори с ШИМ | |||||||||
Ами ползвай един микроконролер за цялата работа - има такива с по 2 PWM-а. При по-ниска честота шим-а е по-прецизен ,но по-бавно ще реагира на промяна в скоростта, макар че за твоите моторчета едва ли ще е толкова критично. Ползвай 4кХц за по-лесно. |
||||||||||
| Автор: | sv_shady [ Пет Авг 03, 2007 11:47 pm ] |
| Заглавие: | |
Е това ми дойде на главата |
|
| Автор: | ji4ka [ Пет Авг 03, 2007 11:55 pm ] |
| Заглавие: | |
Каквато и честота да пуснеш на мотора, той си я усреднява до DC-стойност. Но при прекалено високи честоти могат да се появят загуби от вихрови токове, пък и се товарят драйверите. Ползвай най-ниската възможна честота , но 1-2кхз няма да са никакъв проблем. А енкодерите можеш да ги четеш едновременно на един порт и после си ги разделяш в контролера. С каква скорост ще ти идват данните? |
|
| Автор: | sv_shady [ Съб Авг 04, 2007 12:14 am ] |
| Заглавие: | |
Ами енкодера се върти с около 500 оборота в минута. Въпроса е, че искам да чета енкодерите и да изравнявам позициите на моторите, което трябва да се поне 10 пъти в секунда. Така няма да мога с един порт да ги чета защото контролера ще отиде само за това, а и до като мисли как да променя шим ще изпусна някое отместване. |
|
| Автор: | ji4ka [ Съб Авг 04, 2007 12:34 am ] |
| Заглавие: | |
Нищо няма да изпуснеш - давай смело. Това е контролер - той не мисли, а действа Ще четеш данните в прекъсване, а ще мислиш през останалото време. И сигурно пак ще ти останат няколко мипс-а в излишък. |
|
| Автор: | sv_shady [ Съб Авг 04, 2007 12:46 am ] |
| Заглавие: | |
От опитi глава не боли, ще пробвам пък да видим |
|
| Автор: | Cekins [ Съб Авг 04, 2007 12:07 pm ] |
| Заглавие: | |
С какъв контролер мислиш да го правиш? Принципно само давам пример : със 18f252 имаш необходимия хардуер за следене и на двата енкодера с външно прекъсвнае и има два PWM модула. Даже и на 8 MHz сигурно ще се справи. |
|
| Автор: | Predator_MF [ Съб Авг 04, 2007 12:15 pm ] |
| Заглавие: | |
Може да се събере и в 16-ка, примерно 877, може и с някоя 18-ка за по-лесно, примерно 252 или 1320, ресурс има достатъчно, PWM може и да е софтуерен, не го бърка, енкодерите могат да се следят в прекъсване, PWM също може да се реализира с прекъсване от таймер (ако няма хардуерен такъв). На 4MHz също не би било проблем да се справи, задачката е по-лесна отколкото изглежда |
|
| Автор: | Taner [ Съб Авг 04, 2007 12:41 pm ] |
| Заглавие: | |
Задачата може да се реши и със PIC16F876A, тои също има два ШИМ изхода, с него съм правил автономен синусоидален инвертор с 12V вход и 220V изход, тои управлява транзисторен мост, като подава сигналите ШИМ и посока, има си и доста обратни връзки, по напрежение и ток, така че според мен може да се справи и със задачата за управление на двата мотора. |
|
| Автор: | Predator_MF [ Съб Авг 04, 2007 2:51 pm ] |
| Заглавие: | |
Е аз съм правил PWM на 2KHz в PIC16F84 на 4MHz точно за радиоуправление, и то с доста функции като например можеш да си настроиш минумима, максимума и средното положение на "лостчето", помня че имаше още 300 байта свободни и може в тях спокойно да се събере още един PWM |
|
| Автор: | sv_shady [ Съб Авг 04, 2007 6:14 pm ] |
| Заглавие: | |
Ами мисля да пробвам в 16Ф877, ама проблема е че енкодерите абсолютно едновременно ще се въртят. |
|
| Автор: | Cekins [ Съб Авг 04, 2007 8:06 pm ] |
| Заглавие: | |
Ами дай 1$ повече и вземи 18f252, пускаш го на 20 MHz, на двете външни прекъсвания и ще видиш че не се въртят абсолютно синхронно |
|
| Автор: | sv_shady [ Съб Авг 04, 2007 8:32 pm ] |
| Заглавие: | |
Ами опредлено ми трябва и посоката, аз мисля да пусна 16ф877 на 20MHz и да чета 2та енкодера с прекъсване при промяна на пина, тъкмо 4 пина са. |
|
| Автор: | Ки4о [ Съб Авг 04, 2007 8:49 pm ] |
| Заглавие: | |
Вземи си контролер от 18 серия.Там има едно нещо наречено приоритетно прекъсване (не е едно,няколко са). Та по този начин ще си степенуваш важността на процесите които управляваш. Приготви си и още 2 пина за следене на тока на всеки двигател - това е важно.Пика може да го подкараш на 40 МHz.Колко импулса на оборот ти дават енкодерите? |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|