Посмотрите на рисунок.
Допустим, у нас мотор, делающий на оборот всего четыре шага. Каждая из двух обмоток образует на статоре пару полюсов, а их расположение будет зависеть от того, в какой полярности обмотка запитана в данный момент. Ротор - постоянный магнит, с фиксированными полюсами.
1. Подаём ток на первую обмотку. Ротор встаёт вертикально, ориентируясь по магнитному полю (разноимённые полюса притягиваются - первая позиция).
2. Подаём ток на вторую обмотку, и одновременно снимаем с первой. Ротор, повинуясь законам магнетизма, шагнул на 90° по часовой стрелке, встав горизонтально. А если концы второй обмотки поменять местами, то, вполне ожидаемо, шагнёт против часовой (нижний ряд на рисунке).
3. Снова подаём ток на первую обмотку (со второй снимаем), но (!!!) на этот раз в обратной полярности - внимательно смотрите на разницу в расположении полюсов статора на первой и третьей позициях. Мотор сделает ещё шаг по часовой (ну или против часовой, если концы второй обмотки были подключены по-другому - смотрим нижний ряд), и снова встанет вертикально. Задача драйвера - как раз и состоит в том, чтобы не просто поочерёдно запитывать обмотки, но и каждый раз менять на них полярность питания.
4. Снова даём ток на вторую обмотку, но так же меняя его полярность. Мотор шагает ещё раз, ставя ротор в горизонтальное положение.
5. Даём на первую в той же полярности, что и в первый раз (первая позиция на рисунке). Мотор, сделав четыре шага, совершил полный оборот.
Думаю, дальше всё понятно. Суть в том, что на каждую из двух обмоток ток подаётся со сменой полярности через раз. Это и заставляет шаговый мотор крутиться, а не дрыгаться на месте.