Открыт самый начальный вопрос: как с помощью ШИМ вентилятора планировалось управлять лазером?
Ответ до смешного прост: никак. Варианты разные: от простого перетыка устройств в разъеме до высокотехнологичного свича, переключающего канал на лазер при обнаружении его активации.
Если уж так доподлинно выяснилось, что на вентилок идёт 19,5 до 24,3 Вольт (что очень станно - такой малый разброс от мин. до макс.) - то сдвинуть уровни и значениями от 0 до 4,8В управлять ШИМом
Малый разброс - мне тоже странно, но исхожу из того, что кажет осцилограф. Сдвинуть уровни - похоже это решение. Можете ли порекомендовать схему решения?
Я пока дошел до гипотезы, что можно:
1. читать этот уровень в аналоговый порт микроконтроллера через делитель,
2. определять долю времени, когда уровень максимальный (условно 24В),
3. пересчитывать скважность (сейчас из 10 милисекунд при минимальных оборотах
8 - это максимальный уровень), чтобы коэффициент заполнения менялся от 0 до 100% (сейчас - от 80% до 100%)
4. и выгружать это в другой GPIO итоговым сигналом.
Если есть какое-то более оптимальное с точки зрения схемотехники и трудозатрат решение - было бы здорово его обсудить