Как подключить оптопару от принтера

Обновлено: 17.05.2024

Разобрал струйный принтер, в нем перемещением каретки управляет оптопара, которая стоит на каретке и перемецается вдоль прозрачной ленты, на которую нанесены непрозрачные вертикальные полоски, решил я эту оптопару подключить к ардуино и поуправлять перемещением каретки. Т.к. напряжение на этой оптопаре крошечное, решил использовать analogRead и уже потом сравнивать значения и считать эти вертикальные черточки, но столкнулся с проблемой. Если быстро переместить каретку, то скетч насчитывает всего

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

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

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

Решил проблему, поднял скорость serial порта до 250000 и стало норм.

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

andriano аватар

И какое значение последовательный порт имеет к перемещению каретки?

Или Вы пытались выводить данные в порт прямо во время измерений?

Чтение аналогового сигнала по моим оценкам примернео 110 мкс. Т.е. 9 раз за мс прочитать можно.

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

Puhlyaviy аватар

И какое значение последовательный порт имеет к перемещению каретки?

ну не успевал он протолкнуть на скорости 9600 всю и инфу :)

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

andriano аватар

А читать глазами успеваем?

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

Puhlyaviy аватар

А читать глазами успеваем?

ток если пальцем по строякам водить. но потом экран мыть приходиться.

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

andriano аватар

А мыть руки не пробовали?

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

на прерываниях наверно еще больше бы поймал

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

Штирлиц аватар

Фууу. Троли противныыыеее.

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

Или Вы пытались выводить данные в порт прямо во время измерений?

Да, что не правильно. Сейчас сделал иначе.

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

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

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

andriano аватар

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

trembo аватар

Ищите раму от старых принтеров.
Там стоят обычные шаговики.

И вообше если вы желаете резать точно- часто на моторе стоит прозрачный диск с рисками
или на раме натянута прозрачная лента с рисками.

Это возможность для вас читать импульсы движения мотора (подвижной части.)
Но управлять по этому "энкодеру" не так просто получится. Как бы ПИД не потребовался.

А на оптопаре напряжение не крошечное. С неё можно снять напряжение почти равное пробивному напряжению транзистора. Подвесив нужный резистор.

И считать сигнал импульсной оптопары аналоговым - это извращение

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

Ищите раму от старых принтеров.
Там стоят обычные шаговики.

Это насколько старые принтеры? Матричные?

Кстати да, надо попробовать шим управление двигателем.

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

trembo аватар

Матричные- там 100 % шаговики.
Да и струйники первые тоже шагали.
Сканеры вроде все на слабеньком шаговике.
А какую НЕМУ найти и к вашей шестерне пристоить нельзя?

А если ваш.
Не знаю как плавно стронуть с места под нагрузкой и не дать ему разогнаться .

На выход оптрона 10 кОм повесили к питанию?
DigitalRead пробовали?

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

Можно как-нибудь организовать шим управление DC двигателем без delay?

У меня если вставить delay в цикл loop, начинаются пропуски меток оптопарой и каретка проходит путь в несколько раз больше.

Жирным в коде выделил "ШИМ", просто analogWrite, это же не шим, как говорят во многих видео, это установка определенного напряжения на выводе всего лишь.

/*
AnalogReadSerial
Reads an analog input on pin 0, prints the result to the serial monitor

Читайте также: