|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 7:52 pm
Трябва ми ефтин вариант за управление на стъпкови мотори
| Автор |
Съобщение |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Трябва ми ефтин вариант за управление на стъпкови мотори
Необходимо ми е да управлявам 200 стъпкови мотора от този тип ЛИНК.
В общи линии заданието е следното: от компютъра се подава команда кои моторчета да са в състояние "1" и кои в състояние "0". Под състояние "0" разбирам началното състояние, а "1" е 50 стъпки в посока "А". Т.е. преход "0"->"1" е 50 стъпки в посока "А", а преход от "1"->"0" е 50 стъпки в противоположната посока - "В".
Как най-пестеливо може да се направи това? Засега решението ми е: един главен контролер, който подава информация за всяко променено състояние. За всяко моторче да се постави отделен контролер, който разпознава адреса си ии подава съответните импулси към драйвера за стъпковото моторче.
Някой може ли да предложи конкретни ефтини драйвери или друг подход?
|
| Пон Юни 28, 2010 11:56 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Кажи за какво става дума, какви са парите и какви са сроковете. Решения много, ама кое е най-добро - зависи!
|
| Вто Юни 29, 2010 12:07 am |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
В общи линии срокът е два месеца. Моторите трябва да обръщат разни фигурки в две положения - 1 и 2("0" и "1"). Самото обръщане ще става по програма, която ще изпраща информацията през серийния порт. Ще идентифицира обектите като 5х4 реда(не са точно редове, но така ги дефинираме). И ще изпраща <ред><стойност>, евентуално след стойността, скорост на ротацията, която ще е еднаква за целия ред. Но това е вече екстра и не е задължителна на този етап. Засега ме интересува как най-ефтино да се получи. Парите са... абе има. Но да са минимални разходите, все пак.
|
| Вто Юни 29, 2010 12:17 am |
|
 |
|
optron
Ранг: Ориентиран
Регистриран на: Чет Ное 20, 2008 1:49 pm Мнения: 276 Местоположение: Бургас
|
Щом ке са подредени карирано, значи може матрично да се управляват - подходящи драйвери (има такива в ДИП-корпус) с разрешаващ вход и при всеки един елемент И. Щом на съответния ред и колона има единици, тогава този драйвер е разрешен и по обща шина се подават управляващите импулси.
Виж например L293 - драйвер за биполярни двигатели, в ДИП-корпус, издържащ до един ампер на канал. Струват по 2.40 за бройка във Футурел.
_________________ Digitally yours: Optron
|
| Вто Юни 29, 2010 1:01 am |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
Правих нещо подобно с MM74HC573 и моторчета. Точно матрично управление ползвах там. Но поставих за разширяване 74HCT154N, което ми създаваше неудобство, поради нуждата да се инвертират сигналите. Някой има ли по-добро решение от MM74HC573?
|
| Вто Юни 29, 2010 1:21 am |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Само да кажа, че горещо НЕ препоръчвам L293 - има много загуби и грее като радиатор. Защо не пробваш с един драйвер, или по един драйвер на ред (или на колона, щом трябва цял ред да се върти едновременно), и после с мултиплексори разпределяш сигнала до съответния мотор? Един 16 канален мултиплексор е стотинки някакви. С 4 мултиплексора можеш да управляваш 16 мотора. Така стига да имаш достатъчно крака за адресация можеш да минеш и с един голям контролер.
|
| Вто Юни 29, 2010 11:30 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Какво по-точно ти трябва като решение? Примерно аз бих го направил така : с някво малко чипче (примерно 12F675) си правя драйверчета. Един вход за положение, два(четири) изхода за транзисторите и евентуално сигнал за някой от краищата. Централното - с каквото и да е - преместващи регистри 74HC595, и евентуално може да подава някакъв PWM за скоростта. От страната на драйвера PWM-а примерно през един оптрон и RC и с чипчето си мериш и си готов за скоростта. Това с PWM-a и оптрона съм го виждал в промишлени условия да работи и се подава сигнал на 120 машинки.
|
| Вто Юни 29, 2010 12:05 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Трябва ми ефтин вариант за управление на стъпкови мотори
Е няма нужда от 200 контролерчета, един единствен ти е достатъчен. Аз бих ти препоръчал какво да е просто ARM-че за 2-3$, ама всеки друг ще стане като желателно е да има бърз SPI.
Отделяш 100 байта в паметта, по 4 бита (максимум) за всеки контролер, тия 100 байта ги изкарваш веднъж на милисекунда по SPI където с 74HC595 ги латчваш, демек навън ти трябват 100 бр. 595 навързани серийно (3 жици).
Като драйвери сега видях много интересно решение в digikey.... TB6608FNG на 1$ (що го нямаше навремето като ми трябваше на мен  )
Тоя чип си има абсолютно всичко - и чопър и ограничение на тока...
Мисля, че единствения ти проблем е че цената на драйвера е за 1к, а на теб ти трябват 200 бр.
В най-лошия случай всичко ще ти излезе по около 2$ на точка (400$). Но ако пуснеш 5 системи цената ти може да падне на 1.2$ (250$ общо). По-ниско от това не мисля че може да слезеш каквато и схема да измислиш 
|
| Вто Юни 29, 2010 1:30 pm |
|
 |
