Отговори на тема  [ 26 мнения ]  Отиди на страница Предишна  1, 2
Трябва ми ефтин вариант за управление на стъпкови мотори 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 03, 2005 11:31 am
Мнения: 766
Местоположение: Пловдив
Мнение 
Не е баш по темата ама предполагам нещо подобно ще да е , макар че е реализирано с готови сервота...

http://www.smoothware.com/danny/index.html


Сря Юни 30, 2010 11:44 am
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение 
Моторчетата са зад маска и няма да се виждат. 1 секунда за цялото табло ли имаш предвид като опресняване или време за завъртане на всеки обект? Таблото може да се опреснява за около 3-5 секунди. Но за един обект движението трябва да е не повече от 200ms. Оттам нагоре, търся друг изпълнителен елемент. Първоначално се бях спрял на някакви сервомоторчета, но ми се стори по-удачно със стъпкови.


Сря Юни 30, 2010 4:37 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
аз малко съм се подвел.... Първо тия от robotev са написали 600mA, ама това е на фаза, освен това 3.9V е номиналното ама мотора може да си бачка а 24V. Демек моторчето е много по-яко и по-бързо отколкото си ги представях. Не е както това дето аз ползвам 2*250mA на 7V. Освен това аз имам много голяма тежест, затова не мога да направя 50 стъпки бързо ;-)

тъй де... няма да имаш проблем с 200mS, но ще ти трябва и по-добре резолюция като цъкаш фазите. Като му гледам характеристиката може да се развърта до около 10000 стъпки/с демек най-късата възможна стъпка ти е само 100uS. На око аз обикновено почвам с 20 пъти по-ниска скорост, т.е. има шанс първа стъпка да отлепи за 2mS, да развъртиш до 0.2 или цялото упражнение може да успееш да го вкараш в рамките на 30-на mS. Тая сметка е кръчмарска, трябва сметнеш масите (ако имаш данни) и да видиш с тая тяга дето му дават 100-180 g-cm какво ускорение може да постигнеш (аз може малко да съм го надценил). Освен това и поне с тоя драйвер няма да стане на 24V, по-скоро 12V и от там ще ти падне още при това значително. Но при всички случаи няма да е повече от 200mS :-)

И 30 няма да е, но може да се бориш за 100mS :-)

Лошото обаче е че и тока съм сбъркал.... Да кажем че го ограничиш на 2*500mA, тва са ти 12W. Определено няма да искаш да ги връткаш едновременно и да достигаш пикова консумация от 24kW :-)

а това дето те питаха по-горе - как ще ги установяваш в начална позиция? Механичен ограничител?


Сря Юни 30, 2010 7:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение 
Ако аз го правех:
- ще разделя електрониката в няколко (десетки) идентични модула - всеки модул ще управлява ограничен брой двигателчета - примерно 20 (или по-кръгло - 32 :-) );
- всеки модул ще е със собствен контролер, и ще си има сериен индустриален интерфейс - CAN, RS485 ... - с галванично отделяне на bus-а от електрониката (и за CAN, и за 485 има буфери с галванично отделяне в един чип - добавяш DC/DC и си готов); контрола на 32-те моторчета както го решиш - специализиран драйвер или шифт регистри с транзистори или драйвери;
- всеки модул ще си има уникален адрес по бъса, че да може да бъде адресиран и управляван от pc-то;
- не е лошо ако захранването към индивидуалните модули е по-високоволтово - например директно 220V (може и DC), а в модулите да има траф / импулсно захранване;
- още нещо - като гръмне нещо, сменяш модула с резервата и си свиркаш.

Идеята е че можеш да почнеш с един модул, потенциалите ще са разделени, протокола ще е ясен, може да си поръчаш платка за един модул, и да си тестваш спокойно. Захранванията ще са отделени също.

А и не забравяй, че клиента като размисли още веднъж, и каже 8000 точки, ще си подготвен ( ако каже 20, пак си готов).

Ако пък се откаже съвсем, излизаш на пазара с "контролер за 32 стъпкови мотора и CAN/RS485 интерфейс"...

То да сметнем - поне 3-4 евра ти е галваничното, 2 за контролер с CAN, 20-на за 32-та драйвера, 10-за PCB, 3-4 за конектори (поне).
За захранване ти остават 20-25 евра. То ако е горе-долу по 300ма на мотор, ще дойде общо 10A. Ако е на 24V, чини към 250Вт траф.
Например http://home.comet.bg/shop/datasheet1.html?ID=8470 - 24V/10A , струва 23 евро. Грец, кондери, радиатори, кутия ...
Абе може и да стане до 70-80 евра за 32 точков модул.
Може би трябва да се сметне колко точки в един модул е оптимално като цена...


