самодельный станок чпу (cnc)

Художник

tvv,

Уважаю немецкие машиностроительные фирмы, но имел ввиду не в какой фирме работаете, а чем фирма занимается, станками ЧПУ или например, прецизионными измерениями?

Может марки двигателей сообщите, и где такие системы применяются, сколько они стоят, может ссылочку на сайт дадите?

По поводу арифметики. Вы пишите:
“Проверял в работе при скорости вращение вала энкодера 100 об.мин.”
Далее:
“Получается если шаг резьбы 1мм и передаточное с вала винта на вал энкодера 1:1, допустимая скорость перемещения 100мм за секунду”
Чё то не клеится, при шаге 1мм на оборот, при скорости 100 оборотов в минуту, получим 100 мм в минуту, то есть 1,66 мм в секунду, никак не 100.

Черепаха раза в пять быстрее идёт.

Вообще что за ШД, сколько фаз, момент на валу, максимальная частота отработки импульсов полного шага, номинальная частота приемственности?

И что за винт, 1 мм/об?

“Проверял в работе при скорости вращение вала энкодера 100 об.мин. Итого 1000 имп. на оборот х 100 = 100 кГц работало без проблем.”

Что то у вас с арифметикой не в порядке, надо ещё на 60 поделить. Получите 1666 Гц.

Частота вращения вала двигателя 100 об/мин не годится даже для хоббийного станка, частота вращения на среднем станочке порядка 600 об/мин, если собираетесь с энкодера 1000 импульсов на оборот снимать, получите частоту 10 КГц.

“имеем скость перемещения 1000мм за секунду.”

60 метров в минуту.

На шаговике.

Круто. 😃

Так сколько же эта система стОит, где она используется и какие всё же у неё правильно посчитанные реальные характеристики?

MOLDMAKER

Саша

Тёзка - пральна говоришь.
Нам главное не мешать и пугать, а помогать и советовать 😃 😃 😃

Художник

Cаша, MOLDMAKER,

Правильно. Ещё задача предостеречь от ненужных трат времени и сил.

Обратная связь на хоббийном станке с шаговыми двигателями нафиг не нужна.

tvv

сори!!! Проверял не на двигателе. Это теоретическая величина ограниченная скоростью счета для энкодера. А так в общем, в жизни не хватает единомышлеников. Если у Вас есть возможность делать печатные платы и железо, готов возобновить работу на общее благо. Есть идеи, но квартира (ее размеры), не позволяет развернуться как хочеться.

Фирма делает экструдеры, флексопечатные машины и другое.
Двигатели Siemens, Berger, Arcopos, Aradec. Plc- B&R,
step5,7, Provit.
www.wuh-lengerich.de/index_ru.html
Длинные темы лучше по тел.1198181

sergant77

Помогите разобраться с шаговиком

Попался зверь (ДШИ 200-1-2) о восьми проводах, все одного цвета, вырваны из чего-то с мясом, как понять где какая обмотка???
я так понял разобрать надо??? А че там внутри???

Cаша
sergant77:

Помогите разобраться с шаговиком

Попался зверь (ДШИ 200-1-2) о восьми проводах, все одного цвета, вырваны из чего-то с мясом, как понять где какая обмотка???
я так понял разобрать надо??? А че там внутри???

у меня с ДШИ 200-1-1 были такие же проблемы подсоединен как на рис 4, сначало я прозвонил прибором 8 выходов и разбил их по парам , каждой паре соответсвует обмотка , дальше необходим проверенный контроллер вот подключая к нему двигатель как показано на рис 4 пробуеш разные варианты- сначало 1 контур , при правельном подключении хотя бы одного контура( на сколько я помню) вал дши руками трудно провернуть. потом 2=ой контур . таким образом на 3 двигателя у меня уходило не более 1 часа—другой способ я не знаю.

Художник

“я так понял разобрать надо??? А че там внутри???”

