Всем привет,
хочу двигать 10-12 моторами (скорее всего степ моторами) с обратной связью через оптоэнкодер и концевиками, посылая команды из линукс копьютера. На мотор нужно 11 дигитальных выходных ножек, 5 дигитальных входных и 2 аналоговые ноги. Стою перед выбором, на чем это все организовать, вижу четыре варианта:
1. поставить на каждый мотор atmega328p (там как раз 18 свободных ног в дип корпусе, не считаю ком порта) а ком порт воткнуть в mega2560. В самой Arduino mega2560 есть только 4 свободных ком порта, остальные 8 проэмулировать на софтверном уровне.
2. поставить три плиски типа Terasic DE0, у каждой из которых есть 66 дигитальных и 12 аналоговых портов, соединить их между собой, а какой-нибудь интерфейс с плиски вывести на FTDI и на комп.
3. поставить 3 штуки Arduino mega2560, к каждой подключить по 4 мотора, выходы каждой из них воткнуть в USB линукс компьютера,
4. купить что-то, что бы имело 24 аналоговых и 192 дигитальные ножки, и могло бы ими очень ассинхронно дрыгать, типа какой-то правильной плисоборды.
Недостаток варианта 1 - моторы могут разползтись во время работы, что не есть хорошо + проблемы по организации 12 ком портов с Arduino mega2560.
Недостаток варианта 2 - не очень тривиально все это запрограммировать, хотя, думаю, я бы смог бы,
Недостаток варианта 3 - может не хватить ресурсов Arduino mega2560 чтобы организовать все необходимые обработки ввода вывода на моторы,
Недостаток варианта 4 - не знаю что бы это могло быть

Посоветуйте, пожалуйста, к чему склоняться, что выбрать, возможно есть еще более разумные варианты?
Хочется быстро, не очень дорого, и, по возможности, без паяния плат с плисками и цплд, и без бга корпусов.
Спасибо
ИИВ