Например TDA7294

Форум РадиоКот • Просмотр темы - STEP/DIR контроллер 3-х шаговых двигателей на микроконтролле
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср ноя 26, 2025 10:03:37

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 977 ]     ... , , , 15, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 07, 2012 19:15:23 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
Вернемся к моему вопросу :)))
signum писал(а):
Есть планы сделать контроллер не на LPT а на СОМ кто что может по этому поводу посоветовать, программу для контроллера напишу, принципиалка тоже не проблема а вот что касается PC полная непонята. 1 можно ли в мач3 или нужна другая программа сконфигурировать COM. 2 как выглядят посылки на этот порт и др нюансы?


Тема кому то интересна? или походу разговариваю сам с собой, жду Ваших предложений. :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 07, 2012 22:19:49 
Друг Кота

Карма: 7
Рейтинг сообщений: 18
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Сообщений: 3424
Откуда: Україна
Рейтинг сообщения: 0
Ну уже какие то Чудеса! Купил зарядку от ноутбука 19 вольт 3 ампера (30 грн) и значит там стоит защита от перегрузки. Тобиш надо включить БП а потом подключит его к плате. Вот если разъем Порта ЛПТ отключен то бп стартует а если только коснуться масой разъема к шасси пк или ставить разъем в порт то бп сразу входит в прегруз и отрубаеться. Может надо все пины порта подтянуть резистора к питанию?
Изображение
Изображение
Изображение

signum писал(а):
Вернемся к моему вопросу :)))

Я уже писал :)
BoRtO писал(а):
Ну если делать то уже сразу ЮСБ :)

_________________
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 07, 2012 23:13:03 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
В общем то планирую USB, COM, LPT(на всякий пожарный) на борту контроллера, вопрос был не выборе порта USB или COM. А в том что как реализовать
интерфейс PC<->Контроллер.
Поддержка со стороны программ
А также предложения реализации.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 08, 2012 04:06:41 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 29
Зарегистрирован: Чт мар 08, 2012 03:57:36
Сообщений: 375
Откуда: Украина,Винницкая обл.
Рейтинг сообщения: 0
Доброго времени суток,собираю этот дивайс и у меня вопрос,будет работать мега16L или надо другой контроллер?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 08, 2012 09:37:50 
Друг Кота

Карма: 7
Рейтинг сообщений: 18
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Сообщений: 3424
Откуда: Україна
Рейтинг сообщения: 0
Пройдите на 14 страницу

_________________
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Пн мар 12, 2012 22:58:36 
Встал на лапы

Зарегистрирован: Пт сен 30, 2011 05:55:31
Сообщений: 111
Откуда: Питер
Рейтинг сообщения: 0
Давненько тут не был. Приятно, что тема жива))

to Signum: COM - порт последовательный, LPT - параллельный, придется мастрячить приблуду. Не вижу смысла в этом, т.к. станку, имхо, мобильность нужна в пределах квартиры/гаража. Без труда нашел в магазине новую MB от MSI (LGA1155, mATX) с портом LPT за 1500р. Пользуясь случаем, собрал рабочую лошадку на ее базе и прикрутил станок... Машинка маленькая, беззвучная, достаточно шустрая и экономичная. Найду старый ЖК на 15" - сделаю моноблок.

to BoRtO: Если почитать статью автора, можно понять, зачем он добавил внешний генератор, несмотря на имеющийся в микросхеме. Внешний генератор позволяет снизисть частоту звука, чтобы она не давила.

to liv6125: Мне тоже попался бракованый IRF - поработал немного, а потом сгорел. Так что это не редкость и стоит иметь запас на такой случай.
Далее. Проблемы с двигателями могут иметь много причин: велика скорость, глючит или неправильно спаян ШИМ (можно запитать ШД напрямую), где-то КЗ, плохая пайка, брак травления (внимательно осмотреть все печатки), неисправны транзисторы драйверов, проблемный БП (стоит померить под нагрузкой его параметры), нехватка производительности компьютера (столкнулся, когда пользовал KCam4 на Cel 1,8 - решил переходом на Mach3), наконец, просто плохие ШД. Могут быть и другие причины...
По поводу софта добавил бы, что обсуждаемый вариант "мозгов" станка работает с любым, который дружит с LPT и STEP/DIR. Для себя я выбрал Mach.

