самодельный станок чпу (cnc)
Чесно говоря не верю в ЧПУ на коленках, если это конечно не вопрос жизни. Много засад в механике и электрике тоже. Или этим должен заниматься коллектив.
уважаемые гуру так можно отбить желание у начинающих в области чпу станков , а свой фрезерный станок я собрал не то что на “коленках”, я бы сказал бы на “ладонях” и обошелся он мне в каких нибудь 6-8 тыс рублей и пусть он выглядит игрушкой и это была всеголишь первая ступень к моей цели , тем не менее он уже способен выполнять работы по металлу ( пример бронза) с точностью примерно 0.05мм и размером 50на 50 мм и делает сложные рыльефы, что уже непложо для желающего , с низкими доходами, начать потихоньку свое дело, так что существует и такой путь и помогал ине в этом --форум с его участниками— это был мой единственный коллектив, и засады в механике и электрике не таки уж и страшные. все канечно зависит от задач которые будет выполнять станок.
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 метров в минуту.
На шаговике.
Круто. 😃
Так сколько же эта система стОит, где она используется и какие всё же у неё правильно посчитанные реальные характеристики?
Саша
Тёзка - пральна говоришь.
Нам главное не мешать и пугать, а помогать и советовать 😃 😃 😃
Cаша, MOLDMAKER,
Правильно. Ещё задача предостеречь от ненужных трат времени и сил.
Обратная связь на хоббийном станке с шаговыми двигателями нафиг не нужна.
сори!!! Проверял не на двигателе. Это теоретическая величина ограниченная скоростью счета для энкодера. А так в общем, в жизни не хватает единомышлеников. Если у Вас есть возможность делать печатные платы и железо, готов возобновить работу на общее благо. Есть идеи, но квартира (ее размеры), не позволяет развернуться как хочеться.
Фирма делает экструдеры, флексопечатные машины и другое.
Двигатели Siemens, Berger, Arcopos, Aradec. Plc- B&R,
step5,7, Provit.
www.wuh-lengerich.de/index_ru.html
Длинные темы лучше по тел.1198181
Помогите разобраться с шаговиком
Попался зверь (ДШИ 200-1-2) о восьми проводах, все одного цвета, вырваны из чего-то с мясом, как понять где какая обмотка???
я так понял разобрать надо??? А че там внутри???
Помогите разобраться с шаговиком
Попался зверь (ДШИ 200-1-2) о восьми проводах, все одного цвета, вырваны из чего-то с мясом, как понять где какая обмотка???
я так понял разобрать надо??? А че там внутри???
у меня с ДШИ 200-1-1 были такие же проблемы подсоединен как на рис 4, сначало я прозвонил прибором 8 выходов и разбил их по парам , каждой паре соответсвует обмотка , дальше необходим проверенный контроллер вот подключая к нему двигатель как показано на рис 4 пробуеш разные варианты- сначало 1 контур , при правельном подключении хотя бы одного контура( на сколько я помню) вал дши руками трудно провернуть. потом 2=ой контур . таким образом на 3 двигателя у меня уходило не более 1 часа—другой способ я не знаю.
“я так понял разобрать надо??? А че там внутри???”
Не разбирайте, он точно собран, можете испортить.
Кто писал прошивку для 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
Кто писал прошивку для 3-х осевого контроллера на pic16f877 ?
Я пытаюсь но что-то с немогу сделать следующий алгоритм:
При поступлении на step вход МК сигнала происходит проверка наличия сигнала Dir, в соответствии дальше переключение обмоток в нужном направлении, и наконец загвоздка состоит в том чтобы следующий шаг происходил только при следуюшем поступлении сигнала. Могу сказать что задержка по временя не годится !
Решения два.
Или поставить D-триггер и по обработке импульса его сбрасывать, или ввести в программу флажок отработки шага, устанавличать его по обработке и сбрасывать по приходу 0. Если я правильно понял, что у вас простой опрос портов, а не прерывания.
😃 Спасибо ! А как приблизительно выглядит алгоритм реализация прерываний в pic для нашей цели ?
😃 Спасибо ! А как приблизительно выглядит алгоритм реализация прерываний в pic для нашей цели ?
Я не знаком с пиками, но глобально шаг по положительному фронту вызывает прерывание, где оно и обрабатывается 😃. Прерывание получается очень коротким, буквально несколько команд.
Хочу сделать станок, для работы по трем осям, по механике вопросов нет.
Есть двигатели ДШИ 200-1-1 но нет никаких данных на них.
Контроллер управления (между компом и контроллером двигателей или двигателями) предложите схему, если необходимо с прошивками.
И софт, для работы с контроллером(предложенным).
Для создания станка нужно быть спецом в механике и электронике… Лучше самому все делать и разбираться со своими ошибками…
Я делаю уже второй по счету ЧПУ и каждый раз нахожу все новые и более лучшие решения.
Вообще лучше чем обвесить все микроконтроллерами и обьеденить их интерфейсом rs485 я не придумал. Очень много возможностей открывается… Станок дробится на мелкие части - для несерийных моделей это наилучший вариант - т.е. есть мотор - контроллер ему отдельный есть датчик -тоже контроллер шпинделю - тоже и так далее… А самое главное что подключив на интерфейс комп - получаешь доступ ко всем устройствам
Кто писал прошивку для 3-х осевого контроллера на pic16f877 ?
Я пытаюсь но что-то с немогу сделать следующий алгоритм:
При поступлении на step вход МК сигнала происходит проверка наличия сигнала Dir, в соответствии дальше переключение обмоток в нужном направлении, и наконец загвоздка состоит в том чтобы следующий шаг происходил только при следуюшем поступлении сигнала. Могу сказать что задержка по временя не годится !
А вот исходник на PicBasicdevice 16f877
declare xtal 20
Config HS_OSC, WDT_OFF, PWRTE_ON, BODEN_ON, LVP_OFF, WRTE_ON, CP_OFF, DEBUG_OFFstart:
’ set variables:
dim stepxA as byte
dim stepxB as byte
dim stepxC as byte
dim stepxD as bytedim stepyA as byte
dim stepyB as byte
dim stepyC as byte
dim stepyD as bytedim stepzA as byte
dim stepzB as byte
dim stepzC as byte
dim stepzD as bytedim StepXArrayA[8] as Byte
dim StepXArrayB[8] as Byte
dim StepXArrayC[8] as Byte
dim StepXArrayD[8] as Bytedim StepYArrayA[8] as Byte
dim StepYArrayB[8] as Byte
dim StepYArrayC[8] as Byte
dim StepYArrayD[8] as Bytedim StepZArrayA[8] as Byte
dim StepZArrayB[8] as Byte
dim StepZArrayC[8] as Byte
dim StepZArrayD[8] as ByteTRISD = %00000000
TRISC = %00000000
TRISE = %11000000asm
bcf ADCON0,ADON
movlw 0x07 ;b’0000 0111’
bsf STATUS,RP0
movwf ADCON1
movlw 0x3F ;b’0011 1111’
movwf TRISA
clrf TRISE
endasminput porta.0 ;dirX
input porta.1 ;stepX
input porta.2 ;dirY
input porta.3 ;stepY
input porte.0 ;dirZ
input porte.1 ;stepZStepXArrayA[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] = 1StepYArrayA[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] = 1StepZArrayA[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] = 1main:
if porta.1=1 thenif 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
endifPORTD.4 = StepXArrayA[stepxA]
PORTD.5 = StepXArrayB[stepxB]
PORTD.6 = StepXArrayC[stepxC]
PORTD.7 = StepXArrayD[stepxD]
endif
if porta.3=1 thenif 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
endifPORTD.0 = StepYArrayA[stepyA]
PORTD.1 = StepYArrayB[stepyB]
PORTD.2 = StepYArrayC[stepyC]
PORTD.3 = StepYArrayD[stepyD]
endif
if porte.1=1 thenif 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
endifPORTC.2 = StepZArrayA[stepzA]
PORTC.3 = StepZArrayB[stepzB]
PORTC.4 = StepZArrayC[stepzC]
PORTC.5 = StepZArrayD[stepzD]
delayms 5
endifGoTo main
я работаю с Атмелами раньше работал с пиками считаю последние помехоустойчивым отстоем…
т.е. пики хороши там где есть сильные помехи и не более того, а вот атмелы менее устойчивы но навороченее…
ладно теперь по теме:
всякие приходящие сигналы необходимо загонять в контроллер по прерываниям - иначе можно вообще потерять их. важно это делать по фронту. выходные сигналлы с жесткими временными х-ками нужно привязывать к таймерам…
тоесть хочу сказать что ваша прога вообще никуда не годится - разве что побаловаться… однако если сильно захотеть при некоторых извратах это можно сделать и без таймеров и без прерываний…
но получится ерунда… в виду низких вычислительных х-к микроконтроллеров…
Уважаемые господа.Я понимаю,что проблема отладки микроконтроллера чрезвычано,просто жизненно необходима(хотя есть люди,прекрасно работающие без него вообще).Только зачем загружать форум всемирным показом ошибочных мест,ведь не у всех высокоскоростные сети,есть к сожалению люди,у которых модем.Вы просто захламляете,убиваете форум.
Ради бога,пишите в личку.
😃 Я Всем очень благодарен ! Но перерыв немало страниц интернета так и ненашел какой-нибудь кусочек кода связанный с прерываниями по приходу сигнала в порт. 😃
ПРАКТИК
В любом форуме, на любую тему, всегда будут вылезать подобные ФЛУиДы. От этого никак нельзя застраховаться и избавиться. Тем паче, что действительно много информации (очень полезной информации) влезает на форум под видом ФЛУДа. Если уж так назрело поделиться чеи-то таким подобным, то можно и нужно давать ссылку. Что, мол так и так, пишу тебе в личку. Кому интересно, просим обращаться - скинем не пожалеем инфы для вас, уважаемый.
Ведь так то вполне мона действовать.
😃 Я Всем очень благодарен ! Но перерыв немало страниц интернета так и ненашел какой-нибудь кусочек кода связанный с прерываниями по приходу сигнала в порт. 😃
В интернете должны быть примеры… к сожалению пиками занимался лет 10 назад - помню немногое но принцип как и всех контроллеров. да еще там переключение страниц памяти есть - это идиотское решение есть только в пик контроллерах.
Ладно смысл такой:
-в инициализирующей части описывается нужное прерывание
(по какому фронту и т д…)
-указываектся адрес перехода после его возникновения
-в самой проге необходимо управлять флагами прерывания(разрешать/запрещать)
-ну и необходимо писать саму подпрограмму обработки…
Вобщем все это обязательно есть в фирменных описаниях. Примеры тоже должны быть…
Атмел рулит - он и проще для понимания и софта для него поболее и еще он дешевле…
После изготовления второго сверлильного станка понял что применяя тяжелые шпиндели типа ручных шлифмашин скорость сверловки не увеличить - нужно где-то оторвать легкий скоросной шпиндель без осевых биений…
может кто знает где его взять?
а стеклотекстолит сверлят только победитом…
К STEPMOTOR: насчёт 3-х осевого контроллера на pic16f877
Брось эту идею.
Я сам собирался делать такую вещицу,правда мудрил с ШД5,
кое - что получилось ,но потом закинул.Тоже писал на PicBasicе.
Вижу у тебя просто проверка состояния входа step,я сначала тоже так делал.Но люди(см. выше), говорят правду , надо использовать прерывания.На сайте magiist видел видеоролик работы шагового двигателя,который управлялся ШИМом.На МК мне самому такое реализовать не под силу,вот я и решил использовать L297 + L298. Так что управлять двигателем надо с ШИМ,а у тебя просто вкл-выкл обмотку движка.
Так что бросай это дело,бери L297 + L298 или лучше всего A3977.А если использовать микроконтроллер,то для управления и контроля оборотов главного шпинделя с ШИМ,и др.функций.
К maxvovk: так где можно купить A3977 в Москве и какая цена за одну штуку ?
STAER
Как то мне на рынке попадался движок ,как говорил продавец он гдето в самолете стоял мощя 350вт при 24 вольта 10000об работает буквально без шума !
К STEPMOTOR: насчёт 3-х осевого контроллера на pic16f877
Брось эту идею.
Я сам собирался делать такую вещицу,правда мудрил с ШД5,
кое - что получилось ,но потом закинул.Тоже писал на PicBasicе.
Вижу у тебя просто проверка состояния входа step,я сначала тоже так делал.Но люди(см. выше), говорят правду , надо использовать прерывания.На сайте magiist видел видеоролик работы шагового двигателя,который управлялся ШИМом.На МК мне самому такое реализовать не под силу,вот я и решил использовать L297 + L298. Так что управлять двигателем надо с ШИМ,а у тебя просто вкл-выкл обмотку движка.
Так что бросай это дело,бери L297 + L298 или лучше всего A3977.А если использовать микроконтроллер,то для управления и контроля оборотов главного шпинделя с ШИМ,и др.функций.
К maxvovk: так где можно купить A3977 в Москве и какая цена за одну штуку ?
У меня есть платка на L297+IRFZ34N.
Хотелось для самообразования собрать на Pic-е, вот я и решил взвалить на себя сей тяжелый груз заключающийся в написании собственной прошивки с алгоритмом удержания ШД (импульсами как у hobbycnc) и Теперь я понял что без прерываний не обойтись ! Так что буду искать инфу как реализовать это все ! А при положительном результате готов скинуть проект на благо всем любителям и профессионалам ! А У ВАС НЕБЫЛО ТАКОЙ ЗАТЕИ КАК СДЕЛАТЬ СООБЩЯ ДЕШЕВЫЙ КОНТРОЛЛЕР НЕ УСТУПАЮЩИЙ ПО ФУНКЦИЯМ КОММЕРЧИСКИМ ??? Ведь все реально ! Pic-и же не Боги делали !
А я вот хоть убей не пойму, почему здесь все говорят, что “… ШВП это так дорого!!!”. Хорошая (что-то вроде G3 точности от SBC) катанная ШВП заводского изготовления длинной 550 мм стоит около 300-320$. И это уже цена ДИЛЕРА В МОСКВЕ (т.е. с таможней, с накрутками, с доставкой и т.д.), это уже цена с учётом изготовления концов ПО ИНДИВИДУАЛЬНОМУ чертежу закаказчика (там с этим хитрость - за это чуть ли не 1/3-1/2 всех от стоимости ШВП берут)… Это ЗА ОДНУ ШТУКУ. И ещё есть у меня вроде обоснованная уверенность, что это далеко не предел… Странно получается, когда речь заходит про например движок - тут все соглашаются, что хороший движок должен стоить 100-150$/шт. А как про ШВП (ИМХО куда более важная штука) - почему-то готовы горы свернуть электро-лобзиком, домкраты использовать и т.д. - но 300-320$/ШВП уже почему-то жалко… 😃 Чё-то я как-то не понимаю фокуса… 😃
А я вот хоть убей не пойму, почему здесь все говорят, что “… ШВП это так дорого!!!”. Хорошая (что-то вроде G3 точности от SBC) катанная ШВП заводского изготовления длинной 550 мм стоит около 300-320$. И это уже цена ДИЛЕРА В МОСКВЕ (т.е. с таможней, с накрутками, с доставкой и т.д.), это уже цена с учётом изготовления концов ПО ИНДИВИДУАЛЬНОМУ чертежу закаказчика (там с этим хитрость - за это чуть ли не 1/3-1/2 всех от стоимости ШВП берут)… Это ЗА ОДНУ ШТУКУ. И ещё есть у меня вроде обоснованная уверенность, что это далеко не предел… Странно получается, когда речь заходит про например движок - тут все соглашаются, что хороший движок должен стоить 100-150$/шт. А как про ШВП (ИМХО куда более важная штука) - почему-то готовы горы свернуть электро-лобзиком, домкраты использовать и т.д. - но 300-320$/ШВП уже почему-то жалко… 😃 Чё-то я как-то не понимаю фокуса… 😃
Фокус в том, что тут обсуждается простой домашний станочек, причем людьми не только московскими, для которых (московских) цифра в тройку-пяток сотен грина особо не напрягает…
На 3 координаты по этим ценам всяко вынь да полож штукарь - а для кого-то это заоблачная цена.
Вот лично меня цены не пугают, тем более что и цели другие - но я все равно рассматриваю альтернативы, поскольку например станок с ШВП и шаговиками лично мне кажется нонсенсом, то есть снова все возвращается к двум категориям - хобби и профи.
К 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А).