Не разбирайте, он точно собран, можете испортить.

STEPMOTOR

Кто писал прошивку для 3-х осевого контроллера на pic16f877 ?

Я пытаюсь но что-то с немогу сделать следующий алгоритм:
При поступлении на step вход МК сигнала происходит проверка наличия сигнала Dir, в соответствии дальше переключение обмоток в нужном направлении, и наконец загвоздка состоит в том чтобы следующий шаг происходил только при следуюшем поступлении сигнала. Могу сказать что задержка по временя не годится !
А вот исходник на PicBasic

device 16f877
declare xtal 20
Config HS_OSC, WDT_OFF, PWRTE_ON, BODEN_ON, LVP_OFF, WRTE_ON, CP_OFF, DEBUG_OFF

start:

’ set variables:
dim stepxA as byte
dim stepxB as byte
dim stepxC as byte
dim stepxD as byte

dim stepyA as byte
dim stepyB as byte
dim stepyC as byte
dim stepyD as byte

dim stepzA as byte
dim stepzB as byte
dim stepzC as byte
dim stepzD as byte

dim StepXArrayA[8] as Byte
dim StepXArrayB[8] as Byte
dim StepXArrayC[8] as Byte
dim StepXArrayD[8] as Byte

dim StepYArrayA[8] as Byte
dim StepYArrayB[8] as Byte
dim StepYArrayC[8] as Byte
dim StepYArrayD[8] as Byte

dim StepZArrayA[8] as Byte
dim StepZArrayB[8] as Byte
dim StepZArrayC[8] as Byte
dim StepZArrayD[8] as Byte

TRISD = %00000000
TRISC = %00000000
TRISE = %11000000

asm
bcf ADCON0,ADON
movlw 0x07 ;b’0000 0111’
bsf STATUS,RP0
movwf ADCON1
movlw 0x3F ;b’0011 1111’
movwf TRISA
clrf TRISE
endasm

input porta.0 ;dirX
input porta.1 ;stepX
input porta.2 ;dirY
input porta.3 ;stepY
input porte.0 ;dirZ
input porte.1 ;stepZ

StepXArrayA[0] = 0: StepXArrayB[0] = 0: StepXArrayC[0] = 0: StepXArrayD[0] = 1
StepXArrayA[1] = 0: StepXArrayB[1] = 0: StepXArrayC[1] = 1: StepXArrayD[1] = 1
StepXArrayA[2] = 0: StepXArrayB[2] = 0: StepXArrayC[2] = 1: StepXArrayD[2] = 0
StepXArrayA[3] = 0: StepXArrayB[3] = 1: StepXArrayC[3] = 1: StepXArrayD[3] = 0
StepXArrayA[4] = 0: StepXArrayB[4] = 1: StepXArrayC[4] = 0: StepXArrayD[4] = 0
StepXArrayA[5] = 1: StepXArrayB[5] = 1: StepXArrayC[5] = 0: StepXArrayD[5] = 0
StepXArrayA[6] = 1: StepXArrayB[6] = 0: StepXArrayC[6] = 0: StepXArrayD[6] = 0
StepXArrayA[7] = 1: StepXArrayB[7] = 0: StepXArrayC[7] = 0: StepXArrayD[7] = 1

StepYArrayA[0] = 0: StepYArrayB[0] = 0: StepYArrayC[0] = 0: StepYArrayD[0] = 1
StepYArrayA[1] = 0: StepYArrayB[1] = 0: StepYArrayC[1] = 1: StepYArrayD[1] = 1
StepYArrayA[2] = 0: StepYArrayB[2] = 0: StepYArrayC[2] = 1: StepYArrayD[2] = 0
StepYArrayA[3] = 0: StepYArrayB[3] = 1: StepYArrayC[3] = 1: StepYArrayD[3] = 0
StepYArrayA[4] = 0: StepYArrayB[4] = 1: StepYArrayC[4] = 0: StepYArrayD[4] = 0
StepYArrayA[5] = 1: StepYArrayB[5] = 1: StepYArrayC[5] = 0: StepYArrayD[5] = 0
StepYArrayA[6] = 1: StepYArrayB[6] = 0: StepYArrayC[6] = 0: StepYArrayD[6] = 0
StepYArrayA[7] = 1: StepYArrayB[7] = 0: StepYArrayC[7] = 0: StepYArrayD[7] = 1

