Gnevko

Користувачі
  • Продажи

    0/0
  • Покупки

    0/0
  • Публікації

    152
  • Зареєстрований

  • Відвідування

Усі публікації користувача Gnevko

  1. З альбому Paulimot Project

  2. З альбому Paulimot Project

  3. З альбому Paulimot Project

  4. З альбому Paulimot Project

  5. Можно такой же глупый встречный вопрос? Вам было бы интереснее прожить свою жизнь или чью то другую? Мне интереснее создавать самому, чем повторять уже созданное, хотя крепление мотора слизано именно оттуда, мне оно показалось весьма удачным. С наступившим 2018 годом!
  6. Не только автоподача, а полный отказ от ручного передвижения суппорта, поэтому по задумке в принципе не должно быть ситуаций, когда может понадобиться размыкание гайки. В общем то эту гайку можно было бы вообще заменить на "неразмыкаемую", но соображения по технике безопасности меня пока что от этого удерживают. Мотор на поперечную подачу можно было бы тоже поставить, но там точно крепление из пластика не пройдет, а маленького настольного фрезерного станка пока что нет, хотя и очень хочется. По поводу резьбы, то поскольку подвижка суппорта осуществляется только "электронным" способом, то это должно выглядеть примерно как описано вот в этом посте: http://chipmaker.com.ua/index.php?/topic/4072-электронная-гитара-для-paulimot-190-v-arduino/&page=2#comment-64995 Но тут руки чешутся добавить еще и "электронные" упоры, с ними нарезание резьбы должно превратиться в еще более удобный процесс. Суть идеи заключается в следующем: поскольку за один шаг мотора суппорт проезжает фиксированное расстояние, то мы всегда знаем где этот суппорт находится и это значение всегда можно сбросить в ноль. Если же теперь задать левый упор на 10 мм, а правый, скажем на -5мм, то включив автопадачу суппорт соответственно не проедет влево далее чем на 10 мм, и если включить реверс - то в право не далее чем на -5мм. Но эта идея так же требует еще реализации и борьбы с люфтами в механической части. Информация про то, что одного импульса достаточно была взята из просторов инета (ссылку я приводил), а так же из того, что Mash3 работает именно по такому принципу. Очень надеюсь, что на следующей неделе приедут энкодеры и можно будет наконец то начать основную часть проекта.
  7. С моей точки зрения, подключение к компьютеру, то есть переделка в полноценный CNC имеет смысл, если есть необходимость в изготовлении партий однотипных деталей. Да и требования к точности ходовой части там совсем другие - нужно менять как минимум все винты на "шариковые" и тд. А вот для одноразовых поделок - электронная гитара самое оно: 1) быстрое переключение скоростей, 2) расширение функционала, так как на моем станке нет обратной автоподачи, 3) автоподача при остановленном шпинделе, 4) отображение пройденного пути и несколько других плюшек, которые правда нужно еще реализовать.
  8. Джойстик и энкодеры для измерения скорости вращения шпинделя так и не доехали из Поднебесной. Энкодеры пришлось заказать на ebay, приедут на следующей неделе. С джойстиком пока не такой напряг, так как есть джойстик от Wii. Что бы не тратить время даром, решил завершить переделку внешнего вида станка. Условие при этом было одно - станок пострадать не должен и с любое время может быть возвращен в первоначальное состояние. Для экрана пришлось докупить плату с I2C, так как огромное количество проводов, которое пришлось бы иначе тянуть через корпус, меня сильно опечалило. В остальном же управление экраном осуществляется при помощи библиотеки (LiquidCrystal_I2C - https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library) и особых сложностей не вызвало. Энкодер на передней панели пока что переключает только множитель для ручного маховика (0.01, 0.02, 0.05 и 0.1 мм на деление). По экрану, вернее информации, которая на нем отображается, наверное стоит сделать отдельный пост. Сам же ручной маховик, в виду особенности его разметки, решил разместить повернутым на 90 градусов, такое положение не так сильно сбивает с толку. Электронную начинку разместил на боковой стенке тумбы. Здесь, я думаю, и так все понятно. Из новых компонентов - блок питания для шаговика - на 36 вольт 360 ватт и блок питания для ардуино - 5 вольт 15 ватт. Ну и куда ж без первой стружки
  9. З альбому Paulimot Project

  10. З альбому Paulimot Project

  11. З альбому Paulimot Project

  12. Жаль вот джойстик никак не доедет, что бы хотя бы автоподачу так же доделать,( хотя бы без функции нарезки резьбы -энкодеры так же еще в дороге), - и можно будет выкладывать пред пред пред альфа версию. ЗЫ: странно как то, но почему нельзя редактировать собственные сообщения? Это ужасно не удобно.
  13. Глянуть конечно было бы интересно, но ввиду отсутствия осциллографа - увы не получится. С другой стороны - работает надежно, а что еще от железяки нужно !?
  14. Быстро сказка сказывается ... После отладки алгоритма управления шаговым двигателем по средством "ручного маховика" на стенде, пришло время заняться "железной" частью. Нутро токарного стеночка выглядит следующим образом и, что то мне подсказывает, схоже со всеми другими китайскими станками подобного класса. Крепеж мотора напечатан на 3Д принтере (пластик ABS). Конечно же было бы не плохо сделать из алюминия, но фрезерного станка увы нет. С другой стороны деталь получилась достаточно прочной (заполнение 60%, сопло 0.8 мм, 3 периметра): Все это безобразие чудно прикрывается родным кожухом, который так же поддерживает заднюю часть мотора, тем самым натягивая ремень: Ну и на последок немного видео, калибровкой я еще не занимался, но тем не менее, при подвижке суппорта вперед на 2 мм и возврат его на те же 2 мм дали обнадеживающий результат. https://youtu.be/Mqz_GxGjZvo
  15. З альбому Paulimot Project

  16. З альбому Paulimot Project

  17. З альбому Paulimot Project

  18. З альбому Paulimot Project

  19. Панове! Первым из поднебесной приехал энкодер в виде маховика. Теперь, покрутив его в руках, можно и поподробнее о нем рассказать. 1) Физические свойства. Крутится условно легко, присутствует фиксация на каждом делении. А вот сила этой фиксации достаточно высока. Если пытаться провернуть энкодер на одно деление, держась только за маленькую рукоятку, то у вас скорее всего ничего не получится - по инерции вы его провернете на 4-5 делений. Если же поворачивать энкодер за большое колесо, то никаких проблем с позиционированием не наблюдается. На счет того, механика внутри или оптика - то мне это так и не удалось выяснить. Если кто знает, как такую штуку разобрать (а потом еще и собрать обратно), то поделитесь информацией. 2) Шкала. Обратите внимание в какую сторону идет увеличение разметки на шкале. Если крутить энкодер против часовой стрелки, то значения будут уменьшаться, в то время как на маховике суппорта они возрастают. Это весьма не приятно и прийдется немного привыкнуть. Так что если вы будете покупать такую штуку - обратите на это особое внимание! В остальном шкала очень хорошо читается и нареканий не вызывает. 3) Подключение к Ардуино. Как и у всех энкодеров "кругового" типа, у этого имеются следующие контакты: Vcc, 0V, А и B. Если с Vcc, 0V более или менее понятно: Vcc - +5V, Vcc - Gnd, то о выводах A и B можно почитать, например, вот тут - http://mypractic.ru/urok-55-rabota-s-inkrementalnym-enkoderom-v-arduino-biblioteka-encod_er-h.html. Для считывания абсолютного положения энкодера на просторах инета была найдена весьма не плохая библиотека: https://github.com/PaulStoffregen/Encoder Работает на прерываниях, проста и понятна в использовании и в общем то разрабатывалась для использования на платформе Teensy, но слава богу и на Меге работает так же без проблем. Так или иначе я так и не смог добиться от нее хотя бы одного пропуска счетчика, с какой бы скоростью я энкодер не вращал (при испытаниях была использована только рука ). Пример использования: #define ENCODER_OPTIMIZE_INTERRUPTS #include <Encoder.h> #define Z_HANDWHEEL_A 19 #define Z_HANDWHEEL_B 18 Encoder zHandwheel(Z_HANDWHEEL_B, Z_HANDWHEEL_A); void setup() { } void loop() { long zHandWheelCounter = zHandwheel.read(); if (zHandWheelOldCounter != zHandWheelCounter) { // делаем что то полезное zHandWheelOldCounter = zHandWheelCounter; } } Здесь стоит упомянуть, что при повороте энкодера на одну позицию, библиотека увеличивает (или уменьшает, в зависимости от направления вращения) счетчик на 4 пункта, причем делает это "плавно": есть если повернуть энкодер на пол позиции, то вы получите 2 пункта и так далее. 4) Управление шаговым двигателем. Итак, предположим, что одна позиция энкодера соответствует изменению позиции суппорта на 0.1 мм, а полный оборот, соответственно, на 1 см. В этом случае на 0,1 мм подвижки суппорта получим увеличение счетчика энкодера на 4 пункта, или 0.025 мм на 1 пункт. При разрешении шагового двигателя в 3200 микрошага на один оборот и шага резьбы винта подачи суппорта в 2 мм, получаем, что один микрошаг шагового двигателя соответствует 2мм / 3200 = 0.000625 мм. Таким образом, на один пункт энкодера нужно сделать 0.025 / 0.000625 = 40 микрошагов или 160 микрошагов на одно целое деление энкодера. zHandWheelCounter = zHandwheel.read(); if (zHandWheelOldCounter != zHandWheelCounter) { float distance = zHandWheelCounter * 0.25; // так как на одно деление энкодера приходится увеличение позиции на 4 float realDistance = distance * zHandwheelFactor; //где zHandwheelFactor == 0.1 long fStepsToGo = realDistance / mmPerZStep; // где mmPerZStep == 0.000625 gZStepper.moveTo(fStepsToGo); // смело шагаем } zHandWheelOldCounter = zHandWheelCounter; И вот тут начинается самое интересное: с какой скоростью делать эти 160 шагов? и как эту скорость вычислять? Если делать медленно, скажем 200 микросекунды между шагами - то при быстром вращении энкодера прийдется ждать окончания вращения двигателя - он будет не успевать за вами и кол-во шагов, которые нужно делать, будет постоянно возрастать. Если сделать 40 микросекунд - то проявляется обратный эффект - шаговый двигатель, вследствие механических пауз при медленном вращении энкодера, так же начинает делать паузы, так как успевает сделать 160 шагов быстрее, чем вы рукой преодолеете сопротивление "трещетки" для поворота на еще одно деление. Так же встает вопрос об ускорении и торможении. ЗЫ: библиотеку AccelStepper пришлось отправить в топку, но это уже другая история...