Но ти си знаеш дали приложението носи "итерации" при провал на първата реализация, или си заслужава презастраховане в дизайн фазата.


Чет Юли 01, 2010 9:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Съб Юни 24, 2006 8:25 pm
Мнения: 2292
Мнение 
gicho написа:
Ако аз го правех:
...


+1!

Toва е правилният подход. Обоснован на схемно, системно и търговско ниво.
Разликата между нещо работещо и неработещо може да е много малка и същевременно съществена подробност. Дилемата '595 или '574 има място само, ако всичко е на една платка. Да се спестят няколко стотинки, или левчета не си струва за такава несъмнено престижна (в смисъл, че е на показ) работа. Ако няма друг начин, по-добре е възложителят да ги доплати, отколкото да получи почти работещо, тоест неработещо чудо на техниката.

Две допълнения за размисъл.
-Ако връзките не са големи, може и да не се използва галванично развързване. 485 схемите са доста устойчиви. Все пак галваничното развързване е по-добро решение.
-Софтуерът може да се направи така, че да могат да се изпълняват и групови команди.

_________________
Две плюс две е приблизително равно на четири. Факт!


Чет Юли 01, 2010 10:48 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
не е така...
Първо се прави това което ще управляваш, а пък после управлението ;-)

В случая моторът му е до 1.2А, като тоя ток му трябва... Освен това трябва да вдигне напрежението, за да нараства по-бързо тоя ток. Но заедно с това чопърът става неизбежен. Демек захранването му ще си е@@е мамата... Представете си 2000 консуматора дето ту консумират по 1.2А то връщат по малко.
Ще е пълна простотия ако остави тая дискотека неуправляема. Просто консумацията трябва да се балансира иначе.... А за да управлява консумацията трябва да може с много голяма точност във времето да включва едни, да изключва други. В идеалния случай е добре даже и чопърите да синхронизира, така че като "отреже" тока от един мотор да се пренасочва към друг...

Всичко това като логика е много по-лесно да се направи на един процесор. Многопроцесорните истории носят само проблеми. Не че е невъзможно да ги синхронизира, ама това значи допълнително логика. Отделно и много по-трудно дебъгване.

Всъщност всичко си зависи от захранванията. Ако е един централен електрожен по-добре и един централен професор. Ако пръсне захранванията може на всяко захранване да има отделен контролер. Тогава няма да има нужда отделените контролери да ги синхронизира и да цепят микросекундата...


Пет Юли 02, 2010 8:51 am
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Сря Апр 05, 2006 9:52 pm
Мнения: 877
Местоположение: Разград
Мнение 
Тока няма да е 1,2А. Щеше да е толкова ако ограничавахме тока с резитор,
с чопъра средния ток на 12 В би трябвало да е доста по-малко, да кажем 350 мА.
Нали имаш бобина, в която тока нараства, след което има време през което спада...
Има и кондензатор.
Изключването как ще стане, ако се спре изцяло поддържащия ток, при следващо
подаване на импулси за движение ще се получи случайна грешка +/- 1 стъпка,
или трябва да помним в какво положение последно сме го комутирали този мотор?
Не е ли по-добре да се остави тока да тече постоянно, а с Vref да се намали на някаква
приемлива стойност.


Пет Юли 02, 2010 4:55 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение 
sthx написа:
gicho написа:
Ако аз го правех:
...


+1!

Toва е правилният подход. Обоснован на схемно, системно и търговско ниво.
Разликата между нещо работещо и неработещо може да е много малка и същевременно съществена подробност. Дилемата '595 или '574 има място само, ако всичко е на една платка. Да се спестят няколко стотинки, или левчета не си струва за такава несъмнено престижна (в смисъл, че е на показ) работа. Ако няма друг начин, по-добре е възложителят да ги доплати, отколкото да получи почти работещо, тоест неработещо чудо на техниката.

Две допълнения за размисъл.
-Ако връзките не са големи, може и да не се използва галванично развързване. 485 схемите са доста устойчиви. Все пак галваничното развързване е по-добро решение.
-Софтуерът може да се направи така, че да могат да се изпълняват и групови команди.


Ха-ха!
Не исках чак толкова да навлизам в същността на проекта, но: наистина подходът ми е да работя с модули. Всеки модул мисля да има свое управление. В механиката съм заложил няколко хитрости, които да елиминират възможността да се получи блокиране. Просто има заключващ механизъм, който задържа фигурката, а освобождава моторчето - ако продължи да се върти в същата посока, само ще цъка, без да се товари... Ама ме изпълнихте с някои от идеите!


Пет Юли 02, 2010 5:21 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
kasparov написа:
Тока няма да е 1,2А.


Токът през двигателя ще си е баш 1,2А даже може и да го вдигне леко, защото му трябва голямо ускорение демек голяма мощност, ама през голям интервал надявам се.