_________________
Через тернии - к звездам


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 14, 2012 07:50:24 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб май 02, 2009 22:25:22
Сообщений: 115
Откуда: Орловская область г. Ливны
Рейтинг сообщения: 0
Здравствуйте форумчане :) в общем ШИМ заработал у меня только на осях Y и Z .
Замерил мультиметром напряжение там получилась 0.62в цепляю шаговый на эти оси он как бы пищит.
замеряю напряжение ШИМа на оси Х там 1 вольт цепляю шаговый ни писка ничего нет. он просто не работает...

что делать?
почему там где работает ШИМ напряжение 0.62в а на нерабочей оси ровно 1вольт
МК пробовал перепрошивал. две оси как по маслу а третья нивкакую....:(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 14, 2012 18:33:27 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
Попробуй поменять местами драйвера если не будет работать скорей всего драйвер глючит.
1 Вольт скорее всего и за отсутствия ШИМ, там где напряжение ниже ШИМ работает


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 14, 2012 18:39:43 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
Кто знает что такое SmoothStepper - USB HW interpolаtor 4 MHz pro MACH3?

Как я понял с помощью этой штуки можно Мач подключить через USB к станку


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 14, 2012 18:54:53 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
Idea_FIX писал(а):
Давненько тут не был. Приятно, что тема жива))

to Signum: COM - порт последовательный, LPT - параллельный, придется мастрячить приблуду. Не вижу смысла в этом, т.к. станку, имхо, мобильность нужна в пределах квартиры/гаража. Без труда нашел в магазине новую MB от MSI (LGA1155, mATX) с портом LPT за 1500р. Пользуясь случаем, собрал рабочую лошадку на ее базе и прикрутил станок... Машинка маленькая, беззвучная, достаточно шустрая и экономичная. Найду старый ЖК на 15" - сделаю моноблок.


У меня ноутбук хочу его использовать, по поводу отдельного компьютера думал уже реализую позже, тоже в виде моноблока такие планы есть. На данный момент есть желание сделать автономный контроллер с возможностью работы как через LPT так и USB, COM, а также совсем без компа с USB Флешки. Записую G КОД на флешку и работаю. USB планирую реализовать через Vinculum VNC2-48L1, микроконтроллер мега 128, фат от Чена, с индикацией работы на Графическом дисплее WG12864 или 128X128 точек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 15, 2012 01:20:51 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 29
Зарегистрирован: Чт мар 08, 2012 03:57:36
Сообщений: 375
Откуда: Украина,Винницкая обл.
Рейтинг сообщения: 0
Доброго времени суток,я обращался на этот форум с вопросом по мега16L,никто толкового ответа не дал,кого интересует:работает данный контроллер(в дип корпусе) без проблем даже при частоте 13.7мг :shock: (без глюков),в эту схему можно смело ставить и радоваться работой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 15, 2012 07:09:27 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб май 02, 2009 22:25:22
Сообщений: 115
Откуда: Орловская область г. Ливны
Рейтинг сообщения: 0
проблема там не из за драйверов. от самого микроконтроллера на одну ось поступает 1в. две другие оси работают как надо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 15, 2012 13:21:13 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
revlerik писал(а):
Доброго времени суток,я обращался на этот форум с вопросом по мега16L,никто толкового ответа не дал,кого интересует:работает данный контроллер(в дип корпусе) без проблем даже при частоте 13.7мг :shock: (без глюков),в эту схему можно смело ставить и радоваться работой.


Я рад за Вас 8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 15, 2012 13:26:50 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 22, 2011 20:41:57
Сообщений: 84
Откуда: Харьков
Рейтинг сообщения: 0
liv6125 писал(а):
проблема там не из за драйверов. от самого микроконтроллера на одну ось поступает 1в. две другие оси работают как надо

Не пойму, опиши подробней.
Осцилом сможешь подключиться посмотреть что там происходит, может микруха здохла? или проблема с прошивкой вопрос к автору прошивки.
Опиши подробней.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Пт мар 16, 2012 00:10:12 
Встал на лапы

