Je vais rajouter mon grain de sel parce que j'ai vu passer quelques malentendus.
De nos jours, les moteurs pas-à-pas sont pratiquement toujours gérés en mode micro-pas, ce qui rend la question de la fréquence maximale de génération des pas assez critique. Si l'on veut utiliser 256 micro-pas par pas, ce qui réduit drastiquement les soucis de résonance et de bruit, il faut une fréquence de pas 256 fois supérieure, ce n'est pas rien. En général, on bute sur une fréquence maximale que l'électro/informatique peut gérer, et quand on compare avec la vitesse physique que ça donne sur la machine, on se rend compte qu'il faut se contenter d'un mode micro-pas qui donnera plus de bruit et de problèmes.
En première approximation, on peut donc classer la pertinence d'un système informatique pour la CNC, selon la fréquence de pas qu'il est capable de générer, et ça n'a rien à voir avec la puissance informatique pure.
Pour fixer les idées, voici les ordres de grandeur :
PC Windows (quelle que soit la puissance informatique) sortant les signaux sur un port parallèle : 15 à 40 kHz, généralement entre 20 et 30 kHz.
Arduino Mega tournant GBRL : 30 à 50 kHz
Carte spécialisée Smoothieboard : 100 kHz
Carte spécialisée DuetWifi : 180 kHz
BeagleBone Black avec MachineKit : 300 kHz (1 à 2 MHz avec programmation spéciale)
PC Windows avec une carte industrielle MESA ou similaire : 10 MHz
On se retrouve donc avec le paradoxe que le simple Arduino, dont le programme s'exécute de façon déterministe, fait mieux qu'une machine multitâches puissante, mais dont le timing n'est pas déterministe, de sorte que l'on doit se contenter d'une notion de "temps de latence" minimum sur lequel on pourra plus ou moins compter, et faire avec.
Bien sûr, pour faire marcher une CNC dans la vraie vie, un système informatique moderne, avec sous-système graphique et réseau, est en pratique indispensable. La solution est donc évidente : la génération des pas doit être confiée à un sous-système spécialisé au timing déterministe, tout comme la génération des graphiques ou du son. C'est l'architecture des cartes industrielle MESA, qui donnent des performances époustouflantes.
Ce qui fait l'intérêt du BeagleBone Black, c'est qu'il reproduit nativement cette architecture optimale, en embarquant deux exemplaires d'un sous-système, vraiment fait pour ça, et très efficace : les PRUs, qui tournent à 200 MHz avec des instructions sur un seul cycle : ça dépote ! Moins qu'une carte MESA, mais ça dépote !
Si l'on veut faire la même chose avec un Raspberry, même très puissant, il faudra aussi déléguer la gestion des signaux de pas à un sous-système, ici un PIC32 sur une carte fille. Si l'on est un passionné aficionado du Raspi, pourquoi pas, mais ça n'est pas compétitif par rapport au BBB, à mon avis, quel que soit le critère.
En tout cas, si ça doit obliger à passer par un antique port parallèle DB25, limité de tous les côtés, très peu pour moi !