Beer Bottle launched

Posted on lun. 21 décembre 2009 in Electronique, Linux

Dans mon premier post, j'avais annoncé de la programmation pour µC PIC de MICROCHIP. Et voilà, ça va faire bientôt un an qu'il n'y a rien à se mettre sous la dent. Je sais, les effets d'annonce ça tient les gens en haleine, mais là, ça commence à faire long.

Donc, chose promise, chose due, voici une série de posts sur mon occupation de ces derniers mois : Un "ordinateur de bord" pour moto (ou bien tout ce que vous voudrez qui roule, glisse, ou bien vole) sur une piste qui fait une boucle. Vu que "ordinateur de bord" ça fait vraiment pompeux, je vais me contenter de l'appeller "Beer Bottle" à partir de maintenant.

Bon, assez blablaté, voici les specs de l'engin :

  • Carte électronique de (environ) 10cm sur 7cm
  • Afficheur LCD de 4*16 caractères (2*16 aussi supporté)
  • Aucun bouton sur la carte
  • Calcul du temps au tour (le choix du capteur est laissé libre)
  • Capteur de régime moteur (capture sur le fil de la bougie)
  • 2 ports d'exentention pour des capteurs ou n'importe quoi d'autre
  • Processeur PIC 18F4550 (45MHz)
  • Connecteur USB pour la connection vers un PC
  • 2 Mbits de mémoire embarquées sur la carte pour stocker les résultats des capteurs

La partie Software présentera une interface ... pas encore définie. Comme l'ensemble du projet, elle sera très (trop) grandement inspirée parce qui se fait chez Alfano. En tout cas ça sera fait avec libusb + wxPython parce que Python c'est génial et que j'ai besoin que ça fonctionne sous Windobe en plus des traditionnels OS du bien. La GUI permettra de récupérer les infos contenues dans carte et d'afficher de zolis graphiques. Elle permettra aussi de mettre au point les préparatifs d'une course (choix des capteurs utilisés, fréquence d'échantillonage et autres joyeusetés du style).

Le firmware embarqué dans la carte sera réalisé à partir du fabuleux (et je pèse mes mots) PUF. Il s'agit en fait d'un bootloader USB qui prend en charge la plupart des détails chiants et longs relatifs au dit bus série universel. Ce serait profondément débile de s'en priver.

Un des points importants du cahier des charges est de n'utiliser pour sa conception QUE des logiciels propres :

  • Kicad pour les schémas et l'implant (au passage merci à l'équipe FreeBSD de packager les bétas)
  • PUF (sdcc+gputils) pour la partie programmation du firmware
  • wxPython pour la partie GUI (Lazarus pour le Proto)

Un proto a déjà été réalisé (c'est le machin affiché en dessous). Il lui manque évidemment quelques-unes (beaucoup) des fonctionalités de sa future grande soeur (sinon ça ne serait pas un proto). Mais il est fonctionnel à l'exception du compte tours. Les schéma et le routage ont été réalisés avec un logiciel proprio dont la descence ne m'autorise pas à citer le nom ici.

Le Proto

La partie GUI a été réalisée grâce Lazarus. Voici les traditionnels screens :

Note : la qualité pourrave des screens ci-dessous est voulue afin de faire travailler votre imagination

First Second Third

Les schéma et les codes sources sont disponibles si vous le souhaitez mais ils comportent les traditionnelles erreurs liées aux protos. Je peux fournir des schémas corrigés. Une petite demande gentille à debarge.cedric AT gmail.com devrait suffire à me convaincre (vous pouvez aussi essayer l'argent, ça marche pas mal)

Le schéma et le routage de la nouvelle version sont quasiments achevés. Reste à valider le compte tours en conditions réelles. Ensuite, en route pour l'appro des composants.

A bientôt pour de nouvelles aventures.