Le triporteur amovible, un outil modulaire et accessible

Cargo Bike Attachment
(Vue avec capote de remorque.)

Le marché du vélocargo se porte bien aujourd’hui. On le constate en observant des triporteurs même dans des petites villes, comme Laval, où l’idéologie de la bagnole n’est pas nécessairement plus tenace qu’ailleurs, mais où les conditions matériels  de l’aménagement routier et de l’urbanisme n’invitent guère aux déplacements doux. Le triporteur a une capacité de charge conséquente, proche de celle de l’automobile citadine, et une motricité musculaire (éventuellement assistée par EDF, mais à hauteur de 60 à 250 Watts, contre quelques 10 à 20 000 Wh pour une voiture en ville 1). Il combine donc l’avantage du vélo et de la voiture, quand il s’agit d’aller chercher quelqu’un ou de faire des courses volumineuses.

Le vélocargo, oui, mais…

On ne va pas dédier cet article intégralement à l’éloge du vélocargo. Des centaines de pages existent déjà en ligne pour ce faire. Il y a par contre des bémols au vélocargo, qu’on n’aborde pas toujours dans ces mêmes pages :

  1.  C’est cher. Souvent quelques milliers d’euros, rarement moins de 1500-2000 euros. On peut toujours relativiser, considérer qu’un vélocargo qui remplace une voiture est vite amorti, avec l’assurance, l’essence en moins. Mais pour un ménage urbain ou péri-urbain, si ses revenus sont modestes, un tel prix pour un véhicule encore peu familier est souvent rédhibitoire.
  2. C’est encombrant. Si vous avez de la place, un garage, tant mieux. Peu de gens laissent stationné dehors et de nuit leur vélocargo. Encore inhabituel, coûteux et plus facile à voler (à l’aide d’un camion ou d’une meuleuse) qu »une voiture, ou trop aimés pour être exposé au soleil et à  la pluie ? Je ne saurai dire les motivations premières de leurs usagers, mais j’observe peu de vélocargos stationnés dehors la nuit. Même pour ceux ayant un garage, avoir dedans à la fois le vélo et le vélocargo est un encombrement supplémentaire. Je suppose que vous voyez ou je veux venir…

Cargo Bike Attachment
châssis du module, vue épurée.

Détachable, pliable, téléscopique, solaire, quand seule l’imagination peut nous limiter

Pour ces raisons il me semble pertinent d’envisager le problème autrement. Si le problème du vélo est sa capacité de charge limitée, pourquoi acquérir un autre véhicule que de la lui donner ? Pourquoi ne pas permettre au vélo qu’il soit tantôt un outil de locomotion rapide et léger, frêle et passe-partout, tantôt un triporteur certes moins versatile mais avec tout ce qu’il peut porter ? On gagne ainsi sur les deux tableaux des inconvénients cités : moins cher, puisque cela ne requiert que la fabrication du train avant et de la caisse, sans le vélo derrière, qui ne serait qu’un doublon de notre destrier habituel, triste jaloux oublié au garage. Moins encombrant, on démonte le châssis du cargo, et si possible on replie la caisse.

Pour que ce concept soit valable, il faut que ce soit simple et ergonomique. Dans l’idéal le châssis monté ou démonté en une ou deux minutes, la caisse plié en pas plus de temps. Il faut évidemment aussi que la sécurité soit là, avec une résistance éprouvée du chassis et du train avant, une géométrie propre et stable de ce dernier notamment dans les virages, et un système de freinage proportionné au poids potentiellement propulsé.

Des modèles et sources d’inspiration existent déjà, outre-atlantique, un modèle commercial pour un biporteur, comme un modèle fait maison de triporteur. Les deux existent déjà, et transmettent l’envie de fair encore mieux. Le mécanisme à chaque fois employé est le même : Deux attaches, une sous  le pdélier ou derrière lui, une autre sur la fourche avant. On enlève la roue avant, puis on pose le vélo sur le châssis du module. Un coup de boulon entre l’attache préfixée au niveau du pédalier, la fourche avant glissée dans un axe perpandiculaire à l’axe de direction à une distance préréglée et modifiable de ce dernier. L’axe de direction se prolonge ainsi par une potence qui passe à travers le tube principal du châssis, et trasnmet la direction en dessous de celui-ci aux roues. La fourche avant et cette potence modifiée servent ainsi à la fois de support du vélo et  à transmettre la direction, comme sur un vélo normal en fin de compte.