Зарегистрирован: Пт сен 30, 2011 05:55:31
Сообщений: 111
Откуда: Питер
Рейтинг сообщения: 0
to liv6125: Раз двигатель "запищал", значит ШИМ должен работать. На какой ножке микрухи один вольт получился?
Проблем в самой прошивке нету точно - у меня эта схема с данным микрокодом работает уже на протяжении некоторого времени, причем с первого же раза, как и написано у автора - без "танцев с бубном" и прочего - несмотря на то, что это мой первый подобный опыт. Это вообще мои первые изготовленные платы (свою разводку в SprintLayout контроллера и драйверов я выкладывал на 4й стр, фото готовых плат - на 5й). Раз разобрался я, вы разберетесь тоже. Freeman - молодец, разжевал все, что нужно. Остальное можно и так узнать. Ищущий - да обрящет (с).

to levlerik: у Freeman'a в статье написано, что он работал с 8-ми мегагерцовой "мегой" - это в порядке вещей, эти микрухи действительно неплохо гонятся. Главное, чтобы все нужное в микросхеме было.

to signum По поводу USB. Наверное, стоит тогда не приблуды мастрячить, а переписать часть прошивки - сейчас она заточена на сигналы с LPT. Естественно, потребуются некоторые изменения в разводке контроллера. Саму микруху, кстати, можно и от USB тогда запитать. Вариант, может, и не проще, зато надежнее.
Работать со станком совсем без компа - вариант интересный, конечно. Только вот G-код (или иной) - лишь управляющая программа, последовательность команд, которые нужно "разжевать" станку (для чего и нужны Mach, KCam и проч.), так что, думаю, просто закинуть его на флешку недостаточно, "железо" не поймет... Дополнительная электроника для всего этого выходит даже сложнее самого контроллера. Мне как-то с терминалом все же понятнее... Насколько я мог видеть производства, где довелось побывать, станки все же имеют терминалы управления. Когда-то работал на Хейнекене - там на терминалах некоторых автоматизированных линий стояла Win2k.
Как только от идей перейдете к их реализации, держите вкурсе, попробуем разобраться вместе.

PS Если хочется приблуду на USB, стоит присмотреться к этому: http://www-user.tu-chemnitz.de/~heha/ba ... -15.htm.en (есть все - и печатки, и фотки, и прошивка, и дрова). Этот девайс, втыкаемый в USB, создает виртуальный LPT - через него можно и шить микрухи, и станком рулить. Минус в том, что одновременно к одному компу можно подключить только один такой девайс. Собрано на AtMega 8. Сам пока не делал, но потом попробую. Печатка не самая простая, но не невыполнимая.

_________________
Через тернии - к звездам


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Пн мар 19, 2012 09:30:47 
Открыл глаза

Зарегистрирован: Пн мар 19, 2012 09:22:04
Сообщений: 47
Рейтинг сообщения: 0
Всем добрый день!
Код:
$regfile = "m16def.dat"
$crystal = 12000000
' êîíôèãóðàöèÿ ïîðòîâ
Config Porta = Output
Config Portc = Output
Config Portb = Input
Config Portd = Input
' êîíôèãóðàöèÿ ïðåðûâàíèé
On Int0 Step_x
On Int1 Step_y
On Int2 Step_z
Config Int0 = Falling
Config Int1 = Falling
Config Int2 = Falling
Enable Interrupts
Enable Int0
Enable Int1
Enable Int2
' êîíôèãóðàöèÿ ØÈÌ
Config Timer0 = Pwm , Compare Pwm = Clear Down , Prescale = 1
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
' ïåðåìåííûå
Dim Dport As Byte
Dim D As Byte
Dim 2int As Bit
Dim X As Byte
Dim Y As Byte
Dim Z As Byte
Dim X1 As Byte
Dim Y1 As Byte
Dim Z1 As Byte
Dim Max_pwm As Byte
Dim Min_pwm As Byte
'óñòàíàâëèâàåì øèì
Max_pwm = 200                                               'ìåíÿÿ çíà÷åíèå ïîäáèðàåì íóæíûé òîê âî âðåìÿ äâèæåíèÿ
Min_pwm = 100                                               ' ìåíÿÿ çíà÷åíèå ïîäáèðàåì òîê óäåðæàíèÿ
Pwm1a = Max_pwm
Pwm1b = Max_pwm
Pwm2 = Max_pwm
'porta äâà ìîòîðà - portc îäèí ìîòîð 0-3
'ñäâèãàåì âñå äâèãàòåëÿ äëÿ íîðìàëüíîãî ðàñïîëîæåíèÿ ìàãíèòîâ
Waitms 0.1
Porta = &B00010001
Waitms 0.1
Porta = &B00110011
Waitms 0.1
Porta = &B00100010
Waitms 0.1
Porta = &B01100110
Waitms 0.1
Porta = &B01000100
Waitms 0.1
Porta = &B11001100
Waitms 0.1
Porta = &B10001000
Waitms 0.1
Porta = &B10011001
Waitms 0.1
Porta = &B00010001
Waitms 0.1
Portc = &B00000001
Waitms 0.1
Portc = &B00000011
Waitms 0.1
Portc = &B00000010
Waitms 0.1
Portc = &B00000110
Waitms 0.1
Portc = &B00000100
Waitms 0.1
Portc = &B00001100
Waitms 0.1
Portc = &B00001000
Waitms 0.1
Portc = &B00001001
Waitms 0.1
Portc = &B00000001
Waitms 0.1
'ñòàâèì øèì íà ìàëûé òîê óäåðæàíèÿ
Pwm1a = Min_pwm
Pwm1b = Min_pwm
Pwm2 = Min_pwm
'îñíîâíàÿ ïðîãà
'Dp0-dir_x, Dp1-dir_y, Dp6-dir_z  Dp2-step_x Dp3-step_y Pb2-step_z
X1 = 1
Y1 = 1
Z1 = 1
Do

