Je ne comprend pas une chose :
Pour tes moteurs, tu indiques le lien d'un kit moteur + driver. Et tu indique aussi une carte HAT qui a également un driver. cela fait 2 drivers. On ne comprend plus ce que tu veux faire.
Deuxième interrogation. GRBL ne gère pas le temps réel. GRBL pilote une carte Arduino, et c'est le microcontrôleur (sur l’Arduino, c'est un contrôleur, pas un processeur, et c'est sans système d'exploitation) qui assure le temps réel. En Pytho, qu'est-ce que tu veux faire, la sur-couche applicative ou le pilotage temps réel ?
Pour l'alimentation, c'est très simple :
Pour la tension V : tu regardes la tension max acceptable par le driver. Tu choisies une alim avec cette tension moins une marge (par exemple, les 3/4 de la tension max)
Pour le courant I : Tu regarde le couple en N.m et tu multiplie par 100, cela te donne environ la puissance du moteur en W. Tu multiplies par le nombre de moteurs, tu divises par la tension V de l'alim, cela te donne un courant en ampère. Tu choisis une alim qui a au moins ce courant, plus une marge d'environ 20%.
En général, on n'a pas la courbe couple/vitesse des moteurs, ou leur puissance. C'est pour cela que je prend le couple de maintien multiplié par 100. C'est la puissance comme si le couple à l’arrêt était maintenu jusqu'à 1000 tr/min (100 c'est environ 2.pi.1000/60), cela donne une vague idée du la puissance moteur. Mais si on a les courbes, alors bien sur il faut regarder les courbes.
Ça, c'est pour la théorie. Ceci dit, tu peux bien utiliser une alim très surdimensionnée comme proposée par certain plus haut. Vu les petites puissances de tes moteurs, tu ne perdra pas beaucoup de sous. Si tu veux juste un truc qui bouge, une alim de PC avec son 12 V fait l'affaire. Si tu veux un truc dynamique, qui fait des mouvements rapides, il faut monter en tension à la limite de ton drivers que tu as mis en lien. Et là, mieux vaut ne pas trop surdimensionner pour économiser son argent.
Bonne suite pour ton projet en Python.