De là, l’imagination et la patience sont presque les seules limites. Si le châssis doit bien répondre à certaines contraintes de solidité et de géométrie, tout ce qui est au dessus peut se décliner de pultiples façons. On peut imaginer y mettre un caisson pliable et/ou lui  même amovible, pour un encombrement réduit à l’extrême du module une fois rangé. Les mateurs de vitesse pourront préférer sacrifier une partie de leur capacité de charge à un système de train avant à bascule, pour se pencher dans les virages presque autant que sur une bicyclette. Les cyclovoyageurs préfereront une caisse téléscopique pour en faire un couchage rapidement déployé, avec un panneau photovoltaïque pour couvrir la caisse tout en permettant de rechargeant leur batterie, pour une autonomie accure. Les artisans seraient satisfaits d’une caisse adaptée à leurs outils, facilement démontable ou déployable.

Les avantages d’une telle modularité on le voit sont multiples. C’est celle-ci qui donne au module le potentiel de prise en main, d’autonomie et de convivialité dans la mobilité, potentiel auquel on a tous le droit d’aspirer.

Code pour VAE piloté par Arduino

Publication de l’article original le 0

Capture d’écran de 2019-04-07 18-31-03
Code basique pour piloter un contrôleur de moteur pour VAE

Après des heures heureuses mais brèves de code, voici un tout premier jet opérationnel pour piloter une assistance électrique.

J’avais déjà essayé de me mettre à la tâche, mais avec des ambitions démesurées. Il fallait que tout soit bien et beau, donc j’avais même pour projet d’y intégrer directement un affichage LCD, pour voir la vitesse, le niveau des batteries, etc. Avec l’expérience, on apprend que trop vouloir, c’est aussi la voie royale vers la frustration et le découragement.  Donc d’autres fonctionnalités viendront sûrement, mais petit à petit, chaque chose en son temps.

Comment utiliser le code :

  • A télécharger sur une carte arduino ou un microcontrôleur capable de l’interpréter (AtMega328 par exemple ?) Si vous débutez, le pus simple est de passer par Arduino.
  • La carte arduino est à brancher au levier de frein, au détecteur de pédalage,  et à un potentiomètre que vous fixerez sur votre guidon dans l’idéal. S’assurer que le levier de frein pour VAE que vous avez fonctionne dans le sens du code (frein activé = pas de courant, tension nulle vers l’arduino ; sinon inversez cela dans le code)La sécurité avant tout
  • installer un driver de moteur BLDC, entre Arduino, la batterie et le moteur. Veiller à ce qu’il soit pourvu d’un radiateur suffisant pour éviter de le griller
  • trouver une façon d’alimenter votre Arduino et ce contrôleur de BLDC (ce derneir s’alimente aussi en 5V en général, ne pas confondre avec l’entrée de puissance à 24- 36-48 V !) On peut envisager un régulateur de tension partant de la batterie alimentant les deux, il faudrait en voir le rendement.
  • vérifier tout les branchements : senseurs hall, câbles de bobine moteur, alimentations, PAS, freins, potentiomètre, plus un fil de signal PWM d’arduino vers le driver BLDC.  Si ledit driver ne sait interpréter que des commandes en tension, comme c’est souvent le cas, recourir à un filtre passe bas et éventuellement un amplificateur opérationnel le redressant.
  • S’assurer que sur votre selle vous avez facilement accès au contact de la batterie avant de tester. Le code ne vous fera pas faux bond, mais on ne sait jamais ce qu’un mauvais branchement peut engendrer.

Ce que ce code fait :