'êîíòðîëü x
If X = 1 Then
Pwm1a = Max_pwm
D = Dport
Shift D , Left , 7             'B00000001
Shift D , Right , 7
If D = 1 Then
Gosub Os_x1
Else
Gosub Os_x0
End If
X = 0
'ñìîòðèì íàëè÷èå step_y step_z
If 2int = 1 Then Z = 1
D = Dport
Shift D , Left , 4              'B00001000
Shift D , Right , 7
If D = 1 Then Y = 1
Pwm1a = Min_pwm
End If

'êîíòðîëü y
If Y = 1 Then
Pwm1b = Max_pwm
D = Dport
Shift D , Left , 6
Shift D , Right , 7
If D = 1 Then
Gosub Os_y1
Else
Gosub Os_y0
End If
Y = 0
'ñìîòðèì íàëè÷èå step_x step_z
If 2int = 1 Then Z = 1
D = Dport
Shift D , Left , 5                                          'B00000100
Shift D , Right , 7
If D = 1 Then X = 1
Pwm1b = Min_pwm
End If

'êîíòðîëü z
If Z = 1 Then
Pwm2 = Max_pwm                                              'B01000000
D = Dport
Shift D , Left , 1
Shift D , Right , 7
If D = 1 Then
Gosub Os_z1
Else
Gosub Os_z0
End If
Z = 0
'ñìîòðèì íàëè÷èå step_x step_y
D = Dport
Shift D , Left , 4                                          'B00001000
Shift D , Right , 7
If D = 1 Then X = 1
D = Dport
Shift D , Left , 5                                          'B00000100
Shift D , Right , 7
If D = 1 Then Y = 1
Pwm2 = Min_pwm
End If

Loop
'äåéñòâèÿ ïðè ïðåðûâàíèÿõ
Step_x:
Dport = Portd
2int = Portb.2
X = 1
Return
Step_y:
Dport = Portd
2int = Portb.2
Y = 1
Return
Step_z:
Dport = Portd
Z = 1
Return

'äâèæåíèå îñåé
Os_z0:
Incr Z1
If Z1 = 9 Then
Z1 = 1
End If
Select Case Z1
Case 1 : Do
          Portc.0 = 1
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 0
         Loop Until Z = 1
Case 2 : Do
          Portc.0 = 1
          Portc.1 = 1
          Portc.2 = 0
          Portc.3 = 0
         Loop Until Z = 1
Case 3 : Do
          Portc.0 = 0
          Portc.1 = 1
          Portc.2 = 0
          Portc.3 = 0
         Loop Until Z = 1
Case 4 : Do
          Portc.0 = 0
          Portc.1 = 1
          Portc.2 = 1
          Portc.3 = 0
         Loop Until Z = 1
