roboforum.ru

Технический форум по робототехнике.
Текущее время: 17 фев 2025, 08:02

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




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 10 июн 2009, 20:17 
Не в сети

Зарегистрирован: 14 мар 2009, 12:24
Сообщения: 4
Откуда: Иркутск
Подключил биполярный шаговый двигатель к 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
DSC00731s.jpg [ 384.79 КиБ | Просмотров: 15121 ]
Комментарий к файлу: Моторчик от принтера.
DSC00729s.jpg
DSC00729s.jpg [ 335.56 КиБ | Просмотров: 14865 ]
Комментарий к файлу: Моторчик от дисковода.
DSC00730s.jpg
DSC00730s.jpg [ 368.11 КиБ | Просмотров: 14808 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 10 июн 2009, 20:41 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 10 июн 2009, 21:26 
Не в сети
Аватара пользователя

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

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 28 июн 2009, 05:30 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 28 июн 2009, 07:44 
Не в сети
Аватара пользователя

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

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 16:06 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 16:38 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 17:16 
Не в сети
Аватара пользователя

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

Добавлено спустя 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);

}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 18:19 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 18:21 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 18:23 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 18:30 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 15 апр 2010, 18:37 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 16 апр 2010, 07:47 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Вот в этом, то вся проблема.
Я уже привел часть кода:
Код:
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 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключение шаговых двигателей к MiniBot-у.
СообщениеДобавлено: 16 апр 2010, 08:32 
Не в сети
Аватара пользователя

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

как это сделаешь выложишь то что получилось только тогда продолжим


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

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


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

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


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO