Я вставлю свои 5 копеек:
Не понятно зачем тут ШД, там хватит серво. При чем сервопривод можно сделать из обыкновенного электродвигателя и резистора.
Управление, когда не через библиотеку, осуществляю следующим образом, в цикле кручу двигатель например 100мс потом останавливаю и проверяю угол(аналоговый сигнал с резистора), потом кручу дальше и т.д. Чем дольше крутишь двигатель в каждой итерации цикла, тем быстрее происходит движение механизма, но тем менее точно устанавливается угол.
Так же на скорость двигателя влияет Вывод через ком порт(Serial). Если нет вывода крутится гораздо быстрее.
Так вот, есть вариант(а по закону Мура значит проскочишь однозначно) проскочить данный угол, если в цикле условие на четкое равенство. Нужно делать, больше-или-равно или меньше-или-равно.