Le plus simple pour le savoir est de lire le code. Même si vous n’y connaissez rien, ce sera aussi l’occasion de voir que coder en Arduino est plus facile que le mandarin. Mais je laisse au paresseux ici un résumé :

  • Le code « écoute » ce que vous êtes en train de faire : pédaler (dans le bon sens), freiner ; il regarde aussi systématiquement le niveau d’assistance que vous demandez selon la rotation du potentiomètre sur votre guidon.
  • Tant que vous pédalez ET ne freinez pas, il indique au contrôleur de moteur de tourner. Si vous freinez OU ne pédalez pas,  il lui dit de s’arrêter.
  • Il assure une certaine progressivité à l’accélération ou au freinage, jusqu’à arriver au un niveau d’assistance requis (celui indiqué par le potentiomètre, ou 0). Ce degré de progressivité peut être changé en modifiant les variables adéquates dans le code.

Ce que le code ne fait pas encore :

  • Il ne regarde pas la vitesse atteinte, et continue donc de faire tourner le moteur au delà des 25km/h réglemtaires. En l’état, il n’est pas utilisable sur la voie publique. Il va sans dire qu’il vous indique encore moins la vitesse atteinte.
  • Il n’arrête pas le moteur si votre driver BLDC ne s’arrête pas malgré une tension de signal très faible. C’est donc un inconvénient bénin avec certains drivers, de le voir continuer à tourner au ralenti.
  • Il ne mesure pas le niveau de la batterie et ne vous l’indique pas
  • Il ne sert pas le café au lit avec des pains au chocolat.
  • Il n’installe pas de virus tenaces sur les SUV alentours pour les transformer en briques.

Les améliorations à venir :

  • Prioritaire : La coupure totale et réglementaire du moteur et notamment au delà de 25km/h. Cela signifie qu’il faudra étoffer le code pour lui faire lire les signaux de tours par minute du driver. Aussi simple que ça puisse paraître, cela n’a rien de simple de faire écouter une variable tout en demeurant attentif aux autres. La coupure totale requiert aussi de contrôler l’alimentation du pilote, avec transistor ou opto-coupleur, normalement c’est simple
  • quitte à introduire ces modifications, il serait utile d’en faire bénéficier le cycliste en les affichant. Un écran LCD requiert cependant beaucoup de broches et de codes, à étudier donc sans urgence
  • indication de niveau de batterie : cela peut se faire avec un pont diviseur de tension pour en permettre la lecture dirctement par arduino, qui peut l’afficher de façon élémentaire avec des DEL, sans LCD.

Le code :

/*
Pilotage basique d’assistance électrique pour vélo.
A associer à une carte de contrôle de moteur BLDC.
Mettre entre les deux un filtre passe bas Si ce driver BLDC ne lit pas les PWM :
Le filtre doit convertir le signal PWM en signal en tension correspondant à l’amplitude lue par votre contrôleur

Assurez vous d’avoir un signal de frein concordant : tension basse quand on tire sur un des leviers de freins, et non l’inverse !

circuit:
– potentiomètre alimenté en +5V, Gnd et analog input pin 0 (A0)
– 10 Kohm resistor connected from ground to analog in pin 0 ??? A voir si nécessaire
– PAS (détecteur de pédalage) connecté : 5V, Gnd et sa sortie en 8
– freins : vers broche 9
– sortie PWM vers broche 10

Créé par Tristan Cousin le 7 avril 2019
Ce code est dans le domaine public.
*/
// These constants won’t change:
const int assistance = A0; // entrée potar niveau d’assistance
const int PAS = 8;
const int frein = 9; // broche du frein
const int sortiedriver; // broche d’émission du signal PWM (ensuite filtré passe bas pour un pilotage en tension

// These variables will change:
int pedalage; // état du pédalage (1 ou 0)
int freinage; // état du frein (1 ou 0)
int nivassist; // niveau effectif d’assistance
int cibleassist; // objectif vers lequel faire tendre l’assistance,
// tranquilement pour un pilotage moins nerveux
int nervosite = 5; // temps en milliseconde d’un cran d’ajustement du niveau d’assistance
// (à hauteur d’un 256ème de l’assistance max) vers le niveau ciblé
int nervfreinage = nervosite/2; // la vitesse de freinage est arbitrairement définie comme
// la le double de la « nervosite » à l’accélération.
void setup() {
// set the pins as output or inputs:
pinMode(sortiedriver, OUTPUT);
pinMode(frein, INPUT);
pinMode(PAS, INPUT);
}

