| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Step motor position indicator http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=8169 |
Страница 1 от 2 |
| Автор: | emilvtc [ Пон Окт 04, 2010 7:36 pm ] |
| Заглавие: | Step motor position indicator |
Трябва ми да следя управляващите сигнали DIR и STEP на 4 стъпкови мотора на една хоби-CNC машина, за да мога да дисплейвам на индикатори актуалните координати на машината. Управлението на машината е от PC посредством паралелния порт. Управляващата програма е MACH3. Максималната честота на STEP сигналите не надхвърля 1-3kHz. Та въпроса е как най-интелигентно и най лесно да реша проблема? Единия вариянт (може би най-елегантния) е в едно CPLD да синтезирам реверсивни броячи, които да се управляват от STEP и DIR сигналите и които да се четат от микроконтролер. Мислех си и за изцяло софтуерна реализация - с един микроконтролер да "полирам" сигналите и софтуерно да им правя обработването. Микроконтролера мецдувременно трябва да управляваи опреснява и 30 разрядна 7 сегментна индикация, Този вариянт ако е възможен е за предпочитане. Ако перформънса на процесора не стигне - мога да разделя задачата на 2 или повече процесори и пак изцяло софтуерно да реша проблема. Вариянта с дискретна логика извън процесора не ме кефи поради големия брой чипове. Може ли да ми предложите някаква идея за решение на проблема ми? |
|
| Автор: | bateAz [ Пон Окт 04, 2010 8:53 pm ] |
| Заглавие: | |
Само софтуерно. Това е толкова лесна задача, че дори и без микроконтролер ще стане - един PIC е достатъчен. Забележка: Като написах "PIC" и чекерът го подчерта с червено, нещо не го одобрява май ... Пускаш двата сигнала на два пина, като този, който е "CLOCK" да ти генерира прекъсване. В прекъсването четеш "DIR" и инкрементираш / декрементираш броячите. И така 4 пъти. |
|
| Автор: | Cekins [ Пон Окт 04, 2010 10:03 pm ] |
| Заглавие: | |
Лошо, PIC има само 3 външни прекъсвания. Може да се наложи да се "емулира" четвърто. При мен чекера не го подчертава ?!?! 30 динамични 7сег. съм правил - става. Ама няма да се мине без малко 74HCxxx (595 върши чудна работа). И за да докарам честота ги карам по сегменти, а не по цифри. |
|
| Автор: | kasparov [ Пон Окт 04, 2010 10:32 pm ] |
| Заглавие: | |
При включен Backlash compensation няма ли да се получи разминаване между показанията на уреда и това, което е изписано на екрана на Mach3? |
|
| Автор: | emilvtc [ Пон Окт 04, 2010 10:47 pm ] |
| Заглавие: | |
Относно Backlash compensation - наистина ще има разминаване при положение, че се използва. Това предполагам може да се компеенсира ако се заложи корекция при смяна на посоката на движение и в "индикаторната" система която мисля да правя. Понеже машината е със СВД-та се надявам Backlash compensation да не е необходима. Повечето процесори имат прекъсвания PIN CHANGE NOTIFICATION. Евентуално тях мога да използвам. Относно индикацията мисля каскадно да свържа 4094 регистри и през SPI да ги зареждам. Индикацията мислех да е динамична 5 реда с по 6 сегментни индикатора на ред. Във всеки един момент свети по един индикатор от всеки ред. Още не съм разучил в детайли MACH3-то, но ще го направя в най-скоро време. |
|
| Автор: | bateAz [ Пон Окт 04, 2010 10:48 pm ] |
| Заглавие: | |
Не знам за кой PIC говориш, но аз на времето ползвах ( СРАМ! ) един с две или три външни, като за повече ползвах кепчъра да прекъсва като първо "допълнително" и серийния канал като "второ". Лошото е, че серийният канал прекъсва само по заден фронт, ама пак е нещо. Като се замисля, и в задния фронт има някакво очарование, стига да ти дадат да подадеш такъв сигнал ... |
|
| Автор: | Cekins [ Пон Окт 04, 2010 11:09 pm ] |
| Заглавие: | |
Ами всички 18-ки имат 3 с настройка преден/заден фронт. Има и едно общо за 4 пина ама те нямат настройка по фронт и е леко кьораво. Може да се ползва и входа на таймер1/3 - там пък трябва да слагаш таймера на $FFFF и пак ще реагира само на един фронт. Ама аз правя дреболийки а и другата работа не ми дава мегдан да мина на по-горна стъпка. Надявам се скоро и това да стане. Преди около година правих едно управление дето трябваше да може да мери 5 входа за обороти - пет 12-ки, общ клок 32,768kHz, всичките на SPI. Стана чудно. Даже и малка част от сметките ги оставих на 12-ките. |
|
| Автор: | bateAz [ Пон Окт 04, 2010 11:15 pm ] |
| Заглавие: | |
MSP430 може да има до 27 входа ... |
|
| Автор: | woody [ Вто Окт 05, 2010 3:05 am ] | |||||||||
| Заглавие: | ||||||||||
Точно при СВД си имаш чуден луфт. |
||||||||||
| Автор: | emilvtc [ Вто Окт 05, 2010 10:29 am ] | |||||||||
| Заглавие: | ||||||||||
Какво говориш ? Да не се бъркаш с гайка и винт с трапецовиден профил, а не със съчми? Според мен ако СВД има луфтовете за които говориш, то следва да се замени веднага с нова. Нещо повече, съчменовинтовите гайки имат възможност за натягане (обикновенно само при двойните е така), така че при тях не би следвало да има никакви (или наистина много малки) луфтове ... |
||||||||||
| Автор: | xor [ Вто Окт 05, 2010 10:53 am ] | |||||||||
| Заглавие: | Re: Step motor position indicator | |||||||||
Не разбирам защо трябва да дублираш нещо което го имаш вече в MACH3. Защо просто не гледаш координатите на дисплея на компютъра??? |
||||||||||
| Автор: | emilvtc [ Вто Окт 05, 2010 11:16 am ] |
| Заглавие: | |
А-ми за удобство например. Освен това за възможност и за ръчен режим (автономен без PC). |
|
| Автор: | milenjs [ Вто Окт 05, 2010 12:13 pm ] | ||
| Заглавие: | |||
Нещо такова ще ти трябва също [/img]
|
|||
| Автор: | woody [ Вто Окт 05, 2010 2:12 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Среднощен пост с объркан порядък (то наистина е за изхвърляне такова). СВД си бяха, мерил съм ги с часовник и после проверявал отново след компенсирането. Чувал съм за машини с точност в микрони, но не съм виждал - комбинирано винаги се събираха грешки в стотна и нагоре като краен ефект. Не че няма такъв хай-тек, ама явно не е за всеки. |
|||||||||||||||||||
| Автор: | woody [ Вто Окт 05, 2010 2:14 pm ] | |||||||||
| Заглавие: | ||||||||||
MPG / РИГ. |
||||||||||
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|