Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Next Level Maker : RétroFit et Contrôler une VW Polo avec Raspberry-Pi et Arduino

Bonjour à tous,

Enfermez des Makers dans un garage avec une VW Polo et voilà qu'ils décident de RetroFitter la Polo! 

Découvrez donc les aventures de Loïc, Thibault et Marc... des Makers avec des idées démesurées pour un projet hors normes. Merci à eux de partager leur expérience!

Qu'est-ce que le RetroFit ?

C'est une opération qui consiste à enlever le moteur thermique et le réservoir d'un véhicule pour remplacer le tout avec un moteur électrique et des batteries.


Grâce à Internet, il est aujourd'hui possible d'acheter des moteurs électriques de voiture, les batteries ad-hoc et même le BMS (gestion d'alimentation et contrôle moteur).

Ne vous attendez à des colis style Amazon mais plutôt à des livraisons au transpalette!

Piloter une Polo avec des Raspberry-Pi et des Arduino

Dans l'univers des Makers, il arrive régulièrement qu'on y croise des personnes aux idées qu'on pourrait parfois qualifier de farfelues... Loïc, Thibault et Marc entrent probablement dans cette catégorie de personnes qui décident de passer leur temps libre sur des projets inhabituels.

Ils se sont mis pour défi de prendre une Volkswagen Polo de 2007, d'y mettre un moteur électrique de Nissan Leaf de 2013 à l'intérieur, une batterie de Nissan nv200 et de modifier la polo pour la préparer en vue d'une conduite autonome en milieu contrôlé, rien que ça...

Un projet issu d'une réflexion sur la durabilité des véhicules

Le Retrofit de véhicule est présenté comme une des solutions possibles à la décarbonation du transport individuel. 

Le RetroFit permet de capitaliser sur l'empreinte carbone déjà existante du véhicule thermique en partant de l'hypothèse que le modifier pour rouler en électrique aura une empreinte carbone moins importante que d'acheter un tout nouveau véhicule électrique (et envoyer le véhicule existant à la casse).

Le terme "RetroFit" est également utilisé dans d'autres contextes, notamment pour l'augmentation d'engins de chantier ou agricoles avec de nouvelles technologies, comme par exemple de la conduite autonome, avec ou sans électrification de la motorisation, ou encore dans l'amélioration/conversion de machines lourdes industrielles, fixes ou mobiles.

La question que Loïc, Thibault et Marc se sont posée est la suivante: 

En pratique, quel est le coût et l'effort nécessaire pour le rétrofit d'un véhicule, que ce soit en terme de modifications mécaniques, logicielles et/ou technologiques au sens large, afin de l'amener au niveau des véhicules actuels ?". Avec une autre sous-question: "Est-ce que cela en vaut vraiment la peine ?

La question de la viabilité économique du RetroFit d'un véhicule est un sujet d'actualité. Bien que populaire dans certains pays pour la conversion de voitures personnelles qualifiées d'ancêtres, la question reste ouverte pour les véhicules plus récents sans oublier les véhicules plus lourds (camions, engins de chantiers, engins agricoles, bateaux).

Que l'on RetroFit n'importe quel véhicule, la démarche reste la même, mais l'espace et l'outillage nécessaire peuvent changer... Pour cette petite équipe de Makers, il était plus simple de travailler dans une garage sur une citadine que sur un semi-remorque.

Des choix techniques

Un des obstacles lorsque l'on change les composants d'une voiture par d'autres qui n'étaient pas prévus à l'origine, c'est de les faire communiquer ensembles...
Par chance, en 2007, une quantité importante de fonctions de la voiture communiquaient déjà sur un bus de communication toujours d'usage aujourd'hui, le bus de données CAN.

Le bus CAN est utilisé principalement dans l'automobile mais se rencontre aussi dans la plupart des machines industrielles et l'aéronautique.

Dans l'exemple qui nous occupe: placer un moteur électrique de Nissan dans une Polo  laisse entrevoir les premières incompatibilités. Les messages que la Polo échange sur son bus de données sont différents de ceux attendus par le moteur Nissan et vice versa. Il est donc nécessaire de créer un système de "traduction" entre les deux permettant à ces composants de s'échanger des informations. Tout composant ajouté à la voiture, et qui n'est pas supporté par celui-ci, doit passer par ce système de traduction.

Ce système de traduction est créé avec des Raspberry-Pi 4 et des Arduino R4 ! 

Une bonne dose de  rétro-ingénierie a été nécessaire pour identifier les messages CAN a supporter sur leur système. Les constructeurs n'étant pas très enclin à partager la documentation de ces messages avec le grand public !

Ainsi est né le projet OVCS : Open Vehicule Control System! 

Leur plateforme OVCS est composés de plusieurs éléments:

  • Le VMS : Vehicle Management System qui est le cerveau et s'occupe de la traduction et du routage des messages vers les bus de communications concernés. Tous les composants existants de la voiture y sont connectés, ainsi que les contrôleurs et l'infotainment.
  • Les contrôleurs : ils permettent d'augmenter des fonctions analogiques et/ou digitales de la voiture qui peuvent être ajoutés sur le bus de communication. Par exemple, permettre à la pédale analogique d'accélération de la Polo d'envoyer des messages sur le bus CAN. Ces contrôleurs peuvent aussi activer les relais de charge et de pré-charge du moteur.
  • L'infotainment : est un module optionnel qui permet d'ajouter un écran tactile. Cet écran fourni des informations utiles au conducteur et permettra de configurer des paramètres du véhicule. L'infotainment est également une interface de choix pour visualiser des informations de diagnostic.

 Le projet OVCS combine donc plusieurs bus de données agrégés par le VMS (Vehicule Management System), une architecture qui ressemble à ceci

Architecture du projet OCVS

Le VMS est constitué de:

  • 3x Raspberry-PI 4 (pour assurer de la redondance dans le futur)
  • 1x "hub" SPI fait maison permettant d'y connecter jusqu'à 12 bus de données CAN grâce à des MCP2518fd
  • 1x alimentation faite maison pour le tout

Les contrôleurs sont constitués de:

  • 1x Arduino R4 Minima
  • 1x module SPI CAN (mcp2515)

VMS à l'étape de prototype

Gros plan sur les Raspberry-Pi (aussi visible sur la gauche du panneau ci-dessus)


Les firmwares des Rasbpberry-Pi sont développés sur une plateforme appelée Nerves qui utilise un langage de haut niveau, basé sur Erlang et appelé Elixir.

Elixir est un langage particulièrement adapté à leur cas grâce au concept de programmation appelé "pattern-matching" (filtrage par motif) idéal pour le traitement des messages CAN envoyés en continu sur le bus.

Le code source d'OVCS est disponible sur le dépôt github d'OVCS.

Enfin pour gérer la charge et la décharge de la batterie, l'équipe s'est rabattue sur un Battery Management System Orion configurable (aussi appelé BMS).
Il est assez incroyable de pouvoir acheter un tel dispositif directement sur Internet.

Les modifications mécaniques

Trouver le moteur électrique qui pouvait rentrer correctement dans l'espace laissé disponible une fois le moteur diesel retiré n'aura certainement pas été chose facile.

Au delà de la problématique des échanges de données entre les composants de  marques différentes, il reste la question de la connexion physique. 


En effet, un moteur de Nissan n'aura pas les mêmes fixations de châssis que ceux disponibles dans la Polo pour son moteur diesel.

Le nouveau moteur n'a pas la même empreinte que l'ancien et est donc physiquement incompatible avec la boîte de vitesse de la Polo. Il faut fabriquer des pièces sur mesure pour cette combinaison exotique.

De nouvelles fixations pour le moteur électrique ont été soudés sur le châssis de la Polo. 

Moteur électrique monté sur les nouvelles fixations de la Polo

Deux pièces de connexion "sur mesure" furent fabriquées grâce à une découpeuse CNC et un tour à métaux. 

Coupleur fabriqué spécialement pour le projet

Empreinte prototype du socle côté moteur électrique

Découpe à la CNC

Essayage sur moteur

Brasure

Il est enfin possible de connecter le moteur électrique Nissan sur la boîte de vitesse de la Polo!

Il faut maintenant considérer l'ajout du BMS et des batteries qui représentent eux aussi un volume non négligeable.


D'autres modifications et fabrications ont été nécessaires pour placer les batteries. Trois bacs en aluminium ont été fabriqués afin d’accueillir les différentes cellules et des modifications de carrosserie ont été apportées à la voiture afin de placer les 3 bacs au mieux dans l'espace disponible:

  • Le réceptacle de la roue de secours a été enlevé afin de placer 2 bacs de cellules juste en dessous de la voiture
  • Le réservoir a été enlevé afin de permettre d'y insérer le troisième bac de cellules.

Ajout des bacs à l'arrière pour les batteries

Au delà de ces changements nécessaires pour la modification, les trains avant et arrières ont été complètement rénovés et la voiture a été équipée de nouveaux freins a disque aux 4 roues ainsi que de nouvelles suspensions.

Et ça roule ?

La voiture n'est pas encore sortie du garage mais les roues tournent ! 

La plateforme développée permet de tester la communication entre tous les composants et de faire tourner les roues lorsqu'on appuie sur la pédale d'accélération.

Voyez les deux vidéos suivantes disponibles sur GitHub: 

Plusieurs adaptations ont d'ailleurs été faites afin de rendre ce RetroFit le plus "naturel" possible:

  • La clé de la polo enclenche les relais permettant au moteur de tourner
  • L'indicateur de tours par minute sur le tableau de bord de la polo affiche bien les tours par minute du moteur électrique
  • L'infotainment indique le statut de plusieurs composants (frein à main, phares , ...)

La solution est pour le moment au stade de prototype fonctionnel.

L'équipe est occupée à recâbler la voiture et y connecte batteries et composants du système afin de pouvoir sortir la voiture du garage !

Etapes vers la conduite autonome

Il reste encore du chemin à parcourir avant d'en faire un véhicule d'expérimentation de conduite autonome, et en particulier:

  • Changer la colonne de direction:
    La colonne de direction d'origine ne permet pas le contrôle électronique.
  • Changer le système de freinage:
    Dans les anciennes voitures, les servo freins utilisent la dépression créée par le moteur pour activer un piston et fournir une assistance au freinage.
    Difficile à faire avec un moteur électrique...
  • Améliorer le logiciel:
    Poursuivre le développement et s'assurer suffisamment de redondance.

Plusieurs phases de tests en milieu contrôlé permettrons de tester la voiture en conduite manuelle... et peut-être, un jour, de tester la conduite autonome !

Le coût et les efforts

L'équipe à bien entendu son avis concernant les questions du coût d'un RetroFit et des efforts nécessaires pour mener un tel projet à bien!

Le plus lourd dans un rétrofit est l'élaboration du kit de conversion en lui même. Ce kit sera compatible avec un nombre très limité de composants et de modèles de voitures. Si on compare avec toutes les combinaisons possibles de modèles, de moteurs électriques et de batteries, on se rend vite compte que la mise à l'échelle de ce genre de conversion n'est pas une mince affaire. Sur le plan écologique, la conversion d'un véhicule reste la meilleure manière de capitaliser sur son empreinte carbone existante, mais économiquement, à part dans certains cas précis et à petite échelle, il est difficile de se dire que cela vaut vraiment le coup! Pour les ancêtres c'est une autre histoire, il y a souvent un aspect émotionnel qui transcende la question du prix consenti à la conversion. Pour les véhicules plus grands ou plus onéreux, cela peut avoir plus de sens. Un semi remorque avec 25 tonnes de charge utile peut se permettre de transporter 3 tonnes de batteries, sa charge utile restant encore de 22 tonnes. Au final, c'est le rapport coût/bénéfice qui dirigera le choix de RetroFitter ou pas des véhicules lourds.

Un accès grand publique aux protocoles CAN des ancêtres

Une manière de réduire le prix de la fabrication des kits serait d'avoir un accès plus facile aux spécifications des véhicules considérés en fin de vie par leurs constructeurs (+ de 10 ans par exemple). Ainsi une documentation publique ou sur demande des messages permettant de faire fonctionner les composants utilisés (les fameux messages CAN) éviterait une fastidieuse et coûteuse phase de retro-ingénierie. Malheureusement, ce n'est pas vraiment dans l'intérêt des constructeurs de fournir ces informations mais on peut se poser cette question légitime: Si on achète un véhicule ou un composant précis, ne devrait-on pas pouvoir utiliser chaque composant individuellement comme bon nous semble ?
La situation actuelle nous paraît contradictoire avec la notion de "right to repair" qui est de plus en plus poussée au niveau Européen. Nous verrons dans quelle mesure le secteur automobile sera impacté par les futures évolutions de ce côté là.

Découvrir, apprendre et partager

Au delà de l'aspect RetroFit, ce projet est avant tout une opportunité d'apprentissage énorme. On ne peut mener à bien ce projet que si l'on est une équipe pluridisciplinaire qui maîtrise à la fois la mécanique, la fabrication, le software et le hardware. Nous avons la chance d'avoir suffisamment de connaissances dans tous ces domaines pour mener un tel à bien.
Certains payent, parfois des sommes importantes, pour assister à des formations, nous avons choisi la voie de l'apprentissage par projet ! A chaque obstacle nous discutons ensemble des options, chacun apporte sa contribution, on teste et voit ce qui marche ou pas. A ce stade, nous ne savons pas encore jusqu'où va nous mener ce projet, mais cela nous donne déjà plusieurs idées sur le genre d'activités que l'on pourrait développer par la suite. On se donne encore quelques mois avant de faire le point. Tout le travail effectué sera documenté et rendu public.

Conclusion

Pour un projet démarré en 2024, je trouve que les résultats atteint en Juin 2024 sont particulièrement impressionnant.

Nous sommes loin du petit bricolage robotique du dimanche... juste quelques niveaux au dessus de nos bricolages de Makers.

En même temps, le projet est conduit dans un modeste garage avec des moyens mécaniques qui restent financièrement abordables.

Ceci étant, se lancer dans l'achat d'un moteur électrique, des batteries et d'un BMS de voiture pour réaliser un tel projet est franchement culotté.

Merci à Marc, Thibault et Loïc pour le partage de leur projet, information, vidéo et article.
Vivement la suite!

Ressources


Deej – Le mixeur audio matériel open-source

Par : Korben
17 juin 2024 à 07:00

Vous êtes en train de jouer à votre jeu préféré, tout en discutant sur Discord avec vos potes et en écoutant votre playlist Spotify en fond, sauf que, comme d’habitude, dès que ça bastonne un peu trop dans le jeu, vous n’entendez plus vos copains qui essaient désespérément de vous avertir qu’un ennemi arrive par derrière ! Et quand vous baissez le son du jeu, c’est votre musique qui trinque… Bref, c’est toujours le bordel pour équilibrer tous les sons de vos applications !

Mais c’était sans compter sur deej, un mixeur audio matériel open-source qui va vous permettre de contrôler le volume de chaque application indépendamment, encore mieux qu’un vrai DJ en boîte de nuit ! Et le meilleur dans tout ça, c’est que vous allez pouvoir le fabriquer vous-même ! DIY powaah !

Concrètement, deej c’est un boîtier que vous allez pouvoir bidouiller, avec de vrais curseurs physiques (bien old school !) qui vont contrôler le volume de vos applis, un fader pour Spotify, un autre pour votre jeu, un troisième pour Discord… Vous mixez tout ça en live comme un pro, et hop, fini les prises de tête !

Le système est hyper simple : vous avez une carte Arduino, quelques potentiomètres, des fils et un boîtier à fabriquer. Rien de sorcier, même pour un novice en électronique comme moi ! Et si vous avez une imprimante 3D, vous pourrez même télécharger des modèles tout faits sur Thingiverse. Sinon, un bon vieux bout de carton fera l’affaire aussi !

Côté software, c’est super bien pensé aussi. Vous avez un petit programme en Go qui tourne en tâche de fond sur votre PC et qui fait le lien entre votre mixeur et vos applications. Vous pouvez configurer ça facilement via un fichier YAML, pour assigner tel curseur à tel programme. Et si vous êtes un peu geek sur les bords, vous pourrez même bidouiller le code pour ajouter des fonctionnalités.

Fini les alt-tab frénétiques pour baisser le son au bon moment, vous passerez mixage en temps réel. Bref, un projet génial, qui mixe hardware, software, bidouille et open-source. Tout ce que j’aime !

A découvrir également ici pour le tuto.

Merci à Maitre Tofu pour le partage !

❌
❌