1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

LinuxCNC tourne sur la carte BeagleBone Black

Discussion dans 'EMC2 / LinuxCNC' créé par Marc PELTIER, 9 Octobre 2013.

  1. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Bonsoir à tous!

    Je voulais signaler que LinuxCNC (Emc2) tourne désormais sur la carte BeagleBone Black (45€). Il semble que les premières applications ne concernent que des axes PAP sur des imprimantes 3D. Mais comme LinuxCNC est capable de gérer directement des boucles d'asservissement, cela ouvre des possibilités pour créer des systèmes économiques avec axes sur servos, gérés directement par LinuxCNC.
    http://bb-lcnc.blogspot.fr/

    N'étant pas un cador de la programmation de micro-contrôleurs, je pensais déléguer le décodage des signaux en quadrature à un circuit spécialisé, comme celui-ci :
    http://www.robogaia.com/two-axis-encoder-counter-mega-shield-version-2.html , mais cette approche est contradictoire avec la recherche d'économie. Je pense que la carte BeagleBone devrait pouvoir gérer efficacement les signaux en quadrature de nombreux axes, notamment grâce à son coprocesseur PRU, qui, dans le portage cité ci-dessus, prend déjà en charge les tâches temps réel de Linux/LinuxCNC.

    L'objectif est de disposer d'une solution complète à servos, encore moins chère que celle à moteurs PAP, pour nos petites machines (hors moteurs/encodeurs, bien sûr, mais il y a la récup', et ebay...). Pour info, la carte BeagleBone gère aussi les périphériques permettant d'assurer l'autonomie du système (vidéo, usb hôte, Ethernet...).

    Qu'est-ce que ça vous dit ?
     
    Dernière édition par un modérateur: 16 Avril 2015
  2. nopxor

    nopxor Compagnon

    Messages:
    1 364
    Inscrit:
    27 Mai 2010
    Localité:
    Yvelines
    LinuxCNC tourne sur la carte BeagleBone Black
    Bonsoir,

    La carte BBB présente beaucoup d'atouts. La Cubieboard2 (double core) a l'air pas mal aussi avec son port Sata et 1 Giga de RAM.
    Leur grand nombre de pins I/O (92 et 96) est très intéressant.
    Il faudrait faire des test de latence pour voir leur capacité à faire tourner LinuxCNC sur d'autres cibles que les imprimantes 3D.
     
  3. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Je ne connaissais pas la Cubieboard2. Merci pour l'info!

    Il est certain que l'on verra fleurir de nombreuses cartes d'ordinateurs complets sous Linux ou Androïd, très peu chers, au format carte de crédit. Après tout, on peut les voir comme des smartphones sans écran ni périphériques gadgets. Certaines de ces cartes, comme Raspberry Pi, semblent orientées vers l'image (flux vidéo HD, caméra dediée...). La Cubieboard semble apte à se placer comme système informatique universel très compétitif.

    Ce qui fait l'intérêt de la BBB, à mon avis, c'est la position d'équilibre entre la carte hardware exposant pas loin de 90 pins d'entrées/sorties avec tout le confort moderne, et le système informatique disposant, lui aussi, de tout le confort. Au prix modique où elle est vendue (45€), c'est une excellente alternative pour LinuxCNC, par rapport aux ordinateurs obsolètes avec port(s) parallèle(s) habituellement utilisés.

    Pour ce qui est de la latence, si j'ai bien compris de ce que j'ai lu, le portage du noyau temps réel sur BBB a mobilisé un coprocesseur dédié présent dans le processeur de la BBB, appelé PRU, avec des résultats foudroyants. Le PRU tourne à 200 MHz (dans un processeur ARM Cortex-A8 à 1 GHz), en n'utilisant que des instructions exécutables en un seul cycle. Une fréquence de pas de 50 KHz ne semble pas poser de problème, sans FPGA ni rien d'autre que la carte BBB elle-même. L'architecture est exposée ici :
    http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/22/bbb--working-with-the-pru-icssprussv2

    L'avantage déterminant est aussi, évidemment, que tout ce travail de portage du kernel temps réel a déjà été fait sur BBB, et reste à faire sur les autres, ce qui ne semble pas trivial.

    Je reviens donc à ma question : est-ce que quelqu'un se sent les compétences pour programmer des compteurs d'encodeurs en quadrature, gérés en temps réel, dans le PRU d'une BBB? Il n'y a que cela qui sépare la carte à L298 que je viens d'acheter pour 5€ sur ebay, d'un driver tout ce qu'il y a de performant pour deux axes asservis... :smt002
     
    Dernière édition par un modérateur: 16 Avril 2015
  4. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Je me réponds à moi-même.
    En fait, il semble que LinuxCNC intègre déjà une fonction appelée encoder, qui fait l'analyse de deux signaux en quadrature (jusqu'à 8 canaux simultanés), et peut fournir, entre autres, l'état d'un compteur en binaire, une position mise à l'échelle en virgule flottante, ou encore une valeur de vitesse en virgule flottante. http://linuxcnc.org/docs/html/man/man9/encoder.9.html

    Je vais donc essayer de faire fonctionner un système minimum à deux axes comme esquissé ci-dessous.
    BBB_LinuxCNC.jpg
    Toute aide ou conseil des experts émérites de ce forum est évidemment bienvenue.
    Merci d'avance !
     
    Dernière édition par un modérateur: 16 Avril 2015
  5. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Bonjour,

    Je continue ma documentation sur BeagleBone Black supportant LinuxCNC:
    La carte d'interface BeBopr Plus regroupe tous les drivers hardware pour piloter une imprimante 3D (dont 5 axes en pas-à-pas).

    Pour répondre au souci de nopxor à propos de la vitesse, la combinaison BBB + BeBopr débite les pas à 60kHz sur tous les axes simultanément. C'est plus du double de ce que j'obtiens sur mon vieux PC actuellement, avec trois axes.

    Pas mal, je trouve...
    A +
     
  6. nopxor

    nopxor Compagnon

    Messages:
    1 364
    Inscrit:
    27 Mai 2010
    Localité:
    Yvelines
    LinuxCNC tourne sur la carte BeagleBone Black
    Bonjour,

    Oui c'est impressionnant.
    Seul bémol, la carte tampon BeBoPr coûte 3 fois le prix de la BBB... Cela fait cher les connecteurs.
    Cela vaut peut être le coup d'attendre que les chinois sortent une breakboard dédiée à 10€ , ou de sortir son fer à souder.
     
  7. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Je suis d'accord, ce n'est pas la solution à suivre immédiatement. Je ne la citais qu'à cause des performances.

    Sinon, il y a aussi eu l'adaptation d'une RAMPS (shield d'arduino très utilisé sur les imprimantes 3D) à la BBB, en prenant garde aux quelques signaux qu'il faut convertir de 3,3 à 5V.
    L'adaptation publiée utilise une carte intermédiaire, mais on peut imaginer de câbler à la main la vingtaine de signaux nécessaires, ce n'est pas hors d'échelle...
     
  8. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Suite du feuilleton LinuxCNC sur BBB :

    Le consortium Arduino avait annoncé début octobre la carte Arduino TRE, qui semble être le fruit des amours d'une carte Arduino Méga et d'une carte BBB. Les organisations BeagleBoard et Arduino ont collaboré à la conception.
    http://arduino.cc/en/Main/ArduinoBoardTre

    Le même processeur TI Sitara à 1 GHz, avec ses deux co-processeurs PRU spécialisés dans les tâches temps réel, est utilisé aussi bien sur la BBB que sur l'Arduino TRE, qui semble cumuler les standards de broches de l'Arduino et de la BBB. Cela signifie que l'on pourra probablement insérer, sans autre forme de procès, une carte RAMPS (5 axes pour moteurs PàP <2,5A + 3 voies PWM 7A + 3 entrées analogiques + 6 fins de course). Ces cartes sont archi-éprouvées dans le monde des imprimantes 3D.

    On ne connait pas encore le prix de l'Arduino TRE, mais, comme on trouve aujourd'hui sur Ebay des cartes RAMPS complètes à 50€, on disposera probablement au printemps 2014 d'une solution électronique complète pour 5 axes sous LinuxCNC, avec des performances à faire rêver, à guère plus de 100€.

    A ce prix-là, je vais tout numériser dans l'atelier, même les tournevis ! :lol:
     
    Dernière édition par un modérateur: 16 Avril 2015
  9. amorgen

    amorgen Nouveau

    Messages:
    9
    Inscrit:
    15 Novembre 2013
    Localité:
    sud
    LinuxCNC tourne sur la carte BeagleBone Black
    C'est tout à fait ce que je recherche pour mon projet CNC.
    A terme la solution des vieux pc avec port parallele ne sera plus viable (ça fait longtemps que je n'ai plus cette connectique chez moi).
    Et sur auduino faut quand meme un pc pour streamer.
    Hâte de voir des retour de portiques pilotés par arduino Tre !
    cdlt
     
  10. tranquille

    tranquille Compagnon

    Messages:
    4 169
    Inscrit:
    12 Avril 2008
    Localité:
    Aveyron - France
    LinuxCNC tourne sur la carte BeagleBone Black
    Bizarre que ce post ne soit pas plus suivi, il y a de la bonne nouveauté là dedans

    Merci à Marc Peltier de nous faire partager ses avancées
     
  11. coredump

    coredump Compagnon

    Messages:
    3 409
    Inscrit:
    8 Janvier 2007
    Localité:
    Côte d'azur
    LinuxCNC tourne sur la carte BeagleBone Black
    Très intéressant, même si il faut tempérer la pérennité de telles cartes car les processeurs utilisés ont tendances a avoir des cycles de vie très court (entre 2 et 4 ans max).
    Pour info j'ai été très étonné de voir un header pour port parallèle sur une carte mère intel très récente, comme quoi il n'est toujours pas mort.

    Ce qui serait encore plus intéressant c'est d'avoir des cartes de pilotages de moteurs CC aussi performantes que les cartes MESA mais avec une interface adaptée a ce genre de carte (SPI, I2C ou autre).
     
  12. ATV325

    ATV325 Compagnon

    Messages:
    2 277
    Inscrit:
    14 Décembre 2010
    LinuxCNC tourne sur la carte BeagleBone Black
    en même temps, écrire en langage ésotérique ne permet pas au plus grand nombre de s'y intéresser ... !!!
     
  13. tranquille

    tranquille Compagnon

    Messages:
    4 169
    Inscrit:
    12 Avril 2008
    Localité:
    Aveyron - France
    LinuxCNC tourne sur la carte BeagleBone Black
    Je pense que je n'y pige pas beaucoup plus que toi, mais je sens bien une avancée technologique dans ces cartes CPU qui reçoivent une version de LinuxCNC

    Comme dit plus haut, il faut s'affranchir de ce port parallèle, avec Linux ou sans
    Partir sur une CNC toute neuve et travailler avec un vieux PC sous XP qui peut tomber en rade dans quelques temps sans rien pour le remplacer, ce n'est pas bon
    "une chaine résiste comme son maillon le plus faible"
    On se rapproche d'une électronique embarquée à laquelle on donne une carte mémoire chargée avec un programme GCODE

    Avoir un ordi à l'atelier, c'est pas évident, avoir une CNC dans son bureau non plus
     
  14. Marc PELTIER

    Marc PELTIER Apprenti

    Messages:
    246
    Inscrit:
    1 Juin 2010
    Localité:
    89500
    LinuxCNC tourne sur la carte BeagleBone Black
    Bonsoir à tous!
    Suite du feuilleton LinuxCNC sur BeagleBone Black (BBB) :

    http://webshop.juve.ro/index.php?main_page=product_info&cPath=1_2&products_id=1&zenid=qEnZoA1xvCCOSFq2o1CGm2

    Il s'agit d'une carte d'interface entre la BBB et un port parallèle DB25 et/ou des connecteurs regroupant les signaux destinés à des drivers de moteurs séparés. La carte distribue les signaux pour quatre axes via le port parallèle, ou six axes par six connecteurs indépendants. Elle est vendue 22€.

    Traduction :
    1 - On peut désormais brancher (22€), sur une BBB (45€), une carte chinoise 4 axes à TB6550 (45€), pour faire tourner LinuxCNC. Chic et pas cher!
    2 - Ou bien on peut construire un système avec des drivers de moteurs séparés, d'ampérage quelconque, jusqu'à six axes. Carrément pro !

    Dans les deux cas, la carte BBB, au format carte de crédit, remplace très avantageusement le gros ordinateur obsolète et poussif qui peinait à générer les pas à vitesse suffisante. Là, on parle de 60 kHz sur tous les axes simultanément...

    Je viens de recevoir ma BBB, et bien que je n'aie pas beaucoup de temps pour expérimenter, il devrait y avoir des nouvelles bientôt.
     
    Dernière édition par un modérateur: 16 Avril 2015
  15. Laurent_CNC

    Laurent_CNC Apprenti

    Messages:
    234
    Inscrit:
    26 Avril 2012
    LinuxCNC tourne sur la carte BeagleBone Black
    Bonjour Marc, et merci pour les nouvelles.

    Vivement les réponses du Latency Test !

    Par contre, prendre une carte chinoise à base de TB6600, c'est la nouvelle génération beaucoup mieux. J'ai ça sur mon Haulin transformé et je verrais bien un Raspberry à la place de mon gros PC...

    Laurent
     
Chargement...

Partager cette page