Nouvelle discussionNouveau message Derniers messages Recherche forum
754 messages.      7 8 9 10 11 12 13 14 15 16 17   - Realisation de BMS evolutif a microprocesseurs [9645]
Kcirevam
09-07-2012 à 09h54
A ma connaissance tu ne peux pas faire un wake-up sur une interrupt uart, du moins d'après ce que j'avais compris du datasheet.
Je vais regarder le bit WUE.

C'est cool pour le watchdog. Je vais réfléchir à l'ajouter par sécurité.
Mon code semble correct mais quand on le met dans un environnement réel il arrive que certain slave passe dans un mode où il reste dans bloqué au niveau des interruptions. Il ne passe plus dans la boucle principale mais les interruptions fonctionnent toujours. C'est un peu bizarre et je n'ai pas encore trouvé où est le problème.

Tu fais ton sleep sur quel critère?
Je fais ça sur un timeout de la communication. Donc si je me réveille avec le watchdog il faudra attendre un nouveau timeout... ou alors je peux aussi ajouter un flag pour indiquer le réveil sur watchdog...

Frederic, 219 msg, 48 ans. Braine-l\\\'alleud (BE-14).
 Citer Alerter [186376]
Nlc
09-07-2012 à 10h12
Je fais le sleep lorsqu'il n'y a plus de communication durant 3 secondes.

Le watchdog réveille le pic toutes les 2s, je regarde ce qui a déclenché le réveil, et si ça venait du watchdog, je rendors le pic de suite.

Pour le réveil sur front descendant de l'uart :


datasheet a écrit :
26.3.3 AUTO-WAKE-UP ON BREAK

During Sleep mode, all clocks to the EUSART are
suspended. Because of this, the Baud Rate Generator
is inactive and a proper character reception cannot be
performed. The Auto-Wake-up feature allows the
controller to wake-up due to activity on the RX/DT line.
This feature is available only in Asynchronous mode.
The Auto-Wake-up feature is enabled by setting the
WUE bit of the BAUDCON register. Once set, the normal
receive sequence on RX/DT is disabled, and the
EUSART remains in an Idle state, monitoring for a
wake-up event independent of the CPU mode. A
wake-up event consists of a high-to-low transition on the
RX/DT line. (This coincides with the start of a Sync Break
or a wake-up signal character for the LIN protocol.)
The EUSART module generates an RCIF interrupt
coincident with the wake-up event. The interrupt is
generated synchronously to the Q clocks in normal CPU
operating modes (Figure 26-7), and asynchronously if
the device is in Sleep mode (Figure 26-8). The interrupt
condition is cleared by reading the RCREG register.



Je fonctionnais comme ça et ça marchait très bien.

Mais moi maintenant je ne fonctionne plus comme ça puisque j'ai changé de pic pour un pic sans uart, je gère l'uart full duplex en soft. Mais le principe est le même, les esclaves se réveillent toutes les 2 secondes par le watchdog, et si le réveil n'est pas provoqué par le flag d'IT front descendant de ma ligne Rx, je rendors le pic de suite. Conso moyenne 15µA en veille

Anonyme, 31 msg, (FR-44).
 Citer Alerter [186378]
publicité
09-07-2012 à 10h12
Lien commercial -184-


3615jmd
09-07-2012 à 11h17
@Kcirevam: Tu pourrais nous parler en quelques lignes de ta réalisation ? c'est un BMS également je suppose ?

@jean-christophe: même question !

@nlc: merci pour le bit WUE qui fait monter le RCIF, j'avais pas encore vu ça, et ce sera bien commode. Reste à vérifier si le réveil est assez rapide pour recevoir le premier caractère ou si il faut ajouter un signal de réveil.


Jean-marc, 264 msg, 67 ans. Vieille Toulouse (FR-31). [mon blog]
 Citer Alerter [186385]
Nlc
09-07-2012 à 11h25
Tu rates toujours le 1er octet. Donc ce que je faisais c'est que j'avais rajouté un 0xFF qui sert à rien en début de protocole. Si l'esclave est réveillé et qu'il attend un début de trame il est pas pris en compte, et s'il dort ça permet de réveiller l'esclave, qui doit envoyer un 0xFF au suivant pour que tout le monde se réveille en cascade, et ensuite le 1er octet utile de la trame peut être reçu par tout le monde.

Anonyme, 31 msg, (FR-44).
 Citer Alerter [186388]
snickers
09-07-2012 à 14h39
Acceder au profil du membre

3615jmd a écrit :
-D'origine mon chargeur ne se coupait jamais. Ca ne me plaisait pas du tout ! Alors je l'ai modifié dans ce sens: j'y ai ajouté un relais auto entretenu par la consommation de courant, ce relais coupe à la fois le 220V et le 58Volts. J'ai aussi ajouté une résistance de "soft start" sur le 220V pour éviter les étincelles lorsqu'on démarre le chargeur.
Il y aurait plus simple, il suffirait d'ajouter une diode shottky en série avec la sortie du chargeur. Ce genre de diode se récupère facilement dans les alims de PC et la chute de tension est faible. par contre il faut remonter un peu la tension du chargeur pour compenser la chute.
ce...



J'ai une shottky dans ma batterie, du genre plutôt costaud et sur radiateur pour passer les 15A de la recharge pendant 15 minutes...
Elle permet aussi d'alimenter une partie logique du BMS que pendant la recharge et protéger contre les inversions de polarité du coté chargeur. Rigolez pas ça mets arrivé...Le branchement direct et à l'envers entre une A123 et un chargeur de 1 Kw. Ca a fait un boum impressionnant. Je n’ai pas trop fais gaffe pensant être protégé par la diode déjà en place mais malheureusement sous dimensionné en tension 80V au lieu de + de 120V à ces bornes. Pas trop de dégât grâce au fusible 20A coté entrée chargeur.


3615jmd a écrit :
Est-ce acceptable pour un utilisateur d'avoir à déconnecter et reconnecter le BMS pour reseter le système après un abandon de batterie déchargée ? ça ne doit pas arriver souvent en principe....



Oui, enfin moi je les collectionne les oublis de coupure. Quand on utilise un truc deux fois par jour. Il devient machinal de couper mais parfois, on oublit.
Quand c'est sur semaine ça me vide un peu la batterie. 60 mA + (150 mA de phare) => 50% de ma batterie dans la journée. Quand c'est le week-end, ca peut durer 72H...elle est vide en moins de 24H et va passer quelques jours à vide...ça m'est déjà arrivé plus d'une fois. Les 60mA (210 mA) la vide très bien et complètement jusqu'a 2,8V par cellule (lifepo4, hein!)
Si je l’oubli le vendredi et que je pars la semaine suivante...elle peut rester une semaine vide. Alors, il est important que le BMS ne tire que quelques dizaines de uA pour qu'il ne flingue pas les éléments de la batterie (déjà bien vide) au premier oubli.
C'est pour moi une des fonctions principales du BMS.

Bertrand, 7072 msg, 52 ans. Hanovre (DE-31). VAEtaf 100%, sujets techniques...vae-tech.forumactif.org
 Citer Alerter [186401]
Kcirevam
12-07-2012 à 19h47

3615jmd a écrit :
@Kcirevam: Tu pourrais nous parler en quelques lignes de ta réalisation ? c'est un BMS également je suppose ? @jean-christophe: même question ! @nlc: merci pour le bit WUE qui fait monter le RCIF, j'avais pas encore vu ça, et ce sera bien commode. Reste à vérifier si le réveil est assez rapide pour...



C'est un BMS que je réalise avec jean-christophe.
On est parti de celui-ci: ecomodder.com

Le principe c'est master, des slaves en série pour la communication. Équilibrage par le haut fait par les pics en autonomes.
La surveillance générale, pilotage du chargeur, coupure si trop bas, logging, tout ça sera fait par le master. Si perte de communication le master coupe tout.

Un minimum de composant sur la carte slave donc ref interne, les capa de filtrage, le shunt et son transistor, des leds pour le shunt et la communication pour pouvoir faire un check visuel, par contre on est avec des optos. On passera peut-être à ton système de transistor pour le slave. Le proto en cours de construction est cablé dans le mauvais sens que pour pouvoir le faire, il faut tout refaire on a la flemme.

Le slave profite de la fonction sleep. le but étant de pouvoir oublier la batterie l'esprit tranquille. Même chose pour le master si il n'y a pas de charge ou décharge pendant un certain temps il isole la batterie et se met en veille. Donc impossible d'utiliser la batterie si on ne rallume pas le master.

Ce qui marche aujourd'hui, le code des slaves, et une carte proto qui tourne le code du master pour vérifier que la communication fonctionne. Mais ce n'est pas un master c'est une carte de test.

Ce qui reste à faire:
achever de souder la carte proto 16 slaves.
Rajouter le watchdog sur les slaves.
Faire la carte du master (je suis preneur de ton schéma 3615jmd, pour le pilotage des mos en charge et en décharge on sèche un peu).
Modifier le code pour ajouter les fonctions pilotage du chargeur, des mos, mise veille.
Et ensuite logging sur une carte sd mais ça sera pour après, d'abord avoir un truc qui roule.

Je complèterai si je pense à d'autres truc. N'hésitez pas si il y a des questions. Je suis un peu surchargé, c'est juste pour ça que j'ai mis du temps à répondre.

Frederic, 219 msg, 48 ans. Braine-l\\\'alleud (BE-14).
 Citer Alerter [186839]
3615jmd
12-07-2012 à 22h26
Merci Frédéric pour l'info. Je n'ai pas pu télécharger le schéma de eccomoder. (je pense qu'il faut s'inscrire avant, je verrai ça demain.). A terme ça devrait ressembler au mien en effet. (avec quelques photo coupleurs en + ) Pour info, j'ai ajouté le schéma du master dans mon article. Si tu travailles avec Proteus, je peux même te passer le fichier de la schématique.
Vas-tu aussi implanter un régulateur de courant de charge ?
Le VSS du PIC est il au moins Batterie ou au moins chargeur ?

Jean-marc, 264 msg, 67 ans. Vieille Toulouse (FR-31). [mon blog]
 Citer Alerter [186876]
Kcirevam
13-07-2012 à 08h36
Pour eccomoder pour moi ça marche comme ça; mais Charlie m'a déjà dit que parfois le site ne fonctionnait pas.
Voilà les liens directs vers les schéma.
cellules
master

oui, régulation à 100mA pour l'équilibrage.
VSS, je dois avoir avec JC

PS: pour ceux qui utilisent CCS, il y a des bugs sur le 12F1822, pour certainnes fonctions (comme le vref), j'ai du écrire directement dans le registre.

Frederic, 219 msg, 48 ans. Braine-l\\\'alleud (BE-14).
 Citer Alerter [186900]
Membre7933
15-07-2012 à 10h25
Une question aux développeurs: profitez-vous de l'occasion d'intégrer de l'intelligence programmable (microprocesseur) pour gérer la coupure basse en tension en fonction du courant débité?
Une cellule qui descend à 3.5V à vide, c'est beaucoup plus critique que sous 20A.

Membre7933, 21190 msg. Ce membre n'est plus inscrit.
 Citer Alerter [187074]
publicité
15-07-2012 à 10h25
Réparer et entretenir son vélo soi-meme
Lien commercial -178-

Jean-Christophe
15-07-2012 à 11h22
Acceder au profil du membre

3615jmd a écrit :
Vas-tu aussi implanter un régulateur de courant de charge ?
Le VSS du PIC est il au moins Batterie ou au moins chargeur ?



Jean-Marc
notre schéma pour le master n'est pas encore établi. (je veux bien le tien en version plus detaillee car on ne vois pas grand chose sur le jpg)
le Vss du pic au - du chargeur me parait très bien.
si j'ai bien compris, il suffit d'activer le mosfet de charge lorsque l'on utilise pas le chargeur pour retrouver le potentiel de la batterie.

pour le courant de charge:
l'idée était de laisser la régulation du courant nominal cote chargeur.
j'utilise des alimentations de server pc (12v 85A) il y a bien une limitation interne mais des qu'elle est atteinte, l'alimentation se met en sécurite. il faut donc faire quelque chose pour limiter le courant a une valeur inferieure mais ce ne sera pas sur la carte master.

pour le courant d'équilibrage, je pense le faire avec 2 mosfet (un gros et un petit pour l'equilibrage).

coupure
on va essaye de détecter au plus tot le fait que le moteur n'est pas utilisé pour couper la sortie du bms. donc si on a juste laisser le contact avec le phare, la conso est constante donc on coupe tout ( le master aussi) après quelques minutes.

patat
j'ai lu tes remarque sur le soc des lipo a partir de la tension a vide
on va surement faire quelque chose avec ca mais on a pas encore de lipo


2124 msg, 57 ans. (-14).
 Citer Alerter [187083]
754 messages.      7 8 9 10 11 12 13 14 15 16 17   - Realisation de BMS evolutif a microprocesseurs - Lu 468175 fois. [9645]
retour en haut de page Messages récents
répondre dans cette discussion
En ce moment sur le tchat
Le 05 à 21h16 Havoc Énorme promo Decathlon : le E-Touring perd 1 000 € ! 2 499 €
Le 08 à 10h41 Cycle Bonjour,
pourriez vous me préciser la section du site la plus appropriée pour demander conseil de réparation sur un circuit imprimé...
Le 09 à 17h37 Havoc S'il est d'origine, autant en parler ici: cyclurba.fr
Le 11 à 13h17 Cycle Merci
Le 21 à 21h12 Havoc Nakamura E-Summit LTD à 999,99 € pendant quelques jours chez Intersport

Réparer et entretenir son vélo soi-meme
Lien commercial -181-