Case 5 : Do
          Portc.0 = 0
          Portc.1 = 0
          Portc.2 = 1
          Portc.3 = 0
         Loop Until Z = 1
Case 6 : Do
          Portc.0 = 0
          Portc.1 = 0
          Portc.2 = 1
          Portc.3 = 1
         Loop Until Z = 1
Case 7 : Do
          Portc.0 = 0
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 1
         Loop Until Z = 1
Case 8 : Do
          Portc.0 = 1
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 1
         Loop Until Z = 1
End Select
Return

Os_z1:
Decr Z1
If Z1 = 0 Then
Z1 = 8
End If
Select Case Z1
Case 1 : Do
          Portc.0 = 1
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 0
         Loop Until Z = 1
Case 2 : Do
          Portc.0 = 1
          Portc.1 = 1
          Portc.2 = 0
          Portc.3 = 0
         Loop Until Z = 1
Case 3 : Do
          Portc.0 = 0
          Portc.1 = 1
          Portc.2 = 0
          Portc.3 = 0
         Loop Until Z = 1
Case 4 : Do
          Portc.0 = 0
          Portc.1 = 1
          Portc.2 = 1
          Portc.3 = 0
         Loop Until Z = 1
Case 5 : Do
          Portc.0 = 0
          Portc.1 = 0
          Portc.2 = 1
          Portc.3 = 0
         Loop Until Z = 1
Case 6 : Do
          Portc.0 = 0
          Portc.1 = 0
          Portc.2 = 1
          Portc.3 = 1
         Loop Until Z = 1
Case 7 : Do
          Portc.0 = 0
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 1
         Loop Until Z = 1
Case 8 : Do
          Portc.0 = 1
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 1
         Loop Until Z = 1
End Select
Return

Os_x0:
Incr X1
If X1 = 9 Then
X1 = 1
End If
Select Case X1
Case 1 : Do
          Porta.0 = 1
          Porta.1 = 0
          Porta.2 = 0
          Porta.3 = 0
         Loop Until X = 1
Case 2 : Do
          Porta.0 = 1
          Porta.1 = 1
          Porta.2 = 0
          Porta.3 = 0
         Loop Until X = 1
Case 3 : Do
          Porta.0 = 0
          Porta.1 = 1
          Porta.2 = 0
          Porta.3 = 0
         Loop Until X = 1
Case 4 : Do
          Porta.0 = 0
          Porta.1 = 1
          Porta.2 = 1
          Porta.3 = 0
         Loop Until X = 1
Case 5 : Do
          Porta.0 = 0
          Porta.1 = 0
          Porta.2 = 1
          Porta.3 = 0
         Loop Until X = 1
Case 6 : Do
          Porta.0 = 0
          Porta.1 = 0
          Porta.2 = 1
          Porta.3 = 1
         Loop Until X = 1
Case 7 : Do
          Porta.0 = 0
          Porta.1 = 0
          Porta.2 = 0
          Porta.3 = 1
         Loop Until X = 1
Case 8 : Do
          Porta.0 = 1
          Porta.1 = 0
          Porta.2 = 0
          Porta.3 = 1
         Loop Until X = 1
End Select
Return

Os_x1:
Decr X1
If X1 = 0 Then
X1 = 8
End If
Select Case X1
Case 1 : Do
          Porta.0 = 1
          Porta.1 = 0
          Porta.2 = 0
          Porta.3 = 0
         Loop Until X = 1
Case 2 : Do
          Porta.0 = 1
          Porta.1 = 1
          Porta.2 = 0
          Porta.3 = 0
         Loop Until X = 1
Case 3 : Do
          Porta.0 = 0
          Porta.1 = 1
          Porta.2 = 0
          Porta.3 = 0
         Loop Until X = 1
Case 4 : Do
          Porta.0 = 0
          Porta.1 = 1
          Porta.2 = 1
          Porta.3 = 0
         Loop Until X = 1
Case 5 : Do
          Porta.0 = 0
          Porta.1 = 0
          Porta.2 = 1
          Porta.3 = 0
         Loop Until X = 1
Case 6 : Do
          Porta.0 = 0
          Porta.1 = 0
          Porta.2 = 1
          Porta.3 = 1
         Loop Until X = 1
