Напишу сразу - я отчасти программист, но заканчивал ВУЗ по автоматике и системам управления. Идея создания робота на платформе обычного ПК наверняка не нова, однако я задался определённой целью при проектировании подобной системы, а именно - минимальными средствами создать роботизированную передвигающуюся платформу ПК, которой можно было бы управлять. Потенциальные коммерческие цели оглашать не буду На первый взгляд всё может выглядеть сложно, но мне, как программисту и человеку немного разбирающемуся в электротехнике и электронике, в принципе, всё представляется реализуемым.
Начну с объекта управления. Объект управления - это два двигателя постоянного тока 12 В от стеклоподъемников (или дворников), а также - звуковая карта и LCD монитор ПК.
Система управления. Поскольку PC - это и так, можно сказать, контроллер (с уже встроенным ЦАП и АЦП - звуковая карта, и как минимум 8 дискретными входами и выходами -LPT), то пока ограничусь и выжму все соки из имеющегося железа. Говорю сразу - я планирую сделать всю логику и " мозги" системы управления посредством программирования на языке C# (аналог java). Поскольку хотелось бюджетного решения, то пришла идея использовать звуковую карту в качестве ЦАП для широтно-импульсного управления двигателями! Идея банально проста - формируем сигнал с частотой 1000 Г и нужной скважностью и подаем его на выход звуквухи, а дальше дело техники!
Пока эксперементировал и ваял драйвера электромоторов спалил таки одну звуковуху (она стала хрипеть). На биполярных транзисторах (кт315, кт819) не смог добиться управления мощностью двигателя свыше 50%. После 50 % входной сигнал становился архи несимметричным и транзисторы просто закрывались. Причина , на мой взгляд, относительно большой базовый ток кт315, а конденсаторы на выходе звуковой карты, видимо, по закону сохранения заряда компенсируют несимметричность верхнего и нижнего мощностей полупериода переменного сигнала. Сигнал просто "заваливается" при малейшей нагрузки звуковухи. Закоротил кондёры - получалось что попало -постоянная составляющая мешала. Можно попробовать, кстати, поставить кондёры меньшим номиналом. В итоге, после нескольких вариантов драйверов на биполярных транзисторах опытным путём пришёл к решению согласования на операционном усилителе (КР544АД1А - входное сопротивление достаточно велико) и управляющем силовом транзисторе IRF3205 включенного по схеме собщим стоком. Какова была моя радость когда это всё заработало и я смог регулировать обороты от 0 до 90% электродвигателя стеклоподъёмника (ток 1.5 А). Цена вопроса такого драйвера на детали - рублей 50, теоретически нагружать можно любым двигателем постоянного тока до 100 А
Идем дальше. Для возможности реверса электромотора(а также в целях безопасности чтобы двигатель не включался самопроизвольно от небольшого потенциала на входе операционника) использовал 2 автомобильных реле на 12 В и раскачивающие транзисторы к ним (кт315). Схема - аналогична управления стеклоподъёмниками или актуаторами дверей:) Управление этими реле через LPT порт опять же программно. В итоге - двигатель может плавно пускаться, плавно останавливаться и всё это можно проделывать в обоих направлениях. Никаких специализированных плат и контроллеров! только ПК, согласующие простецкие драйвера и собственно подходящий софт (подойдёт звуковой редактор для формирования звукового сигнала или как в моём случае собственная программа).
Планирую собрать всё это в автономный корпус на шасси, поставить туда аккум от авто, преобразователь на 220в, плату wi-fi, web камеру и LCD монитор. По идее часа на 4 должно хватать заряда аккума. Не хватит - в параллель воткну еще один. Платформа получится габаритная, но так и задумываю - это должно быть больше похоже на небольшой передвигающийся мультимедийный стенд...
На данный момент ломаю голову как "правильно" приделать колёса к двигателям и собрать всё это в корпус. Движение сей платформы будет непостоянным, а больше кратковременным от нужной точки к точке с достаточно большими передыхами.
Для управления всего этого пока планируется создать клиент-серверную систему (.Net WCF, благо есть опыт) для того, чтобы удалённо по Wi-Fi можно было управлять всем этим, получать изображение c web камеры и управлять ресурсами ПК.
Подобное механизированное устройство делаю в первый раз. Буду рад выслушать предложения, а схемки собственных драйверов для согласования двигателей и звуковыхи если нужно выложу чуть позже.