Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автономный Контроллер Чпу (stm32f103)
Все о станках с ЧПУ > Станки с ЧПУ, Hobby CNC > Электронные компоненты
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
2N2222
Плата у меня такая:
http://kbiva.wordpress.com/2013/07/24/stm3...ith-lcd-module/


Попробовал залить собраный файл как есть - ничего не работает: экран белый (только подсветка), USB прямо к чипу не опознается хостом никак.
Наверное какие то пины надо менять. Кто нибуть такой контроллер использовал?

К сожалению по ссылке на страницу откуда автор заказал плату нет ни схемы, ни сорсов демо. Вы бы не могли их выложить чтобы легче было искать 10 отличий?

Спасибо.
AlexSFA
Доброе всем время суток! Помогайте! Уже голову сломал. Во вложении пример кода, при выполнении которого, происходит глюк на строке 14489: станок наичинает бесконечно медленно ползти по Y. При этом зависания не происходит (координата Y меняется на экране) Нажмите для просмотра прикрепленного файла
som.andrew
Цитата(2N2222 @ 2.3.2014, 10:31) *
Попробовал залить собраный файл как есть - ничего не работает: экран белый (только подсветка).

Попробуйте это файл для экрана.
kurikat
Цитата(2N2222 @ 2.3.2014, 11:31) *
USB прямо к чипу не опознается хостом никак.