StepZArrayA[0] = 0: StepZArrayB[0] = 0: StepZArrayC[0] = 0: StepZArrayD[0] = 1
StepZArrayA[1] = 0: StepZArrayB[1] = 0: StepZArrayC[1] = 1: StepZArrayD[1] = 1
StepZArrayA[2] = 0: StepZArrayB[2] = 0: StepZArrayC[2] = 1: StepZArrayD[2] = 0
StepZArrayA[3] = 0: StepZArrayB[3] = 1: StepZArrayC[3] = 1: StepZArrayD[3] = 0
StepZArrayA[4] = 0: StepZArrayB[4] = 1: StepZArrayC[4] = 0: StepZArrayD[4] = 0
StepZArrayA[5] = 1: StepZArrayB[5] = 1: StepZArrayC[5] = 0: StepZArrayD[5] = 0
StepZArrayA[6] = 1: StepZArrayB[6] = 0: StepZArrayC[6] = 0: StepZArrayD[6] = 0
StepZArrayA[7] = 1: StepZArrayB[7] = 0: StepZArrayC[7] = 0: StepZArrayD[7] = 1

main:
if porta.1=1 then

if porta.0 = 1 then
stepxA = stepxA + 1
stepxB = stepxB + 1
stepxC = stepxC + 1
stepxD = stepxD + 1
else
stepxA = stepxA - 1
stepxB = stepxB - 1
stepxC = stepxC - 1
stepxD = stepxD - 1
endif

PORTD.4 = StepXArrayA[stepxA]
PORTD.5 = StepXArrayB[stepxB]
PORTD.6 = StepXArrayC[stepxC]
PORTD.7 = StepXArrayD[stepxD]
endif
if porta.3=1 then

if porta.2 = 1 then
stepyA = stepyA + 1
stepyB = stepyB + 1
stepyC = stepyC + 1
stepyD = stepyD + 1
else
stepyA = stepyA - 1
stepyB = stepyB - 1
stepyC = stepyC - 1
stepyD = stepyD - 1
endif

PORTD.0 = StepYArrayA[stepyA]
PORTD.1 = StepYArrayB[stepyB]
PORTD.2 = StepYArrayC[stepyC]
PORTD.3 = StepYArrayD[stepyD]
endif
if porte.1=1 then

if porte.0 = 1 then
stepzA = stepzA + 1
stepzB = stepzB + 1
stepzC = stepzC + 1
stepzD = stepzD + 1
else
stepzA = stepzA - 1
stepzB = stepzB - 1
stepzC = stepzC - 1
stepzD = stepzD - 1
endif

PORTC.2 = StepZArrayA[stepzA]
PORTC.3 = StepZArrayB[stepzB]
PORTC.4 = StepZArrayC[stepzC]
PORTC.5 = StepZArrayD[stepzD]
delayms 5
endif

GoTo main

maxvovk
STEPMOTOR:

Кто писал прошивку для 3-х осевого контроллера на pic16f877 ?

Я пытаюсь но что-то с немогу сделать следующий алгоритм:
При поступлении на step вход МК сигнала происходит проверка наличия сигнала Dir, в соответствии дальше переключение обмоток в нужном направлении, и наконец загвоздка состоит в том чтобы следующий шаг происходил только при следуюшем поступлении сигнала. Могу сказать что задержка по временя не годится !

Решения два.

