samedi 29 décembre 2018

Open source firmware - TSDZ2 TongSheng mid drive motor

Le kit moteur pédalier TongSheng dénomination TSDZ2  est devenu populaire parmi les utilisateurs de kit pour vélo a assistance électrique, sur le forum endless-sphere.com un développeur : casainho déjà connu pour son développement open source des firmware pour les contrôleurs de la série kunteng c est intéressé a ce moteur et a décider d améliorer la programmation .

Le Wiki en anglais sur lequel pointe le dernier lien est bien développé et la majorité des utilisateurs du net saura comment exploiter au moyen de traducteur ou par compréhension propre les informations qu il contient .

Dans un premier temps je vais expliquer le portage de la version 0.16 par un autre développeur
( marcoq ) pour usage avec un VLCD6 ( le dernier né des afficheurs dédiés au moteur TSDZ2 ) mais qui fonctionne aussi avec le VLCD5 qui équipe la majorité des kit vendu a ce jour, le VLCD5 est un écran robuste qui dispose d un port USB permettant de charger par exemple un portable et de 3 ports supplémentaire dédiés aux périphériques freins et accélérateur, seule la version 8 pins du controleur permet l usage de l accélérateur .
 

     

La programmation du controleur nécessite :

1 : l usage  d un STlink V2, un microchip intégrant un port USB capable de lire et écrire dans  ( l eeprom en fait ) du chip dedié un STM8 .



2 : l usage d un programme mis au point par la société qui fabrique les chips STM8, ST visual programmer, qui est une interface en faite, facilitant les processus d écriture, lecture et modification des données .



Le ST link V2 peut se trouver facilement sur le net, des clones ( j utilise un clone ) avec un packaging moins ambitieux sont disponibles pour une somme modique ( regarder dans le wiki en anglais si besoin ), accessoirement il faudra jouer du fer a souder pour fabriquer un connecteur capable de se connecter au TSDZ2 .
Le programme ST visual programmer peut s obtenir directement sur le site de St microelectronic,
il peut aussi se telecharger directement ( sans inscription )
sur un des sites de dev du firmware TSDZ2 .

Attention a l'installation le programme a besoin d être configuré .

Le site d eco-cycle suggère le device " STM8S105x4",
sur endless-sphere c est le "STM8S105x6" qui est suggérè et c est celui que j utilise .



Sur le site d eco-cycles par exemple qui propose du matériel dédié TSDZ2 ainsi que des kit et une méthode pour retoucher le firmware, il fut un des premiers a intervenir sur le fil de discussion concernant la programmation du TSDZ2 crée par casainho, il a apporté sa contribution de nombreuses fois mais étant donné qu il est un revendeur de kit ( dont TSDZ2 ) impliqué et cherchant a améliorer le matériel, son approche est differente mais il est probablement a l origine d une vidéo ancienne ou pour la première fois on découvrait que le TSDZ2 pouvait être reprogrammé .

Il y a différent moyen de se procurer un câble et son connecteur compatible avec le port capteur de vitesse qui dispose des pins permettant la modification du firmware, pour ma part j ai utilisé le connecteur reliant l afficheur et le controleur, disposant d un moteur pour pièce détaché j ai donc coupé la sortie controleur qui va vers le display, en effet les deux cables sortant du controleur en plus de l alim, sont identiques mais mâle et femelle, la version accélérateur est differente et ne permet pas de récupérer un des deux connecteur puisque le port afficheur est a 8 pin/broches .

Après avoir donc équipé un adaptateur "ST link V2 / connecteur vitesse" il ne reste plus qu a faire un test pour vérifier que l on peut "dialoguer " avec le controleur .

Une sauvegarde du firmware existant ( program memory/data memory/option byte ) s impose avant toute chose .
Ensuite il ne reste qu a charger le nouveau "program memory", a la première utilisation la table "data memory" sera mise a jour avec les nouvelles informations, c est cette table qu il est possible de modifier pour l adapter a la configuration que l on a choisit .

Étant entendu que l archive mise a disposition par marcoq était prévu a l origine pour fonctionner avec le VLCD6, mes premiers test m on laissé croire que les niveaux ne fonctionnait pas, en fait au premier niveau j étais avec la puissance quasi max disponible et le changement de niveaux n était pas perceptible .

Puisque marcoq a aussi mis a disposition l architecture modifiable de la data memory j ai donc modifier cette table afin de l adapter a l afficheur LCD5, les quelques informations que j ai récolté sont donc mises en vidéo afin de vulgariser l usage du "ST link V2" pour la programmation et la maintenance du système .

Les données qu il est absolument nécessaire de modifier dans la data memory sont indiqués ici, il en existe bien d autre pour adapter le système a son usage personnel et elles sont documentés dans l archive mise a disposition par marcoq .

Pour une batterie en 11S j ai choisi ces paramètres :

0x004001 : 03 ( default value assist level factor x10 )
0x004003 : 16 amp = 10 ( default value battery max current )
0x004004 : 270W = 27 = 1B ( default value motor max power x10 )
0x004005 : 31.9 = 319-256 = 63 = 3F ( default value battery low voltage cut off x10 00 )
0x004006 : 256 = 01 ( default value battery low voltage cut off x10 01 )
0x00400E : 11= 0B ( battery nombre de cells )
0x004013 : 03 = 03 ( lvl 1 30% )
0x004014 : 07 = 07 ( lvl 2 70% )
0x004015 : 15 = 0F ( lvl 3 150% )
0x004016 : 30 = 1E ( lvl 4 300% )
0x004020 : 550w/25 = 22  ( max batt power div 25 )

