Тёмный
No video :(

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

Цирюльня хромого Йосыпа
Подписаться 58 тыс.
Просмотров 66 тыс.
50% 1

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

Опубликовано:

 

21 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 163   
@aristofanfirapontov149
@aristofanfirapontov149 Месяц назад
Спасибо. Интересно, доходчиво, наглядно. С удовольствием смотрю такие видео в формате мини-урока.
@Stalker-ker4
@Stalker-ker4 5 лет назад
Скетч из видео автора. Энкодер отлично работает с этим скетчем без всяких подтягивающих резисторов и согласующей логики. Изменив делитель и поменяв мм на угол получается скетч делительной головки для токарного, в моем случае 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; }
@DenisDenis-iv9bo
@DenisDenis-iv9bo 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; }
@Garage38
@Garage38 2 года назад
Недавно раскурочил МФУ дохлую, аккуратно снял эту ленту и первая мысль - это использовать её как оптическую линейку для своего маленького токарного ! Спасибо вам за видео !
@Techn0man1ac
@Techn0man1ac 9 лет назад
Улыбнула фраза что "...с ардуино это сможет повторить каждый дурак" а так видео супер, спасибо.
@svbHiTek
@svbHiTek 6 месяцев назад
А если переписать код более оптимально, не задействовав ардуино функции, то он будет работать быстрее. Но в любом случае, автор молодец, быстро, доходчиво, без воды +++
@user-fy2uy1yr7r
@user-fy2uy1yr7r 9 лет назад
Невероятно полезное видео. Спасибо :)
@user-gd8pc7qe4z
@user-gd8pc7qe4z 9 лет назад
Может у меня какие то извращенные мысли, но мне сразу на ум пришло использовать всё это в конструкции весов.
@romanralko2573
@romanralko2573 8 лет назад
Мне понравилось, давно хотел увидеть информацию об энкодерах, спасибо!!!
@maximilianKaplyanini
@maximilianKaplyanini 4 года назад
ты просто гений!!Спасибо большое!!!
@user-lk6gp5nk9e
@user-lk6gp5nk9e 9 лет назад
Я по поводу кода ) Да! Есть такое ) Иногда чушь такая в советах есть, что диву даешься, как вообще эти люди еще в связи служат (это я про армию). Когда нужно 2 цикла, то у них работает рекурсия )) Это у меня был препод в политехе, он хер красный клал на все эти оптимизации. Где должна быть рекурсия - там должна быть рекурсия, но то, что это отнимает такты лишние он не думал. Короче, меня отчислили с последнего курса ИВТ из за того, что я оптимизировал алгоритм и не использовал рекурсию, так как она занимает много тактов, ассемблилась в непонятный, грубо говоря изъянный код и прочее. Я начал спорить с преподом, за что он посодействовал о моем отчислении ) Да, с другими предметами были косяки (комбинаторика, высшая математика), но отладчиком я пользоваться умею (батя программист олдскулл) ) Но я не унываю )) Отслужил ) Работаю программистом С++\С# ) Такие дела ) К форумам с тех пор, а особенно к политехам я отношусь скептически )
@HromyjJosyp
@HromyjJosyp 9 лет назад
Ян Драгович Да бывает всякое
@user-fs3wv6on8z
@user-fs3wv6on8z 9 лет назад
Видео полезное. Смотрел и думал: где-то подобный принцип уже использовался. Вспомнил - в старых мышках с резиновым шариком, которое крутит валики, на них колёсики с перфорацией как в энкодере. Колёсики находятся в оптопаре, причём их два - по оси X и Y. Всё контролируется микросхемой, под неё есть стандартные драйвера мыши. И самое приятное, что эти мышки никто давно уже не использует, они просто валяются без дела. Оптопару от принтера можно подключить вместо оптопары мышки, а Ардуино использовать для других целей. Подключить, кстати можно целых два энкодера, если нужно. Для станка можно использовать и современные оптические или лазерные мышки. Укрепить их неподвижно, а под ними разместить коврик, который двигаясь, повторяет движения резца. Смещения мышка передаёт в компьютер, а дальше с данными делай что хочешь. По-моему здесь есть о чём подумать. Спасибо. Пока!
@HromyjJosyp
@HromyjJosyp 9 лет назад
Евгений Улахлы Кстати да, действительно есть над чем задуматься, И данные даже можно считывать с мышки. Без компьютера. Спасибо за совет подумаю об этом.
@gomaker
@gomaker 9 лет назад
+Цирюльня хромого Йосыпа надо старые мышки отискать
@HromyjJosyp
@HromyjJosyp 9 лет назад
Та можно и не старые колесо прокрутки также устроенное.
@gomaker
@gomaker 9 лет назад
Цирюльня хромого Йосыпа ролик - действительно, спасибо, меня что то на робототехнику потянуло и принтер разобрал и ардуино начал покупать, а то с моим Лего все очень дорого обходится.
@HromyjJosyp
@HromyjJosyp 9 лет назад
:)
@libral1973
@libral1973 9 лет назад
Не знал про такую штуку! Для станков самое то!
@HromyjJosyp
@HromyjJosyp 9 лет назад
libral1973 Но не совсем.. для точных механизмов есть немного другие. На основе стеклянного стержня и раз в 10 точнее :)
@libral1973
@libral1973 9 лет назад
Да! Не успеваю за всем успевать!
@Chedevr
@Chedevr 4 года назад
@@HromyjJosyp и что же это за стержень стеклянный и сверх точный?)
@user-sj6uv1wc8r
@user-sj6uv1wc8r 6 лет назад
Спасибо автору. Хорошая идея и исполнение. Путем замены линейного датчика на угловой, ленты на диск (из того же принтера) и поправив код, получил еще и оптический валкодер... или угломер.
@user-pg2kw6kd4h
@user-pg2kw6kd4h 8 лет назад
Отличное видео, многое для себя узнал.
@BaHbKa1991
@BaHbKa1991 9 лет назад
Побольше бы таких видео.
@user-ue1fe3qn5r
@user-ue1fe3qn5r 6 лет назад
Всё красиво! Приятно смотреть такие видео!
@user-ye5lm8vu4p
@user-ye5lm8vu4p 9 лет назад
Спасибо за отличный материал. Делай больше видео по электронике.
@user-nw3bx2pv7t
@user-nw3bx2pv7t 7 лет назад
Видео бомба . Собрал от кнопок работает .Разобрал два принтера и не могу разобраться с датчиком .Прошу Вас как специалиста разъяснить устройство и подключение датчиков .СПАСИБО.
@user-bs6wx9hg7l
@user-bs6wx9hg7l 4 года назад
Лайк. Начал смотреть, а тут ты тоже самое говоришь что я знаю
@mrfrank7535
@mrfrank7535 8 лет назад
Наконец-то нашел нормальное видео с нормальным объяснением принципа работы этого энкодера! Хочу применить на две оси для чпу выжигателя , кажется будет очень точно работать, ведь в принтерах работают нормально. Спасибо за разъяснения, с меня подписка)))
@HromyjJosyp
@HromyjJosyp 8 лет назад
+Антон Захаров для выжигателя просто ставте шаговые двигателя, энкодеры там не нужны
@mrfrank7535
@mrfrank7535 8 лет назад
Так вот их нет. А заказывать пока по финансы не позволяют, зато есть двигатели с энкодерами от двух принтеров. Пока сделаю так, поменять потом не долго.
@pavelcrash
@pavelcrash 8 лет назад
мог бы снять видео или выложить скетч для выжигателя, тоже хотел по пробывать, а ума до конца не получается создать
@mrfrank7535
@mrfrank7535 8 лет назад
Pavel C скетч есть, могу скинуть.. а вот видео, к сожалению, потерялось... напиши мыло, скину
@slom87
@slom87 6 лет назад
А можно мне ссылку на скетч. попался такой энкодер хочу использовать.
@user-bq5ch6kd7s
@user-bq5ch6kd7s 2 года назад
Дружище, тебе лойс, хоть и запоздалый, но лови!
@nightbinary8337
@nightbinary8337 8 лет назад
молодец. видео очень полезное. снимай еще !
@nikeperson5745
@nikeperson5745 2 года назад
Спасибо тебе за это видео....уже год, ровно год рассылаю твое видео как пример ... и десяток раз пересмотрел сам.... ....уж очень хотелось бы с тобой немного на эту тему пообщаться....
@HromyjJosyp
@HromyjJosyp 2 года назад
Пообщаться можно. только это было так давно. Я уже честно говоря мало что помню . Проект так и не был запущен так как пришло осознание что пластиковая пленка и горячая стружка из под резца ну уживаться вместе. Torri118@mail.ru
@nikeperson5745
@nikeperson5745 2 года назад
@@HromyjJosyp спасибо за уважительное отношение на комент....респект! Отпишусь в письме...
@nikeperson5745
@nikeperson5745 2 года назад
Рад ...
@triokaalex
@triokaalex 9 лет назад
круто, надо придумать куда примаздрячить, могу десяток принтеров разобрать.!
@HromyjJosyp
@HromyjJosyp 9 лет назад
Антоныч и Алексей Подоляк Там и шаговые двигателя есть, тоже штука полезная, и направляющие. Короче масса классных вещей.
@evgenymaximov1229
@evgenymaximov1229 6 лет назад
Дело нужное! Не забрасывай высокую материю!
@user-mr1sm4gx3n
@user-mr1sm4gx3n 5 лет назад
идея прекрасная . Молодец. а вот ленту спрятать - проблем нет ... главное чтобы стёкла при сжатии не согнуло..( типа в алюминиевый контейнер - весь сбор , лента два стекла , ) чтобы не было переломление луча ( но и такое тоже можно додумать... стёкла можно применить того -же сканера , есть тоньше стёкла . .главное чтобы сам корпус для энкодера и стёкл был легкообрабатываемый - остальное дело фантазии . в самодельный корпус впихнуть всю приблуду в целое и потом куда хошь прикрепляй .. и будет пофигу стружка масло и прочее кроме сварки естественно .
@user-uq3bq8yw3w
@user-uq3bq8yw3w 9 лет назад
Очень информативное видео! Давно посещала идея изготовить УЦИ на базе именно принтерных энкодеров по скольку есть несколько таковых, но как то руки не дошли... Огорчает градация всего в 4 сотки. А по поводу грязи и практичности, то и заводские линейки известных фирм есть оптические там всего то корпус защищенный присутствует ну и точность другая. По больше высших материй то многим тоже интересно! Спасибо.
@HromyjJosyp
@HromyjJosyp 9 лет назад
Андрей Заярнюк если взять енкодер с другого принтера градация может быть другая. Думаю нужно смотреть на принтеры с большым количеством цветов для фото печати там где по 6-7 цветов. Этот выдран из старого принтера ещё 2000 годов
@user-uq3bq8yw3w
@user-uq3bq8yw3w 9 лет назад
Цирюльня хромого Йосыпа Ну пересмотрю что у меня там есть и буду делать выводы про градацию, по скольку потока принтеров на разборку у меня нету так что придётся выбирать из того что есть.
@dmitriykonopinskiy3793
@dmitriykonopinskiy3793 3 года назад
@@user-uq3bq8yw3w получилось найти ленты с высоким разрешением?
@user-wc6fb3rp9t
@user-wc6fb3rp9t 8 лет назад
А чего скетч то не выложили??
@andreygurianov4128
@andreygurianov4128 7 лет назад
Видео немного затянутое, но главное результат. Много циклов и всяких проверок - из-за обработки не одной оси энкодеров, а сразу несколько, отсюда и нехватка прерываний, с всевозможными проверками и циклами. Теперь осталось привязать коллекторный мотор, и сделать подобие серводвигателя. Для начала мотор можно взять с принтера (а лучше весь узел каретки с мотором и энкодером), и цены проекту не будет!
@HromyjJosyp
@HromyjJosyp 7 лет назад
Для серводвигателя нужно намного больше усилий при написаниии програмы и скорость роботы самого мк чуть выше. Но да именно так и работают сервоприводы
@oyoy8517
@oyoy8517 4 года назад
определение пинов энкодера внизу этой страницы - reprap.org/wiki/Optical_encoders_01
@AndrejRudnitsky
@AndrejRudnitsky 9 лет назад
Почему же не понравиться... Очень полезная тема.
@romanralko2573
@romanralko2573 7 лет назад
Спасибо за интересное видео!
@dukemenshikov
@dukemenshikov 6 лет назад
Красавчик!!Дельное видео
@user-fx8nt6bi1u
@user-fx8nt6bi1u 7 лет назад
Видео очень полезное. есть такой энкодер, только выходе пять проводов.
@HromyjJosyp
@HromyjJosyp 7 лет назад
нужно звонить так ничего сказать не могу
@goodspeedmen
@goodspeedmen 8 лет назад
//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 7 лет назад
goodspeedmen , а теж саме, тільки на max7219 7сегментмому допоможете переписати?
@oyoy8517
@oyoy8517 4 года назад
Правленый, (проверено), скетч для "круглого" энкодера принтера (определяем градусы поворота) при подключении 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; }
@Olegpw
@Olegpw 8 лет назад
При большое спасибо за инфу!!!
@user-yx4iv9en8m
@user-yx4iv9en8m 8 лет назад
отличное видео. +
@user-vg2tl4tw3c
@user-vg2tl4tw3c 9 лет назад
Видео хорошее, но можно еще и схемку отснять(кто, куда, как собрано)
@HromyjJosyp
@HromyjJosyp 9 лет назад
Александр Грузин Тупо было лень рисовать Там всего шесть проводов и резистор Два провода от питания к энкодер(+ и - ) От энкодера два провода к Ардуино на 2 и 3 пин(датчик А и датчик В) Провод от плюса к 6 контакту ардуино в разрыв которого стоит кнопка с нормально открытым контактом 6 контакт ардуино притянут через резистор 10кОм к нулю
@jesterolog7
@jesterolog7 5 лет назад
Спасибо. Супер.
@voldemarvoldemarov4059
@voldemarvoldemarov4059 6 лет назад
Вот-бы чаще на всем подобное так не нравилось..Только попробуй забить на нас😁
@user-sx2wh4ew4m
@user-sx2wh4ew4m 4 года назад
Там не надо использовать оба прерывания , достаточно одного. Проверку второго датчика осуществлять в обработчике.Ещё один момент переменные А и В которые изменяються в обработчике прерываний необходимо об`являть как "volatile".Скетч можно сделать проще и быстродейственней примерно в 10 раз используя прямое обращение к портам.
@anatoliyv5607
@anatoliyv5607 Год назад
Не будет он в 10 раз быстрее работать поскольку он работает между прерываниями и успевает
@kasperkasper8507
@kasperkasper8507 2 года назад
Очнь полезное видео у меня такой аопрос, можно установить энкодернкю ленту epsona на hp
@balytskyie
@balytskyie 3 года назад
пожалуй подпишусь)
@alexglecovich7064
@alexglecovich7064 7 лет назад
Я в восторге! Умница! Скинь ссылку на твой скеч, что бы можно было применить на практике.
@HromyjJosyp
@HromyjJosyp 7 лет назад
скетча уже нету, я его просто потерял среди всего хлама на компе
@dmitriykonopinskiy3793
@dmitriykonopinskiy3793 3 года назад
не пробовал АЦПшкой сигналы смотреть? Там пила получается или или или интенсивность немного плавно набирается и можно чуть больше отсчётов получать?
@HromyjJosyp
@HromyjJosyp 3 года назад
Есть разные энкодеры. У одних есть внутренний преобразователь а у других нет. Соответственно и разная форма выходного сигнала. Но, я Вам скажу большую точность нету смысла пытаться получить. Такая лента слишком сильно тянется от перепада температур. Если стоит задача получить большую точность, нужно смотреть на энкодеры у которых разметка нанесена на стеклянном стержне а не на пленке
@MrSingle61
@MrSingle61 2 года назад
Для токарника 4 сотки - это слишком много. Электронные линейки обычно в 1 сотку. Реально такая точность и нужна при позиционировании.
@neatcut5194
@neatcut5194 4 года назад
О Великий Йосып , подскажи пожалуйста . Энкодер с вращательным диском от принтера НР . На платке 4 контакта , видимо +5 , земля и 2 выхода . На этой платке уже распаян резистор для питания светодиода , НО ! Почему-то на вход (+) датчиков , резистора НЕТ . Разве не нужно ограничивать ток в коллекторе-эмиттере датчика ???
@HromyjJosyp
@HromyjJosyp 4 года назад
Я не на столько силен в этих делах чтобы что- то утверждать. Я больше практик подключил -работает :) и кстати энкодер может быть и на 3 вольта. Рекомендую начать с такого напряжения
@neatcut5194
@neatcut5194 4 года назад
@@HromyjJosyp спосыбо, я не тороплюсь сжечь энкодер - буду пробовать с 3 вольт !
@EmmetPhD
@EmmetPhD 24 дня назад
@@neatcut5194 3,3 Вольта, конечно
@AlexanderPuskin
@AlexanderPuskin 7 лет назад
Спасибо
@zekara1996
@zekara1996 9 лет назад
Думаю для поперечної подачі токарного станка буде саме то, можна навіть забути про один лімб, удачі в застосуванні.
@HromyjJosyp
@HromyjJosyp 9 лет назад
Женя Джус У меня нету лимба продольной подачи (На ТВ-3 из не ставили) Вот туда и хочу присобачить
@user-gp5lq8xd6x
@user-gp5lq8xd6x 2 года назад
Тонкие материи, к сожалению не для всех( Токарный станочек это хорошо, а как можно скрестить такую линейку с шаговым двигателем? Для исключения пропуска шагов ( в 3д принтер например, или любой другой чпу станочек). Сможешь такой материал отснять, было бы интересно, кстати информации по этой теме не особо то и много.
@HromyjJosyp
@HromyjJosyp 2 года назад
Есть готовые решения шаговый двигатель с уже установленым на нем енкодером и спец драйвер для него
@user-gp5lq8xd6x
@user-gp5lq8xd6x 2 года назад
Я знаю что есть такие, даже с тормозами есть. Интересно как женят одно с другим. Там сразу драйвер двигателя с колодкой энкодера (если только сам драйвер это предусматривает) , а вот через какой костыль скрестить бульдога с носорогом это уже интересно) например в чпу промышленных (возьмём к примеру фрезерный) в них линейки стоят ещё дополнительно по осям. Но, вернёмся допустим к какому нибудь принтеру (3д) ставить туда такие драйвера, такое себе наверное, в плане того что они не с ноготь большого пальца размером, а уже с кулак минимум. P.S. Думаю обладатели дрыгостолов взяли бы это на вооружение.
@user-gp5lq8xd6x
@user-gp5lq8xd6x 2 года назад
Я думаю что обладатели каких-нибудь дрыгостолов могли бы взять такое на вооружение
@solegm3331
@solegm3331 6 лет назад
спасибо
@avexoidavex3577
@avexoidavex3577 5 лет назад
Если насечки на ленте одинаковые, как реализовано распознавание движения назад?
@user-gs4wj1cq5c
@user-gs4wj1cq5c 7 месяцев назад
Протёр ленту влажной салфеткой, на салфетке много чёрного. Мог ли я испортить ленту? Это я стёр темные полосы получается? Каретка теперь с ума сходит
@HromyjJosyp
@HromyjJosyp 7 месяцев назад
даже незнаю. всякое может бить. в принципе полосы видны не вооруженным взглядом присмотритесь внимательно . Может просто нужно протереть еще раз. возможно просто ростянули пыль. я не думаю что насечка легко стираеться
@user-sg7fn7ie2b
@user-sg7fn7ie2b 6 лет назад
Робота стабильнее будет ,если добавить в разрыв между ( датчиками А и В ) и ( Ардуино на 2 и 3 пин ) по одному триггеру к155тл2 .Сразу сбои прекратились ,проверил .Автор МОЛОТОК ..
@user-ny3zh8qh8d
@user-ny3zh8qh8d 8 лет назад
Очень заинтересовало!Разобрал свой принтер НР5700, но не могу определить маркировку оптодатчиков.На датчиках два выхода с одной стороны и четыре выхода с другой стороны.Маркировка на оптодатчике ленточного энкодера (80045 4х4), на дисковом (9985 с509).Помогите определить, что за датчики или где у них какие выводы!
@HromyjJosyp
@HromyjJosyp 8 лет назад
+5552 2225 Нужно пробовать, скорей всего у него есть + - Фаза А Фаза В Дальше или минус А, минус В Или как вариант может быть третья фаза.
@evgenijnovikov1839
@evgenijnovikov1839 8 лет назад
+5552 2225 скажите получилось разобраться с датчиком энкодера от принтера НР?
@user-mk5vs8wk9l
@user-mk5vs8wk9l 3 года назад
Здравствуйте, у меня в принтере испортился энкодер, что делать, к сожалению не могу нигде найти у кого купить. Принтер струйный Canon pixma 2540s
@pampidu
@pampidu 9 лет назад
Получается что так работает штангенциркуль электронный
@HromyjJosyp
@HromyjJosyp 9 лет назад
Pampidu Pampidu Да, только датчик там не оптический а индукционный
@Multi_tool
@Multi_tool 5 лет назад
@@HromyjJosyp емкостной.
@Ma_X64
@Ma_X64 5 лет назад
не совсем так. там ёмкостный электронный нониус.
@nikeperson5745
@nikeperson5745 2 года назад
Кстати ....твое видео о линейном энкодере единственное в своём роде ....пример безупречный... Привет из Молдовы... Если возможно предоставьте какой либо контакт для связи
@MrChpoks
@MrChpoks 9 лет назад
Прикольно, но на практике что делать с грязью, пылью и маслом, которые будут неизбежно попадать в устройство?
@HromyjJosyp
@HromyjJosyp 9 лет назад
Дмитрий Сергеев Не знаю, поэтому и сказал что не уверен поставлю ли я эту штуку на станок. С другой стороны что мешает попробовать из затрат только мое время ?
@alexandersedunov9117
@alexandersedunov9117 9 лет назад
Чтобы грязь и пыль не попадали придётся сделать защитный кожух.
@1kot86
@1kot86 6 лет назад
Для чего угодно, но не для фрезера, мелкая пыль засорит оптику.
@vladimirbohomol4491
@vladimirbohomol4491 Год назад
Друже, дякую за роботу. Є дисковий енкодер від принтера, хочу зробити лічильник лінійного переміщення на основі колеса, для деревообробного станка. Все буде Україна!
@Стриж-КТМ
@Стриж-КТМ 8 месяцев назад
Излучатель датчика в невидимом спектре светит?
@HromyjJosyp
@HromyjJosyp 8 месяцев назад
Да.
@3DSpaceX
@3DSpaceX 2 года назад
а откуда взяли расчёт М=Р/23.7 , откуда взялось именно число 23.7?
@HromyjJosyp
@HromyjJosyp 2 года назад
Исходя из растояния между метками на енкодере.
@3DSpaceX
@3DSpaceX 2 года назад
@@HromyjJosyp понятно, кстати взял твой код как исходный немного допилив под себя и теперь могу обрабатывать два промышленых оптических энкодера без учёта направления вращения но за то с выводом расстояния на одной ардуинке или с учётом направления вращения но тогда только один энкодер, все из за того что не хватает на ардуино уно апаратных прерываний , но для моей задачи этого достаточно. Мог бы я вас как то отблагодарить за это отличное видео которое мне так помогло в работе ?
@StrVV
@StrVV 7 лет назад
скорее всего не 0,0422 мм шаг или 23.7 штриха на мм, а 600dpi=25.4/600=0.04233(3) или 23.622 штриха на мм. попробуй штрихи на 1/600 дюйма считать тогда можно целочисленную арифметику использовать
@StrVV
@StrVV 7 лет назад
уже на 3 шаге будет 1/200 дюйма или ровно 0.127мм, 6 шагов =0.254, примерно четверть мм. 5мм. будет 118 шагов.
@HromyjJosyp
@HromyjJosyp 7 лет назад
Не помню проект заброшен в виду не пригодности при роботе с брызгами масла и горячей стружкой
@StrVV
@StrVV 7 лет назад
а что мешало все эти приводы разместить в верху а вниз только рабочий орган? т.е. "табуреточно-портальная схема."
@HromyjJosyp
@HromyjJosyp 7 лет назад
Как раз эту ленту и негде было пристроить везде она в опасности. Да и я сам понял что для моих задач мне УЦИ пока не нужно
@user-pz8fw1ik4f
@user-pz8fw1ik4f 6 лет назад
Здравствуйте, а не трудно вам сделать что то подобное с круговым энкодером что бы отсчет в градусах был на пример,и разжевать таким как я? Спасибо.
@HromyjJosyp
@HromyjJosyp 6 лет назад
Не трудно. но у меня нету кругового энкодера . но смысл там точно такой самый. Все один в один. Делим 360 градусов на количество импульсов и считаем то ли в сторону увелечения то ли в сторону уменьшения. Просто нужно учитывать что при переходе через ноль идет новый круг. То есть после 360 и 0 градусов это одно и тоже число. Для начала можно просто взять эту програму и прикрепить ее к круговому энкодеру. все должно работать.
@leonidvalentinovich5215
@leonidvalentinovich5215 5 лет назад
@@HromyjJosyp с круговым энкодером можно сделать серву. Клёвую серву.
@plamemonolit5289
@plamemonolit5289 5 лет назад
А если подключить оптопару от ардуино, будит ли те же показания с штатной лентой.
@HromyjJosyp
@HromyjJosyp 5 лет назад
А почему они должны поменяться?
@goodspeedmen
@goodspeedmen 8 лет назад
При таком коде будет считать каждый перепад у меня энкодер 1250 не линейный получается 5000 с копейками
@user-ik6yg7un3t
@user-ik6yg7un3t 7 лет назад
Два дня тупил ;)))) почему в прерываниях "чендж" и почему две процедуры...... И не уверен что до конца понял логику, зачем же ДВА прерывания!? Для срабатывания и по переднему и по заднему фронту по обоим линиям?? Я обычно вешаю прерывание только не "строб" а импульс "направление" проверяю. Ну да в прерывании ставлю "райз" (передний фронт).... Или всётаки протупил в понимании??
@HromyjJosyp
@HromyjJosyp 7 лет назад
Да, два прерывания для двух датчиков по двум фронтам . Ведь суть такого энкодера в том что фазы сдвинутые. и нужно обрабатывать оба датчика тогда точность будет в два раза выше
@user-ik6yg7un3t
@user-ik6yg7un3t 7 лет назад
ну наверное не точность а ..... может скорость хотя наверно и точность тоже.... попробую! спасибо за идею! обычно я делаю как....? спрерывание одно тот импульс который я для себя назвал "строб" а другой "направление" прерывание по стробу и смотрим ноль или единица направление.... блин а вот оба сигнала юзать как интеррапт - нидопёр :(( вобщем! палец вверх! и спасибо!
@HromyjJosyp
@HromyjJosyp 7 лет назад
:)
@Chedevr
@Chedevr 4 года назад
8550циклов! Если быть правильным!)
@dominus8053
@dominus8053 3 года назад
как я Тебе благодарен. я перерыл весь инет и у буржуев был пол дня. нашел даташит к ним. но прозванивал цешкой и никаких результатов. а подключил к уне так сразу заработали. видимо на выходе напряжение слабо меняется прибор ненеможет уловить а контроллер видит. плохо нет осццилографа. кому нужна инфа по таким ссылка. reprap.org/wiki/Optical_encoders_01
@user-er6yl8nc2y
@user-er6yl8nc2y 5 лет назад
Подскажите пожалуйста есть ли у энкодера лицевая сторона и лево право?
@HromyjJosyp
@HromyjJosyp 5 лет назад
Мой работал в любом положению. За остальные не знаю.
@user-ov2gk1fy7x
@user-ov2gk1fy7x 6 лет назад
А как вы определяете, где какая нога у энкодера?
@HromyjJosyp
@HromyjJosyp 6 лет назад
методом научного тыка
@ЧПУ
@ЧПУ 5 лет назад
Нужно видео!
@jonykaige1470
@jonykaige1470 5 лет назад
Вопрос в принтерах и плоттерах датчик просто считывает количество полос?
@HromyjJosyp
@HromyjJosyp 5 лет назад
Да. Только там 2 датчика. для определение в какую сторону движется каретка
@jonykaige1470
@jonykaige1470 5 лет назад
@@HromyjJosyp Спасибо! Плоттер пытаюсь починить) Думал - может там как-то еще позиционирование читается, а китайская лента с оригинальной не похожи
@HromyjJosyp
@HromyjJosyp 5 лет назад
@@jonykaige1470 Тут не подскажу, совмещать разные технологии это лотерея :)
@Pagor
@Pagor 6 лет назад
Делай кратко и по сути
@KENISEG
@KENISEG 6 лет назад
что за хрень, blinkl и blik, в чем суть, судя по коду, они друг друга перекрывают, один увеличивает - другой уменьшает, в итоге 0, как это работает?
@HromyjJosyp
@HromyjJosyp 6 лет назад
blinkl и blik. У энкодера два датчика каждое прерывание обрабатывает срабатывание своего датчика.
@iirreekk85huzyn88
@iirreekk85huzyn88 5 лет назад
Привет всем,помогите пожалуйста вывести данные на экране,а не на лсд
@user-wc6fb3rp9t
@user-wc6fb3rp9t 8 лет назад
Пожалуйста, оставьте свой,готовый, рабочий скетч в описании иди комментариях! Уж очень нужно
@HromyjJosyp
@HromyjJosyp 8 лет назад
+Федя Молчанов скетч не могу найти. Не подключайте І2С Все что вам нужно это два прерывания . Обработайте их и выведите на свой экран как вам угодно.
@user-wc6fb3rp9t
@user-wc6fb3rp9t 8 лет назад
Цирюльня хромого Йосыпа я совсем новичок,я не знаю каким образом сделать прерывание. Все что получается это выводить на экран непонятно что(когда переписал ваш скетч),первая строка мигает и судя по всему пытается вывести и м и р в одну строку сразу. Данные увидеть невозможно
@user-wc6fb3rp9t
@user-wc6fb3rp9t 8 лет назад
Цирюльня хромого Йосыпа у меня все символы,какие бы я не выводил,отображаются "дождем "не монолитом,а с прерыванием по горизонтали
@HromyjJosyp
@HromyjJosyp 8 лет назад
Вам нужно по другому ВЫВОДИТЬ данные. Для начала просто сделайте пример по этой ссылке robotclass.ru/tutorials/arduino-lcd1602/ Вы должны получить надпись на дисплею "Hello, world" И кстати дисплей может не понимать русские символы
@user-wc6fb3rp9t
@user-wc6fb3rp9t 8 лет назад
Цирюльня хромого Йосыпа работает идеально.можете дать ссылку на библиотеку I2c? Или на ту о которой вы говорите
@user-wj3mf7qc3l
@user-wj3mf7qc3l 6 лет назад
Идея хорошая но для токарного станка такой энкодер не подойдет.
@leonidvalentinovich5215
@leonidvalentinovich5215 5 лет назад
Почему?
@user-bj4mf2nn8d
@user-bj4mf2nn8d 9 лет назад
Помогите подправить код без использования I2C дисплей напрямую, я в этом деле новичок и выложите пож. код, спасибо
@HromyjJosyp
@HromyjJosyp 9 лет назад
+Вася Пупкин У меня нету дисплея без I2C. Поэтому показать не могу. Почитайте тут. wiki.amperka.ru/схемы-подключения:подключение-текстового-экрана
@svbHiTek
@svbHiTek 4 месяца назад
Вот мой код обработчика прерывания с 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; // сохраняем предидущее состояние } }
@keycimag3316
@keycimag3316 5 лет назад
8532/4 = 2133 риски 2133 * 0,04 = 85,32 мм. Но лента = =360 мм Что я не понял????
@DenisDenis-iv9bo
@DenisDenis-iv9bo 5 лет назад
Странные вычисления) Вычислил, наверное, количество черных насечек и умножил на дискретность), там кстати еще и прозрачные есть, они тоже участвуют Автор говорит, что стоит 2 датчика и эти два датчика в сумме дают 4 цикла. _для уточнения_ второй датчик читает риски со смещением в 1/2 фазы. То есть пока первый датчик на половинe риски читает 0, второй уже читает 1. В итоге при считывании одной черной и одной прозрачной полоски при помощи двух датчиков получается такая картина 10-11-01-00. От сюда и выходит, что на расстоянии 360мм 8532 цикла, то есть точность 0,04мм.
@keycimag3316
@keycimag3316 5 лет назад
@@DenisDenis-iv9bo Да, я так и считал.
@tamada8795
@tamada8795 7 лет назад
Скетч в студию
@HromyjJosyp
@HromyjJosyp 7 лет назад
там 8 строк кода не смешите меня
@user-em9qt3ws1t
@user-em9qt3ws1t 4 года назад
А тем кому надо, а код написать не могут не совсем смешно.
@papirownik
@papirownik 9 лет назад
До 5 хв все розумів. Після відсотків на 40, хоч сам програмую на дельфі. ДЕ токарний станок а де енкодер. Цікаво буде поглянути на їх симбіоз. Патентуй ідею
@HromyjJosyp
@HromyjJosyp 9 лет назад
papirownik Идея стара как мир :) Цифровые штенгеля работают именно так, только в основе стоит не оптический энкодер а индукционный а принцип тот же. На станках такие штуки давно применяют. Только более точные, защищенные и дорогие:) 3 промышленных энкодера будут стоять дороже всего моего станка:)
@papirownik
@papirownik 9 лет назад
:)
Далее
rotational sensors - encoders and tachogenerators
9:14
Принтерный энкодер шпинделя.
18:10
Подключаем энкодер к ардуино
14:39
ЧПУ станок из принтера #1
10:03
Просмотров 5 тыс.
Уроки Arduino. Работа с энкодером
10:55
Учимся писать прошивки.
54:30
Просмотров 201 тыс.