roboforum.ru

Технический форум по робототехнике.

Контроллер ЧПУ/3Д принтера на STM32

Re: Контроллер ЧПУ/3Д принтера на STM32

legion » 31 июл 2012, 22:46

Надо же куда-то ресурсы девать. =)
По мне так брать вместо просто жирного камня охрененно жирный - буэ. С аппаратными энкодерами там и тинька справится. =)

Re: Контроллер ЧПУ/3Д принтера на STM32

к561ЛА7 » 31 июл 2012, 23:06

dccharacter писал(а):Не, с компа прилетают текстовые команды. Контроллер обрабатывает и управляет драйверами двигателей. Например через степ/дир интерфейс. Или ШИМ-ом. Или ППМ-ом...


эти текстовые команды каждая программа свои выдает? или одинаковые они

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 31 июл 2012, 23:13

ну типа да, особенно популярен G код

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 31 июл 2012, 23:19

legion писал(а):Надо же куда-то ресурсы девать. =)
По мне так брать вместо просто жирного камня охрененно жирный - буэ. С аппаратными энкодерами там и тинька справится. =)

Хм.
ATmega1280-16AU - 520 руб
STM32F100 (R/V) (C-D-E) - 250 рубликов
http://www.terraelectronica.ru

Re: Контроллер ЧПУ/3Д принтера на STM32

legion » 01 авг 2012, 07:57

С атмегой-то зачем сравнивать, понятно что там печаль. Сравнивать надо эти два СТМовских камешка.

STM32F100C4T6B в терре стоит 32.5 рубля. :shock: ШОК! А я аттини13 за эти деньги покупаю...

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 01 авг 2012, 19:53

1. Поменял репо на https://github.com/dccharacter/STM32_Servo_Controller. Пришлось.
2. Вот что удалось выжать из контроллера на STM32VL-Discovery:

3xEncoder Interface (TIM2, TIM3, TIM4)
1x4-channel PWM (TIM1, это значит, что у всех 4-х каналов будет одинаковый период, но независимо настраиваемый дьюти-сайкл)
1xUSART (USART3)
1xSPI (SPI2, Full-duplex Master with NSS)
24 ноги с ADC или просто как инпут/аутпут (6 ног сразу уходит на ендстопы)

Это с сохранением дискавери-платы. К сожалению, если даже брать просто такой же камень (т.е. без светодиодов и кнопок, которые жестко впаяны на плате и занимают ноги). и задействовать 4 интерфеса энкодеров, все равно не остается свободных ног под таймеры с PWM.
Будем продолжать?

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 01 авг 2012, 22:44

а разве есть варианты ? моя плата уже лежит на почте =) не на полку же её класть, не распаковывая... :D

ну не супер прям универсальный контроллер получается, но для простого станка вполне достаточно.

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 02 авг 2012, 01:07

Короче я запилил скелетон проекта, инициализированы:
1) UART с кольцевым буфером на прием...
2) Интерфейсы энкодеров, проверены, работают...
3) Четыре канала ШИМ, проверены, работают...

Сижу втыкаю на Teacup прошивку. Жесть :-( Там убиться на парсинге можно... Я правильно понимаю, что у нас сейчас главная задача парсинг, обработку и очередь команд реализовать?

Добавлено спустя 5 минут 39 секунд:
И еще меня вот что пугает - если скорость перемещения 500мм/с, как пишет setar, то для обработки эндстопов с точностью 1 мм надо опрашивать кнопки с периодом 1/500 = 2 мс. Плюс фильтрация 3-4 опроса, т.е. реально 500 мкс.

Добавлено спустя 5 минут 54 секунды:
А вообще на всех ногах у СТМ32 есть прерывания на внешний сигнал. Ловим прерывание и маскируем временно линию, если надо дребезг устранить. По-идее должно тогда почти мгновенно отрабатывать.

Добавлено спустя 28 минут 56 секунд:
Хм, а ничего так вроде:
EXTI.jpg
EXTI.jpg (61.16 КиБ) Просмотров: 3131

Желтая - это кнопка на дискавери
Синяя - светодиод, который тогглится по прерыванию

Осталось фильтрацию нормальную сделать и усе.

Добавлено спустя 50 минут 14 секунд:
О, настроил линии внешних прерываний на 6 эндстопов. Кстати, я не уверен, что их дебаунсить надо. Может масками дело обойдется. Зависит от того, как будет реализовано управление моторами.

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 02 авг 2012, 09:38

а нефиг в эндстопы биться со всей дури на 500 мм/с , это и сломать можно что-то случайно
калиброваться тихонечко на 100 мм/с =)