Эта плата и не должна никак определяться, по USB только питание идет.
Прошивка по com-порту происходит. Для этого подойдет обычный нуль-модемный кабель, собранный из двух разъемов от старых мышек(или купленых где-либо).
Правда этот кабель подойдет только тем, у кого есть com-порт в компьютере. У кого нет - придется сделать/купить USB-UART переходник или кабель(вот тут почитайте - http://www.imsprice.ru/resiveri-proshivki/...232-perehodnik).
Схему распайки можно взять тут - http://yandex.ru/yandsearch?text=%D1%81%D1...1%8F&lr=213
vladin21
Цитата(2N2222 @ 2.3.2014, 11:31) *
Плата у меня такая:
http://kbiva.wordpress.com/2013/07/24/stm3...ith-lcd-module/


Попробовал залить собраный файл как есть - ничего не работает: экран белый (только подсветка), USB прямо к чипу не опознается хостом никак.
Наверное какие то пины надо менять. Кто нибуть такой контроллер использовал?

К сожалению по ссылке на страницу откуда автор заказал плату нет ни схемы, ни сорсов демо. Вы бы не могли их выложить чтобы легче было искать 10 отличий?

Спасибо.

Второй разъем с USD уже имеет встроенный USB-UART. МК шьется через этот разъем и утилиту Flash Loader
alvian
Ребят, а что можно еще в замен TB6560 посмотреть ?
Был просто такой вариант раньше - http://www.ebay.com/itm/TB6560-CNC-3-Axis-...=item3a797f4fdb
Посоветуйте еще плз какую плату лучше взять для всего этого дела ? Модификаций этих SMT32 море...
2N2222
Цитата(vladin21 @ 2.3.2014, 8:54) *
Второй разъем с USD уже имеет встроенный USB-UART. МК шьется через этот разъем и утилиту Flash Loader


Через него и прошивал. Всем спасибо за комментарии. Нашел свою глупую ошибку: использовал файл image.bin а надо было image.hex
Теперь запустилсось. И второй USB опознается как диск.

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

Осталось проделать клавиатуру и подключить станок.
2N2222
Цитата(kurikat @ 2.3.2014, 6:24) *
Эта плата и не должна никак определяться, по USB только питание идет.


Должна и определяется с правильной прошивкой. Один USB разъем - virtual serial port для загрузки кода через Flash Loader, а второй комп видит как диск если вставлена SD карточка.
AlexSFA
Цитата(AlexSFA @ 2.3.2014, 15:41) *
Доброе всем время суток! Помогайте! Уже голову сломал. Во вложении пример кода, при выполнении которого, происходит глюк на строке 14489: станок наичинает бесконечно медленно ползти по Y. При этом зависания не происходит (координата Y меняется на экране) Нажмите для просмотра прикрепленного файла


Кому-нибудь удалось воспроизвести или это только у меня глюк?
mm.Mike
Цитата(AlexSFA @ 4.3.2014, 11:28) *
Кому-нибудь удалось воспроизвести или это только у меня глюк?


Сейчас некогда посмотреть. дня через 2 или в выходные смогу погонять станок по этому примеру
AlexSFA
Цитата(mm.Mike @ 4.3.2014, 15:17) *
Сейчас некогда посмотреть. дня через 2 или в выходные смогу погонять станок по этому примеру

Спасибо, буду ждать.
mm.Mike
Цитата(AlexSFA @ 4.3.2014, 20:21) *
Спасибо, буду ждать.

только что закончил. Правда немного с халтурил и удалил 12000 строк от начала. Оставил последние 27 минут выполнения.
Лежал с книжкой и явных сбоев/остановок не слышал.

Но... у меня последняя версия прошивки и вспоминается мне что я прилизывал что то, что бы исключить ошибки (потерю значащих цифр) при умножении/делении.
Возможно из за этого у меня все нормально прошло.
AlexSFA
Цитата(mm.Mike @ 9.3.2014, 12:33) *
только что закончил. Правда немного с халтурил и удалил 12000 строк от начала. Оставил последние 27 минут выполнения.
Лежал с книжкой и явных сбоев/остановок не слышал.

Но... у меня последняя версия прошивки и вспоминается мне что я прилизывал что то, что бы исключить ошибки (потерю значащих цифр) при умножении/делении.
Возможно из за этого у меня все нормально прошло.


Мне кажется, что проблема не в какой-то конкретной строке, а в накоплении ошибки.
Можно ссылку на последнюю версию?
mm.Mike
Цитата(AlexSFA @ 9.3.2014, 21:27) *
Мне кажется, что проблема не в какой-то конкретной строке, а в накоплении ошибки.
Можно ссылку на последнюю версию?


Накопление.. Сомневаюсь. Нет таких мест.
А вот вычисления частоты(скорости) при приведении всех трех осей - запросто. Я давно уже это вроде бы поборол... но мало ли.
При вычислении частоты по одной из осей теряется значащая цифра и.. скорость по одной оси = 0(близко к 0), а перемещение не 0.
Было давно такое (еще когда в самом начале.. до того как вообще выложил. когда отлаживал программу). Редко проявлялось. Выявлял симуляцией в отладчике Visual Studio

На этой траектории - не нашел. Но и предыдущую прошивку вытаскивать/разворачивать неохота


В общем то уже выкладывал последнюю прошивку.
https://drive.google.com/file/d/0B3hH5_ZXlb...dit?usp=sharing

Кстати, на М7 у меня обработки нет(вырезал строку, что бы запустить на обработку).. в код расчета изменений не вносили?
amig
Ребята, а кто-нибудь прикрутил четвертую ось? Помогите труженикам ЛИКБЕЗа скиньте файлики.
som.andrew
Подскажите есть g-code создающий паузу на Xсекунд?
Возможно применять M-code для включения/выключение пина, для подключения внешнего устройства?
pokkahoh
Добрый день.
Сразу прошу прощения за off top.
Пробрёл плату http://www.aliexpress.com/item/1274366428.html
Плата пришла с пинами вместо гнёзд, поставил шлейф.
Распиновка разъёма есть по ссылке (как понимаю совпадает со схемой в проекте)
Встроенная прошивка (micrium) показывает lcd_controller 9320, 16 bpp, fixed palette 565, 65536 colors.
Если собирать проект, то плата видится как внешняя флешка, светодиоды мигают, но экран не показывает ничего, при первоначальной инициализации дважды светится белым, при сбросе просто темный.

Посоветуйте, что можно почитать (стандартную документацию от STM прочёл) по работе с LCD?
Пробовал все (по пинам совместимые) библиотеки из данной ветки.
По моему разумению всё должно работать "из коробки", но мнение железа с моим не совпало blink.gif .
В чём ошибка?
e-m
Всем добрый день.
Запустил на днях такую плату: http://www.ebay.com/itm/190661059962. Согласилась она работать только с 1ой и 1ой доработанной версией. Но, по моему мнению, очень низкая скорость перемещений (менее 1000 мм/мин) и большое время разгона - торможения. Если с Mach файл G-code выполняется за 1 час 20 мин., то на контроллере 3 часа 40 мин. Вопрос к гуру: возможно ли в исходниках увеличить скорость перемещения и уменьшить время ускорения и торможения. И еще, возможно ли без ущерба работоспособности прошивки убрать екструдер, датчик температуры, энкодеры и т.д.
sant777
а где вы увидели там экструдер, контроль т-ры и т.д ? Вроде последнюю прошивку заливал и там ничего не отображается для принтера, только в самой прошивке. Сами настройки моторов нужно в этом пульте выставлять только в самой прошивке , потом заново компилировать и т.д.



e-m - Попробуйте собрать на меге32 , там отличное меню и всё можно настроить не ковыряя прошивку...
e-m
Цитата(sant777 @ 14.4.2014, 6:23) *
а где вы увидели там экструдер, контроль т-ры и т.д ? Вроде последнюю прошивку заливал и там ничего не отображается для принтера, только в самой прошивке. Сами настройки моторов нужно в этом пульте выставлять только в самой прошивке , потом заново компилировать и т.д.



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

В том то и дело, Вы откройте Global_h и посмотрите, сколько пинов зарезервировано под эти приблуды? Моя плата отличается от авторского варианта и пины не совпадают - приходится переназначать, а их катострофически не хватает (особенности данной платы).
А на меге32 какая макс. скорость перемешений?
mm.Mike
Цитата(e-m @ 14.4.2014, 17:55) *
В том то и дело, Вы откройте Global_h и посмотрите, сколько пинов зарезервировано под эти приблуды? Моя плата отличается от авторского варианта и пины не совпадают - приходится переназначать, а их катострофически не хватает (особенности данной платы).
А на меге32 какая макс. скорость перемешений?


1. Нисколько, если указать что их нет, за комментировать соответствующие //#define
2. До ограничения скорости производительностью проца (72Мгц) добраться практически не реально.

У меня ограничение в 2000мм/мин по X стоит исходя из свойств моего станка. Для дерева 2000мм/мин по X (срез фрезой 1.5 конус 18000об/мин на 4 мм дерево:бук)- предел найденный экспериментально с 30% запасом. Выше - фреза часто ломается и/или пропуски (стружка другой фактуры идет).
По Y меньше, поскольку режу обычно Y- по перек волокон.

А вообще, для бука без черновой обработки ставлю обычно 1200мм/мин.. Разница не велика по времени с максимумом, а фрезы жалко.

Но в 3D принтере и на 4000мм/мин мечется.

Ваш вопрос про максимальную скорость может означать две вещи
1. У Вас серво-движки мощные или лазер и легкая каретка и Вам нужно 10000мм/мин. Тогда поставьте в конфиге верхнюю планку повыще (и для ускорений то же).
2. Либо я не понял зачем вам максимальная скорость перемещения..
e-m
Цитата(mm.Mike @ 14.4.2014, 13:30) *
1. Нисколько, если указать что их нет, за комментировать соответствующие //#define
2. До ограничения скорости производительностью проца (72Мгц) добраться практически не реально.

У меня ограничение в 2000мм/мин по X стоит исходя из свойств моего станка. Для дерева 2000мм/мин по X (срез фрезой 1.5 конус 18000об/мин на 4 мм дерево:бук)- предел найденный экспериментально с 30% запасом. Выше - фреза часто ломается и/или пропуски (стружка другой фактуры идет).
По Y меньше, поскольку режу обычно Y- по перек волокон.

А вообще, для бука без черновой обработки ставлю обычно 1200мм/мин.. Разница не велика по времени с максимумом, а фрезы жалко.

Но в 3D принтере и на 4000мм/мин мечется.

Ваш вопрос про максимальную скорость может означать две вещи
1. У Вас серво-движки мощные или лазер и легкая каретка и Вам нужно 10000мм/мин. Тогда поставьте в конфиге верхнюю планку повыще (и для ускорений то же).
2. Либо я не понял зачем вам максимальная скорость перемещения..

Спасибо. Попробую.
e-m
Нажмите для просмотра прикрепленного файла
Цитата(mm.Mike @ 14.4.2014, 13:30) *
1. Нисколько, если указать что их нет, за комментировать соответствующие //#define
2. До ограничения скорости производительностью проца (72Мгц) добраться практически не реально.

У меня ограничение в 2000мм/мин по X стоит исходя из свойств моего станка. Для дерева 2000мм/мин по X (срез фрезой 1.5 конус 18000об/мин на 4 мм дерево:бук)- предел найденный экспериментально с 30% запасом. Выше - фреза часто ломается и/или пропуски (стружка другой фактуры идет).
По Y меньше, поскольку режу обычно Y- по перек волокон.

А вообще, для бука без черновой обработки ставлю обычно 1200мм/мин.. Разница не велика по времени с максимумом, а фрезы жалко.

Но в 3D принтере и на 4000мм/мин мечется.

Ваш вопрос про максимальную скорость может означать две вещи
1. У Вас серво-движки мощные или лазер и легкая каретка и Вам нужно 10000мм/мин. Тогда поставьте в конфиге верхнюю планку повыще (и для ускорений то же).
2. Либо я не понял зачем вам максимальная скорость перемещения..

Уважаемый mm.Mike!
Вчера пробовал опять загрузить последнюю версию с измененными пинами под мою плату (http://www.ebay.com/itm/190661059962), но опять ничего не получается. Прошивка собирается, но клавиатура и лимиты не работают, Stip, Dir не проверял. На клавиатуре реагирует 4 колонка (при нажатии любой кнопки запускается выполнение первого в списке файла Gcode).
Если Вам не в тягость, посмотрите пожалуйста в чем проблема. Схему и все, что изменял прилагаю.
pokkahoh
Меня не слышат... это минус :(
Но и не гонят - это плюс! :)
(с)

Помогите кто чем может, отстал от Мерседеса, принимаю пожертвования в СКВ...

Повторюсь... на плате есть 32 разъём, разводка на нём следующая (номер контакта разъёма, сигнал FSMC, ножка STM32F103ZET)
Совпадает со схемой автора приведённой в данном сообщении
Код
Pin |  FSMC  |  STM  ||  Pin |  FSMC  |  STM
----+--------+-------++------+--------+--------
1   |  Gnd   |  Gnd  ||  2   |  RST   |  E1
3   |  D15   |  D10  ||  4   |  D14   |  D9
5   |  D13   |  D8   ||  6   |  D12   |  E15
7   |  D11   |  E14  ||  8   |  D10   |  E13
9   |  D9    |  E12  ||  10  |  D8    |  E11
11  |  D7    |  E10  ||  12  |  D6    |  E9
13  |  D5    |  E8   ||  14  |  D4    |  E7
15  |  D3    |  D1   ||  16  |  D2    |  D0
17  |  D1    |  D15  ||  18  |  D0    |  D14
19  |  RD    |  D4   ||  20  |  WR    |  D5
21  |  RS    |  D11  ||  22  |  CS    |  D7
23  |  T_CLK |  A5   ||  24  |  T_CS  |  B7
25  |  T_SI  |  A7   ||  26  |  T_SO  |  A6
27  |  T_INT |  B6   ||  28  |  BL    |  D13
29  |  5V    |  5V   ||  30  |  SD_CS |  G2
31  |  3V3   |  3V3  ||  32  |  GND   |  GND

Инициализация FMSC в ili9023.c
Код
void Lcd_Configuration(void) {
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE , ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;

// PE1-LCD-RST,
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

//LCD-RST
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;     
GPIO_Init(GPIOE, &GPIO_InitStructure);
// LIGHT
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOD, &GPIO_InitStructure);

//------------------------- FSMC pins ---------------
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
// PD14-D0, PD15-D1, PD0-D2,   PD1-D3,   PE7-D4,   PE8-D5,  PE9-D6, PE10-D7,
// PE11-D8, PE12-D9, PE13-D10, PE14-D11, PE15-D12, PD8-D13, PD9-D14, PD10-D15
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
GPIO_Init(GPIOE, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14| GPIO_Pin_15;
GPIO_Init(GPIOE, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
GPIO_Init(GPIOD, &GPIO_InitStructure);

//PD11-RS, PD4-nOE, PD5-nWE, PD7-LCD-CS
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_4 |GPIO_Pin_5 | GPIO_Pin_7;
GPIO_Init(GPIOD, &GPIO_InitStructure);

//----------------
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDef  p;

p.FSMC_AddressSetupTime = 0x02;
p.FSMC_AddressHoldTime = 0x01;
p.FSMC_DataSetupTime = 0x05;
p.FSMC_BusTurnAroundDuration = 0x00;
p.FSMC_CLKDivision = 0x01;
p.FSMC_DataLatency = 0x00;
p.FSMC_AccessMode = FSMC_AccessMode_B;

FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;

FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
  /* Enable FSMC Bank1_SRAM Bank */
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);
}


и не работает... :(
что можете сказать? откуда неизвестный стук на чердаке?
каким образом можно определить что не так контроллеру LCD?
это первая попытка работы с микроконтроллером.
mm.Mike
Цитата(e-m @ 15.4.2014, 14:01) *
Нажмите для просмотра прикрепленного файла
Уважаемый mm.Mike!
Вчера пробовал опять загрузить последнюю версию с измененными пинами под мою плату (http://www.ebay.com/itm/190661059962), но опять ничего не получается. Прошивка собирается, но клавиатура и лимиты не работают, Stip, Dir не проверял. На клавиатуре реагирует 4 колонка (при нажатии любой кнопки запускается выполнение первого в списке файла Gcode).
Если Вам не в тягость, посмотрите пожалуйста в чем проблема. Схему и все, что изменял прилагаю.


Наверное все же тягость. Уж прошу прощения (работы дофига.. на работе.. только по мелочи готов подсказать).
Но если с экраном все в порядке, то всегда можно добавит отладку + тестер(осциллограф) и найти проблему, если в схеме на первый взгляд косяков не видно.
mm.Mike
Цитата(pokkahoh @ 15.4.2014, 15:31) *
Меня не слышат... это минус :(
Но и не гонят - это плюс! :)
(с)

..
каким образом можно определить что не так контроллеру LCD?
это первая попытка работы с микроконтроллером.


Экран с тестами работал вообще? Китайцы всегда, когда продают плату с экраном, загружают демо прошивку.
Я бы с этого начал... Или все в рассыпухе шло?
Тогда нужно начинать с проверки подсветки. Типичный LCD экран при заданном на нем изображении, но выключенной подсветке - темный (как выключенный).


sant777
e-m У меня в последней версии прошивка вроде как собиралась, но изменения в файлах не сохранялись или что-то в этом духе. Одним словом нормально работала только прошивка скомпилированная без каких-то изменений. Попробуйте собрать прошивку, указанным ранее способом, в этом случае всё сохраняется 100% . Гемора больше, но результат гарантирован. Думаю у вас похожая проблема.
pokkahoh
Цитата(mm.Mike @ 15.4.2014, 15:58) *
Экран с тестами работал вообще? Китайцы всегда, когда продают плату с экраном, загружают демо прошивку.

да, работает, прошивку снял, при повторной заливке "оригинальной" прошивки (micrium 3.90a\3.90a)вижу тесты,
показывает lcd_controller 9320, 16 bpp, fixed palette 565, 65536 colors.

Цитата(mm.Mike @ 15.4.2014, 15:58) *
Тогда нужно начинать с проверки подсветки. Типичный LCD экран при заданном на нем изображении, но выключенной подсветке - темный (как выключенный).

При первом включении экран включает подсветку (экран белый)... потом её гасит... повторяет раз восемь, с разными интервалами потом подсветка выключается.
При сбросе (кнопка reset на плате) подсветка однократно мигает.

По USB контроллер виден как накопитель, светодиоды на плате мигают.

P.S. Прошивка отлично собирается из исходников, как из-под IDE, так и из командной строки
sant777
mm.Mike Подскажите - при запуске файла на на работу, он сравнивается с размерами рабочего стола ? Т.е при превышении размеров рабочего стола выдаётся какое-то сообщение об ошибке ?
dzairo
Hi. I compile code for stm32f429i disco and flash to mcu . start it .. on lcd show blue screen .. and blinking message waiting flash .. I connect USB flash disk but still show this message .. not read files .. I try fat16 and fat32 still same message . can you help with this ? spasiba
SkyDanser
извините если не по теме.
на днях мне подарили старенький микрофрезерный станок Proxxon MF 70 подготовленный для ЧПУ но без самого блока управления. Подойдет ли выложенная здесь система управления для моего апарата или нет?
и еще я не совсем понял как собрать подобный девайс.
я новичек в этом деле(а платить 200тыров за проксоновский блок дюже дорого) поэтому прошу не пинать меня сильно.
dr_gachet
Если к станку уже есть драйвера моторов то попробуйте сначала наладить его с управлением от компьютера в MACH или EMC2, и когда заработает тогда и задумаетесь о подключении автономного контролера (чтобы сразу все не лепить и потом голову не ломать где ошибки). Ну а если драйверов нет то надо в любом случае начинать с их приобретения.
sant777
dr_gachet Есть к вам вопрос. Я так понимаю , вы неплохо разбираетесь в теме. На днях решил слепить из своего станка 3Д принтер. Нашёл в интернете все примочки к мач3, для компиляции stl моделек. Купил ардуино ( только для того, чтобы контролировать нагрев стола и экструдера), начал ковырять и обнаружил, что в принципе это тоже неплохой готовый пульт. Прошил менделем с дисплеем 12864. Если не использовать нагреватели , то всё остальное можно вполне использовать. Там есть поддержка всех основных команд, есть управление скоростью "F" во время работы. Все перемещения энкодером. Не в курсе - подойдёт- ли он для чпу станка? С подключением всё понятно. Прочитал, что там драйвера вроде работают на другой частоте. Заставить работать STM32 , как прошивку для принтера не получилось, пробовал убрать комментарии , но всёже если совсем не в теме это сложно.
Скопилась дома уже куча пультов, а всё не по-душе)) , даже китайский прикупил...
Столкнулся ещё с одной проблемой. Поскольку в пульте нет реально рабочих изменений настроек, а станка у меня два, решил слепить ещё один.
Купил, прислали. Демо программка работала нормально, прошил. Пульт стал долго включаться. От 1 до 5-6 минут. Просто моргает с потухшим экраном. Потом , когда запускается, работает нормально. Первый пульт работает нормально, прошивал одним файлом оба. Вот , такие глюки присылают китайцы...
Это к тому, что если кто-то попытается собрать и не заработает сразу, нужно пытаться терпеливо ждать , пока проц не заведётся.
dzairo
Цитата(dzairo @ 28.4.2014, 0:34) *
Hi. I compile code for stm32f429i disco and flash to mcu . start it .. on lcd show blue screen .. and blinking message waiting flash .. I connect USB flash disk but still show this message .. not read files .. I try fat16 and fat32 still same message . can you help with this ? spasiba


Hi. I find problem . My usb disk is not supported .. I find one, what I have and work .
thanks.

Have another question .. in this project if use 429i MCU what maximum speed of step frequenci is possible ??
now setting for step per , speed , limit .. etc is possible change only in code and compile or is possible change by LCD or read from configuration file??

spasiba
dzairo
HI. I test this project with STm32F429i board and see that speed is still same ..
if define G01 ... F1 or F100 or F1000 speed is still same .. why ???
may be it's good for 3D printer .. but not for CNC machine..
what is wrong..

thanks
dr_gachet
Цитата
dr_gachet Есть к вам вопрос. Я так понимаю , вы неплохо разбираетесь в теме.

dr_gachet Есть к вам вопрос. Я так понимаю , вы неплохо разбираетесь в теме.
Спасибо, но увы в теме "карманного" станкостроения я разбираюсь плохо, во всяком случае не так как хотелось бы.
Про эструдеры на ардуинах знания пока лишь теоретические.
Теперь что меня привлекает в этом проекте это открытые исходники которые можно допилить в любом направлении, рассчитаны на процессор имеющий хороший запас по производительности и хорошо развитую периферию,а также есть возможность при необходимости без больших напрягов переместится на более старшие процессоры (что подтверждает опыт ____).
Согласитесь что исходники для того же менделя рассчитанные на довольно слабые ATmega да еще и не на ассемблере будут иметь очень слабый запас по скорости,а учитывая неоднозначность компиляции (хотя бы от степени оптимизации) то и в части случаев могут оказаться вообще неработоспособны.
Три раза прочитал все равно ничего не понял разжуйте пожалуйста что за пульты желательно с ссылками.
Не понял о каких пультах вы говорите - все под пультами понимают разное. У одного выносной блок с кнопками это пульт, у другого вообще все что электрическое это пульт и т.д.
Надо както договорится о терминах или приводить ссылки или хотя бы названия.
"Не в курсе - подойдёт- ли он для чпу станка?" Мое мнение что подойдет Любой современный контроллер, вот только программу скорей всего придется напильником допиливать. А какой к стати ардун у вас?
Смотрел исходники Менеделя - теоретически может рулить чем угодно (и CNC) только некоторые параметры которые не критичны для 3D могут быть критичны для CNC (а вообще кажется что выше я уже ответил про ATmega).

А вообще сдается мне что вы много требуете от бытовой техники. потому проф техника и стоит на несколько порядков дороже.
Самое близкое любительское это компьютер (лучше ноут)с MACH или EMC2 имхо. К стати EMC2 в загримированном виде уже применяется в профессиональном оборудовании.

"Купил, прислали. Демо программка работала нормально, прошил. Пульт стал долго включаться. От 1 до 5-6 минут. Просто моргает с потухшим экраном. Потом , когда запускается, работает нормально. Первый пульт работает нормально, прошивал одним файлом оба. Вот , такие глюки присылают китайцы..."
Просто китайские контроллеры в большинстве меняются и с производителем и со временем и надо программку допиливать под конкретный экземпляр. Как пример - для своей темы заказал у китайца 2 контроллера на пробу сделал под них программку все работает, заказываю у него-же 10 таких-же, приходят схема другая хотя внешне не отличиш, пришлось программку корректировать. Надо просто с этим смирится. Хотя и брак встречается, но редко и китайцы молодцы за брак деньги возвращали без вопросов.
Про долгий запуск если речь идет про контроллер на STM32 то такого не должно быть проверьте питание сначала и сигнал сброса, потом как кварц (наверно проще его просто поменять - стоит 10-20 руб). А кнопку резет кстати нажимать для запуска надо?
Три раза прочитал все равно ничего не понял разжуйте пожалуйста что за пульты желательно с ссылками.

Цитата
HI. I test this project with STm32F429i board and see that speed is still same ..
if define G01 ... F1 or F100 or F1000 speed is still same .. why ???
may be it's good for 3D printer .. but not for CNC machine..
what is wrong..

thanks

I'm sorry, but no one here ported this project on stm32f429i and no one will be able to say something. You will have to do everything myself. Very interesting to hear your report. And STM32f103 speed is regulated, there may be differences in the operation of the RTC in the processors.
sant777
Ссылки на ардуину думаю писать смысла нет, продают кругом в и-нете примерно 15$. Я покупал комплект (mega 2560) с RAMPs 1.4, дисплеем 12664 и пятью драйверами шаговиков помойму за 55$. Прошил туда марлин.
Пока прилепил к станочку с рабочим столом 20х30см, на котором пилил печатные платы





Медленно, но печатает. Всё управляется энкодером, неплохая менюшка с настройками.

В чем проявляется медленность работы ардуины не пойму. Возможно проц слабее чем STM32, но он легко таскает моторы на скорости 60-70мм/s.
В любом случае станок с винтами вряд-ли потянет такие скорости. Я ограничился 30mm/s

Команд там тоже достаточно. Читает гербер код с CD карты напрямую.


G2 - CW ARC
G3 - CCW ARC

General:
M17 - Enable/Power all stepper motors. Compatibility to ReplicatorG.
M18 - Disable all stepper motors; same as M84.Compatibility to ReplicatorG.
M30 - Print time since last M109 or SD card start to serial
M42 - Change pin status via gcode
M80 - Turn on Power Supply
M81 - Turn off Power Supply
M114 - Output current position to serial port
M119 - Output Endstop status to serial port

Movement variables:
M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) im mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate
M220 - set build speed mulitplying S:factor in percent ; aka "realtime tuneing in the gcode". So you can slow down if you have islands in one height-range, and speed up otherwise.
M301 - Set PID parameters P I and D
M303 - PID autotune, S = target temperature.
M400 - Finish all buffered moves.

Advance:
M200 - Set filament diameter for advance
M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk

EEPROM:
M500 - stores paramters in EEPROM
M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
M503 - print the current settings (from memory not from eeprom)

Вот ссылка

http://reprap.org/wiki/Marlin

Прикрутить к мощным драйверам пока не пробовал , где-то в и-нете прочитал , что драйвера вроде работают на разных частотах.
Прикупил драйвера ТВ6600 , они пошустрее ТВ6560. Испытал с мач3, работают отлично.

Несколько вариантов собрал с форума ск роутер на 32й меге. В том пульте в отличии от stm32 отличная менюшка настроек станка, но пульт тоже сырой.





Ну и последний прикупил на алиэкспрессе китайский, обошёлся он мне чуть меньше 300$. Там всё есть и всё работае, ссылка ниже. Китайцы кстати используют эти пульты на огромных промышленных станках. На ютубе полно видео.

Ресет на STM32 для запуска на моей платке нажимать не нужно , первая плата работает отлично, заказывал у того-же продавца ( такая же как на первой страничке)
dr_gachet
Ну последний контроллер (RZNC) наверное самое лучшее что есть в продаже сегодня для CNC при доступной цене. Вот пусть он и рулит фрезером.
Но не требуйте от него чтоб они репрапиной двигал.

А с ардуной че-то не понял он что от Gerber файлов управляется или все-таки от G-code. Насколько мне помнится Gerber разработан был для вывода фотошаблонов печатных плат на древних фотоплоттерах. И хотя он и похож на G-code, но он исходно 2D с слоями и апературами что в принципе может подойти для 3D принтера и не надо перегружать процессор контроллера расчетами траектории в 3-х координатах. Тогда жаль - этот контроллер не пойдет для CNC.

Насчет сравнения ардуновских ATmega и STM32 примененном в этом проекте - разница в производительности как минимум на порядок (частота 72 мгц у стм против 16 у меги + 32 разряда против 8). Хотя если для меги на асм писать и против си для стм может потягатся в производительности думаю.
sant777
Я скорее неправильно выразился, подсознательно для меня это одно и тоже ab.gif , разумеется G-code. 3Д принтер в принципе не сможет работать только с 2 координатами, хотя я был бы только рад, если бы ардуина понимала чистый гербер, поскольку широко применяемая программулька Layout для создания печатных плат выводит именно гербер. А так приходится, чтоб сделать печатную плату перегонять вначале в *.dxf , а только потом готовить на фрезеровку. В ардуину заливал файлы "*.gco" или "*. gcod" , гербер вроде "*.gbr" В любом случае думаю проблемы с подгонкой в нужный формат не должно быть. Частота проца это разумеется важно , но видимо разработчики софта смогли так всё оптимизировать, что по скорости печати 3Д принтер можно сравнивать с лазерными ЧПУ станками (с мач3 это USB платы на 200-400мГц). Скорость в ардуине , если её применять для ЧПУ станка скорее будет ограниченна тормозами винтов в станке против ремней. Вот я решил погонять станок на хороших скоростях , в результате сломалась соединительная муфта между мотором и винтом))). "Жаба" не позволила сразу купить пластмассовые части для 3Д принтера , вот и пришлось печатать их на винтовом станке.
DSP пульт получил. Не понравился прежде всего дисплей и явная тормознутость , хотя там и 160мГц, лишнего всего тоже хватает...
Что там есть , так это реально рабочая защита станка. Можно любые файлы закидывать ( особенно , если не сам их готовил) и не бояться, что повредится станок. Перед печатью идет проверка файла на соответствие рабочему столу. В пульте на меге вообще концевики не работают (только поиск "home"), а на STM это только аварийная остановка.
2N2222
Я только что собрал 3D printer из набора. Контроллер "RAMBO"на том же ATMega2560. Такой же графический экран.