Или поставить D-триггер и по обработке импульса его сбрасывать, или ввести в программу флажок отработки шага, устанавличать его по обработке и сбрасывать по приходу 0. Если я правильно понял, что у вас простой опрос портов, а не прерывания.

STEPMOTOR

😃 Спасибо ! А как приблизительно выглядит алгоритм реализация прерываний в pic для нашей цели ?

maxvovk
STEPMOTOR:

😃 Спасибо ! А как приблизительно выглядит алгоритм реализация прерываний в pic для нашей цели ?

Я не знаком с пиками, но глобально шаг по положительному фронту вызывает прерывание, где оно и обрабатывается 😃. Прерывание получается очень коротким, буквально несколько команд.

STAER
wovik:

Хочу сделать станок, для работы по трем осям, по механике вопросов нет.
Есть двигатели ДШИ 200-1-1 но нет никаких данных на них.
Контроллер управления (между компом и контроллером двигателей или двигателями) предложите схему, если необходимо с прошивками.
И софт, для работы с контроллером(предложенным).

Для создания станка нужно быть спецом в механике и электронике… Лучше самому все делать и разбираться со своими ошибками…
Я делаю уже второй по счету ЧПУ и каждый раз нахожу все новые и более лучшие решения.
Вообще лучше чем обвесить все микроконтроллерами и обьеденить их интерфейсом rs485 я не придумал. Очень много возможностей открывается… Станок дробится на мелкие части - для несерийных моделей это наилучший вариант - т.е. есть мотор - контроллер ему отдельный есть датчик -тоже контроллер шпинделю - тоже и так далее… А самое главное что подключив на интерфейс комп - получаешь доступ ко всем устройствам

STEPMOTOR:

Кто писал прошивку для 3-х осевого контроллера на pic16f877 ?

Я пытаюсь но что-то с немогу сделать следующий алгоритм:
При поступлении на step вход МК сигнала происходит проверка наличия сигнала Dir, в соответствии дальше переключение обмоток в нужном направлении, и наконец загвоздка состоит в том чтобы следующий шаг происходил только при следуюшем поступлении сигнала. Могу сказать что задержка по временя не годится !
А вот исходник на PicBasic

device 16f877
declare xtal 20
Config HS_OSC, WDT_OFF, PWRTE_ON, BODEN_ON, LVP_OFF, WRTE_ON, CP_OFF, DEBUG_OFF

start:

’ set variables:
dim stepxA as byte
dim stepxB as byte
dim stepxC as byte
dim stepxD as byte

dim stepyA as byte
dim stepyB as byte
dim stepyC as byte
dim stepyD as byte

dim stepzA as byte
dim stepzB as byte
dim stepzC as byte
dim stepzD as byte

dim StepXArrayA[8] as Byte
dim StepXArrayB[8] as Byte
dim StepXArrayC[8] as Byte
dim StepXArrayD[8] as Byte

dim StepYArrayA[8] as Byte
dim StepYArrayB[8] as Byte
dim StepYArrayC[8] as Byte
dim StepYArrayD[8] as Byte

dim StepZArrayA[8] as Byte
dim StepZArrayB[8] as Byte
dim StepZArrayC[8] as Byte
dim StepZArrayD[8] as Byte

TRISD = %00000000
TRISC = %00000000
TRISE = %11000000

asm
bcf ADCON0,ADON
movlw 0x07 ;b’0000 0111’
bsf STATUS,RP0
movwf ADCON1
movlw 0x3F ;b’0011 1111’
movwf TRISA
clrf TRISE
endasm

input porta.0 ;dirX
input porta.1 ;stepX
input porta.2 ;dirY
input porta.3 ;stepY
input porte.0 ;dirZ
input porte.1 ;stepZ