Re: Контроллер ЧПУ/3Д принтера на STM32

setar » 02 авг 2012, 10:15

может быть модули драйверов будете стандартные использовать ?
из этой категории (те что не шаговые, по току выбирайте) http://www.pololu.com/catalog/category/11

Re: Контроллер ЧПУ/3Д принтера на STM32

Myp » 02 авг 2012, 10:54

а есть не стандартные?

Добавлено спустя 3 минуты 28 секунд:
вот личном не дешевле купить 3 китайских драйвера L298N на 6 моторчиков чем один полуловский))

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 02 авг 2012, 12:55

Myp писал(а):а нефиг в эндстопы биться со всей дури на 500 мм/с , это и сломать можно что-то случайно
калиброваться тихонечко на 100 мм/с =)

Ну в реп-раповских прошивках хоуминг идет иммено что со всей дури в эндстопы (ну там же шаговики - мгновенная остановка, наверное), потом откат на миллиметр назад и на тихой подаче.

Добавлено спустя 1 минуту 51 секунду:
setar писал(а):может быть модули драйверов будете стандартные использовать ?
из этой категории (те что не шаговые, по току выбирайте) http://www.pololu.com/catalog/category/11

Ног хватает, с этим проблем нет. Надо только посмотреть как этот степ-дир генерится правильно. Т.е. с дир-ом-то понятно все, а вот степ что такое? Я читал, так нифига и не понял.

Добавлено спустя 1 минуту 22 секунды:
Myp писал(а):вот личном не дешевле купить 3 китайских драйвера L298N на 6 моторчиков чем один полуловский))

На полуловский схемы доступны, если решишь в серию пойти, сам напилишь себе таких втрое дешевле.

Добавлено спустя 1 час 35 минут:
Тут вот пишут что 180мм/с - это уже очень круто:

Re: Контроллер ЧПУ/3Д принтера на STM32

setar » 02 авг 2012, 14:48

dccharacter писал(а):Ну в реп-раповских прошивках хоуминг идет иммено что со всей дури в эндстопы (ну там же шаговики - мгновенная остановка, наверное), потом откат на миллиметр назад и на тихой подаче.

не, хоминг там аккуратненько делается, на 50 мм/с:

Код: Выделить всёРазвернуть
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)


Добавлено спустя 8 минут 40 секунд:
Тут вот пишут что 180мм/с - это уже очень круто:

это нифига не 180 :)
вот 100:


Добавлено спустя 3 минуты 24 секунды:
вот как 180 звучит:

Re: Контроллер ЧПУ/3Д принтера на STM32

dccharacter » 02 авг 2012, 15:00

#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)

mm/MIN???

Добавлено спустя 1 минуту 45 секунд:
setar писал(а):не, хоминг там аккуратненько делается, на 50 мм/с:

И это уже финальная стадия. Т.е. гоним до ендстопов, откатываемся на 1 мм и на маленькой скорости опять в ендстопы заводим.

Re: Контроллер ЧПУ/3Д принтера на STM32

setar » 02 авг 2012, 15:22

ты не правильно комментарий понял. эта переменная имеет единицы измерения мм/мин. поэтому 50мм/с и умножают на 60
получается 3000 mm/min

это не финальная стадия, ибо изначально положение после включения неизвестно.
двигаемся со скоростью 50мм/с
откатываемся на 5мм и движемся точно со скоростью 1мм/с
Код: Выделить всёРазвернуть
#define X_HOME_RETRACT_MM 5                                                                                                                                                                              
#define Y_HOME_RETRACT_MM 5                                                                                                                                                                             
#define Z_HOME_RETRACT_MM 1


Rambler\'s Top100 Mail.ru counter