На плате драйверы шаговых моторов, но чипы без радиаторов и моторы поменьше чем на станке. Так что наверное тот же контроллер не пойдет. Я только начал разбираться, но похоже STL файл нарезается на 2D слои и генерируется почти такой же gcode.
dr_gachet
А таки-да Походу контроллеры 3d принтеров работают с 2d G-code ! ! ! Ха-ха ! Посмотрел гкода которые выходят для этих притеров - тока X и Y. Правды ради !: в каждом кадре есть и Е - типа скорость подачи материала, но она в течении кадра постоянна и не требует вычислений. Так чо вычислить интерполяцию по двум координатам можно и с помощью пяти пальцев. Может для большинства это и не откровение, но как то раньше я не сталкивался близко с репрап.
2N2222
На первый взгляд у 3D принтера и CNC столько общего, что надо делать на одной платформе. Можно, конечно, но есть проблемы.
Понятно что механика у принтера заметно менее мощная, поскольку нагрузка маленькая. Отсюда и контроллеры без радиаторов. Но зато он намного шустрее. И то небольшая деталь занимает 2 часа печати, а если бы скорости и ускорения были ограничены величинами стандартных CNC станков, было бы еще более грустно.
dr_gachet
Цитата
а если бы скорости и ускорения были ограничены величинами стандартных CNC станков
если говорить про скорость перемещения инструмента то для репрап она определяется скоростью истекания пластика из дырдочки, а для ЦНЦ скоростью вхождения резца в материал. Потому для разных режимов может больше как та, так и другая. А ускорения зависят по большей части от механики станка и по любому чем они больше тем лучше.
amig
Ребята, ну подскажите где включить 4 ось . В global.h вроде все стоит, где еще поправить? И еще , где пины на управление драйверами менять под свой вариант (хочу шлейф от LPT обжать в 40 пиновом разъёме чтобы было красиво) кроме global.h ?
pervoigor
Всем привет! Запустил наконец контроллер, его прислали с дисплеем 2,4 V3 (видеоконтроллер LGDP4535). Запускается, выходит в режимы, только на главной странице высвечивается белая полоса. За фото не обессудьте, снимал телефоном. Если кто сталкивался, плиз, подскажите как избавиться от этого глюка.Нажмите для просмотра прикрепленного файла
tampotrafaret
Привет коллеги, кто-то еще интересуется этой темой?
взял из https://github.com/x893/CNC-STM32
сырцы, те что кто-то (видимо уже не mm.Mike) портировал под плату
STM429iDisco.
Правда я в IAR работаю, поэтому в нем пересобрал проект. залил. Флешку видит,
файл на исполнение берет и чего то там начинет считать. XYZ меняются.
на некоторой строке замирет и как будто висит, при этом часы на экране тикают
кто то сталкивался, куда рыть в какую часть кода ?

