• # Carte embarqué

    Posté par (site web personnel) . En réponse au message Débuts en Robotique. Évalué à 2.

    Salut !

    Déjà, les 2 cartes que tu cite ne sont pas du tout équivalentes:
    La première est basé sur un microcontrolleur AVR (mega8), qui ne peux pas faire tourner Linux, mais qui conviendrais bien pour des petits projet. Il existe des micro OS pour ceux-la, tel que AVRX (http://barello.net/avrx/), utilisé en robotique.
    Par contre, aucun traitements algorithmique lourd ne pourra être fait.
    L'avantage, c'est que ca consome très peu de courant, important quand le robot est sur batterie.

    La seconde est une vrai carte mère, (je la connais bien, je travaille avec), similaire en terme de performances a un petit pentium.
    Elle supporte linux sans problèmes, elle a certe très peu de flash embarqué (4Mo) mais les 2 ports USB permettent d'y brancher des clé USB, et de s'affranchir de la limitation de taille. La Ram est suffisante.

    Il faut bien voir que c'est 2 facons TRES différentes de programmer : Dans le 1er cas tu disposes de quelques Ko de RAM et Flash, il n'y a pas de notions de processus. A mon avis, c'est TRES bien pour apprendre, pour voir "comment ca marche". Par contre, tu va mettre plus longtemps pour obtenir des résultat, la programmation étant plus difficile.

    Dans le 2eme cas (FOX), tu programmeras comme d'habitude, en C sous linux, et tu aura a disposition plus de puissance de calcul, suffisante par exemple pour utiliser une webcam USB et faire un petit algo d'extraction de contours pour la détection d'obstacles.

    Dans les 2 cas, l'électronique à fabriquer autour sera sensiblement la même, étant donné que les 2 cartes disposent des ports séries, GPIO, SPI... nécéssaire (La carte FOX a plus de broches, c'est tout)

    Pour relier les capteurs et actionneurs, le port série est déjà un peu complexe: En général, tu partirais plutot sur des éléments discret (capteurs ON/OFF, servomoteurs...) ou bien à la rigeur des bus genre SPI ou I2C, c'est le plus simple et le moins cher.

    Perso, je me suis fait une carte qui possède les 2 types:
    La carte fox s'occupe de la partie Logique, calculs, controle utilisateur, etc " et le controlleur AVR s'occupe plutot des détails de releve des capteurs et du controle moteur.
    Les 2 sont reliés par un bus SPI bidirectionel.

    La carte ARMADEUS du post ci-dessus ressemblerais plus à la carte FOX, mais sans les composants externes (RJ45, USB...) qu'il faudra donc rajouter. Elle est plus petite, plus rapide, plus chère, et dispose de connecteurs Hirose pas très pratiques pour de la robotique. Elle a une FPGA interne qui, bien que difficile a programmer, est vraiment génial pour executer des algorithmes complexe très rapidement.

    Dans le même genre, tu as les Gumstix (http://www.gumstix.com/platforms.html)

    Au final, tout dépend de la complexité requise du robot, des possibilités qu'il aura, et du temps que tu as pour dévelloper le soft.
    (Pour un simple robot marcheur qui évite les obstacles, la 1ere carte est OK.
    Si tu veux en plus mémoriser un trajet, y relier un GPS ou une webcam, il te faudra la 2eme carte)

    Voila, hésite pas a me contacter si tu as besoin de précisions.

    OB