roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 03 мар 2013, 15:40 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
Нашел концы проблемы в самой прошивке. Подправил для осей Z и Y и все заработало.
Кто купит себе такое "добро" надо поправить в скетче Stepper.cpp вот такие строки:
Код:
// Set direction en check limit switches
  if ((out_bits & (1<<X_AXIS)) != 0) {   // -direction 
   
      WRITE(X_DIR_PIN, INVERT_X_DIR);
      count_direction[X_AXIS]=-1;
      CHECK_ENDSTOPS
      {
        #if X_MIN_PIN > -1
          bool x_min_endstop=(READ(X_MIN_PIN) != X_ENDSTOPS_INVERTING);
          if(x_min_endstop && old_x_min_endstop && (current_block->steps_x > 0)) {
            endstops_trigsteps[X_AXIS] = count_position[X_AXIS];
            endstop_x_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_x_min_endstop = x_min_endstop;
        #endif
      }
    }
  else { // +direction 
   
      WRITE(X_DIR_PIN,!INVERT_X_DIR);
      count_direction[X_AXIS]=1;
      CHECK_ENDSTOPS
      {
        #if X_MAX_PIN > -1
          bool x_max_endstop=(READ(X_MAX_PIN) != X_ENDSTOPS_INVERTING);
          if(x_max_endstop && old_x_max_endstop && (current_block->steps_x > 0)){
            endstops_trigsteps[X_AXIS] = count_position[X_AXIS];
            endstop_x_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_x_max_endstop = x_max_endstop;
        #endif
      }
    }

  if ((out_bits & (1<<Y_AXIS)) != 0) {   // -direction
   
      WRITE(Y_DIR_PIN,INVERT_Y_DIR);
      count_direction[Y_AXIS]=-1;
      CHECK_ENDSTOPS
      {
        #if Y_MIN_PIN > -1
          bool y_min_endstop=(READ(Y_MIN_PIN) != Y_ENDSTOPS_INVERTING);
          if(y_min_endstop && old_y_min_endstop && (current_block->steps_y > 0)) {
            endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS];
            endstop_y_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_y_min_endstop = y_min_endstop;
        #endif
      }
    }
  else { // +direction 
   
    WRITE(Y_DIR_PIN,!INVERT_Y_DIR);
      count_direction[Y_AXIS]=1;
      CHECK_ENDSTOPS
      {
        #if Y_MAX_PIN > -1
          bool y_max_endstop=(READ(Y_MAX_PIN) != Y_ENDSTOPS_INVERTING);
          if(y_max_endstop && old_y_max_endstop && (current_block->steps_y > 0)){
            endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS];
            endstop_y_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_y_max_endstop = y_max_endstop;
        #endif
      }
    }

   
    if ((out_bits & (1<<Z_AXIS)) != 0) {   // -direction
      WRITE(Z_DIR_PIN,INVERT_Z_DIR);
      count_direction[Z_AXIS]=-1;
      CHECK_ENDSTOPS
      {
        #if Z_MIN_PIN > -1
          bool z_min_endstop=(READ(Z_MIN_PIN) != Z_ENDSTOPS_INVERTING);
          if(z_min_endstop && old_z_min_endstop && (current_block->steps_z > 0)) {
            endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS];
            endstop_z_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_z_min_endstop = z_min_endstop;
        #endif
      }
    }
   
    else { // +direction
      WRITE(Z_DIR_PIN,!INVERT_Z_DIR);
      count_direction[Z_AXIS]=1;
      CHECK_ENDSTOPS
      {
        #if Z_MAX_PIN > -1
          bool z_max_endstop=(READ(Z_MAX_PIN) != Z_ENDSTOPS_INVERTING);
          if(z_max_endstop && old_z_max_endstop && (current_block->steps_z > 0)) {
            endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS];
            endstop_z_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_z_max_endstop = z_max_endstop;
        #endif
      }
    }



По экструдеру пока не скажу поцеплю может и его надо будет править...

Добавлено спустя 5 минут 57 секунд:
setar писал(а):
концевики должны быть нормально замкнуты на землю, тогда актуальна включенная вами поддтяжка и нормально будет отрабатываться обрыв концевика.

иначе в случае нормально-разомкнутого состояния концевики нужно цеплять на S и + , выключать подтяку. При таким подключении обрыв будет незамеченным.

Добавлено спустя 1 минуту 9 секунд:
Networx писал(а):
Я так понял что на форуме некому мне что и подсказать или просто лень...

с такими обвинениями завязывайте, это как бы обидно и на вас болт покладут.



Сергей спасибо, был немного на эмоциях так меня достал этот контроллер!


Оставлю пока как есть, с разомкнутыми концевиками!

Добавлено спустя 1 час 15 минут 39 секунд:
С ДОМОМ разобрался теперь вылезла проблема зависания и слетания Printerface при включениее нагрева экструдера!!!
В чем может быть проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 03 мар 2013, 22:09 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
видимо источник питания не достаточен для поддержания работы логики

какие именно изменения в Stepper.cpp сделаны ? по коду не понятно.
Это решение похоже "в лоб", по идее все что угодно можно поправить из конфига


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 04 мар 2013, 14:24 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
По коду.
вот пример как было для оси X и ось не хотела правильно работать и ставать в HOME. Когда я нажимал HOME X ось бежала не на концевик, а от него, но в принтерфейсе все было нормально когда делал ручное перемещение по оси!
Код:
  // Set direction en check limit switches
    if ((out_bits & (1<<X_AXIS)) == 0) {   // +direction
      WRITE(X_DIR_PIN, INVERT_X_DIR);
      count_direction[X_AXIS]=-1;
      CHECK_ENDSTOPS
      {
        #if X_MIN_PIN > -1
          bool x_min_endstop=(READ(X_MIN_PIN) != X_ENDSTOPS_INVERTING);
          if(x_min_endstop && old_x_min_endstop && (current_block->steps_x > 0)) {
            endstops_trigsteps[X_AXIS] = count_position[X_AXIS];
            endstop_x_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_x_min_endstop = x_min_endstop;
        #endif
      }
    }
  else { // -direction



А ДОЛЖНО БЫТЬ:
Код:
  // Set direction en check limit switches
  if ((out_bits & (1<<X_AXIS)) != 0) {   // -direction 
   
      WRITE(X_DIR_PIN, INVERT_X_DIR);
      count_direction[X_AXIS]=-1;
      CHECK_ENDSTOPS
      {
        #if X_MIN_PIN > -1
          bool x_min_endstop=(READ(X_MIN_PIN) != X_ENDSTOPS_INVERTING);
          if(x_min_endstop && old_x_min_endstop && (current_block->steps_x > 0)) {
            endstops_trigsteps[X_AXIS] = count_position[X_AXIS];
            endstop_x_hit=true;
            step_events_completed = current_block->step_event_count;
          }
          old_x_min_endstop = x_min_endstop;
        #endif
      }
    }
else { // +direction
   


Поменять строки:
if ((out_bits & (1<<X_AXIS)) == 0) { // +direction
.
.
.
else { // -direction
на
if ((out_bits & (1<<X_AXIS)) != 0) { // -direction
.
.
.
else { // +direction
тем самым поменяв направления движения каретки на концевик!
Так для всех осей!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 04 мар 2013, 15:41 
Не в сети

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
а что смена этих установок не меняет направления движения???
#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 04 мар 2013, 16:26 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
меняется, но только направление вращения шаговиков!
Там проблема была в том что стол в ручную в правильную сторону отрабатывал. А вот ДОМ искал в другой стороне.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 04 мар 2013, 18:38 
Не в сети

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
Networx писал(а):
меняется, но только направление вращения шаговиков!
Там проблема была в том что стол в ручную в правильную сторону отрабатывал. А вот ДОМ искал в другой стороне.

А обычный марлин туда не катит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 05 мар 2013, 11:34 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
Нет оригинальный Марлин туда ставить нельзя, потому что для GenX, soc-robotics специально под свою плату адаптировала прошивку Марлина!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 05 мар 2013, 17:28 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
Networx писал(а):
меняется, но только направление вращения шаговиков!
Там проблема была в том что стол в ручную в правильную сторону отрабатывал. А вот ДОМ искал в другой стороне.

:shock: горе от ума!
нефиг в код лезть, все меняется
так
Код:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

или так
Код:
#define MANUAL_HOME_POSITIONS
#define MANUAL_X_HOME_POS 190
#define MANUAL_Y_HOME_POS 190
#define MANUAL_Z_HOME_POS 220


Добавлено спустя 1 минуту 53 секунды:
Networx писал(а):
Нет оригинальный Марлин туда ставить нельзя, потому что для GenX, soc-robotics специально под свою плату адаптировала прошивку Марлина!


pin.h подредактировали ?
ну может ещё thermistortables.h :)

Добавлено спустя 2 минуты 54 секунды:
Цитата:
Оставлю пока как есть, с разомкнутыми концевиками!

подтяжку убрали ? второй (не сигнальный) конец на + перевесили ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 05 мар 2013, 18:32 
Не в сети
Аватара пользователя

Зарегистрирован: 21 фев 2013, 07:06
Сообщения: 677
Откуда: г. Харьков
Может все проще? http://www.printrbottalk.com/forum/view ... =19&t=1371


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 06 мар 2013, 19:29 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
setar писал(а):
Networx писал(а):
меняется, но только направление вращения шаговиков!
Там проблема была в том что стол в ручную в правильную сторону отрабатывал. А вот ДОМ искал в другой стороне.

:shock: горе от ума!
нефиг в код лезть, все меняется
так
Код:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

или так
Код:
#define MANUAL_HOME_POSITIONS
#define MANUAL_X_HOME_POS 190
#define MANUAL_Y_HOME_POS 190
#define MANUAL_Z_HOME_POS 220


Добавлено спустя 1 минуту 53 секунды:
Networx писал(а):
Нет оригинальный Марлин туда ставить нельзя, потому что для GenX, soc-robotics специально под свою плату адаптировала прошивку Марлина!


pin.h подредактировали ?
ну может ещё thermistortables.h :)

Добавлено спустя 2 минуты 54 секунды:
Цитата:
Оставлю пока как есть, с разомкнутыми концевиками!

подтяжку убрали ? второй (не сигнальный) конец на + перевесили ?


// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

Так я пробовал, не работало!
Я ж писал что нашел ришение сравнив две прошивки 098 и 10 от SOC, и в первой работала нормально только Z, а во второй только X.
Подправив код заработали все три сразу!

Сергей с концевиками все нормально, в дом стает все отлично!

Сегодня голову доделал, были проблемы с зависанием Принтерфейса, но Вы указали на что надо обратить внимание, еще не пробовал!
Планирую сегодня поставить голову и попробовать пробную печать...

Но за советы спасибо!

Добавлено спустя 8 минут 51 секунду:
IliaMoroz писал(а):

Нет переключатели рабочие и не поломаные! С помощью М119 их перепроверял, работаю как надо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 11 мар 2013, 14:41 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
Достала меня эта плата от SOC-robotics,а именно микросхема интерфейса USB-TTL от EXAR. Плата работает только в одном из 5 юсб портов, в остальных пишет что неизвестное устройство. На ноутах вообще не хочет работать, танцы с бубном не помогают. Почему они эту гадость туда засунули непонятно, FTDI или Profilic накрайняк отлично работаю, нет надо именно EXAR... Вроде как с линуксом он хорошо дружит, но у меня его нету ни на одной из машин.
Пробовал ставить на XP и Vista


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 11 мар 2013, 19:42 
Не в сети

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
дрова под винду откуда брал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 11 мар 2013, 19:54 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
с сайта EXAR, а что?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 12 мар 2013, 16:52 
Не в сети

Зарегистрирован: 27 фев 2013, 17:01
Сообщения: 21
Вчера подпаял к выводам атмеги шнурок на чипе Silabs CP2102, теперь мы дружим с всеми компами и ноутами :Yahoo!:

Добавлено спустя 44 секунды:
Только кому нужен такой колхоз??? Я лично очень недоволен этой платой!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GenX от soc-robotics
СообщениеДобавлено: 12 мар 2013, 17:12 
Не в сети

Зарегистрирован: 12 окт 2012, 13:32
Сообщения: 280
Откуда: Sevastopol
Networx писал(а):
Достала меня эта плата от SOC-robotics,а именно микросхема интерфейса USB-TTL от EXAR. Плата работает только в одном из 5 юсб портов, в остальных пишет что неизвестное устройство. На ноутах вообще не хочет работать, танцы с бубном не помогают. Почему они эту гадость туда засунули непонятно, FTDI или Profilic накрайняк отлично работаю, нет надо именно EXAR... Вроде как с линуксом он хорошо дружит, но у меня его нету ни на одной из машин.
Пробовал ставить на XP и Vista

скорее всего проблема в компетености тех, кто разводил плату.
где-то косяк


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

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


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

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


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

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