StepXArrayA[0] = 0: StepXArrayB[0] = 0: StepXArrayC[0] = 0: StepXArrayD[0] = 1
StepXArrayA[1] = 0: StepXArrayB[1] = 0: StepXArrayC[1] = 1: StepXArrayD[1] = 1
StepXArrayA[2] = 0: StepXArrayB[2] = 0: StepXArrayC[2] = 1: StepXArrayD[2] = 0
StepXArrayA[3] = 0: StepXArrayB[3] = 1: StepXArrayC[3] = 1: StepXArrayD[3] = 0
StepXArrayA[4] = 0: StepXArrayB[4] = 1: StepXArrayC[4] = 0: StepXArrayD[4] = 0
StepXArrayA[5] = 1: StepXArrayB[5] = 1: StepXArrayC[5] = 0: StepXArrayD[5] = 0
StepXArrayA[6] = 1: StepXArrayB[6] = 0: StepXArrayC[6] = 0: StepXArrayD[6] = 0
StepXArrayA[7] = 1: StepXArrayB[7] = 0: StepXArrayC[7] = 0: StepXArrayD[7] = 1

StepYArrayA[0] = 0: StepYArrayB[0] = 0: StepYArrayC[0] = 0: StepYArrayD[0] = 1
StepYArrayA[1] = 0: StepYArrayB[1] = 0: StepYArrayC[1] = 1: StepYArrayD[1] = 1
StepYArrayA[2] = 0: StepYArrayB[2] = 0: StepYArrayC[2] = 1: StepYArrayD[2] = 0
StepYArrayA[3] = 0: StepYArrayB[3] = 1: StepYArrayC[3] = 1: StepYArrayD[3] = 0
StepYArrayA[4] = 0: StepYArrayB[4] = 1: StepYArrayC[4] = 0: StepYArrayD[4] = 0
StepYArrayA[5] = 1: StepYArrayB[5] = 1: StepYArrayC[5] = 0: StepYArrayD[5] = 0
StepYArrayA[6] = 1: StepYArrayB[6] = 0: StepYArrayC[6] = 0: StepYArrayD[6] = 0
StepYArrayA[7] = 1: StepYArrayB[7] = 0: StepYArrayC[7] = 0: StepYArrayD[7] = 1

StepZArrayA[0] = 0: StepZArrayB[0] = 0: StepZArrayC[0] = 0: StepZArrayD[0] = 1
StepZArrayA[1] = 0: StepZArrayB[1] = 0: StepZArrayC[1] = 1: StepZArrayD[1] = 1
StepZArrayA[2] = 0: StepZArrayB[2] = 0: StepZArrayC[2] = 1: StepZArrayD[2] = 0
StepZArrayA[3] = 0: StepZArrayB[3] = 1: StepZArrayC[3] = 1: StepZArrayD[3] = 0
StepZArrayA[4] = 0: StepZArrayB[4] = 1: StepZArrayC[4] = 0: StepZArrayD[4] = 0
StepZArrayA[5] = 1: StepZArrayB[5] = 1: StepZArrayC[5] = 0: StepZArrayD[5] = 0
StepZArrayA[6] = 1: StepZArrayB[6] = 0: StepZArrayC[6] = 0: StepZArrayD[6] = 0
StepZArrayA[7] = 1: StepZArrayB[7] = 0: StepZArrayC[7] = 0: StepZArrayD[7] = 1

main:
if porta.1=1 then

if porta.0 = 1 then
stepxA = stepxA + 1
stepxB = stepxB + 1
stepxC = stepxC + 1
stepxD = stepxD + 1
else
stepxA = stepxA - 1
stepxB = stepxB - 1
stepxC = stepxC - 1
stepxD = stepxD - 1
endif

PORTD.4 = StepXArrayA[stepxA]
PORTD.5 = StepXArrayB[stepxB]
PORTD.6 = StepXArrayC[stepxC]
PORTD.7 = StepXArrayD[stepxD]
endif
if porta.3=1 then

