Yamty35
01-05-2018 à 20h07
|
Beau travail Jacques !
Il ne reste plus qu'à faire un boitier étanche.
De mon côté, j'ai scanné les codes de requêtes au contrôleur, voici mes résultats temporaires :
// #11 #01 --> 00 2A Variable : 1er chiffre : 0, 1, 2 ou 3 ; 2eme chiffre identique au 2eme de #11 #1C
// #11 #06 --> 00 Toujours = 0
// #11 #07 --> 00 Variable : en rapport avec le courant ou le couple ??
// #11 #0B --> 01 Toujours égal à 1
// #11 #0E --> 00 Variable : Position de la gachette (de 0x28 à 0xC8)
// #11 #0F --> 00 Frein 1 si appuyé
// #11 #10 --> 00 00 Variable : Comptage de tours de roue depuis la mise sous tension (octet dédoublé)
// #11 #1C --> 1F 64 Variable : 1er chiffre : 0x1F ; 2eme chiffre identique au 2eme de #11 #01 (de 0x24 à 0x29)
// #11 #1D --> FF FF FE Variable : en rapport avec la vitesse ??
// #11 #31 --> 30 30 Variable : Tension nominale (48V --> 0x30) ; varie un peu : 0x30, 0x31
// #11 #90 --> 90 40 D0 Constant
Les codes #11 #01 et #11 #1C semblent très liés mais je n'arrive pas à comprendre à quoi ils correspondent.
Le code #11 #1D semble envoyer une donnée signée sur 3 octets ... analyse en cours
Jacques, 17 msg, 66 ans. (FR-35). |
Yamty35
01-05-2018 à 21h56
|
Voici les données extraites de la requête #11 #1D.
La valeur de repos est -2 (0xFF 0xFF 0xFE)
Dès que l'on fait tourner la roue, la valeur est positive et semble correspondre à la vitesse de rotation.
On arrête la roue, la valeur renvoyée est très négative et tend à revenir vers zéro (en fait -2)
Déroulement du test :
0 - 2s : roue arrêtée
2 - 9s : roue lancée à la main puis freinée
10 - 16s : relaxation ?
16 - 19s : roue arrêtée
19 - 26s : roue lancée à vitesse à peu près constante puis freinée
27 - 34s : relaxation ?
Est-ce que ce type de courbe vous parle ?
Jacques, 17 msg, 66 ans. (FR-35). |
publicité 01-05-2018 à 21h56
|
|
Membre9554
02-05-2018 à 10h43
|
Yamty a écrit :
Beau travail Jacques !
Il ne reste plus qu'à faire un boitier étanche.
Merci ;)
Et merci aussi pour tes retours de test !
En fait le plus ennuyeux reste toujours l'alimentation car les modules chinois tout fait (60V vers ~7-9V) sont toujours assez gros : trop volumineux à mon gout pour l'intégrer dans un display compact, même en 500 mA ...
Il y aurait bien la solution de Ferias77, super compact mais relativement cher par rapport au reste du matos...
(à noter que je cherche un module prêt à l'emploi et facilement intégrable sur proto)
Module R-78HB5 : 9/72V vers 5V stab - 500 mA / 2.5W max
Voir sujet cyclurba.fr
Par exemple chez Conrad
- Hauteur 17.5 mm
- Longueur 11.5 mm
- Larg. 8.5 mm
@SuperJC,
Oui très intéressant ce code, je regarderai aussi du coté des interruptions (sur 2 boutons), mais plus tard.
Là j'aimerais déjà régler la partie vitesse.
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-05-02 11:15:45 par Jacques74. |
Superjc
02-05-2018 à 18h13
|
C’est difficile de faire un petit boitier étanche
J’aurais tendance à prendre le problème à l’envers
Utiliser la console étanche qui indique déjà bien l’essentiel mais en lui envoyant les infos par l’arduino
De plus il y a un champ libre…
Christophe, 3256 msg, 63 ans. Guyancourt (FR-78). [mon blog] 36V 250W VTT bafang swxk 185R MetV and BBS01 Cycloboost |
Membre9554
02-05-2018 à 21h57
|
Mon but final n'est pas le même :
J'aimerais réduire le display BBS en plus petite taille (moins exposé/plus discret) et pouvoir envoyer si envie des commande de reprogrammation ou communiquer avec mon smartphone.
D'ailleurs il fort possible que je passe assez rapidement sur un module ESP32 avec Oled, (Wifi) et Bluetooth LE intégré
Pour 10 euros ça vaut la peine de creuser ces uProcesseur
Avec une impression 3D + vitre collée, on doit arriver à faire suffisamment étanche.
fr.aliexpress.com
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-05-03 14:14:15 par Jacques74. |
Superjc
03-05-2018 à 06h55
|
Moi faut que je bascule tout sur le Garmin
On peut le programmer !
www.dcrainmaker.com
Christophe, 3256 msg, 63 ans. Guyancourt (FR-78). [mon blog] 36V 250W VTT bafang swxk 185R MetV and BBS01 Cycloboost |
Yamty35
03-05-2018 à 22h30
|
Les ESP32 sont très bien, ils intègrent en notamment :
des touches sensitives,
un capteur à effet hall
un espace de stockage flash (SPIFFS) permettant de stocker des logs
Il est possible de les mettre à jour sans fil (OTA : Over The Air), ce qui permet de les enfermer dans un boîtier étanche.
Pour la réalisation, l'afficheur n'ayant besoin que de peu de fils (I2C), ne serait-il pas mieux de le séparer du processeur et de le mouler dans une résine ou mastic pour le placer au plus près du guidon (je pense essayer avec du mastic polyurethane Sikaflex 11FC) ?
Si vous avez des infos pour insérer des infos sur l'écran d'un 850C, je suis preneur.
J'ai crée un espace GitHub "Bafang" où je rassemble mes travaux ; c'est en cours de progression, j'ai complété et mis à jour mon tableau.
Jacques, 17 msg, 66 ans. (FR-35). |
Membre9554
03-05-2018 à 23h24
|
Quand je vois les Cycles Analyst ou les Batt-Man, il n'y a rien de bien compliqué au niveau étanchéité, et ça très bien le long terme sur un vélo :
- boitier plastique à épaulement + vitre synthétique, sortie câble(s) sur le dessous.
Évidemment, on évitera de passer tout ça au karche r ... ^^
Là j'ai un petit soucis d'alim avec mon Batt-Man de plus de 4 ans (sur cintre), mais ça vient du coté shunt, qui est placé sur le câblage vers le moteur et peu protégé.
Pas du boitier ni du CI ou LCD d’ailleurs qui fonctionne très bien sur USB.
Amélioration boitier, voir : cyclurba.fr
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-05-04 09:12:06 par Jacques74. |
Membre9554
04-05-2018 à 14h08
|
Re,
J'ai trouvé une librairie pour Oled graphique 1306 super lite !
2% de mémoire dynamique utilisée sur un Nano contre plus de 70% avec celle d'Adafruit...
Voir ici :
forum.arduino.cc
... en plus on a a dispo au moins une quarantaine de fontes possible
Là j'ai fait des essais avec gros chiffres en imitation digital, ça donne super bien et l'affichage est très rapide !
(I2c optimisé)
Photos à venir...
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-05-07 17:45:51 par Jacques74. |
publicité 04-05-2018 à 14h08
| |
Membre9554
07-05-2018 à 16h33
|
Problème récupération vitesse, yes ça semble OK !
La commande #11 #20 renvoi bien des RPM roue et sur les 3 bytes reçus il faut concaténer les 2 premiers !
... je m'étais bien trompé lors de mes premiers essais en prenant les 2 derniers. ^^
Le troisième byte ne bouge pas à l'arrêt et reste chez moi sur hex 20 (32 déc).
En faisant tourner la roue il varie, mais je ne sais pas à quoi il correspond... une sorte de checksum ?
Si vous avez une idée... ?
Enfin, visiblement on peut s'en passer.
Mon bout de code de récup RPM roue, dans un loop de 500ms et à 1200 bauds :
unsigned char tabl_val[3] = {0x00};
unsigned int RPM = 0;
Serial.write(0x11); // *** entrée mode dialogue
Serial.write(0x20); // get vitesse - Renvoi 3 byte !!
delay(2);
if (Serial.available() > 0) {
tabl_val[0] = Serial.read();
tabl_val[1] = Serial.read();
tabl_val[2] = Serial.read(); // CRC ?
}
RPM = (tabl_val[0] < < 8) + tabl_val[1]; // concaténer les 2 premiers octets (char) en integer
J'ai pu le vérifier de cette façon :
Essais roue levée à la gachette à fond, sur le 4ème pignon, tension bat. 47.4V, j'ai 34.4 Km/h affiché sur le display P850C.
Relevé sur Arduino = 264 RPM (retour hex 01 08 + CRC)
264 * 2.166m (ma roue 27.5'') = 571.8 * 60 = 34309 / 1000 = 34.3 Km/h
J'essaierai de faire une petite vidéo pour vous montrer l'affichage d'essais avec les hex...
Je suis content car c'était le dernier truc qui me bloquait pour poursuivre ce display minimaliste mais néanmoins bourré de possibilités
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-05-08 13:10:33 par Jacques74. |
|