summaryrefslogtreecommitdiff
path: root/analog/motor-power-avr/motor_power_avr.txt
blob: b8158aeb0d864862c70e777d1e7fadf6ab099379 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
=================
 Motor Power AVR
=================
:Author: PP

- La carte est pilotable soit par RS232, soit par bus SPI 5V, soit par
  commande analogique (ou PWM > 20kHz). Les liaisons séries sont
  bidirectionelles et permettent de remonter des infos sur l'état de la carte. 

- Le connecteur micromatch en entrée est un 10 points. Il contient tous les
  signaux de commande (SPI, RS232, analogique/PWM)

- 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.

- Il subsite 4 straps à câbler filairement. Ces straps sont des signaux de
  commande des PWM. Ils vont aux drivers de MOS. 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 est équipée de 2 capteurs de température pour monitorer la
  température de chacun des deux ponts en H.

- 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 de l'AVR (Vref_L
  et Vref_R). Quand, 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 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 IR2010,
de moins bonne facture, mais qui feront l'affaire.

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
========= ================ =============== ===========================