И второе: при попытке раздейфайнить use_keypad4x4 - все сборка летит к чертям.
Для stm32f429 только с сенсорными кнопками реализовано или стоит просто поковыряться?
D.L.
Цитата(tampotrafaret @ 25.10.2014, 7:12) *
И второе: при попытке раздейфайнить use_keypad4x4 - все сборка летит к чертям.
Для stm32f429 только с сенсорными кнопками реализовано или стоит просто поковыряться?


В stm32f429i-disco.h замените #define USE_KEYBOARD 2 на #define USE_KEYBOARD 1 и пропишите порты и пины клавы, например:

Код
#if (USE_KEYBOARD == 1)
    /*----- keyboard ----------------------------------------
    *  col: PE2, PE3, PE4, PE5
    *  row: PE6, PC1, PC2, PC3
    */
    //----- keyboard ----------------------------------------
    ///   0: 1: 2: 3:
    //0:  1  2  3  A
    //1:  4  5  6  B
    //2:  7  8  9  C
    //3:  *  0  #  D
    #define COL0_PORT            GPIOE
    #define COL0_PIN            GPIO_Pin_2
    #define COL1_PORT            GPIOE
    #define COL1_PIN            GPIO_Pin_3
    #define COL2_PORT            GPIOE
    #define COL2_PIN            GPIO_Pin_4
    #define COL3_PORT            GPIOE
    #define COL3_PIN            GPIO_Pin_5

    #define ROW0_PORT            GPIOE
    #define ROW0_PIN            GPIO_Pin_6
    #define ROW1_PORT            GPIOC
    #define ROW1_PIN            GPIO_Pin_1
    #define ROW2_PORT            GPIOC
    #define ROW2_PIN            GPIO_Pin_2
    #define ROW3_PORT            GPIOC
    #define ROW3_PIN            GPIO_Pin_3