void loop() {

// tant que les conditions sont réunies, arduino demande au pilote du moteur d’activer le moteur:
while ((digitalRead(PAS) == HIGH)&&(digitalRead(frein) == LOW))
{
fonctionassistance();
}
//le frein est activé ou le pédalier s’arrête, les conditions en sont plus réunies
cibleassist = 0;
if(nivassist>cibleassist){
int nivassist = nivassist-1;
analogWrite(sortiedriver,nivassist);
delay(nervfreinage);
};
}

void fonctionassistance() {
// faire tourner le moteur en amenant la commande de vitesse de façon progressive vers ce que demande le potar :
int cibleassist = (analogRead(assistance)/4);//l’entrée analogique va de 0 à 1023, la sortie d

//s’il faut augmenter la vitesse
if(nivassist<cibleassist){
int nivassist = (nivassist+1);
}
//s’il faut augmenter la vitesse
if(nivassist>cibleassist){
int nivassist = (nivassist-1);
}
//changer d’un cran la commande de vitesse, temporiser un peu
analogWrite(sortiedriver,nivassist);
delay(nervosite);

}

Scie pro à partir de déchets : c’est en route !

Publication de l’article d’origine le

Pour travailler correctement le métal, il faut des bons outils. Il est important notamment de pouvoir faire des découpes précises suivant des angles prédéfinies.. La tronçonneuse circulaire et la scie à ruban peuvent faire le travail, c’est sûr. Mais c’est un budget, plusieurs centaines d’euros chaque machine. Alors qu’une meuleuse, et un disque à tronçonner, ça ne coûte pas cher. Évidemment ça ne fait pas le même travail. Mais rien n’empêche d’utiliser la meuleuse en l’intégrant à un dispositif propre et précis. Vous trouverez ici la méthode que j’ai appliqué pour me faire une machine prometteuse. (je ne l’ai pas encore finie). Elle a ceci de particulier que le système de fixation de la meuleuse est articulé à une « navette » glissant le long d’un rail, ici un tube carré de 25x25mm. Ainsi on peut maintenir la rectitude d’une découpe sur une longueur aussi importante que ce rail, ce qui peut être pratique pour découper de la tôle, ou pour découper proprement un tube sur sa longueur. La réalisation n’est pas simple au premier abord, mais pas trop longue non plus quand on sait s’y prendre.

Il y a plusieurs pièces à faire, puis à assembler.

DSC00202

la fixation de la meuleuse se fait par les trous taraudés dans lesquels le manche amovible de la meuleuse peut normalement se visser. On gardera d’ailleurs ce manche pour manier la machine une fois assemblée. outes les meuleuses n’ont pas des trous identiques. Certains en ont deux, d’autres trois, certains de ces trous peuvent être alignés, ou coplanaires, ou rien du tout. Un conseil, percer des tubes aux diamètres requis, un tube par point de fixation, puis en boulonnant chacun au tube et en pivotant, étudier comment vous pourrez solidariser les deux ou trois tubes. Vous les couperez ensuite de façon à ce qu’ils laissent le moins de jeu possible dans les jointures, les zones de contacts entre les tubes, que vous souderez.

DSC00196

La navette : c’est ainsi que j’appelle le système qui coulisse le long du rail. Des tubes téléscopiques peuvent aussifaire l’affaire, certains l’ont fait et en sont satisfaits, notamment Kelly, une youtubeuse  talentueuse. J’aime couper les cheveux en quatre, mais suis aussi sceptique sur la possibilité d’avoir un mouvement à la fois fluide et sans jeu. Donc j’ai fait cette navette compliquée, en perçant quatre tubes d’une vingtaine de centimètres et en les assemblant par boulonnage de façon à obtenir un parallélépipède rectangle, les 4 tubes parallèles assemblés par 12 boulonnages. A chaque boulonnage, les deux tubes traversés sont séparés par un écrou, un roulement puis encore un écrou. Je n’ai pas réussi à être assez précis sur l’alignements des trous, mais ne vous préoccupez pas trop de cela :la précision se gagne surtout en réglant le serrage des boulons. Vous pouvez percer au forèt 10 mm pour boulonner avec des tiges de diamètre 8 mm. Veillez juste à bien serrez ensuite afin que la navette ne pivote pas du tout autour du tube-rail. Pour réduire encore le jeu, je pense à lavenir changer le rail en profilé carré par un profilé rectangulaire, et changer ce qu’on glisse dans les boulonnages de deux pans opposés de la navette : un roulement, un écrou puis un autre roulement. l’écrou sert à mettre une certaine distance entre les deux roulements, de même que les  autres écrous entre les tubes servent à centrer approximativement le roulement unique des autres boulons.

