1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Управление ШД

Тема в разделе "Уголок любителей паяльника", создана пользователем Игорюшка Владимирович, 26 авг 2017.

Реклама. Купить это место.
  1. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Мечта наркомана № 2



    Откат регулируется ! :thumbsup:
     
    Последнее редактирование: 10 сен 2017
    LampGraph нравится это.
  2. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Заканчиваю коро-бочку! Надысь - "Весёлые старты" :geek:
     
  3. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Продолжаем эксперименты :
    Image001.jpg Image002.jpg
     
  4. LampGraph

    LampGraph Кандидат наук

    Регистрация:
    16 ноя 2015
    Сообщения:
    1.229
    Город:
    Абакан
    Имя:
    Вячеслав
  5. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Да с таким металлоломом можно сразу доллары печатать!... Но это пОшло - пальцами запоказывают ... :roflmao:
    Но... упёрся в физику : слишком разные отверстия - не могу толком настроить скорости ... :cry:
    Неужели датчик ставить придётся ?! Только какой ... На "рисунке" явно прослеживаются соединительные линии между лепестками.:confused: Т.е. именно эта жижка ... пружинит! Хотя мне в школе говорили, что жидкости НЕ сжимаемы. Значил эт тупо резина :thumbsup:
     
    Последнее редактирование: 18 сен 2017
  6. LampGraph

    LampGraph Кандидат наук

    Регистрация:
    16 ноя 2015
    Сообщения:
    1.229
    Город:
    Абакан
    Имя:
    Вячеслав
    А ты сделай набор сопел разного диаметра и под них откалибруй скорости.
     
  7. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    ВоЩМТ логично, но скорости не калибруются : диаметр поршня в сотни раз больше диаметра иглы. Даже на минимальной скорости подачи, жижка пружинит и выплёвывает "начало". Потом уже бол-мен равномерно. Т.е Нарисовать рамку страницы А4 - без проблем, а вот написать " СССР " - получаются четыре кучки ... жижки. :D
     
  8. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Малочисленные "опыты" показали:
    Просто "поддёргивание сопли" - не выход. Из-за высокой вязкости жижки и оч. большой разницы диаметров поршня и сопла (а хоца поиметь линию в 1мм!!), давление в шприце высоко и оббъём (да и стенки шприца !) начинает пружинить, и жижка либо плюётся без останова, либо не подаётся вовремя. Можно ретушировать рисунок, но ... кака-ой тогда смысл в таком огороде ?!...
    За счёт подбора ускорений и скоростей механики частично эту засаду можно победить.
    Однако придётся писать математику заново, разбивая этапы "первоначального впрыска"- скорость и время), скорости рисования отрезка, и скорости и длительности "антисопли".
    Итого пять переменников + кнопка старта. :eek:
    ...Можно, наверное, упростить задачУ , поставив некий "датчик наличия жижки на конце сопла", но ... какой ?! Точность контроля неизмеримо бы возросла ... Сопло - иголка шприца лиаметром 1 мм.
     
  9. LampGraph

    LampGraph Кандидат наук

    Регистрация:
    16 ноя 2015
    Сообщения:
    1.229
    Город:
    Абакан
    Имя:
    Вячеслав
    Фотопара из старой мышки? Только фиксировать-позиционировать задолбаешься...
     
  10. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Эта ... жижка настолько вязкая ... и сопло непрозрачное - металл.
    ЧЁ-та умственный запор произошёл. :confused:
    Попа-робую пока "программулинку" переписать на "членораздельное поэтапное регулирование, но без "обратной связи" подобрать скорость можно только методом тыка - что реально гемор ...
    Надысь "набросаю блоков" от ШД, а потом с "ИФ" и кнопками разобраться надо будет.:(
     
  11. ma273r

    ma273r Старший научный сотрудник

    Регистрация:
    30 янв 2015
    Сообщения:
    326
    Город:
    Самара
    Имя:
    Дмитрий
    а я на Вашей картинке вижу бооольшой воздушный пузырь в полости шприца... а с газами в аспекте сжимаемости всё хуже :) (ну, или лучше)
    и если
    то при фиксированном поршне она совсем не должна выдавливаться (да и если не вязкая - из медицинского шприца ничего не выливается, пока не попросишь - когда-то Паскаль с Бернулли много чего про это понаписали :))
     
  12. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Этот пузырь получился уже при избыточной "обратной тяге" - сейчас уже приспособился заправлять практически без пузУрей. :)
    Согласен - наверное он так и спроектирован - "не капли налево". Оч большая разнитца диаметров.:cautious:
    Однако именно ими пользуются в "промышленных" дозаторах, например : http://www.techno.ru/txt/7_10/02.pdf :thumbsdown: Там внешний компрессор (каца) плюс клапан сброса давления.
    Вот только этот принцип мне не подходит - мне нужна не "долгая" линия (её я получаю без проблем), а практически "пунктир" - т.е. в любой момент подача (равномерная!!) и остановка БЕЗ сопли.o_O
    ... Выбор шприТЦа обусловлен ещё и себестоимостью - 12руП у нас. Т.е. его не надо ... МЫТЬ.
    Вы вспомните гемор с пистолетами покраски - чЮть покурил и ... пистолет засох. Пол-часа промывки... сборки, настройки, ... -ки.
    Изготовить же цилиндр с такими гладкими стенками ... внутри ... самому сложно.
    Вот и хочется: и рыПку съесть, и испоЛзовать именно шприц (широко распространённый и рентабельный).
    Тем более, что и при "других" цилиндрах принцип проблем (читать : гемор с настройками подачи) останется таким же.

    Вывод. Надо попы-таться написать программулинку вращения ШД, учитывающую возможность настройки каждого этапа "впрыска" для короткой линии.:cry:
     
  13. ma273r

    ma273r Старший научный сотрудник

    Регистрация:
    30 янв 2015
    Сообщения:
    326
    Город:
    Самара
    Имя:
    Дмитрий
    а если решать проблему "не лить там, где не надо" просто за счет увеличения скорости холостого перемещения?
     
  14. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Нет - там будет "соединительная сопля". :D Вот на снимке вверху так. Все лепестки розы начало и концы соединены.
    Можно "придумать" некий клапан. Т.е. Давление огромное и постоянное, а клапаном рисуем. Только вот какой - от чего его можно "отвинтить" или кака самому просто сделать? :confused: .... Да и ... промываться он должен !!
     
  15. LampGraph

    LampGraph Кандидат наук

    Регистрация:
    16 ноя 2015
    Сообщения:
    1.229
    Город:
    Абакан
    Имя:
    Вячеслав
    Попробуй помимо "отсасывания" сделать подъем сопла. В ДДД принтере есть такой прием.
     
  16. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Собственно, так и есть : у меня вся приблуда "срабатывает" от опускания по оси Z - от фотодатчика. Именно отсюда неистребимое желание устроить кучу регулировок по времени и по скорости. ЕслиП умел программить, снял бы управление со входа драйвера :
    по "булям" вычислил начало опускания кретки диром, а степ дал бы запуск впрыска...
    Сейчас делаю вторую макетку - буду членораздельно ВСЕ временные этапы отрабатывать :
    1. впрыск во время опускания (скорость, время и , возможно, маска деления шага)
    2. рисование - скорость и шаг
    3. отскок - скорость и время , может и шаг
    :thumbsdown:
    ...уШ если я чего решил.... (некто В.С. Высоцкий) :thumbsup:
    Наскребу на сети кусочков и буду "дайджест пазлить" :)
    По идее должна получиться универсальная приблуда, которая перестраивается и в автоподачЮ, и в диспенсер, и в дозатор... :confused:
     
  17. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Предпринимаю попЫтки изучить библиотеку ... :confused: :)
    http://www.airspayce.com/mikem/ardu...tepper.html#a291fec32a79390b6eb00296cffac49ee

    посредством Гуглапереводчика :D и примеров, прилагаемых к ней.
    Собрал макетку с двумя кнопками и пятью переменниками.:rolleyes:
    Примеры работают неплохо и, возможно, на их основе удастся чтоНить спазлить.
    Оч интересным оказался пример ProportionalControl !
    --- Сообщения объединены, 3 окт 2017 ---
    Итак. пример ConstantSpeed
    Код:
    #include <AccelStepper.h>
    
    AccelStepper stepper (1, 8, 9); // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
    
    void setup()
    { 
       stepper.setMaxSpeed(1000);
       stepper.setSpeed(800);   
    }
    
    void loop()
    { 
       stepper.runSpeed();
    }
    --- Сообщения объединены, 3 окт 2017 ---
    На низких скоростях движок греется, поэтому добавил.
    Теперь надо научиться регулировать скорость резистором. Например, http://hobbytech.com.ua/arduino-библиотека-accelstepper-для-шагового-двигател/ - таким "кусочком"
    Код:
    
    void loop() {
    int sensorReadingA0 = analogRead(A0);
    int sensorReadingA1 = analogRead(A1);
    int motorSpeedA0 = map(sensorReadingA0, 0, 1023, 0, 100);
    int motorSpeedA1 = map(sensorReadingA1, 0, 1023, 0, 100);
    
    if(Stepper1.distanceToGo()==0){
    Stepper1.move(motorSpeedA0*dir);
    dir = dir*(-1);
    }
    Stepper1.run();
    
    if(Stepper2.distanceToGo()==0){
    Stepper1.move(motorSpeedA1*dir);
    dir = dir*(-1);
    }
    Stepper2.run();
    }
     
    Последнее редактирование: 3 окт 2017
  18. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Первые "успехи" :) : получилось регулить скорость :

    Код:
    // пример ConstantSpeed.pde с регулировкой скорости
    
    #include <AccelStepper.h> // грузим библиотеку
    
    AccelStepper stepper (1, 8, 9); // ШД тип №1, 8пин сигнал step, 9пин сигнал dir
    int Speed,SpeedMapped; // назначаем переменные скорости
    
    void setup()
    { 
       //Serial.begin(9600); позволяет мониторить значения резистора, но сильно тормозит двиг!!
         
       stepper.setMaxSpeed(1300);
    }
    
    void loop()
    
    // Функция чтения потенциометра
    {
      int Speed = analogRead(A0); // Читаем значение потенциометра
      int SpeedMapped = map(Speed, 0, 1023, 100,1300); // Пропорция значения резистора от 0 to 1023 в скорость (100 to 1300)
      //Serial.println(Speed);Serial.println(SpeedMapped); - очень сильно тормозит двиг!
      stepper.setSpeed(SpeedMapped);
      stepper.runSpeed();
    }
    
    --- Сообщения объединены, 3 окт 2017 ---
    Теперь надо добавить кнопку старта, например :
    http://coolcode.ru/arduino-podklyuchenie-taktovoy-knopki/

    Код:
    const int buttonPin = 2;
    const int ledPin =  13;
    int buttonState = 0;
    void setup() {
      pinMode(ledPin, OUTPUT);
      pinMode(buttonPin, INPUT);
    }
    void loop() {
      buttonState = digitalRead(buttonPin);
      if (buttonState == HIGH) {
        digitalWrite(ledPin, HIGH);
      } else {
        digitalWrite(ledPin, LOW);
      }
    }
     
  19. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
    Подскажите, можно ли кусок кода

    // Функция чтения потенциометра
    { int Speed = analogRead(A0); // Читаем значение потенциометра int SpeedMapped = map(Speed, 0, 1023, 100,1300); // Пропорция значения резистора от 0 to 1023 в скорость (100 to 1300) //Serial.println(Speed);Serial.println(SpeedMapped); - очень сильно тормозит двиг! stepper.setSpeed(SpeedMapped); stepper.runSpeed(); }

    "оформить" в виде отдельной функции, чтобы вставлять его в "ИФ" как аргумент ? Тогда программу можно оформить гораздо нагляднее и без ошибок.
     
  20. Игорюшка Владимирович

    Игорюшка Владимирович Кандидат наук

    Регистрация:
    8 апр 2015
    Сообщения:
    1.176
    Город:
    г Орёл
    Имя:
    Игорь
Реклама. Купить это место.