Подключение шаговых двигателей к MiniBot-у.

Готовая электроника для самодельного робота. Уровень от начинающих до опытных конструкторов.

Подключение шаговых двигателей к MiniBot-у.

Сообщение Kea » 10 июн 2009, 20:17

Подключил биполярный шаговый двигатель к MiniBot-у. Получилось.
Опишу подробно, может кому-то пригодится.

Использовал 2 двигателя - SPM-20 (шаговый двигатель для позиционирования головки в дисководах 5'25 Mitsumi) и EM-483 (от принтера Epson Stylus C86).

Сам я паять толком не умею, поэтому по совету Эда подцепил двигатель заместо колёс, каждая обмотка - соотвесвенно вместо левого и правого двигателя.
SPM-20 рассчитан на 12 вольт, поэтому вращался довольно здраво. EP-483 рассчитан на 30 вольт, там уже похуже, но всё равно вертится. :)

Код программы :

Код: Выделить всё
'$prog &HFF , &HBD , &HC9 , &H00       ' generated. Take care that the chip supports all fuse bytes.
$regfile = "m32def.dat"                                     ' файл спецификации Меги32
$crystal = 7372800                                          ' указываем на какой частоте будем работать
$baud = 115200                                              ' указываем скорость на которой будет работать уарт

$include "Config ports.bas"
$include "Sound.bas"

Dim Speed As Byte : Speed = 255
Dim Address_rc5 As Byte , Command_rc5 As Byte
Dim Adc_temp As Word , Akb As Single

Dim Tm1 As Word : Tm1 = 10

Waitms 200
Print "Start MiniBot v2.0"

Do
    If Knopka = 0 Then
       Gosub Dlb1 : Waitms Tm1
       Gosub Drb1 : Waitms Tm1
       Gosub Dlf1 : Waitms Tm1
       Gosub Drf1 : Waitms Tm1
    Else
       Gosub Drf1 : Waitms Tm1
       Gosub Dlf1 : Waitms Tm1
       Gosub Drb1 : Waitms Tm1
       Gosub Dlb1 : Waitms Tm1
    End If
Loop

$include "Gosubs.bas"



Dlf1:
   Gosub Стоп : Waitms Tm1
   Drl = 1 : Drr = 0 : Pwm1b = Speed : Pwm1a = 0:
Return

Dlb1:
   Gosub Стоп : Waitms Tm1
   Drl = 0 : Drr = 0 : Pwm1b = Speed : Pwm1a = 0:
Return


Drf1:
   Gosub Стоп : Waitms Tm1
   Drl = 0 : Drr = 1 : Pwm1b = 0 : Pwm1a = Speed:
Return

Drb1:
   Gosub Стоп : Waitms Tm1
   Drl = 0 : Drr = 0 : Pwm1b = 0 : Pwm1a = Speed:
Return


Задержку меньше 10 мсек ставить не стоит, из-за того что напряжение низкое. Если будет меньше - двигатель будет пропускать шаги.
При нажатии на кнопку крутится в другую сторону.

Видео моторчика с дисковода:


Видео моторчика с принтера:
Вложения
DSC00731s.jpg
Подключено...
DSC00729s.jpg
Моторчик от принтера.
DSC00730s.jpg
Моторчик от дисковода.
Kea
 
Сообщения: 4
Зарегистрирован: 14 мар 2009, 12:24
Откуда: Иркутск

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение EdGull » 10 июн 2009, 20:41

с почином тебя! :friends:
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение galex1981 » 10 июн 2009, 21:26

Поздравляю! :beer:
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение Tonal » 28 июн 2009, 05:30

Кстати униполярные движки можно переделывать в биполярные, это требует разборки двигателя и внутренней перекомутации обмоток.
Полуобмотки можно соеденить паралельно или последовательно, это дает выбор в пользу мощности или потребления.
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение Duhas » 28 июн 2009, 07:44

а можно просто взяться за крайние точки обмоток забыв про средние...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение CiSi » 15 апр 2010, 16:06

А на Си нет исходника, а то не как не разберусь в этом.
подключил движок от сидирома так же, а прошиву написать не получается.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение EdGull » 15 апр 2010, 16:38

что именно тебе в этом коде не понятно?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение CiSi » 15 апр 2010, 17:16

Все!

Добавлено спустя 3 минуты 3 секунды:
Я пока что делал так:
while(1){
PORTB.0=0;
PORTB.2=1;
PORTB.4=0;
PORTB.5=1;
delay_ms(100);
PORTB.0=1;
PORTB.2=0;
PORTB.4=0;
PORTB.5=1;
delay_ms(100);
PORTB.0=1;
PORTB.2=0;
PORTB.4=1;
PORTB.5=0;
delay_ms(100);
PORTB.0=0;
PORTB.2=1;
PORTB.4=1;
PORTB.5=0;
delay_ms(100);

}
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение EdGull » 15 апр 2010, 18:19

т.е. ваще ни одной строчки не понятно?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение CiSi » 15 апр 2010, 18:21

ну можно и так сказать.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение EdGull » 15 апр 2010, 18:23

ну тогда забей на васик
он через чур простой для твоего понимания
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение CiSi » 15 апр 2010, 18:30

Так как же движок запустить?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение EdGull » 15 апр 2010, 18:37

написать соответствующий код
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение CiSi » 16 апр 2010, 07:47

Вот в этом, то вся проблема.
Я уже привел часть кода:
Код: Выделить всё
while(1){
PORTB.0=0;      //B3
PORTB.2=1;      //B1
PORTB.4=0;      //A1
PORTB.5=1;      //A2
delay_ms(100);
PORTB.0=1;
PORTB.2=0;
PORTB.4=0;
PORTB.5=1;
delay_ms(100);
PORTB.0=1;
PORTB.2=0;
PORTB.4=1;
PORTB.5=0;
delay_ms(100);
PORTB.0=0;
PORTB.2=1;
PORTB.4=1;
PORTB.5=0;
delay_ms(100);
}
Последний раз редактировалось CiSi 16 апр 2010, 12:22, всего редактировалось 1 раз.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: Подключение шаговых двигателей к MiniBot-у.

Сообщение EdGull » 16 апр 2010, 08:32

1. закрой код в тег "Code"
2. прочти в хелпе васика синтаксис "while"

как это сделаешь выложишь то что получилось только тогда продолжим
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

След.

Вернуться в МиниБот — национальный класс роботов

Кто сейчас на конференции

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