Deux roulements pourront ainsi glisser sur chacune des longueurs du rectangle, et réduisent encore plus le jeu de la navette autour du rail, pour une précision accrue.

Le pivot sera l’axe autour duquel on bascule la meuleuse et sa fixation vers le bas, le plateau de découpe. Je pensais au départ me contenter de faire un trou dans un des tubes de la navette, pour y placer un axe qui traverserait dans la foulée un levier. Ce levier serait fixé à l’attache meuleuse, on tirerait dessus pour abaisser la meuleuse. Le problème, c’est que ce boulon pivot peut avoir un jeu, et qu’il n’est pas sur déjà que les trous percés soient bien alignés , et donc que le pivot soit parallèle au plan de travail. Il faudrait rectifier cela. Quitte à devoir concevoir un mécanisme permettant de corriger tout écart  probable, il semble opportun de mettre ici un autre système de pivot, selon un axe parallèle à la navette et son rail. On corrige ainsi un probable écart, mais on établit aussi un système permettant de mobiliser le disque de la meuleuse non seulement à la verticale, mais aussi selon d’autres angles, à 45, 30 ou 60° notamment, une fois qu’on aura étalonnéce deuxième pivot.DSC00204Ce pivot a été fait au moyen de la soudure de quelques écrous contre chacun des deux pans. la partie basse de l’ariculation sur cette photo sera soudée à la navette, tandis que la haute servira à consruire le levier et le pivot d’abaissement de la meuleuse. Le travail est en cours, j’espère le finir dans les prochains jours.

Triporteur, un peu de modélisation 3D

Publication de l’article d’origine le Cousin

La réalisation d’un objet complexe, comme un triporteur -ou plus précisément  d’un module de conversion réversible de vélo en triporteur- ne s’improvise pas. Les contraintes à considérer sont nombreuses : géométrie d’Ackermann, angles de chasse, adaptabilité à différentes dimensions et différents modèles de vélo, poids, solidité, manœuvrabilité, entre autres. J’avais déjà commencé une première ébauche de prototype, mais sans tout dimensionner au préalable. Quelques erreurs s’ensuivent. L’optimisme encourage mais n’est pas fidèle conseiller.
Pour ne pas se tromper, autant faire un plan correct dès le départ.

Quel logiciel de modélisation 3D ?

J’utilise FreeCAD pour cela. Logiciel OpenSource, développé par une communauté dynamique, il ‘na pas l’ergonomie et la facilité d’usage que certains prêtent au logiciel propriétaire Fusion360 notamment, mais a un potentiel sur le long terme, sous condition de lui donner sa chance, de ne pas aller vers le plus facile. Pour que la communauté d’usager de FreeCAD laisse sa raison d’être aux développeur. L’appel à la vertu en général ne suffit pas. Il serait salutaire d’ailleurs en politique que la conscience de l’incapacité des vœux pieux à se réaliser seuls   se diffuse, mais passons. FreeCAD fonctionne sous Linux, Fusion360 non, ce qui pour moi reste décisif. De plus, un MOOC bien ficelé m’a récemment facilité l’apprentissage de certaines fonctionnalités fondamentales de FreeCAD.

Un modèle modulaire, des parties et plans multiples

Pour s’adapter à différents modèle de vélos, et faire différentes modèle de vélocargo, il est indispensable de se donnerune capacité à redimensinner et modifier certaines parties du module. Mon parti pris est de faire plusieurs pièces distinctes, qui s’agencent les unes avec les autres, et peuvent être modifiées, customisées, peintes, réparées,  sans changer tout le reste. On peut ainsi passer d’un biporteur à un triporteur, changer la forme et la taille de la caisse, peut être même rajouter une bascule à suspension au train avant. Je pense notamment en-mancher certaines de ces pièces les unes dans les autres, avec plus ou moins de profondeur pour s’adapter aux dimensions requises. Une tige filetée assure un réglage fin de cette profondeur, et un boulon de serrage supprime le jeu du télescopage.