if porta.2 = 1 then
stepyA = stepyA + 1
stepyB = stepyB + 1
stepyC = stepyC + 1
stepyD = stepyD + 1
else
stepyA = stepyA - 1
stepyB = stepyB - 1
stepyC = stepyC - 1
stepyD = stepyD - 1
endif

PORTD.0 = StepYArrayA[stepyA]
PORTD.1 = StepYArrayB[stepyB]
PORTD.2 = StepYArrayC[stepyC]
PORTD.3 = StepYArrayD[stepyD]
endif
if porte.1=1 then

if porte.0 = 1 then
stepzA = stepzA + 1
stepzB = stepzB + 1
stepzC = stepzC + 1
stepzD = stepzD + 1
else
stepzA = stepzA - 1
stepzB = stepzB - 1
stepzC = stepzC - 1
stepzD = stepzD - 1
endif

PORTC.2 = StepZArrayA[stepzA]
PORTC.3 = StepZArrayB[stepzB]
PORTC.4 = StepZArrayC[stepzC]
PORTC.5 = StepZArrayD[stepzD]
delayms 5
endif

GoTo main

я работаю с Атмелами раньше работал с пиками считаю последние помехоустойчивым отстоем…
т.е. пики хороши там где есть сильные помехи и не более того, а вот атмелы менее устойчивы но навороченее…
ладно теперь по теме:
всякие приходящие сигналы необходимо загонять в контроллер по прерываниям - иначе можно вообще потерять их. важно это делать по фронту. выходные сигналлы с жесткими временными х-ками нужно привязывать к таймерам…
тоесть хочу сказать что ваша прога вообще никуда не годится - разве что побаловаться… однако если сильно захотеть при некоторых извратах это можно сделать и без таймеров и без прерываний…
но получится ерунда… в виду низких вычислительных х-к микроконтроллеров…

Практик

Уважаемые господа.Я понимаю,что проблема отладки микроконтроллера чрезвычано,просто жизненно необходима(хотя есть люди,прекрасно работающие без него вообще).Только зачем загружать форум всемирным показом ошибочных мест,ведь не у всех высокоскоростные сети,есть к сожалению люди,у которых модем.Вы просто захламляете,убиваете форум.
Ради бога,пишите в личку.

STEPMOTOR

😃 Я Всем очень благодарен ! Но перерыв немало страниц интернета так и ненашел какой-нибудь кусочек кода связанный с прерываниями по приходу сигнала в порт. 😃

MOLDMAKER

ПРАКТИК
В любом форуме, на любую тему, всегда будут вылезать подобные ФЛУиДы. От этого никак нельзя застраховаться и избавиться. Тем паче, что действительно много информации (очень полезной информации) влезает на форум под видом ФЛУДа. Если уж так назрело поделиться чеи-то таким подобным, то можно и нужно давать ссылку. Что, мол так и так, пишу тебе в личку. Кому интересно, просим обращаться - скинем не пожалеем инфы для вас, уважаемый.

Ведь так то вполне мона действовать.

STAER
STEPMOTOR:

😃 Я Всем очень благодарен ! Но перерыв немало страниц интернета так и ненашел какой-нибудь кусочек кода связанный с прерываниями по приходу сигнала в порт. 😃

В интернете должны быть примеры… к сожалению пиками занимался лет 10 назад - помню немногое но принцип как и всех контроллеров. да еще там переключение страниц памяти есть - это идиотское решение есть только в пик контроллерах.
Ладно смысл такой:
-в инициализирующей части описывается нужное прерывание
(по какому фронту и т д…)
-указываектся адрес перехода после его возникновения
-в самой проге необходимо управлять флагами прерывания(разрешать/запрещать)
-ну и необходимо писать саму подпрограмму обработки…
Вобщем все это обязательно есть в фирменных описаниях. Примеры тоже должны быть…
Атмел рулит - он и проще для понимания и софта для него поболее и еще он дешевле…