Certains champ reçoivent une valeur décimale, d autres l équivalent hexadécimale, c est le code source qui détermine la valeur .


to be continued ...

dimanche 16 décembre 2018

Communiqué de presse « Serment du Jeu de Paume », de Gilets Jaunes aux journalistes et au président de la République



Fichier PDF Allocution.pdf

Un communiqué juste et réfléchi que je découvre aujourd’hui hui .

Le communiqué a ete repris et commenté entre autre sur le blog d etienne chouard .





mardi 16 octobre 2018

Projet VAE en cours

Le projet terminé dans la phase de test du firmware et de la batterie

 

Montage d un semi-rigide sur base boost pourvu d une assistance a base de moteur TSDZ2



Le cadre dans sa version nue sans moteur .

Ici sur un cadre taille 44 ( entre M et L )

Fourche Rockshox Sektor Silver 130  mm









Un montage a blanc du moteur m a permis de constater que le décalage avec un boitier de pédalier de 73 mm est bien trop important, le moteur par lui mème induit un décalage de prés de 20 mm et les pédales ne sont donc plus dans l axe du vélo, ici nous avions pratiquement 30 mm, le décalage avec un boitier BSA de 68 mm est moins important ( de l ordre de 25 mm )
il peut être corrigé en utilisant une manivelle Bafang coté droit ( pédalier ) qui a un offset pratiquement négligeable
( offset de 15 mm environ pour les manivelles d origine Tongsheng ) .





Pour compenser le phénomène de décalage je rogne coté plateaux sur le boitier de pédalier environ 4/5 mm qd c est possible, ici c est possible mais cela implique de rogner aussi sur le bras arrière pour encastrer le moteur ...
Accessoirement le fait de recentrer le moteur permet de rectifier la ligne de chaine qui nécessite autrement l usage d un plateau en cloche qui n existe qu a partir de 42T, exit donc les développements intéressants en VTT, après rectification on retrouve l usage des deux plus gros pignons et des plateaux en 104 BCD ou  110BCD 5 trous ( étoile d origine du TSDZ2 ) .









La découpe du bras arrière a la dremel, après passage chez le tourneur, la mise en forme de la découpe ...














Vu sur la tranche du résultat avant de confier le cadre a un soudeur pour " remplir " les vides .









Après passage chez le soudeur et polissage des soudures a la dremel .













Montage terminé, 
poids du vélo avec le moteur et tous les accessoires mais sans la batterie ; 17.8Kg

C est conséquent, j espérais passer en dessous de 17kg ,
les points susceptibles d influer sur le poids :
tige de selle télescopique : exa form ksp 860 : environ 440 grs
fourche Rokshox Sektor : modèle avec plongeurs acier ( modèle silver ) environ 2.2kg soit 200 grs de plus qu une gold ( plongeurs magnésium ) ...
le protège plateau en acier peut être supprimé ( gain 150/200 grs ? )

Difficile de changer les jantes des Rodi black jack en 40 mm interne monté sur des Chao yan 2.80 pas vraiment lourds .
Le reste du vélo est a l avenant, une partie des composant vient de mon stock
dérailleur X9 Sram 9V, la commande de dérailleur a été racheté pour le montage .
K7 11/40 basique en stock .
potence courte, cintre court .


reste plus qu a l équiper d une mini batterie et aller tester ;)










Quelques images de détails du montage :


 La position de la chaine sur le 4 em pignon

au passage,
 l ajustage du carter moteur en partie avant .




 puis sur le 5 em pignon,
en gros la chaine est centrée,
mission réussi ...




Il reste de la place pour un pneu jusqu a 3.0

 L ajustage du bras inférieure pour encastrer le moteur





  K7 11/40, ici la chaine n a pas encore été réduite ( 112 maillons sur un standard 116 )   plateau NR 36t sur k7 11/40 .





ici le boitier de pédalier réduit ( a l origine c est un BSA 73 mm ) un peu plus de 4 mm de gagner qui viennent aussi corriger le Q-factor







Le vélo est " facile " d après les dires du premier testeur .

Pour l instant un réglage a 13A du contrôleur est suffisant pour animer l ensemble . 

Plus de tests son nécessaire pour valider une configuration optimale . 






Le travail sur la partie cycle etant terminé, le travail sur la partie moteur lui mm commence :

Reprogrammation du software gérant le controleur en utilisant le travail d un développeur qui a mit son programme en open source sur le forum : endless-shere.com  
Une adaptation utilisant l afficheur originel est apparu et c est cette version mise a jour que j ai utilisé en adaptant les data a mon usage .







La discussion sur le forum endless-sphere ( en anglais ) : 

La batterie est terminé, une 11S4P utilisant des cellules panasonic 33 cells 3200mah 10A et 11 cells 3400 mah 6.7A, soit une capacité théorique 13Ah en 40V nominal, 45,6V pleine charge ( je ne charge pas au maximum ) environ 520 Wh disponible donc .
Ne reste plus qu a fabriquer le support et reprogrammer le système pour qu il tire partie de cette tension plus importante, le but en 11S est de gagner environ 10% en RPM moteur et avoir donc, un peu plus d allonge .



Batterie installée, reprogrammation du firmware effectué .
Tests en cours, les données de paramétrage se trouve a la fin de l article sur la version open source de marcoq