Нужен пример скетча для Arduino

Тема в разделе "Закажу проект", создана пользователем mat, 1 июн 2016.

  1. joman

    joman Гик

    С точки зрения программирования я описал Вам, что это такое:
    Вопрос, что это такое с точки зрения обработки детали (т.е. с точки зрения ардуины, которая этот массив преобразует в движение нужных моторов)
     
  2. Onkel

    Onkel Гуру

    прогу немец писал. Gewinde... - сколько романтики в этом слове...
     
  3. mat

    mat Нерд

    Нарезание резьбы.
     
  4. joman

    joman Гик

    Нарезание резьбы - это с Вашей точки зрения. А ардуина не знает слов резьба и нарезание. Она знает о движках и датчиках (грубо говоря). Прочитайте написанное мной в кавычках.
    То да.. Я тоже первым делом это слово в гугул вбил :)
     
  5. ZAZ-965

    ZAZ-965 Гуру

    mat, структуру Gewinde_Info генерируете какой-то внешней CAD программой?
     
  6. mat

    mat Нерд

    joman, Вы не могли бы по- понятнее выразить свою мысль или вопрос ? Я ничего не понял из Вашей фразы... Можете ткнуть меня носом, в каких кавычках почитать ? Ей Богу, не понимаю...
    ZAZ-965, нет, Gewinde_Info рассчитывается вручную и вбивается в текст скетча. Формула расчёта такая, количество импульсов энкодера шпинделя/(Количество импульсов энкодерa ходового винта/ Шаг ХВ * шаг резьбы). Количество импульсов энкодера ХВ получаем из количества импульсов энкодера двигателя и коэффициента редукции. Ну а, шаг резьбы, это то, что мы хотим нарезать.
     
  7. joman

    joman Гик

    Тыкаю носом:
     
  8. mat

    mat Нерд

    Всё равно не понимаю... Таблица ?
     
  9. joman

    joman Гик

    массив/таблица/последовательность/очередь - обзывайте как угодно.
    Сам массив описывает нарезание резьбы.
    Вопрос:
    Элемент массива/строка таблицы - Что он описывает?

    Самый простой способ реализовать нарезание резьбы:
    Определяем скорость вращения детали. Устанавливаем Диаметр (т.е. двигаем один привод, отвечающий за смещение поперёк оси вращения.
    Дальше берём шаг резьбы, скорость вращения и составляем пропорцию, таким образом получаем скорость двигателя, двигающегося вдоль оси вращения.
    Профит.
    Итого в этом алгоритме нужно задать диамер и шаг. 2! цифры!

    У Вас описание несколько сложнее. Так вот хочется понять, как конкретно оно работает и что конкретно означают все элементы в этом описании.
    Только тогда можно будет сделать своё описание.
     
  10. mat

    mat Нерд

    Терминология Ваша, меня выключает. Не обучен я ей. Теперь, попробую объяснить, как я это понимаю. Диаметр я сам, штурвалами ставлю, Arduino это глубоко фиолетово. А вот, что она должна знать так это, количество импульсов на энкодере шпинделя ибо, по ним, как я понимаю, осуществляется синхронизация, подачи резца и скорости вращения шпинделя и его положение в течении оборота. Я про это ?
     
  11. joman

    joman Гик

    Тогда из Данных Вам нужен только шаг резьбы.

    1. Для чего ардуине нужно знать количество импульсов, мне не понятно. Её нужна только угловая скорость шпинделя, т.е. время между импульсами, для того чтобы получить скорость подачи резца.
    2. Если Вы сами выставляете диаметр, то, я предполагаю, у вас нет двигателя, который ходит поперёк оси вращения детали. Это так?
    Если так, то как вы собрались дуги резать?
    Или я не правильно понял ваше:
     
  12. Onkel

    Onkel Гуру

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

    mat Нерд

    Для того, чтобы нарезать резьбу, Arduino должна всегда знать, где находится точка начала резьбы ? Мы же режем не за один проход, а за много, поэтому, движение вдоль резьбы периодически меняют знак или направление. Потом проход повторяется и вот в этот момент мы должны всегда входить в резьбу в одном и том же месте.
    Теперь по приводам подач. Моторы стоят на обеих подачах. Но, пока в скетче не реализован полный цикл нарезания резьбы, я в ручную, на каждом проходе отвожу и подвожу резец. Если поможете написать такой цикл, будет очень здорово. А пока я поставил два энкодера, в качестве штурвалов и вращая их, двигаю резец по двум направлениям.
     
  14. joman

    joman Гик

    Для нарезания в 2 и больше проходов надо знать количество "шагов энкодера" (угол поворота детали) - согласен.
    Теперь вернёмся к остальным вопросам, поставленным мною выше. Что такое элемент массива и что означают его поля?
     
  15. mat

    mat Нерд

    Ну, не понимаю я Вашу терминологию: элемент массива и что означают его поля... Может, фрагмент покажете ? О чём спрашиваете ?
     
  16. mat

    mat Нерд

    Может быть, будет лучше, если в Skype перейдём ? Оперативность и наглядность здорово помогают...
     
  17. joman

    joman Гик

    Мою терминологию я объяснил сразу после того, как Вы выложили ваш "код"
    Если Вы не понимаете значение слов массив, элемент массива, Вам сюда:
    https://ru.wikipedia.org/wiki/Массив_(программирование)
    Если Вы не понимаете слово "поля класса", то Вам сюда:
    https://ru.wikipedia.org/wiki/Класс_(программирование)
     
    Последнее редактирование: 2 июн 2016
  18. mat

    mat Нерд

    Нет, не по тому пути пошло развитие программирования...
    Ладно, спасибо за помощь, тему можно закрыть.
     
  19. joman

    joman Гик

    Это да.. Программирование должно развиваться по пути экстрасенсов:
    Программист должен угадать, что хочет пользователь, как работает инструмент, которым хочет воспользоваться пользователь и выдать результат. А если он не может что то из этого, не быть ему экстрасенсомпрограммистом!
     
  20. mat

    mat Нерд

    Нет, программист не должен за машину просчитывать все возможные ситуации и факторы, это должна делать машина.