После изготовления второго сверлильного станка понял что применяя тяжелые шпиндели типа ручных шлифмашин скорость сверловки не увеличить - нужно где-то оторвать легкий скоросной шпиндель без осевых биений…
может кто знает где его взять?
а стеклотекстолит сверлят только победитом…

technik

К STEPMOTOR: насчёт 3-х осевого контроллера на pic16f877
Брось эту идею.
Я сам собирался делать такую вещицу,правда мудрил с ШД5,
кое - что получилось ,но потом закинул.Тоже писал на PicBasicе.
Вижу у тебя просто проверка состояния входа step,я сначала тоже так делал.Но люди(см. выше), говорят правду , надо использовать прерывания.На сайте magiist видел видеоролик работы шагового двигателя,который управлялся ШИМом.На МК мне самому такое реализовать не под силу,вот я и решил использовать L297 + L298. Так что управлять двигателем надо с ШИМ,а у тебя просто вкл-выкл обмотку движка.
Так что бросай это дело,бери L297 + L298 или лучше всего A3977.А если использовать микроконтроллер,то для управления и контроля оборотов главного шпинделя с ШИМ,и др.функций.
К maxvovk: так где можно купить A3977 в Москве и какая цена за одну штуку ?

STEPMOTOR

STAER

Как то мне на рынке попадался движок ,как говорил продавец он гдето в самолете стоял мощя 350вт при 24 вольта 10000об работает буквально без шума !

technik:

К STEPMOTOR: насчёт 3-х осевого контроллера на pic16f877
Брось эту идею.
Я сам собирался делать такую вещицу,правда мудрил с ШД5,
кое - что получилось ,но потом закинул.Тоже писал на PicBasicе.
Вижу у тебя просто проверка состояния входа step,я сначала тоже так делал.Но люди(см. выше), говорят правду , надо использовать прерывания.На сайте magiist видел видеоролик работы шагового двигателя,который управлялся ШИМом.На МК мне самому такое реализовать не под силу,вот я и решил использовать L297 + L298. Так что управлять двигателем надо с ШИМ,а у тебя просто вкл-выкл обмотку движка.
Так что бросай это дело,бери L297 + L298 или лучше всего A3977.А если использовать микроконтроллер,то для управления и контроля оборотов главного шпинделя с ШИМ,и др.функций.
К maxvovk: так где можно купить A3977 в Москве и какая цена за одну штуку ?

У меня есть платка на L297+IRFZ34N.
Хотелось для самообразования собрать на Pic-е, вот я и решил взвалить на себя сей тяжелый груз заключающийся в написании собственной прошивки с алгоритмом удержания ШД (импульсами как у hobbycnc) и Теперь я понял что без прерываний не обойтись ! Так что буду искать инфу как реализовать это все ! А при положительном результате готов скинуть проект на благо всем любителям и профессионалам ! А У ВАС НЕБЫЛО ТАКОЙ ЗАТЕИ КАК СДЕЛАТЬ СООБЩЯ ДЕШЕВЫЙ КОНТРОЛЛЕР НЕ УСТУПАЮЩИЙ ПО ФУНКЦИЯМ КОММЕРЧИСКИМ ??? Ведь все реально ! Pic-и же не Боги делали !

smart_alien

А я вот хоть убей не пойму, почему здесь все говорят, что “… ШВП это так дорого!!!”. Хорошая (что-то вроде G3 точности от SBC) катанная ШВП заводского изготовления длинной 550 мм стоит около 300-320$. И это уже цена ДИЛЕРА В МОСКВЕ (т.е. с таможней, с накрутками, с доставкой и т.д.), это уже цена с учётом изготовления концов ПО ИНДИВИДУАЛЬНОМУ чертежу закаказчика (там с этим хитрость - за это чуть ли не 1/3-1/2 всех от стоимости ШВП берут)… Это ЗА ОДНУ ШТУКУ. И ещё есть у меня вроде обоснованная уверенность, что это далеко не предел… Странно получается, когда речь заходит про например движок - тут все соглашаются, что хороший движок должен стоить 100-150$/шт. А как про ШВП (ИМХО куда более важная штука) - почему-то готовы горы свернуть электро-лобзиком, домкраты использовать и т.д. - но 300-320$/ШВП уже почему-то жалко… 😃 Чё-то я как-то не понимаю фокуса… 😃

