Работа с энкодером от принтера

Sdílet
Vložit
  • čas přidán 26. 08. 2024
  • Два провода от питания к энкодер(+ и - )
    От энкодера два провода к Ардуино на 2 и 3 пин(датчик А и датчик В)
    Провод от плюса к 6 контакту ардуино в разрыв которого стоит кнопка с нормально открытым контактом
    6 контакт ардуино притянут через резистор 10кОм к нулю

Komentáře • 163

  • @aristofanfirapontov149
    @aristofanfirapontov149 Před měsícem

    Спасибо. Интересно, доходчиво, наглядно. С удовольствием смотрю такие видео в формате мини-урока.

  • @Stalker-ker4
    @Stalker-ker4 Před 5 lety +6

    Скетч из видео автора.
    Энкодер отлично работает с этим скетчем без всяких подтягивающих резисторов и согласующей логики.
    Изменив делитель и поменяв мм на угол получается скетч делительной головки для токарного, в моем случае
    M=(P/16.0); энкодер на 5760 импульсов на оборот(5760/360=16), 1 импульс делим на 16 = 0.0625 градуса шаг делительной
    головки (на экране мы увидим 0.06), делительная головка с шагом 6 сотых градуса чего вполне с головой хватит.
    Автору ОГРОМНЕЙШИЙ ПЛЮС!
    #include
    #include
    LiquidCrystal_I2C lcd(0x27,16,2);
    boolean A, B;
    int P;
    float M;
    void setup() {
    //Serial.begin(115200);
    pinMode(6, INPUT);
    attachInterrupt(0,blink1, CHANGE);
    attachInterrupt(1,blink, CHANGE);
    lcd.init();
    lcd.backlight();
    }
    void loop() {
    //lcd.clear();
    if (digitalRead(6)) P=0;
    lcd.setCursor(0,0);
    lcd.print(P);
    lcd.print(" ");
    M=(P/23.7);
    lcd.setCursor(0,1);
    lcd.print("M=");
    lcd.print(M);
    lcd.print("mm ");
    }
    void blink1(){
    A=digitalRead(2);
    B=digitalRead(3);
    if (B==A) P=P+1;
    else P=P-1;
    }
    void blink(){
    A=digitalRead(2);
    B=digitalRead(3);
    if (B!=A) P=P+1;
    else P=P-1;
    }

  • @svbHiTek
    @svbHiTek Před 6 měsíci

    А если переписать код более оптимально, не задействовав ардуино функции, то он будет работать быстрее. Но в любом случае, автор молодец, быстро, доходчиво, без воды +++

  • @Techn0man1ac
    @Techn0man1ac Před 9 lety +6

    Улыбнула фраза что "...с ардуино это сможет повторить каждый дурак" а так видео супер, спасибо.

  • @Garage38
    @Garage38 Před 2 lety

    Недавно раскурочил МФУ дохлую, аккуратно снял эту ленту и первая мысль - это использовать её как оптическую линейку для своего маленького токарного ! Спасибо вам за видео !

  • @DenisDenis-iv9bo
    @DenisDenis-iv9bo Před 5 lety +5

    все работает.
    #include
    #include
    LiquidCrystal_I2C lcd(0x27,16,2);
    boolean A,B;
    int P;
    float M;
    void setup() {
    //serial.begin(115200);
    pinMode(6, INPUT);
    attachInterrupt(0, blinkl, CHANGE);
    attachInterrupt(1, blik, CHANGE);
    lcd.init();
    lcd.backlight();
    }
    void loop() {
    //cld.clear();
    if (digitalRead(6)) P=0;
    lcd.setCursor(0,0);
    lcd.print("P=");
    lcd.print(P);
    lcd.print(" ");
    M=(P/23.7);
    lcd.setCursor(0,1);
    lcd.print("M=");
    lcd.print(M);
    lcd.print("mm ");
    }
    void blinkl()
    {
    A=digitalRead(2);
    B=digitalRead(3);
    if (B==A) P=P+1;
    else P=P-1;
    }
    void blik()
    {
    A=digitalRead(2);
    B=digitalRead(3);
    if (B!=A) P=P+1;
    else P=P-1;
    }

  • @user-gd8pc7qe4z
    @user-gd8pc7qe4z Před 9 lety +2

    Может у меня какие то извращенные мысли, но мне сразу на ум пришло использовать всё это в конструкции весов.

  • @user-fs3wv6on8z
    @user-fs3wv6on8z Před 9 lety +1

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

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety +1

      Евгений Улахлы Кстати да, действительно есть над чем задуматься, И данные даже можно считывать с мышки. Без компьютера. Спасибо за совет подумаю об этом.

    • @gomaker
      @gomaker Před 9 lety

      +Цирюльня хромого Йосыпа надо старые мышки отискать

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety +1

      Та можно и не старые колесо прокрутки также устроенное.

    • @gomaker
      @gomaker Před 9 lety

      Цирюльня хромого Йосыпа
      ролик - действительно, спасибо, меня что то на робототехнику потянуло и принтер разобрал и ардуино начал покупать, а то с моим Лего все очень дорого обходится.

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      :)

  • @user-lk6gp5nk9e
    @user-lk6gp5nk9e Před 9 lety +7

    Я по поводу кода ) Да! Есть такое ) Иногда чушь такая в советах есть, что диву даешься, как вообще эти люди еще в связи служат (это я про армию). Когда нужно 2 цикла, то у них работает рекурсия )) Это у меня был препод в политехе, он хер красный клал на все эти оптимизации. Где должна быть рекурсия - там должна быть рекурсия, но то, что это отнимает такты лишние он не думал. Короче, меня отчислили с последнего курса ИВТ из за того, что я оптимизировал алгоритм и не использовал рекурсию, так как она занимает много тактов, ассемблилась в непонятный, грубо говоря изъянный код и прочее. Я начал спорить с преподом, за что он посодействовал о моем отчислении ) Да, с другими предметами были косяки (комбинаторика, высшая математика), но отладчиком я пользоваться умею (батя программист олдскулл) ) Но я не унываю )) Отслужил ) Работаю программистом С++\С# ) Такие дела ) К форумам с тех пор, а особенно к политехам я отношусь скептически )

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      Ян Драгович Да бывает всякое

  • @user-fy2uy1yr7r
    @user-fy2uy1yr7r Před 9 lety +5

    Невероятно полезное видео. Спасибо :)

  • @user-nw3bx2pv7t
    @user-nw3bx2pv7t Před 7 lety +1

    Видео бомба . Собрал от кнопок работает .Разобрал два принтера и не могу разобраться с датчиком .Прошу Вас как специалиста разъяснить устройство и подключение датчиков .СПАСИБО.

  • @libral1973
    @libral1973 Před 9 lety +5

    Не знал про такую штуку! Для станков самое то!

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      libral1973 Но не совсем.. для точных механизмов есть немного другие. На основе стеклянного стержня и раз в 10 точнее :)

    • @libral1973
      @libral1973 Před 9 lety +1

      Да! Не успеваю за всем успевать!

    • @Chedevr
      @Chedevr Před 4 lety

      @@HromyjJosyp и что же это за стержень стеклянный и сверх точный?)

  • @user-sj6uv1wc8r
    @user-sj6uv1wc8r Před 6 lety

    Спасибо автору. Хорошая идея и исполнение. Путем замены линейного датчика на угловой, ленты на диск (из того же принтера) и поправив код, получил еще и оптический валкодер... или угломер.

  • @romanralko2573
    @romanralko2573 Před 8 lety +1

    Мне понравилось, давно хотел увидеть информацию об энкодерах, спасибо!!!

  • @user-mr1sm4gx3n
    @user-mr1sm4gx3n Před 5 lety

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

  • @nikeperson5745
    @nikeperson5745 Před 2 lety

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

    • @HromyjJosyp
      @HromyjJosyp  Před 2 lety

      Пообщаться можно. только это было так давно. Я уже честно говоря мало что помню . Проект так и не был запущен так как пришло осознание что пластиковая пленка и горячая стружка из под резца ну уживаться вместе.
      Torri118@mail.ru

    • @nikeperson5745
      @nikeperson5745 Před 2 lety

      @@HromyjJosyp спасибо за уважительное отношение на комент....респект!
      Отпишусь в письме...

    • @nikeperson5745
      @nikeperson5745 Před 2 lety

      Рад ...

  • @user-pg2kw6kd4h
    @user-pg2kw6kd4h Před 8 lety +1

    Отличное видео, многое для себя узнал.

  • @triokaalex
    @triokaalex Před 9 lety +3

    круто, надо придумать куда примаздрячить, могу десяток принтеров разобрать.!

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety +3

      Антоныч и Алексей Подоляк Там и шаговые двигателя есть, тоже штука полезная, и направляющие. Короче масса классных вещей.

  • @mrfrank7535
    @mrfrank7535 Před 8 lety +2

    Наконец-то нашел нормальное видео с нормальным объяснением принципа работы этого энкодера! Хочу применить на две оси для чпу выжигателя , кажется будет очень точно работать, ведь в принтерах работают нормально. Спасибо за разъяснения, с меня подписка)))

    • @HromyjJosyp
      @HromyjJosyp  Před 8 lety +1

      +Антон Захаров для выжигателя просто ставте шаговые двигателя, энкодеры там не нужны

    • @mrfrank7535
      @mrfrank7535 Před 8 lety +1

      Так вот их нет. А заказывать пока по финансы не позволяют, зато есть двигатели с энкодерами от двух принтеров. Пока сделаю так, поменять потом не долго.

    • @pavelcrash
      @pavelcrash Před 8 lety

      мог бы снять видео или выложить скетч для выжигателя, тоже хотел по пробывать, а ума до конца не получается создать

    • @mrfrank7535
      @mrfrank7535 Před 8 lety

      Pavel C скетч есть, могу скинуть.. а вот видео, к сожалению, потерялось... напиши мыло, скину

    • @slom87
      @slom87 Před 6 lety

      А можно мне ссылку на скетч. попался такой энкодер хочу использовать.

  • @maximilianKaplyanini
    @maximilianKaplyanini Před 4 lety +1

    ты просто гений!!Спасибо большое!!!

  • @user-wc6fb3rp9t
    @user-wc6fb3rp9t Před 8 lety +12

    А чего скетч то не выложили??

  • @user-bs6wx9hg7l
    @user-bs6wx9hg7l Před 4 lety

    Лайк. Начал смотреть, а тут ты тоже самое говоришь что я знаю

  • @BaHbKa1991
    @BaHbKa1991 Před 9 lety +3

    Побольше бы таких видео.

  • @user-ye5lm8vu4p
    @user-ye5lm8vu4p Před 9 lety

    Спасибо за отличный материал. Делай больше видео по электронике.

  • @user-ue1fe3qn5r
    @user-ue1fe3qn5r Před 6 lety

    Всё красиво! Приятно смотреть такие видео!

  • @user-uq3bq8yw3w
    @user-uq3bq8yw3w Před 9 lety

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

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      Андрей Заярнюк если взять енкодер с другого принтера градация может быть другая. Думаю нужно смотреть на принтеры с большым количеством цветов для фото печати там где по 6-7 цветов. Этот выдран из старого принтера ещё 2000 годов

    • @user-uq3bq8yw3w
      @user-uq3bq8yw3w Před 9 lety

      Цирюльня хромого Йосыпа
      Ну пересмотрю что у меня там есть и буду делать выводы про градацию, по скольку потока принтеров на разборку у меня нету так что придётся выбирать из того что есть.

    • @dmitriykonopinskiy3793
      @dmitriykonopinskiy3793 Před 3 lety

      @@user-uq3bq8yw3w получилось найти ленты с высоким разрешением?

  • @oyoy8517
    @oyoy8517 Před 4 lety +3

    определение пинов энкодера внизу этой страницы - reprap.org/wiki/Optical_encoders_01

  • @vladimirbohomol4491
    @vladimirbohomol4491 Před rokem

    Друже, дякую за роботу. Є дисковий енкодер від принтера, хочу зробити лічильник лінійного переміщення на основі колеса, для деревообробного станка. Все буде Україна!

  • @user-bq5ch6kd7s
    @user-bq5ch6kd7s Před 2 lety +1

    Дружище, тебе лойс, хоть и запоздалый, но лови!

  • @andreygurianov4128
    @andreygurianov4128 Před 7 lety

    Видео немного затянутое, но главное результат. Много циклов и всяких проверок - из-за обработки не одной оси энкодеров, а сразу несколько, отсюда и нехватка прерываний, с всевозможными проверками и циклами. Теперь осталось привязать коллекторный мотор, и сделать подобие серводвигателя. Для начала мотор можно взять с принтера (а лучше весь узел каретки с мотором и энкодером), и цены проекту не будет!

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      Для серводвигателя нужно намного больше усилий при написаниии програмы и скорость роботы самого мк чуть выше. Но да именно так и работают сервоприводы

  • @AndrejRudnitsky
    @AndrejRudnitsky Před 9 lety

    Почему же не понравиться... Очень полезная тема.

  • @nightbinary8337
    @nightbinary8337 Před 8 lety +1

    молодец. видео очень полезное. снимай еще !

  • @evgenymaximov1229
    @evgenymaximov1229 Před 6 lety

    Дело нужное! Не забрасывай высокую материю!

  • @user-fx8nt6bi1u
    @user-fx8nt6bi1u Před 7 lety

    Видео очень полезное. есть такой энкодер, только выходе пять проводов.

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      нужно звонить так ничего сказать не могу

  • @kasperkasper8507
    @kasperkasper8507 Před 2 lety

    Очнь полезное видео у меня такой аопрос, можно установить энкодернкю ленту epsona на
    hp

  • @user-vg2tl4tw3c
    @user-vg2tl4tw3c Před 9 lety +2

    Видео хорошее, но можно еще и схемку отснять(кто, куда, как собрано)

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety +2

      Александр Грузин
      Тупо было лень рисовать
      Там всего шесть проводов и резистор
      Два провода от питания к энкодер(+ и - )
      От энкодера два провода к Ардуино на 2 и 3 пин(датчик А и датчик В)
      Провод от плюса к 6 контакту ардуино в разрыв которого стоит кнопка с нормально открытым контактом
      6 контакт ардуино притянут через резистор 10кОм к нулю

  • @voldemarvoldemarov4059

    Вот-бы чаще на всем подобное так не нравилось..Только попробуй забить на нас😁

  • @romanralko2573
    @romanralko2573 Před 7 lety

    Спасибо за интересное видео!

  • @user-sx2wh4ew4m
    @user-sx2wh4ew4m Před 4 lety

    Там не надо использовать оба прерывания , достаточно одного. Проверку второго датчика осуществлять в обработчике.Ещё один момент переменные А и В которые изменяються в обработчике прерываний необходимо об`являть как "volatile".Скетч можно сделать проще и быстродейственней примерно в 10 раз используя прямое обращение к портам.

    • @anatoliyv5607
      @anatoliyv5607 Před rokem

      Не будет он в 10 раз быстрее работать поскольку он работает между прерываниями и успевает

  • @alexglecovich7064
    @alexglecovich7064 Před 7 lety

    Я в восторге! Умница! Скинь ссылку на твой скеч, что бы можно было применить на практике.

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      скетча уже нету, я его просто потерял среди всего хлама на компе

  • @jesterolog7
    @jesterolog7 Před 5 lety

    Спасибо. Супер.

  • @Olegpw
    @Olegpw Před 8 lety

    При большое спасибо за инфу!!!

  • @goodspeedmen
    @goodspeedmen Před 8 lety +9

    //LCD RS pin to digital pin 12
    //LCD Enable pin to digital pin 11
    //LCD D4 pin to digital pin 10
    //LCD D5 pin to digital pin 9
    //LCD D6 pin to digital pin 8
    //LCD D7 pin to digital pin 7
    //LCD R/W pin to ground
    #include
    #include
    LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
    boolean CW, CWW;
    boolean enc_A, enc_B; // переменные. //переменные оппроса входа.
    unsigned int update_lcd = 0; //переменная обновления экрана. своеобразное прерывание.
    volatile int place_enc; // переменная.
    long metric_mm; //переменная.
    void setup(){
    pinMode(6, INPUT_PULLUP); // настройка пина кнопки на вход, включае поддяжку.
    attachInterrupt(0, CW_interrupts, CHANGE); //прерывание INT0.
    attachInterrupt(1, CWW_interrupts, CHANGE); //прерывание INT1.
    lcd.begin(16, 2); // старт lcd
    }
    void loop(){
    //lcd.setclear() //сброс.
    if (digitalRead(6)==0){
    place_enc = 0;
    metric_mm = 0;
    }
    if (update_lcd==0){
    lcd.setCursor(0,0); //курсор.
    lcd.print("Place="); //выводит текст.
    lcd.print(place_enc); //выводит значение переменной P.
    lcd.print(" "); //выводит выводит пробел.
    metric_mm =(place_enc/0.1); //вычесляем значение переменной M.
    lcd.setCursor(0,1); //курсор.
    lcd.print("Metric="); //выводит текст.
    lcd.print(metric_mm); //выводит значение переменной M.
    lcd.print("mm "); //выводит текст.
    update_lcd = 1024;
    }
    update_lcd = update_lcd-1;
    }
    void CW_interrupts(){ //обработчик прерывания прерывание INT0.
    enc_A = digitalRead(2);
    enc_B = digitalRead(3);
    if(enc_A==enc_B){
    place_enc=place_enc+1;
    update_lcd = update_lcd+8;
    }else place_enc=place_enc-1;
    }
    void CWW_interrupts(){ //обработчик прерывания прерывание INT1.
    enc_A = digitalRead(2);
    enc_B = digitalRead(3);
    if(enc_A!=enc_B){
    place_enc=place_enc+1;
    update_lcd = update_lcd+8;
    }else place_enc=place_enc-1;
    }

    • @yurazaicev9313
      @yurazaicev9313 Před 7 lety

      goodspeedmen , а теж саме, тільки на max7219 7сегментмому допоможете переписати?

  • @dukemenshikov
    @dukemenshikov Před 6 lety

    Красавчик!!Дельное видео

  • @user-yx4iv9en8m
    @user-yx4iv9en8m Před 8 lety +1

    отличное видео. +

  • @oyoy8517
    @oyoy8517 Před 4 lety +1

    Правленый, (проверено), скетч для "круглого" энкодера принтера (определяем градусы поворота) при подключении Arduino Pro mini, напрямую к LCD1602
    #include
    //#include
    #include
    //LiquidCrystal_I2C lcd(0x27,16,2);
    LiquidCrystal lcd( 9,10,4, 5, 6, 7);
    boolean A, B;
    int P;
    float M;
    void setup() {
    //Serial.begin(115200);
    pinMode(8, INPUT);
    attachInterrupt(0, blink1, CHANGE);
    attachInterrupt(1, blik, CHANGE);
    //lcd.init();
    lcd.begin(16, 2);
    //lcd.backlight();
    }

    void loop() {
    //lcd.clear();
    if (digitalRead(8)) P=0;
    lcd.setCursor(0,0);
    lcd.print("P="); // выводим надпись Р=
    lcd.print(P);
    lcd.print(" ");
    M=(P/16.0);
    lcd.setCursor(0,1);
    lcd.print("G=");
    lcd.print(M);
    lcd.print(" * ");
    }

    void blink1()
    {
    A=digitalRead(2);
    B=digitalRead(3);
    if (B==A) P=P+1;
    else P=P-1;
    }

    void blik()
    {
    A=digitalRead(2);
    B=digitalRead(3);
    if (B!=A) P=P+1;
    else P=P-1;
    }

  • @zekara1996
    @zekara1996 Před 9 lety

    Думаю для поперечної подачі токарного станка буде саме то,
    можна навіть забути про один лімб,
    удачі в застосуванні.

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      Женя Джус У меня нету лимба продольной подачи (На ТВ-3 из не ставили) Вот туда и хочу присобачить

  • @MrSingle61
    @MrSingle61 Před 2 lety

    Для токарника 4 сотки - это слишком много. Электронные линейки обычно в 1 сотку. Реально такая точность и нужна при позиционировании.

  • @user-mk5vs8wk9l
    @user-mk5vs8wk9l Před 3 lety

    Здравствуйте, у меня в принтере испортился энкодер, что делать, к сожалению не могу нигде найти у кого купить. Принтер струйный Canon pixma 2540s

  • @balytskyie
    @balytskyie Před 3 lety

    пожалуй подпишусь)

  • @avexoidavex3577
    @avexoidavex3577 Před 5 lety

    Если насечки на ленте одинаковые, как реализовано распознавание движения назад?

  • @user-gp5lq8xd6x
    @user-gp5lq8xd6x Před 2 lety

    Тонкие материи, к сожалению не для всех(
    Токарный станочек это хорошо, а как можно скрестить такую линейку с шаговым двигателем? Для исключения пропуска шагов ( в 3д принтер например, или любой другой чпу станочек). Сможешь такой материал отснять, было бы интересно, кстати информации по этой теме не особо то и много.

    • @HromyjJosyp
      @HromyjJosyp  Před 2 lety

      Есть готовые решения шаговый двигатель с уже установленым на нем енкодером и спец драйвер для него

    • @user-gp5lq8xd6x
      @user-gp5lq8xd6x Před 2 lety

      Я знаю что есть такие, даже с тормозами есть. Интересно как женят одно с другим. Там сразу драйвер двигателя с колодкой энкодера (если только сам драйвер это предусматривает) , а вот через какой костыль скрестить бульдога с носорогом это уже интересно) например в чпу промышленных (возьмём к примеру фрезерный) в них линейки стоят ещё дополнительно по осям. Но, вернёмся допустим к какому нибудь принтеру (3д) ставить туда такие драйвера, такое себе наверное, в плане того что они не с ноготь большого пальца размером, а уже с кулак минимум.
      P.S. Думаю обладатели дрыгостолов взяли бы это на вооружение.

    • @user-gp5lq8xd6x
      @user-gp5lq8xd6x Před 2 lety

      Я думаю что обладатели каких-нибудь дрыгостолов могли бы взять такое на вооружение

  • @dmitriykonopinskiy3793

    не пробовал АЦПшкой сигналы смотреть? Там пила получается или или или интенсивность немного плавно набирается и можно чуть больше отсчётов получать?

    • @HromyjJosyp
      @HromyjJosyp  Před 3 lety +1

      Есть разные энкодеры. У одних есть внутренний преобразователь а у других нет. Соответственно и разная форма выходного сигнала. Но, я Вам скажу большую точность нету смысла пытаться получить. Такая лента слишком сильно тянется от перепада температур. Если стоит задача получить большую точность, нужно смотреть на энкодеры у которых разметка нанесена на стеклянном стержне а не на пленке

  • @nikeperson5745
    @nikeperson5745 Před 2 lety

    Кстати ....твое видео о линейном энкодере единственное в своём роде ....пример безупречный...
    Привет из Молдовы...
    Если возможно предоставьте какой либо контакт для связи

  • @user-gs4wj1cq5c
    @user-gs4wj1cq5c Před 7 měsíci

    Протёр ленту влажной салфеткой, на салфетке много чёрного. Мог ли я испортить ленту? Это я стёр темные полосы получается? Каретка теперь с ума сходит

    • @HromyjJosyp
      @HromyjJosyp  Před 7 měsíci

      даже незнаю. всякое может бить. в принципе полосы видны не вооруженным взглядом присмотритесь внимательно . Может просто нужно протереть еще раз. возможно просто ростянули пыль. я не думаю что насечка легко стираеться

  • @Стриж-КТМ
    @Стриж-КТМ Před 8 měsíci

    Излучатель датчика в невидимом спектре светит?

  • @user-sg7fn7ie2b
    @user-sg7fn7ie2b Před 6 lety

    Робота стабильнее будет ,если добавить в разрыв между ( датчиками А и В ) и ( Ардуино на 2 и 3 пин ) по одному триггеру к155тл2 .Сразу сбои прекратились ,проверил .Автор МОЛОТОК ..

  • @StrVV
    @StrVV Před 7 lety

    скорее всего не 0,0422 мм шаг или 23.7 штриха на мм,
    а 600dpi=25.4/600=0.04233(3) или 23.622 штриха на мм.
    попробуй штрихи на 1/600 дюйма считать тогда можно целочисленную арифметику использовать

    • @StrVV
      @StrVV Před 7 lety

      уже на 3 шаге будет 1/200 дюйма или ровно 0.127мм, 6 шагов =0.254, примерно четверть мм.
      5мм. будет 118 шагов.

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      Не помню проект заброшен в виду не пригодности при роботе с брызгами масла и горячей стружкой

    • @StrVV
      @StrVV Před 7 lety

      а что мешало все эти приводы разместить в верху а вниз только рабочий орган?
      т.е. "табуреточно-портальная схема."

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      Как раз эту ленту и негде было пристроить везде она в опасности. Да и я сам понял что для моих задач мне УЦИ пока не нужно

  • @neatcut5194
    @neatcut5194 Před 4 lety

    О Великий Йосып , подскажи пожалуйста . Энкодер с вращательным диском от принтера НР . На платке 4 контакта , видимо +5 , земля и 2 выхода . На этой платке уже распаян резистор для питания светодиода , НО ! Почему-то на вход (+) датчиков , резистора НЕТ . Разве не нужно ограничивать ток в коллекторе-эмиттере датчика ???

    • @HromyjJosyp
      @HromyjJosyp  Před 4 lety

      Я не на столько силен в этих делах чтобы что- то утверждать. Я больше практик подключил -работает :) и кстати энкодер может быть и на 3 вольта. Рекомендую начать с такого напряжения

    • @neatcut5194
      @neatcut5194 Před 4 lety

      @@HromyjJosyp спосыбо, я не тороплюсь сжечь энкодер - буду пробовать с 3 вольт !

    • @EmmetPhD
      @EmmetPhD Před měsícem

      @@neatcut5194
      3,3 Вольта, конечно

  • @AlexanderPuskin
    @AlexanderPuskin Před 7 lety

    Спасибо

  • @user-ny3zh8qh8d
    @user-ny3zh8qh8d Před 8 lety

    Очень заинтересовало!Разобрал свой принтер НР5700, но не могу определить маркировку оптодатчиков.На датчиках два выхода с одной стороны и четыре выхода с другой стороны.Маркировка на оптодатчике ленточного энкодера (80045 4х4), на дисковом (9985 с509).Помогите определить, что за датчики или где у них какие выводы!

    • @HromyjJosyp
      @HromyjJosyp  Před 8 lety

      +5552 2225 Нужно пробовать, скорей всего у него есть
      +
      -
      Фаза А
      Фаза В
      Дальше или минус А, минус В
      Или как вариант может быть третья фаза.

    • @evgenijnovikov1839
      @evgenijnovikov1839 Před 8 lety

      +5552 2225 скажите получилось разобраться с датчиком энкодера от принтера НР?

  • @solegm3331
    @solegm3331 Před 6 lety

    спасибо

  • @MrChpoks
    @MrChpoks Před 9 lety

    Прикольно, но на практике что делать с грязью, пылью и маслом, которые будут неизбежно попадать в устройство?

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      Дмитрий Сергеев Не знаю, поэтому и сказал что не уверен поставлю ли я эту штуку на станок. С другой стороны что мешает попробовать из затрат только мое время ?

    • @alexandersedunov9117
      @alexandersedunov9117 Před 9 lety +1

      Чтобы грязь и пыль не попадали придётся сделать защитный кожух.

  • @pampidu
    @pampidu Před 9 lety +1

    Получается что так работает штангенциркуль электронный

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety +1

      Pampidu Pampidu Да, только датчик там не оптический а индукционный

    • @Multi_tool
      @Multi_tool Před 5 lety

      @@HromyjJosyp емкостной.

    • @Ma_X64
      @Ma_X64 Před 5 lety

      не совсем так. там ёмкостный электронный нониус.

  • @dominus8053
    @dominus8053 Před 3 lety

    как я Тебе благодарен. я перерыл весь инет и у буржуев был пол дня. нашел даташит к ним. но прозванивал цешкой и никаких результатов. а подключил к уне так сразу заработали. видимо на выходе напряжение слабо меняется прибор ненеможет уловить а контроллер видит. плохо нет осццилографа. кому нужна инфа по таким ссылка. reprap.org/wiki/Optical_encoders_01

  • @goodspeedmen
    @goodspeedmen Před 8 lety

    При таком коде будет считать каждый перепад у меня энкодер 1250 не линейный получается 5000 с копейками

  • @plamemonolit5289
    @plamemonolit5289 Před 5 lety

    А если подключить оптопару от ардуино, будит ли те же показания с штатной лентой.

    • @HromyjJosyp
      @HromyjJosyp  Před 5 lety

      А почему они должны поменяться?

  • @user-er6yl8nc2y
    @user-er6yl8nc2y Před 5 lety

    Подскажите пожалуйста есть ли у энкодера лицевая сторона и лево право?

    • @HromyjJosyp
      @HromyjJosyp  Před 5 lety

      Мой работал в любом положению. За остальные не знаю.

  • @3DSpaceX
    @3DSpaceX Před 2 lety

    а откуда взяли расчёт М=Р/23.7 , откуда взялось именно число 23.7?

    • @HromyjJosyp
      @HromyjJosyp  Před 2 lety

      Исходя из растояния между метками на енкодере.

    • @3DSpaceX
      @3DSpaceX Před 2 lety

      @@HromyjJosyp
      понятно, кстати взял твой код как исходный немного допилив под себя и теперь могу обрабатывать два промышленых оптических энкодера без учёта направления вращения но за то с выводом расстояния на одной ардуинке или с учётом направления вращения но тогда только один энкодер, все из за того что не хватает на ардуино уно апаратных прерываний , но для моей задачи этого достаточно. Мог бы я вас как то отблагодарить за это отличное видео которое мне так помогло в работе ?

  • @1kot86
    @1kot86 Před 6 lety

    Для чего угодно, но не для фрезера, мелкая пыль засорит оптику.

  • @user-ov2gk1fy7x
    @user-ov2gk1fy7x Před 6 lety

    А как вы определяете, где какая нога у энкодера?

    • @HromyjJosyp
      @HromyjJosyp  Před 6 lety +1

      методом научного тыка

  • @Chedevr
    @Chedevr Před 4 lety

    8550циклов! Если быть правильным!)

  • @user-pz8fw1ik4f
    @user-pz8fw1ik4f Před 6 lety

    Здравствуйте, а не трудно вам сделать что то подобное с круговым энкодером что бы отсчет в градусах был на пример,и разжевать таким как я? Спасибо.

    • @HromyjJosyp
      @HromyjJosyp  Před 6 lety

      Не трудно. но у меня нету кругового энкодера . но смысл там точно такой самый.
      Все один в один.
      Делим 360 градусов на количество импульсов и считаем то ли в сторону увелечения то ли в сторону уменьшения.
      Просто нужно учитывать что при переходе через ноль идет новый круг. То есть после 360 и 0 градусов это одно и тоже число.
      Для начала можно просто взять эту програму и прикрепить ее к круговому энкодеру. все должно работать.

    • @leonidvalentinovich5215
      @leonidvalentinovich5215 Před 5 lety

      @@HromyjJosyp с круговым энкодером можно сделать серву. Клёвую серву.

  • @iirreekk85huzyn88
    @iirreekk85huzyn88 Před 5 lety

    Привет всем,помогите пожалуйста вывести данные на экране,а не на лсд

  • @jonykaige1470
    @jonykaige1470 Před 5 lety

    Вопрос в принтерах и плоттерах датчик просто считывает количество полос?

    • @HromyjJosyp
      @HromyjJosyp  Před 5 lety

      Да. Только там 2 датчика. для определение в какую сторону движется каретка

    • @jonykaige1470
      @jonykaige1470 Před 5 lety

      @@HromyjJosyp Спасибо! Плоттер пытаюсь починить) Думал - может там как-то еще позиционирование читается, а китайская лента с оригинальной не похожи

    • @HromyjJosyp
      @HromyjJosyp  Před 5 lety

      @@jonykaige1470 Тут не подскажу, совмещать разные технологии это лотерея :)

  • @ЧПУ
    @ЧПУ Před 5 lety

    Нужно видео!

  • @user-ik6yg7un3t
    @user-ik6yg7un3t Před 7 lety +1

    Два дня тупил ;)))) почему в прерываниях "чендж" и почему две процедуры...... И не уверен что до конца понял логику, зачем же ДВА прерывания!? Для срабатывания и по переднему и по заднему фронту по обоим линиям?? Я обычно вешаю прерывание только не "строб" а импульс "направление" проверяю. Ну да в прерывании ставлю "райз" (передний фронт).... Или всётаки протупил в понимании??

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety +1

      Да, два прерывания для двух датчиков по двум фронтам . Ведь суть такого энкодера в том что фазы сдвинутые.
      и нужно обрабатывать оба датчика тогда точность будет в два раза выше

    • @user-ik6yg7un3t
      @user-ik6yg7un3t Před 7 lety

      ну наверное не точность а ..... может скорость
      хотя наверно и точность тоже.... попробую! спасибо за идею! обычно я делаю как....? спрерывание одно тот импульс который я для себя назвал "строб" а другой "направление" прерывание по стробу и смотрим ноль или единица направление.... блин а вот оба сигнала юзать как интеррапт - нидопёр :(( вобщем! палец вверх! и спасибо!

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      :)

  • @user-wc6fb3rp9t
    @user-wc6fb3rp9t Před 8 lety

    Пожалуйста, оставьте свой,готовый, рабочий скетч в описании иди комментариях! Уж очень нужно

    • @HromyjJosyp
      @HromyjJosyp  Před 8 lety

      +Федя Молчанов скетч не могу найти. Не подключайте І2С Все что вам нужно это два прерывания . Обработайте их и выведите на свой экран как вам угодно.

    • @user-wc6fb3rp9t
      @user-wc6fb3rp9t Před 8 lety

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

    • @user-wc6fb3rp9t
      @user-wc6fb3rp9t Před 8 lety

      Цирюльня хромого Йосыпа у меня все символы,какие бы я не выводил,отображаются "дождем "не монолитом,а с прерыванием по горизонтали

    • @HromyjJosyp
      @HromyjJosyp  Před 8 lety

      Вам нужно по другому ВЫВОДИТЬ данные.
      Для начала просто сделайте пример по этой ссылке
      robotclass.ru/tutorials/arduino-lcd1602/
      Вы должны получить надпись на дисплею
      "Hello, world"
      И кстати дисплей может не понимать русские символы

    • @user-wc6fb3rp9t
      @user-wc6fb3rp9t Před 8 lety

      Цирюльня хромого Йосыпа работает идеально.можете дать ссылку на библиотеку I2c? Или на ту о которой вы говорите

  • @user-bj4mf2nn8d
    @user-bj4mf2nn8d Před 9 lety

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

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      +Вася Пупкин У меня нету дисплея без I2C. Поэтому показать не могу. Почитайте тут. wiki.amperka.ru/схемы-подключения:подключение-текстового-экрана

  • @svbHiTek
    @svbHiTek Před 4 měsíci

    Вот мой код обработчика прерывания с STM32F030F4, код автора работал не адекватно
    void EXTI0_1_IRQHandler()
    {
    myClearInterrupt(0);
    state = (GPIOA->IDR & 0b011); // читаем пины порта к которым подключен энкодер PA0 PA1
    poz = (state < 2) ? ((state == 1) ? 0: 1): ((state == 2) ? 2:3); // выясняем позицию положения в таблице
    if (poz != last_poz) // если произошло движение
    {
    if (poz < last_poz)
    {
    if (last_poz == 3 && poz == 0) score++;
    else score--;
    }
    else
    {
    if (last_poz == 0 && poz == 3) score--;
    else score++;
    }
    last_poz = poz; // сохраняем предидущее состояние
    }
    }

  • @user-wj3mf7qc3l
    @user-wj3mf7qc3l Před 6 lety

    Идея хорошая но для токарного станка такой энкодер не подойдет.

  • @Pagor
    @Pagor Před 6 lety

    Делай кратко и по сути

  • @KENISEG
    @KENISEG Před 6 lety

    что за хрень, blinkl и blik, в чем суть, судя по коду, они друг друга перекрывают, один увеличивает - другой уменьшает, в итоге 0, как это работает?

    • @HromyjJosyp
      @HromyjJosyp  Před 6 lety

      blinkl и blik. У энкодера два датчика каждое прерывание обрабатывает срабатывание своего датчика.

  • @keycimag3316
    @keycimag3316 Před 5 lety

    8532/4 = 2133 риски
    2133 * 0,04 = 85,32 мм.
    Но лента = =360 мм
    Что я не понял????

    • @DenisDenis-iv9bo
      @DenisDenis-iv9bo Před 5 lety +1

      Странные вычисления) Вычислил, наверное, количество черных насечек и умножил на дискретность), там кстати еще и прозрачные есть, они тоже участвуют
      Автор говорит, что стоит 2 датчика и эти два датчика в сумме дают 4 цикла.
      _для уточнения_ второй датчик читает риски со смещением в 1/2 фазы. То есть пока первый датчик на половинe риски читает 0, второй уже читает 1. В итоге при считывании одной черной и одной прозрачной полоски при помощи двух датчиков получается такая картина 10-11-01-00. От сюда и выходит, что на расстоянии 360мм 8532 цикла, то есть точность 0,04мм.

    • @keycimag3316
      @keycimag3316 Před 5 lety

      @@DenisDenis-iv9bo
      Да, я так и считал.

  • @tamada8795
    @tamada8795 Před 7 lety

    Скетч в студию

    • @HromyjJosyp
      @HromyjJosyp  Před 7 lety

      там 8 строк кода не смешите меня

    • @user-em9qt3ws1t
      @user-em9qt3ws1t Před 4 lety

      А тем кому надо, а код написать не могут не совсем смешно.

  • @papirownik
    @papirownik Před 9 lety

    До 5 хв все розумів. Після відсотків на 40, хоч сам програмую на дельфі.
    ДЕ токарний станок а де енкодер. Цікаво буде поглянути на їх симбіоз. Патентуй ідею

    • @HromyjJosyp
      @HromyjJosyp  Před 9 lety

      papirownik Идея стара как мир :) Цифровые штенгеля работают именно так, только в основе стоит не оптический энкодер а индукционный а принцип тот же.
      На станках такие штуки давно применяют. Только более точные, защищенные и дорогие:) 3 промышленных энкодера будут стоять дороже всего моего станка:)

    • @papirownik
      @papirownik Před 9 lety

      :)