|
kasparov
Ранг: Почетен член
Регистриран на: Сря Апр 05, 2006 9:52 pm Мнения: 877 Местоположение: Разград
|
При пускане на цялото устройство предвижда ли се
установяване на моторите в начална позиция?
|
| Вто Юни 29, 2010 1:48 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
Така... пояснявам. Сега ми промениха заданието - драстично. Първо беше 10 блока, които да работят идентично с 5х4 точки. Сега, обаче, искат да бъде абсолютно всяка точка сама за себе си. Освен това моторчетата вече са 40х50 = 2000! Устройва ме решение до 2 евро на точка. Важно е устройството да работи стабилно. Предвижда се при начално включване да се установи всичко в състояние "0".
|
| Вто Юни 29, 2010 2:40 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
ми с 2000 моторчета цената ще ти си върже супер - имаш по 1 драйвер (~1$) + половин шифт регистър за няколко цента. Но самите моторчета ще е най-добре да си намериш китаец
А драйверът на ту-шиба ще ти стане най-надеждно тъй като имаш ограничаване на тока, демек няма опасност да изпушиш намотки. Можеш да оставиш двигателчетата в статично положение да държат позиция. Макар че ако е възможно най-добре да ги изключваш когато не се въртят. Другото е въпросът със захранването. 2000 моторчета по 0.5А макс са ти 1000А - бая ток!
Ще бъде много добре ако не се налага моторите да пазят позиция и фигурките ти могат да пазят равновесие. Тогава захранването ще трябва да е оразмерено само до броя на едновременно търкалящитите се двигателчета. Ако си поиграеш със скоростта и дефазирането евентуално може по две или повече двигателчета да се връткат без да се вдига максималния ток. Може и леко да вдигнеш напрежението и да намалиш тока. От това мощността няма да падне, но ще свалиш тока демек ще е по-добре за кабелите.
Няколко са ти ключовите моменти:
* захранването на моторите трябва да е различно от управлението. Ще видиш че тушибата си е с отделни захранвания.
* Изключително внимание трябва да отделиш за масите, както и предаването на сигналите за управление. Но първо трябва да измислиш как ще захранваш и окабеляваш силовата част, едва след това мисли управлението.
Относно централния контролер... заради това че се вдигат на 2000 може да помислиш и за повече от 1 контролер. Но ако ползваш добър 32-бит контролер с хардуерен SPI е по-добре, защото ще можеш много прецизно да управляваш кой мотор кога да се върти и кога да харчи ток и кога не. По-скоро може да ги направиш на различни вериги, които да шифтваш едновременно. Примерно почти всеки АРМ си има по 2 SPI + SSC, като по всеки канал имаш поне 10Mbit/s тъй че нямаш грижи със скоростта. Ще може да си цъкаш управленията през микросекунди ако искаш.
|
| Вто Юни 29, 2010 4:28 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
Правих нещо подобно вече(оттам си навлякох тази гадост...) и що се отнася до захранването, след като изхвърлих 240 буфера и 80 инвертора, разделих захранванията. Силовата част е предизвикателство, защото токът е като на електрожен... Ще поръчам захранване по задание(или няколко такива), не виждам друг начин. Най-важно към момента е да няма грешки в механичната част и контролите, а не на последно място, да си улесня окабеляването, че предния път се изгубих в лентови кабели... Затова и търся вариант за оптимизиране. Май ще се ориентирам на отделни контролери за всеки ред. Оттам един ще обработва всичко и ще подава към редовите каква е комбинацията. Но е много сложно с толкова мотори. Ще падне оплитане...
|
| Вто Юни 29, 2010 8:13 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Остави управлението за накрая, първо реши какво точно ще управляваш. Всъщност ти може би си знаеш, ама ние от тук с боба ни е малко трудно
Значи пак ще питам, първо трябва ли да държиш моторите включени постоянно?
Второ, колко мотора ще трябва да се връткат едновременно?
От тези въпроси зависи дали ти трябва електрожен или всичко можеш да го захраниш само с една батерия от GSM
Имай предвид, че може да се създава илюзия за едновременно движение, без да се налага да едновременно да храниш всички мотори. Просто пускаш една групичка да прави стъпка, малко преди да достигнат позицията им дърпаш шалтера и пускаш захранването на друга група. За известно време превключваш ту едната, ту другата група през да кажем 0.2-5mS и когато си сигурен че първата група е достигнала позицията окончателно я изключваш и я заменяш с друга група, която трябва да завъртиш с една стъпка.
Така общата консумация няма да ти надвишава максималната консумация на една група, все пак остава въпроса дали заданието позволява такива игрички? Написал си, че трябва да се правят по 50 стъпки напред, или назад. Но за какво време трябва да стане? И колко мотора ще трябва да правят това упражнение едновременно?
|
| Вто Юни 29, 2010 9:33 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
Ще трябва подобие на електрожен, защото изискването е моторите да се управляват от програма в компютъра, като никой не може да каже дали няма да се стигне до едновременно завъртане на 2/3 от моторчетата, например.
На мен ограничението ми е до комуникацията с компютъра. Другото ще го прави чужда програма, съгласно протокола, който дам.
За задържането, ще се постарая да балансирам максимално обектите, така че да не се налага задържане, но това ще стане ясно след като пристигне първият панел и видя какво точно представляват тези "обекти". Да кажем, че са парче материал, което при завъртане под 90 градуса вертикално, изглежда по съвсем друг начин...
Засега знам, че на практика ще се наложи да се повдигат около 20 грама, които са за предмет с размери близки до 15х15см.
За стъпките - 50 стъпки трябва да се направят за най-краткото възможно време. Реално, трябва да търся почти моментално завъртане между двете позиции. Или най-близкото до това.
|
| Вто Юни 29, 2010 11:03 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Щом ти трябва бързо завъртане задължително ще трябва да вдигнеш напрежението. В случая тушибата ще ти свърши чудесна работа, щото като вдигнеш напрежението задължително ти трябва чопър.
И въпреки всички чак моментално ми се струва зор... Особено с тия големи обекти. Въпреки че са леки, големият размер създава инерция, а заради инерцията ще трябва да вкараш плавно ускоряване. Нямам данните на тоя двигател, ама като го гледам на снимка според мен ще трябва да почнеш с около 50-100mS за първата стъпка после с всяка следваща да намаляваш времето докато достигнеш 5-10mS. Да кажем ускорението ти е 10 стъпки после 30 бързи стъпки и после пак 10 стъпки отрицателно ускорение. Нормално си отива над секунда всичко. Айде с високото напрежението да смъкнеш до половин секунда. Ама чак "моментално" ? Най-добре първо си поиграй с едно моторче да видиш какъв въртящ момент вади и дали ще може да се пребори с инерцията... Щото си спомняш от физиката предполагам, че F=ma ... демек за 2 пъти по-голямо ускорение ти трябва 2 пъти по-як мотор
А как точно ще е цялата конструкцията? Тая фигурка ще е нещо като колело надяното директно на роторчето или как? От това зависи и окабеляването, щото ако трябва да са плътно едно до друго трябва да мислиш как ще прекарваш кабелите. Не знам каква е идеята, аз просто си го представям като някакво табло дето се гледа отпред. Тогава най-добре на всяко колело да има поне 4 различни фигурки, макар че ако е квадрат той ще задере с горния и долния ред...
Иначе за окабеляването ако ще са така плътно подредени и тип "колелета" вътре в колелото няма да имаш място за платки, най-добре да искараш 4-те кабелчета от двигателя и зад стената някъде да ги навързваш. В тоя случай за да скъсиш кабелите ще трябва да ги правиш на блокчета от 4х4 или 5х5, като всички двигателчета се навързват към една платка за блока. Тогава може да помислиш и вместо електрожен да ползваш ATX компютърни захранвания. Мисля че от едно захранване ще може да изкараш 10А@12V което ще е достатъчно за едно блокче. Верно много захранвания ще станат, ама ще стане по-надеждно и ще може да ги гасиш когато не се врътка нито едно моторче...
|
| Сря Юни 30, 2010 8:37 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 5 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|