================= Motor Power AVR ================= :Author: PP - La carte est pilotable par le connecteur CMD micromatch 10 points, soit en RS232, soit par bus SPI 5V, soit par commande analogique (ou PWM > 20kHz). Les liaisons séries de ce connecteur sont bidirectionelles et permettent de remonter des infos sur l'état de la carte. - La carte est aussi pilotable par le connecteur I2C - Le connecteur de DEV contient le SPI pour la programation ISP et le RS232 - Le pinout des connecteurs est étudié pour que les signaux rapides (SPI) soient situés proches de masses HF (GND ou signaux lents). Les signaux RS232 sont découplés à la masse par une capa de 1nF dans ce but. La capa de 1nF n'est pas gênante pour le RS232, et constitue une faible impédance face aux hautes harmoniques des signaux à fronts rapide (10ns = 35MHz de fréquence équivalente) - Il subsite 4 straps à câbler filairement. Ces straps sont des signaux de commande des PWM. Ils vont aux drivers de MOS. Ils devront être câblés en face bottom, plaqués au plus près contre le plan de masse. Leur cablage par strap est volontaire : il s'agit de ne pas couper le plan de masse sous les pistes de puissance qui supportent de très forts dI/dt et qui donc doivent être proches d'un signal de retour de masse. Si on passait une piste dans le plan, celà créerait une fente qui augmenterait l'impédance du plan à cet endroit jusqu'à atteindre quelques nano-henrys qui, avec des dI/dt de 15A en 30ns (temps de montée typ des MOS, soit une fréquence équivalente de 10MHz), pourrait créer des ddp jusqu'à 1V voire un peu plus. Bon, en fait, c'est la règle CEM de base : ne jamais fendre les plans de masse surtout en présence de forts dI/dT. - La carte fixe elle-même le courant max autorisé dans les ponts. Les courants max peuvent être différents entre les deux ponts (utile par ex si on utilise la carte pour driver deux moteurs d'accessoires). Cette limite en courant est fixée par une tension analogique produite par une PWM sortant de l'AVR (Vref_L et Vref_R). Sous l'effet du courant, la tension produite sur le shunt dans une branche du pont dépasse le Vref, le comparateur force le signal LIM_R ou LIM_L à 0 ce qui déclenche une interruption. Le soft relache alors tous les MOSFETS. - La carte est équipée de 2 capteurs de température pour monitorer la température de chacun des deux ponts en H. Le monitoring s'effectue par ADC, puis comparaison en interne de l'AVR. Cette comparaison doit être effectuée régulièrement, par exemple toutes les 2s, ou moins. Eventuellement, il serait également intéressant de surveiller les variations rapides de température (ex : si au-delà de 50°C, on prend 10° en 5 secondes, il y a un problème). Cette comparaison est optionelle. Le strict minimum est de limiter le courant graduellement à partir de 60°C et de couper tous les MOS du pont concerné si la température dépasse 70°. * en dessous de 60°C : limit = 15A * de 60°C à 70° : limit = descend linéairement de 15A à 4A * au delà de 70° : pont coupé - La carte monitore la tension de batterie filtrée à 2,5ms. Elle peut par exemple limiter le courant dans les ponts en cas de baisse trop forte de la tension de batterie, ou renvoyer un signal "low batt" à la carte-mère. - On pilote chaque MOS indépendament afin de pouvoir appliquer en soft un dead-time entre les commutations (on coupe un MOS, on attend, et on allume l'autre). Ca permet d'éviter les shoot-through sans avoir à rajouter une tripaille de composants. 100ns de dead time devraient être l'idéal. Si l'AVR tourne à 10MHz, ça fait 1 cycle. - Les drivers de MOS sont alimentés en 10V. Si leur alim tombe en-dessous de leur UVLO (8V environ), ils se coupent. Ils consomment 1mA à 20kHz. Après il faut ajouter la conso des gates des MOS (2mA par MOS environ). Ca fait un total de 20mA sur le 10V. Les 47nF sur le 12V donnent une autonomie de 4 à 5ms avant de tomber en dessous de 10V. Si la tension de batterie tombe brusquement, on a donc le temps de voir qu'elle a baissé sous son seuil normal, et on peut donc limiter le courant dans les ponts avant que les drivers ne se coupent. - Le 10V est fait un peu bizarement, avec deux régu de 5V. Le régu 10V prend sa référence par rapport au 5V. - La référence des MOSFETs est PHK24NQ04LT. Ils ont un Rdson d'environ 5mOhm. - La référence des drivers de MOS est MAX5063AASA. Ce sont d'excellents drivers (rapides, fort courant, délais précis). En cas de difficultés d'appro pour ce composant, on pourra prendre des IR2101, ou HIP2101, de moins bonne facture, mais qui feront l'affaire. On peut aussi prendre des UCC27201, qui sont meilleurs que les IR2101. Il faudra peut-etre modifier le soft de manière à alonger le dead time, et il faudra limiter le courant un peu plus bas (30% environ) pour limiter la surchauffe due aux moins bonnes performances de ce driver. Micromatch command connector ============================ Pinout: == ==================================== 1 Gnd 2 Vcom_R (force to 0 when in SPI mode) 3 SPI_MOSI / Dir_R 4 Vcom_L (force to 0 when in SPI mode) 5 SPI_CLK / Dir_L 6 Gnd 7 SPI_MISO 8 TX_slave / SPI_IT* 9 SPI_CS* 10 RX_slave == ==================================== Use in SPI mode: == ================== 1 Gnd 2 Force to 0 3 SPI_MOSI 4 Force to 0 5 SPI_CLK 6 GND 7 SPI_MISO 8 TX_slave / SPI_IT* 9 SPI_CS* 10 RX_slave == ================== Use in old PWM mode: ========= ================ =============== =========================== PWM conn. Master cmd conn. Slave cmd conn. Signame ========= ================ =============== =========================== 6 .. 1 Gnd 7 .. 2 Vcom_R 8 .. 3 Dir_R 9 .. 4 Vcom_L 10 .. 5 Dir_L .. 6 6 Gnd .. 7 7 NC (force to 0 if possible) .. 8 8 TX_slave .. 9 9 NC (force to 0 if possible) .. 10 10 RX_slave ========= ================ =============== ===========================