Contrôleur CNC ZEPTO

Développé dans le but de contrôler des machines de découpe CNC, ce contrôleur apporte toute la puissance d’un OS temps réel tout en gardant une contrainte de taille réduite.

Plus d’infos ci-dessous sur Github.

Les technos employées

Développement C/C++ embarqué

c++_logo

Le contrôleur (ZEPTO MPG) intègre 1 µC STM32. Il gère les touches de la manette de contrôle. Un second stm32, situé sur la carte ZEPTO CTRL permet de piloter toutes les IOs, la gestion des moteurs et de la sécurité.

Une classe USB keyboard a été implémentée dans le premier µC et relié au CPU imx6 via USB.

Idem pour le second µC qui gère les IOs, une classe CDC a été implémentée et relié directement au CPU imx6.

Les deux classes USB sont gérées sous LINUX dans l’imx6.

Un schéma vaut mieux que de longs discours.

Développement C++ / QT

qt_logo

L’utilisation d’un SOM de chez Toradex, simplifie grandement le design et donc le PCB. Seulement 4 couches et beaucoup d’espace de travail comme le montre les photos ci-dessous. Pas de contraintes particulières sur ce design, si ce n’est les paires différentielles USB et ETHERNET.

Une grosse partie des widgets QT ont été refaits afin de respecter la charte graphique.

Un “morceau” d’open CV a été récupéré afin de faire de la détection de forme via une caméra IDS sur port ethernet. Cela permet entre autres de pouvoir corriger un alignement et de réajuster une rotation et un offset.

Le plus gros du travail de développement a été d’intégrer un debuggueur LUA via eclipse (dernière image), car le contrôleur doit pouvoir être programmé suivant un programme GCode, mais aussi de manière à être utilisé comme un PLC (automate programmable) afin d’exécuter certaines tâches en parallèle.

Electronique

altium_logo

L’utilisation d’un SOM simplifie grandement le design et donc le PCB. Seulement 4 couches et beaucoup d’espace de travail comme le montre les photos ci-dessous. Pas de contraintes particulières sur ce design, si ce n’est les paires diffrérentielles USB et ETHERNET.

 

Mécanique

fusion360_logo

Trois boitiers ont été développés. Le boitier de la manette de contrôle, avec des protos en impression 3D et 2 boitiers en alu avec pliage sur presse Promecam 1250 que j’ai encore en ma possession pour des protos. Les tôle alu (3mm et 1mm) ont été découpées au laser.

Intéressé par ce projet ?
Contactez moi

contact@technosar.com