Отговори на тема  [ 28 мнения ]  Отиди на страница 1, 2  Следваща
Управление на мотори с ШИМ 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение Управление на мотори с ШИМ
Здравейте, имам няколко въпроса относно управляване на обикновени правотокови електромоторчета на 9в.
Първият въпрос е как се определя честотата на ШИМ ? Горе долу каква е най-често ползваната честота? Ако си мисля правилно колкото по - висока е честотата толкова по-прецизно ще може да се настрои скоростта, прав ли съм ? В един проект видях че ползват 200Hz, не е ли малко ниско ?
Втория въпрос е следният - искам да следя 2 ротационни енкодера и да управлявам два мотора едновременно, единственото, което ми идва на акъла е да има по един малък контролер, които да четата енкодерите, един по-голям получава информацията и изпраща на други два малки контролера корекциите в ШИМа, които пък от своя страна контролират Н-мостовете ? Обаче ми се струва много не рационално това решение, ако имате някоя по-икономична идея ще съм благодарен да споделите :)

_________________
Българският портал за РОБОТИКА


Пет Авг 03, 2007 11:23 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение Re: Управление на мотори с ШИМ
sv_shady написа:
... ако имате някоя по-икономична идея ще съм благодарен да споделите :)

Ами ползвай един микроконролер за цялата работа - има такива с по 2 PWM-а. При по-ниска честота шим-а е по-прецизен ,но по-бавно ще реагира на промяна в скоростта, макар че за твоите моторчета едва ли ще е толкова критично. Ползвай 4кХц за по-лесно.


Пет Авг 03, 2007 11:35 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Е това ми дойде на главата :) Енкодерите, обаче, как ще ги чета едновременно с един контролер? Иначе с PWM добре, тъй като мисля да ползвам 20MHz резонатор, ще мога да изкарам около 2-2,5kHz честота, но се чудя дали няма да е прекалено висока ?

_________________
Българският портал за РОБОТИКА


Пет Авг 03, 2007 11:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение 
Каквато и честота да пуснеш на мотора, той си я усреднява до DC-стойност. Но при прекалено високи честоти могат да се появят загуби от вихрови токове, пък и се товарят драйверите. Ползвай най-ниската възможна честота , но 1-2кхз няма да са никакъв проблем. А енкодерите можеш да ги четеш едновременно на един порт и после си ги разделяш в контролера. С каква скорост ще ти идват данните?


Пет Авг 03, 2007 11:55 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами енкодера се върти с около 500 оборота в минута. Въпроса е, че искам да чета енкодерите и да изравнявам позициите на моторите, което трябва да се поне 10 пъти в секунда. Така няма да мога с един порт да ги чета защото контролера ще отиде само за това, а и до като мисли как да променя шим ще изпусна някое отместване.

_________________
Българският портал за РОБОТИКА


Съб Авг 04, 2007 12:14 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение 
Нищо няма да изпуснеш - давай смело. Това е контролер - той не мисли, а действа :wink: .
Ще четеш данните в прекъсване, а ще мислиш през останалото време. И сигурно пак ще ти останат няколко мипс-а в излишък.


Съб Авг 04, 2007 12:34 am
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
От опитi глава не боли, ще пробвам пък да видим :) Мерси за вниманието.

_________________
Българският портал за РОБОТИКА


Съб Авг 04, 2007 12:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9123
Местоположение: Разград
Мнение 
С какъв контролер мислиш да го правиш?
Принципно само давам пример : със 18f252 имаш необходимия хардуер за следене и на двата енкодера с външно прекъсвнае и има два PWM модула. Даже и на 8 MHz сигурно ще се справи.


Съб Авг 04, 2007 12:07 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Може да се събере и в 16-ка, примерно 877, може и с някоя 18-ка за по-лесно, примерно 252 или 1320, ресурс има достатъчно, PWM може и да е софтуерен, не го бърка, енкодерите могат да се следят в прекъсване, PWM също може да се реализира с прекъсване от таймер (ако няма хардуерен такъв). На 4MHz също не би било проблем да се справи, задачката е по-лесна отколкото изглежда


Съб Авг 04, 2007 12:15 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Юли 08, 2005 3:46 pm
Мнения: 112
Местоположение: Пловдив
Мнение 
Задачата може да се реши и със PIC16F876A, тои също има два ШИМ изхода,
с него съм правил автономен синусоидален инвертор с 12V вход и 220V изход,
тои управлява транзисторен мост, като подава сигналите ШИМ и посока,
има си и доста обратни връзки, по напрежение и ток, така че според мен може да се справи и
със задачата за управление на двата мотора.
:)


Съб Авг 04, 2007 12:41 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Е аз съм правил PWM на 2KHz в PIC16F84 на 4MHz точно за радиоуправление, и то с доста функции като например можеш да си настроиш минумима, максимума и средното положение на "лостчето", помня че имаше още 300 байта свободни и може в тях спокойно да се събере още един PWM


Съб Авг 04, 2007 2:51 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами мисля да пробвам в 16Ф877, ама проблема е че енкодерите абсолютно едновременно ще се въртят.

_________________
Българският портал за РОБОТИКА


Съб Авг 04, 2007 6:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9123
Местоположение: Разград
Мнение 
Ами дай 1$ повече и вземи 18f252, пускаш го на 20 MHz, на двете външни прекъсвания и ще видиш че не се въртят абсолютно синхронно :) Бих ти предложил нещо по различно, ама не знам ще следиш ли посоката, ТIMER0 и TIMER3 имат външни входове. Можеш на определено време да ги проверяваш двата и от там да разбираш кой с каква скорост се върти. TIMER3 го няма в 87х.


Съб Авг 04, 2007 8:06 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами опредлено ми трябва и посоката, аз мисля да пусна 16ф877 на 20MHz и да чета 2та енкодера с прекъсване при промяна на пина, тъкмо 4 пина са.

_________________
Българският портал за РОБОТИКА


Съб Авг 04, 2007 8:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Юли 22, 2006 9:50 pm
Мнения: 1638
Мнение 
Вземи си контролер от 18 серия.Там има едно нещо наречено приоритетно прекъсване (не е едно,няколко са). Та по този начин ще си степенуваш важността на процесите които управляваш. Приготви си и още 2 пина за следене на тока на всеки двигател - това е важно.Пика може да го подкараш на 40 МHz.Колко импулса на оборот ти дават енкодерите?


Съб Авг 04, 2007 8:49 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 28 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 17 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни