Membre9554
03-06-2018 à 15h14
|
Ivanovitch a écrit :
Jacques, je pense que le moteur n'accepte pas de rentrer en session de programmation s'il à vu un Display depuis qu'il a boot. C'est une protection qui interdit la modification des paramètres du firmware en mode fonctionnel.
Essaie en envoyant uniquement les commandes de progr et ça devrais marcher !
Salut et bienvenu parmi nous !
Oui merci bonne idée, je vais essayer avec un code à part et minimaliste car là je tourne en rond...
Mais alors si c'est ça, comment reprogrammer à la volée avec le display en utilisation ?
Ca doit bien être possible puisqu'il me semble que c'est ce que Eggbike proposait sur sa v1 (depuis un smartphone) ?
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-06-03 16:31:25 par Jacques74. |
Ivanovitchk
03-06-2018 à 15h32
|
Quelque chose du genre :
Fonctionnel -> Cyclage alim -> Programmation -> Cyclage alim -> Fonctionnel
pour l'eggRider, y'a des chances que pour flasher ils disent d'enlever la console et de reboot le moteur dans les instructions.
Donc pour automatiser ça il faudrait avoir un relais sur l'alim du moteur (simple mais gros relais) ou sur l'alim du MCU du controlleur (ou carrément se ponter sur sa pin reset).
Ivanovitchk, 16 msg, 74 ans. (FR). Message modifié le 2018-06-03 15:34:42 par Ivanovitchk. |
publicité 03-06-2018 à 15h32
| Lien commercial -181-
|
Membre9554
03-06-2018 à 15h42
|
Quand on programme avec le soft de Penov (ou autres), il faut bien alimenter le contrôleur batterie branchée, mais si mise sur ON ou OFF se fait simplement en pontant ou pas les petits fils P+ et Pl (interrupteur) ... donc pas besoin de gros relais.
Idem d'ailleurs en mode utilisation sans display.
Mais bon, ça voudrait dire aussi deux programmes différents, ça m'arrange pas du tout ça...
Bon, je vais déjà essayer avec un code simple à part pour vérifier le principe et voir si j'ai pas une tuile ailleurs dans mon code...
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-06-03 16:49:09 par Jacques74. |
Ivanovitchk
03-06-2018 à 15h50
|
en effet je viens de relire la doc de penoff, du coup peux être pas besoin de cycler l'alim du controlleur, mais juste le shunt P+ / PL. Et de n'envoyer que des commandes de progr suite à ca.
Pour le valider les nouveaux paramètres il faudra peux être encore refaire un coup de P+/PL ON/OFF...
à tester.
Ivanovitchk, 16 msg, 74 ans. (FR). Message modifié le 2018-06-03 15:52:40 par Ivanovitchk. |
Superjc
03-06-2018 à 17h58
|
Je trouve la console C965 très visible et fonctionnelle
Le seul truc à améliorer est juste l’affichage de la de la capa....
J’ai fait un test pour comprendre comment était géré le barre graphe
J’ai mis l’arduino en repeater entre la console et le moteur
Le RX TX console -> l’arduino ->RX TX moteur
Le programme arduino recherche la trame du % et la renvoie transformé
Ça semble marcher ! mais j’ai des problèmes d’erreurs car le début d’un #11#11 est difficile à trouver
Avec des datas qui arrivent du type …11OA112011111120… c’est pas facile de trouver 11OA 1120 1111 1111 1120
Le principe de l’arduino repeater est là:
www.keuwl.com
Pour moi le barre graphe affiche bien en fonction du GetBat% (#11#11)
Le barre graphe de la console C965v5 affiche directement ce % de la façon suivante
75% puis 50% puis 30% puis 10% puis 5%
Christophe, 3256 msg, 63 ans. Guyancourt (FR-78). [mon blog] 36V 250W VTT bafang swxk 185R MetV and BBS01 Cycloboost |
Membre9554
03-06-2018 à 18h10
|
Alors pour Ivanovitch :
Effectivement en refaisant un code séparé et minimaliste sur ma petite console arduino, cette fois j'ai bien le retour de reprogrammation attendu (onglet basic) 52-18-6A !!
Par contre il y a encore un truc étrange, je ne sais pas si ça vient de mon code mais je suis obligé de lancer 2x la commande pour avoir un retour autre que 0-0-0... pourtant j'ai mis des délais au lancement.
Après c'est bon à chaque fois.
Je me demande si au final ça venait pas de là dans mon code display en utilisation ??
Une histoire de timing, d'initialisation ou autre ?
Je vais refaire des essais dans ce sens.
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-06-04 14:08:13 par Jacques74. |
Membre9554
03-06-2018 à 18h56
|
Autrement pour la récup de tension + formule ça fonctionne pas mal du tout (merci encore Papat et Christophe), et les calculs Ah et Wh/Km récupérés des infos BBS sont intéressants, même si plus limités qu'avec des capteurs plus précis !
Les Km et Km/h sont pas mal aussi, on peut d'ailleurs paramétrer au mm la circonférence de la roue puisque que calculs basés sur les RPM ! ;)
Ici différents modes d'affichage sur mon BBSDuino v1, version minimaliste
appuis sur le bouton "center" en mode circulaire, on peut en ajouter le nb. qu'on veut
- les boutons + et - changent les niveaux
- d'autres combinaisons des 3 bouton sont utilisées (mise en EEPROM, reset compteur, reprog)
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-06-03 19:02:08 par Jacques74. |
Montague
04-06-2018 à 10h14
|
Félicitations Jacques ! Ton projet avance bien plus vite que la Poste ne me livre mon ESP32
Les informations sont effectivement intéressantes ! à quoi correspondent les lignes 0.0A - 0.15Ah ?
pour le 1km / 7Wh, c'est la consommation sur le parcours, ou une moyenne par kilomètre ?
edit : sur le eggrider que j'ai, la programmation à la volée ne fonctionne pas (passage legal/offroad). Seule fonctionne la reprogrammation en entrant dans les paramètres, qui est grossièrement une intégration du programme de Bafang dans leur appli ...
Anonyme, 88 msg, 43 ans. (FR-67). Message modifié le 2018-06-04 10:17:04 par Montague. |
Membre9554
04-06-2018 à 12h50
|
@Montague,
Merci !
Ben A c'est les A en direct (0.0 ici puisqu'à l'arrêt), 0.15Ah ou 7Wh, c'est la conso sur 1 Km parcouru
On voit que le calcul Wh/Km est pas tout à fait cohérent avec 7 (6.5 Wh/Km...) mais c'est aussi une question d'affichage des décimales ou pas sur mon écran (arrondis).
Les limitations principales viennent des retours ampères du BBS qui sont en pas de 0.5A...
Pour la tension c'est à +/- 0.1V, et plus précis au-dessus de 47V (+/- 0.05). Donc ça c'est plutôt bon.
note : La première image montre l'écran principal avec gros chiffres : Niveau-Km/h (affiché sans décimales et arrondi)
En tout cas c'est déjà beaucoup mieux que pas de wattmètre et au final je suis étonné en bien du résultat !
Mon code BBSDuino actuel (en développement)
sous IDE 1.8.3
-----------------------
Autrement pour la reprog à la volée :
Ivanovitch semble avoir entièrement raison : Dès que le contrôleur s’aperçoit qu'il y a des demandes d'infos de type display (GetRPM, Get%, GetAmp, etc...) il interdit une reprog !
J'ai essayé sur un code à part.
Il va donc bien falloir passer par un petit interrupteur commandé (à mosfet par exemple) afin de faire un reset du controleur sur les fils de commande P+ et Pl.
Le principe serait dans cette logique :
- Demande de reprog depuis la console en utilisation, par exemple en mode Legal
- Mise en attente dans la boucle - commande OFF puis ON P+/Pl - lancement Reprog
- OFF-ON à nouveau (si indispensable ?) et reprise du code display en-cours
En automatisant tout ça, ça peut être relativement rapide !
Reste maintenant à trouver le bon schéma pour un petit interrupteur à mosfet (ou darlington ?) léger, compact et peu gourmand, 38V (voir 29V) à 60V max ...
A noter qu'il doit il y avoir assez peu d'intensité entre P+ et Pl, mais c'est à mesurer...
Edit : ~20 mA sous ~48V, avec mon montage actuel (Nano + Oled + Controleur sur ON), soit ~1W
Je ferai déjà un essais avec un interrupteur manuel et des délais d'attente dans mon code (avec messages d'aide)... ça devrait fonctionner ;)
Ce que j'espère surtout c'est qu'il y aie pas besoin de déconnecter la batterie, ce serait rappé !!
Mais quoi qu'il en soit, ajouter un arrêt possible du contrôleur comme sur les C965/P850C est plutôt bienvenu, manuellement ou électroniquement
Membre9554, 19093 msg. Ce membre n'est plus inscrit. Message modifié le 2018-06-06 14:40:19 par Jacques74. |
publicité 04-06-2018 à 12h50
| |
Membre9554
06-06-2018 à 13h40
|
... en attendant de vous montrer la suite avec interrupteur (ça se présente plutôt bien),
voici un petit code d'aide (minimaliste) au calcul CRC et principe de reprogrammation BBS sous microcontrôleur : ici pour l'onglet BASIC.
A noter que les 2 autres onglets fonctionnent sous le même principe, mais n'ont pas la même entête de commande et code de retour.
Il est lançable sur n'importe Arduino avec sa console "Moniteur série" activée, 1200 baud
(pas besoin de librairies ou montage particulier, et encore moins de le connecter au BBS ici pour essais !)
Ce code est très simple et facile à adapter vers d'autres langages évolués, comme le MicroPython j'imagine
Et bien sûr que l'iDE Arduino est accessible aussi sous MAC, pour les réfractaires du PC
... je ne vise personne en particulier, n'est-ce pas Jubesse ^^
Code outil BBS BASIC CRC
Membre9554, 19093 msg. Ce membre n'est plus inscrit. |
|