On peut ainsi considérer plusieurs parties bien définies :

vue tube arrière

1) Le tube arrière : (à partir d’un profilé carré) il vient se boulonner à la platine servant

habituellement d’attache béquille, et s’en-manche dans le tube central.Il faudrait le courber si un moteur au pédalier est à contourner. Un écrou soudé au tube permettrait de stabiliser et régler finement la profondeur du téléscopage

tube central

2) Le tube central :  celui-dans lequel s’encastre et plonge

un tube de direction récupéré aligné au tube de direction du vélo. Le tube de direction récupéré est connecté à la fourche. Il a deux fonctions : d’une part il tourne avec elle et transmet la direction aux roues par des biellettes situées sous le tube. D’autre part il même temps qu’il constitue un deuxième point d’ancrage, d’attache entre le module et le vélo, en plus de la platine porte béquille.

tube central vue 2

L’alignement des deux tubes de direction est difficile mais crucial : sans lui le guidon ne tourne plus, ou cas extrême, la direction se rompt. Deux paramètres sont modifiables pour assurer cet alignement : la profondeur de téléscopage des tubes arrière et central, et l’angle d’encastrement du tube de direction dans le tube central.

La potence dans le tube de direction est soudée à une platine dans laquelle deux fentes permettent de faire coulisser le système de fixation de la fourche : un axe de 9 mm passe dans la fourche et dans un tube rond soudé à un profilé U, tordu vers l’intérieur. Ce profile est troué en deux points correspondant à l’écart entre les fentes pré-citées. La fourche peut ainsi se fixer à la potence quelle que soit le pas de chasse de la fourche*

attache tube - fourche.pdf
attache tube - fourche contreplongée.pdf
attache tube - fourche vue latérale.pdf

* Le pas de chasse : ce petit espacement indiqué sur l’image (merci au Youtuber de Science étonnante pour cette image)

chasse-vc3a9lo

Pour permettre un bon réglage de l’angle de chasse, il faut élargir un peu un premier trou réalisé à la scie cloche, vers l’avant et l’arrière. Un angle de chasse fait généralement 12 à 15 degrés. Faire d’abord deux petits points de soudure permettra un assemblage encore malléable, c’est à dire de modifier un peu l’angle. L’angle est bon une fois que les tubes central et arrière (ce dernier étant préalablement boulonné à la platine porte-béquille) n’oscillent plus quand on tourne le guidon.

Le tube avant : (à partir d’un profilé carré). Celui sur lequel on va faire reposer la caisse. Il s’encastre dans le tube central lui aussi. Son autre extrémité peut être traversé par un autre tube de direction pour réaliser un biporteur, ou attaché à un système de train avant pour un triporteur.

La caisse : bois et armature métal par exemple, forme encore à concevoir, mais le champs de possible est vaste et limité par la seule imagination.

Train avant : outre la possibilité évoqué d’un biporteur, on peut préférer un triporteur. Deux roues avant donc. Les contraintes de géométries concernant les biellettes et pattes de biellettes sont plus complexes que pour un biporteur. Heureusement, certains ont préparé le terrain, depuis la préhistoire des internets déjà, avec des documents tableurs de dimensionnement, permettant de tester l’écart entre un ensemble d’hypothèse et l’idéal que représente la géométrie d’Ackermann, aussi appelé l’épure de Jantaud : la concourrance des axes de chacune des trois roues.
On pourrait aussi envisager un train avant plus élaboré, stabilisant le véhicule par un système de bascule et de suspension On pourrait ainsi se pencher un peu dans les virage, tel une bicyclette, ou rester droit malgré l’exposition des roues avant à un terrain accidenté ou une topographie asymétrique. A étudier éventuellement. La tâche est néanmoins complexe et longue, et le train avant gagnerait un poids conséquent.

La suite viendra dans  des articles à venir, patience.