#endif
nautilus
Цитата(amig @ 20.7.2014, 2:36) *
Ребята, ну подскажите где включить 4 ось . В global.h вроде все стоит, где еще поправить? И еще , где пины на управление драйверами менять под свой вариант (хочу шлейф от LPT обжать в 40 пиновом разъёме чтобы было красиво) кроме global.h ?

... присоединяюсь!

Действительно, может поднять тему? Топикстартеру вопросик - еще есть интерес? Может продолжим?
nautilus
Из поста №614:
Цитата(mm.Mike @ 10.3.2014, 7:15) *
...
...
В общем то уже выкладывал последнюю прошивку.
https://drive.google.com/file/d/0B3hH5_ZXlb...dit?usp=sharing

Кстати, на М7 у меня обработки нет(вырезал строку, что бы запустить на обработку).. в код расчета изменений не вносили?

Всё собиралось.
Поставил обновления.
не собирается, вот что говорит:

extruder_t.c: In function 'extrudT_init':
extruder_t.c:43:2: warning: implicit declaration of function 'extrudT_FunOff'
extruder_t.c: At top level:
extruder_t.c:126:6: warning: conflicting types for 'extrudT_FunOff'
extruder_t.c:43:2: note: previous implicit declaration of 'extrudT_FunOff' was here
arm-kgp-eabi-gcc -W -Wall -Wno-unused-parameter -Os -finline-functions -fomit-frame-pointer -ffunction-sections -fdata-sections -funroll-loops -fgraphite -ggdb3 -mtune=cortex-m3 -mcpu=cortex-m3 -mfloat-abi=soft -mlittle-endian -mthumb -Wa,-adhlns=flash_spi.lst -Wp,-M,-MP,-MT,flash_spi.o,-MF,.dep/flash_spi.o.dep -Wa,-adhlns=flash_spi.lst -std=gnu99 -I./ -I./../include -I./../liblcd -I./../libhardware -I./../libcmsis -I./../libtools -DUSE_STDPERIPH_DRIVER -DDELAY_FOR_GDB=1 -DTE_STM32F103 -DF_OCS=8000000 -c -o flash_spi.o flash_spi.c
arm-kgp-eabi-gcc -W -Wall -Wno-unused-parameter -Os -finline-functions -fomit-frame-pointer -ffunction-sections -fdata-sections -funroll-loops -fgraphite -ggdb3 -mtune=cortex-m3 -mcpu=cortex-m3 -mfloat-abi=soft -mlittle-endian -mthumb -Wa,-adhlns=gcode.lst -Wp,-M,-MP,-MT,gcode.o,-MF,.dep/gcode.o.dep -Wa,-adhlns=gcode.lst -std=gnu99 -I./ -I./../include -I./../liblcd -I./../libhardware -I./../libcmsis -I./../libtools -DUSE_STDPERIPH_DRIVER -DDELAY_FOR_GDB=1 -DTE_STM32F103 -DF_OCS=8000000 -c -o gcode.o gcode.c
flash_spi.c: In function 'SST25_flashEraseAll':
flash_spi.c:68:2: warning: implicit declaration of function 'SST25_flashWrEnable'
flash_spi.c:69:2: warning: implicit declaration of function 'SST25_flashGetSatus'
flash_spi.c:69:33: error: 'FLASH_SBIT_BUSY' undeclared (first use in this function)
flash_spi.c:69:33: error: (Each undeclared identifier is reported only once
flash_spi.c:69:33: error: for each function it appears in.)
flash_spi.c: At top level:
flash_spi.c:79:9: error: conflicting types for 'SST25_flashGetSatus'
flash_spi.c:69:9: note: previous implicit declaration of 'SST25_flashGetSatus' was here
flash_spi.c:87:6: warning: conflicting types for 'SST25_flashWrEnable'
flash_spi.c:68:2: note: previous implicit declaration of 'SST25_flashWrEnable' was here
make[2]: *** [flash_spi.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/cnc_workspace/cnc/src/application'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/cnc_workspace/cnc/src'
make: *** [all] Error 2

что можно поправить, куда копать?
dr_gachet
ИИ да! Чой-то тема важная и актуальная \ покрайней мере для меня\ и совсем !!!!У-У!!!! заглохла.
А по ?куда копать? - надо думаю избавится о всех упоминаниях про ЭСТРУДЕРЫ
"extruder_t.c",
а уж с
"flash_spi.c"
как-нить потом разберемся!!!!

Кстати с праздником всех девочек!!!( если есть?)!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.