Case 7 : Do
          Porta.0 = 0
          Porta.1 = 0
          Porta.2 = 0
          Porta.3 = 1
         Loop Until X = 1
Case 8 : Do
          Porta.0 = 1
          Porta.1 = 0
          Porta.2 = 0
          Porta.3 = 1
         Loop Until X = 1
End Select
Return

Os_y0:
Incr Y1
If Y1 = 9 Then
Y1 = 1
End If
Select Case Y1
Case 1 : Do
          Porta.4 = 1
          Porta.5 = 0
          Porta.6 = 0
          Porta.7 = 0
         Loop Until Y = 1
Case 2 : Do
          Porta.4 = 1
          Porta.5 = 1
          Porta.6 = 0
          Porta.7 = 0
         Loop Until Y = 1
Case 3 : Do
          Porta.4 = 0
          Porta.5 = 1
          Porta.6 = 0
          Porta.7 = 0
         Loop Until Y = 1
Case 4 : Do
          Porta.4 = 0
          Porta.5 = 1
          Porta.6 = 1
          Porta.7 = 0
         Loop Until Y = 1
Case 5 : Do
          Porta.4 = 0
          Porta.5 = 0
          Porta.6 = 1
          Porta.7 = 0
         Loop Until Y = 1
Case 6 : Do
          Porta.4 = 0
          Porta.5 = 0
          Porta.6 = 1
          Porta.7 = 1
         Loop Until Y = 1
Case 7 : Do
          Porta.4 = 0
          Porta.5 = 0
          Porta.6 = 0
          Porta.7 = 1
         Loop Until Y = 1
Case 8 : Do
          Porta.4 = 1
          Porta.5 = 0
          Porta.6 = 0
          Porta.7 = 1
         Loop Until Y = 1
End Select
Return

Os_y1:
Decr Y1
If Y1 = 0 Then
Y1 = 8
End If
Select Case Y1
Case 1 : Do
          Porta.4 = 1
          Porta.5 = 0
          Porta.6 = 0
          Porta.7 = 0
         Loop Until Y = 1
Case 2 : Do
          Porta.4 = 1
          Porta.5 = 1
          Porta.6 = 0
          Porta.7 = 0
         Loop Until Y = 1
Case 3 : Do
          Porta.4 = 0
          Porta.5 = 1
          Porta.6 = 0
          Porta.7 = 0
         Loop Until Y = 1
Case 4 : Do
          Porta.4 = 0
          Porta.5 = 1
          Porta.6 = 1
          Porta.7 = 0
         Loop Until Y = 1
Case 5 : Do
          Porta.4 = 0
          Porta.5 = 0
          Porta.6 = 1
          Porta.7 = 0
         Loop Until Y = 1
Case 6 : Do
          Porta.4 = 0
          Porta.5 = 0
          Porta.6 = 1
          Porta.7 = 1
         Loop Until Y = 1
Case 7 : Do
          Porta.4 = 0
          Porta.5 = 0
          Porta.6 = 0
          Porta.7 = 1
         Loop Until Y = 1
Case 8 : Do
          Porta.4 = 1
          Porta.5 = 0
          Porta.6 = 0
          Porta.7 = 1
         Loop Until Y = 1
End Select
Return

так будет работать или я что то упустил? в симуляторе почему то не работает INT2 :( сам контроллер пока не собирал, нет времени но планирую, а программу написал потому как хочу всё менять на ходу под каждый двигатель настраивать ибо они у меня разные. из станка готовы две оси X и Y а вот с Z пока мучаюсь .... на идеальный вариант не претендую :) прога написана за 4 часа приблезительно с 24:00 :) если кто помжет оптимизировать буду признателен :)


Последний раз редактировалось lordswars Пн мар 19, 2012 19:08:21, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Пн мар 19, 2012 17:02:13 
Открыл глаза

Зарегистрирован: Пн мар 19, 2012 09:22:04
Сообщений: 47
Рейтинг сообщения: 0
to Idea_FIX
Цитата:
PS Если хочется приблуду на USB, стоит присмотреться к этому: http://www-user.tu-chemnitz.de/~heha/ba ... -15.htm.en (есть все - и печатки, и фотки, и прошивка, и дрова). Этот девайс, втыкаемый в USB, создает виртуальный LPT - через него можно и шить микрухи, и станком рулить. Минус в том, что одновременно к одному компу можно подключить только один такой девайс. Собрано на AtMega 8. Сам пока не делал, но потом попробую. Печатка не самая простая, но не невыполнимая.