Токът от захранването е друга бира, която зависи от напрежението. Ако е на 3 волта ще е почти постоянен, но ако вдигне напрежението на 12 или 24В, при достигане на 1.2А (или каквото там избере) чопърът ще почне да накъсва тока от захранването. Така от захранването от всеки мотор ще има нарастващ ток, който в един момент рязко спира до нула, после тръгва рязко, расте малко, пак спира. А след развъртане даже ще има и отрицателен ток при смяна на фазите.

Така че, колкото повече вдига напрежението толкова повече расте пиковата консумация, защото пиковият ток си е все 1.2А. Естествено той задължително трябва да сложи някакъв кондензатор, но само с кондензатор да обира пикове от по 1.2А си е зор. Става, ама първо се оскъпява и второ трябва да мисли за soft start на захванването при толкова много кондензатори.

Както и да е, въпросът беше че с по-прецизно управление ще може да си щрака двигателчетата в такъв порядък, че пиковите им консумации да не съвпадат. Достатъчно е само да ги дефазира точно. Няма нужда от дебели кондензатори и прочие.


Пет Юли 02, 2010 7:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
п.с.
Освен това едва ли ще ги направи всичките 2000 да се въртят едновременно. Ще му трябват мноого киловати. Спомена се 3-5 секунди опресняване, а ако постигне 100-150mS на партида, значи ще са едно 30-40 групички. Ако всичко е на общо управление няма да има нужда от dead time между групичките. Ако ги пръсне на отделни контролери дето си говорят само по серийна, ще му се наложи сериозен dead time.
Ситуацията ще е още по-сложна при нормална работа ако трябва да врътка произволни точки. Подобно нещо има в повечето термични принтери, примерно тоя дето ползвам редът е разделен на 6 групи от по 64 точки. Общо 384 точки, но не могат да се включват всичките едновременно щото токът става прекалено голям. Затова софтуера брои черните пиксели и ако са малко може и 6-те групи да включи едновременно. Иначе решава на колко части/групи и коя след коя да се включи.
В случая ако да кажем всичките 2000 ги раздели на 60-70 групи от 32 парчета и сложи общо захранване дето да издържа максимум 50-60 едновременно ще получи един буен алгоритъм на кой от подчинените контролери кога и какво съобщение да праща.... Адресации, глупости... Няма начин да стане без dead time, за да гарантира че 2 групички няма да се застъпят и консумацията да стане 2 пъти по-висока, отколкото е позволено... Лошото е, че времената са твърде кратки - една стъпка от 100uS до 1-2mS.
Далеч по-просто е с 1 контролер, достатъчно са само два буфера, докато единия се праща процесорът "рисува" битове за следващата порция. Само ги брои така че да няма повече отколкото позволява захранването ;-)


Пет Юли 02, 2010 7:53 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Чет Ное 20, 2008 1:49 pm
Мнения: 276
Местоположение: Бургас
Мнение 
Ако фигурките могат да си запазят положението когато се изключи токът на мотора, тогава моторите могат да се сменят с униполярни, при което силовото управление става матрично - обща шина от четири проводника (може и осем - удвоява скоростта на сканиране и става по-удобна за контролера), към която са навързани краищата на бобините на всички двигатели, и индивидуални средни точки от бобините на всеки двигател. Тази шина се опъва към маса от мощни транзистори. Управлението става като се подаде плюс на съответния двигател, опънат се проводниците на шината, които определят следващата му стъпка, след което се освобождава двигателят и се преминава към следващия. Естествено, ще трябва развързване на двигателите от шината с диоди. При осемпроводна шина двигателите се навързват по двойки и четири проводника управляват единия двигател, а другите четири - другия. При всяко следващо сканиране на всеки двигател му се подават импулсите от следващата му стъпка, което ще се помни от контролера.
Недостатък е, че при много двигатели сканирането ще стане твърде тромаво, защото на всеки двигател ще трябва да му се дава време да реагира на смяната на стъпката, но за модули с неголям брой двигатели мисля ще стане.
На подобен принцип са реализирани пълноцветните светодиодни дисплеи - по редовете примерно са общите аноди, а колоните са с по три проводника за индивидуалните катоди на всеки цвят.

ПП: Помисли за реализацията със сервомашинки - те искат импулс на всеки 70-на милисекунди за да работят, които са широки не повече от 2 милисекунди. Мисля, че с тях доста по-бързо ще можеш да си правиш сканирането.

ПП2: Какви са тия мултиплексори, дето ще издържат по ампер и половина!? 8O Или нещо се бъркам ?

_________________
Digitally yours: Optron


Пон Юли 05, 2010 5:31 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 26 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

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


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

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