maxvovk
smart_alien:

А я вот хоть убей не пойму, почему здесь все говорят, что “… ШВП это так дорого!!!”. Хорошая (что-то вроде G3 точности от SBC) катанная ШВП заводского изготовления длинной 550 мм стоит около 300-320$. И это уже цена ДИЛЕРА В МОСКВЕ (т.е. с таможней, с накрутками, с доставкой и т.д.), это уже цена с учётом изготовления концов ПО ИНДИВИДУАЛЬНОМУ чертежу закаказчика (там с этим хитрость - за это чуть ли не 1/3-1/2 всех от стоимости ШВП берут)… Это ЗА ОДНУ ШТУКУ. И ещё есть у меня вроде обоснованная уверенность, что это далеко не предел… Странно получается, когда речь заходит про например движок - тут все соглашаются, что хороший движок должен стоить 100-150$/шт. А как про ШВП (ИМХО куда более важная штука) - почему-то готовы горы свернуть электро-лобзиком, домкраты использовать и т.д. - но 300-320$/ШВП уже почему-то жалко… 😃 Чё-то я как-то не понимаю фокуса… 😃

Фокус в том, что тут обсуждается простой домашний станочек, причем людьми не только московскими, для которых (московских) цифра в тройку-пяток сотен грина особо не напрягает…

На 3 координаты по этим ценам всяко вынь да полож штукарь - а для кого-то это заоблачная цена.

Вот лично меня цены не пугают, тем более что и цели другие - но я все равно рассматриваю альтернативы, поскольку например станок с ШВП и шаговиками лично мне кажется нонсенсом, то есть снова все возвращается к двум категориям - хобби и профи.

technik:

К STEPMOTOR: насчёт 3-х осевого контроллера на pic16f877
Брось эту идею.
Я сам собирался делать такую вещицу,правда мудрил с ШД5,
кое - что получилось ,но потом закинул.Тоже писал на PicBasicе.
Вижу у тебя просто проверка состояния входа step,я сначала тоже так делал.Но люди(см. выше), говорят правду , надо использовать прерывания.На сайте magiist видел видеоролик работы шагового двигателя,который управлялся ШИМом.На МК мне самому такое реализовать не под силу,вот я и решил использовать L297 + L298. Так что управлять двигателем надо с ШИМ,а у тебя просто вкл-выкл обмотку движка.
Так что бросай это дело,бери L297 + L298 или лучше всего A3977.А если использовать микроконтроллер,то для управления и контроля оборотов главного шпинделя с ШИМ,и др.функций.
К maxvovk: так где можно купить A3977 в Москве и какая цена за одну штуку ?

Я для ШД5 сделал примитивную схему на атмелке 2313. Полный шаг, ключи на IRFP260, напряжение 100В, регулировка тока до 5А с шагом 0.1, второй параметр настройки - сдвиг включения обмоток.

Штука получилась чумовая, но по причине моей категорической нелюбви к этим движкам заброшена. Одно хочу заметить - в отличиет о всех остальных движков наблюдается полное отсутствие резонансов, отличная приемистость - 2000 щагов с гарантией, момент в удержании на глаз выше ДШИ-200-3 в пару раз (все сказанное при 100В 3А).

technik

К STEPMOTOR:
ЕСли нужна схема контроллера на pic16f874(с прошивкой) для управления 4-мя осями,обращайся , поделюсь, но она без ШИМ.
К maxvovk:
Так по чём и где A3977 в Москве?