пробовал, собирал, да как порт принтера работает, а вот как порт для управления станком :( одни сплошные затыки, причём в основном пропуски шагов, смотрел осцилографом нет сигнала :( там по таймеру заморочки, не успевает когда команд много и подряд, особенно когда две оси работают пропуски особенно видны.....

to signum прочитайте плиз http://habrahabr.ru/post/125253/ особенно коменты :) пожалуй лучше не скажешь:
Цитата:
GreyCat 1 августа 2011, 11:16

У меня стойкое дежа вю — примерно раз в несколько месяцев на хабре появляется такой вот новый топик от очередного человека, который задался вопросом «как же сделать USB на AVR». Человек приходит к трем вариантам выбора (через Serial-to-USB конверетер, через AVR с аппаратным USB, через дешевый AVR в эмуляции), всегда делает один и тот же выбор «через эмуляцию», затем всегда смотрит на одни и те же V-USB и USBtiny, почти всегда делает выбор в пользу V-USB… Дальше, в лучшем случае человек постит получившиеся схемы и исходники прошивки и драйверов для очередного проекта, по сложности сопоставимого с helloworld, иногда что-то объясняя в этих исходниках в процессе.

В чем смысл таких топиков — для меня, к сожалению, загадка…

и можно приступать к делу МХИО нужно использовать AVR с аппаратным USB и под него писать прогу так будет проще если мой вариант заработает буду думать как сделать прогу контроллера для Mach там есть возможность подключить контроллер по USB

to BoRtO
Цитата:
а если только коснуться масой разъема к шасси пк или ставить разъем в порт то бп сразу входит в прегруз и отрубаеться.
всё просто разные потенциалы относительно заземления, на БП относительно небольшой примерно в 10-150мVну может до 1V, а вот на корпусе компа обычно доходит до 5V и выше, относительно заемли :) нужно просто заземлить оба устройства и будет Вам порядок :solder:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Ср мар 21, 2012 21:48:41 
Встал на лапы

Зарегистрирован: Пт сен 30, 2011 05:55:31
Сообщений: 111
Откуда: Питер
Рейтинг сообщения: 0
to lordswars: По вашим словам получается, что нет смысла даже и пробовать эту приблуду... Я читал на одном из форумов, что возможны проблемы и автор там настоятельно рекомендует попробовать что-то получше. Что за форум не помню уже (он на английском языке)... Выходит, если переводить станок на USB, то нужно и мегу менять (если на ней делать), и прошивку...
В программировании, увы, не силен (пока только изучаю), так что ничего путного по этому вопросу сказать не смогу. Какую микросхему планируется использовать?

_________________
Через тернии - к звездам


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Чт мар 22, 2012 05:22:40 
Открыл глаза

Зарегистрирован: Пн мар 19, 2012 09:22:04
Сообщений: 47
Рейтинг сообщения: 0
to Idea_FIX
Да смысла нет пробовать эмуляцию. Нужен любой контролер который аппаратно держит USB, серии AT90USBxxxx and ATMEGAxxUx. В ближайшие выходные планирую начать проверку своей проги пока на ATTINY44 ибо под неё сделан контроллер на 1 шаговый двигатель (для измерения токов), если всё заработает буду читать доку по контроллерам с USB и переписывать прогу, а по поводу программирования в инете примеров вагон, BASCOM простейший бейсик, начинай пробовать писать сам, если что не ясно люди помогут :) мы же не звери :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STEP/DIR контроллер 3-х шаговых двигателей на микроконтр
СообщениеДобавлено: Сб мар 24, 2012 05:31:12 
Встал на лапы

Зарегистрирован: Пт сен 30, 2011 05:55:31
Сообщений: 111
Откуда: Питер
Рейтинг сообщения: 0
Ну да, не звери - коты )))

Спасибо, учту. Сейчас решил механику переделывать - больно громоздко и сложно вышло - так что, пока не до электроники. Когда закончу, буду пробовать программить на USB. А пока буду следить за процессом.

_________________
Через тернии - к звездам


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 977 ]     ... , , , 15, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y