Besoin d'aide pour interface arduino et DRV8432DKD

Bonjour à tous,

Dans le cadre de mon projet, je dois développer une carte électronique qui assure plusieurs fonctions :

  • Commande de deux moteurs
  • Alimentation Xbee
  • Switch de communication Xbee/filaire

C'est la première fois que je fais ça, j'ai donc quelques doutes :

  • Ai-je le droit de connecté directement l'arduino avec mon pont en H notamment les PWM (compatibilité statiques, résistance d'adaptation...)
  • Dimensionnement de la capacité de sortie et de la bobine de mon régulateur à découpage 3V3

J'ai suivi à la lettre les datasheets mais si quelqu'un pouvait regarder mon schéma et me rassurer, ça serait cool :wink:

Je vous joins mon schéma au format PDF.

Merci d'avance

PS : Si vous avez d'autres conseils, je suis preneur !

MTE00025-03a.pdf (90 KB)

Bonjour, bon, pour le transceiver série ttl pas de probleme, pour les moteurs il te faut une alim extérieur ( qui ne sort pas du arduino ) , si c'est +BATT ton alim extérieur on est bon , bref ! sinon pour :

  • Ai-je le droit de connecté directement l'arduino avec mon pont en H notamment les PWM (compatibilité statiques, résistance d'adaptation...)

normalement il n'y a pas de probleme du moment que ce n'est pas la pwm qui alimente le moteur si c'est le cas => PWM => transistor + alim exterieur => pont en H, sinon je ne sais pas si tu doit mettre une résistance, peut être une de faible résistance au cas ou..

  • Dimensionnement de la capacité de sortie et de la bobine de mon régulateur à découpage 3V3

je serais pas te sortir les calcules comme ça et je les ai pas fait mais normalement si tu l'a fait celons la doc il devrais pas y avoir de souci hein =)

Skizo !

Bonjour, bon, pour le transceiver série ttl pas de probleme, pour les moteurs il te faut une alim extérieur ( qui ne sort pas du arduino ) , si c'est +BATT ton alim extérieur on est bon

Oui, il s'agit d'une batterie.

normalement il n'y a pas de probleme du moment que ce n'est pas la pwm qui alimente le moteur si c'est le cas => PWM => transistor + alim exterieur => pont en H, sinon je ne sais pas si tu doit mettre une résistance, peut être une de faible résistance au cas ou..

Les PWM n'alimentent pas le pont en H, elle permettent uniquement de contrôler les moteurs.

je serais pas te sortir les calcules comme ça et je les ai pas fait mais normalement si tu l'a fait celons la doc il devrais pas y avoir de souci hein =)

Effectivement c'est ce que j'ai fait !

Je posais la question de l'interfaçage entre le Nano et le DRV8432(DKD) car j'ai vu sur la datasheet que pour les PWM on avait :

  • 2V<Vih<3.6V
  • 0V<Vil<0.8V

Pour l'arduino, j'ai regardé sur la datasheet de l'ATmega328P (page 313 ^^) :

  • Vol = 0.9V
  • Voh = 4.2V

Est-ce que je me suis trompé dans la lecture de mes datasheets ? car je ne pense pas que ça soit compatible du coup : le Vol>Vil ....

Je ne me rappel plus trop de mes cours mais il me semble que l'on place souvent des résistances en série dans ce genre d'interfaçage...

Si vous avez des explications, car ma mémoire me fait défaut !

Merci

EDIT : J'ai vraiment des doutes sur les valeurs de Vol et Voh car :
je suis allez : http://arduino.cc/en/Main/ArduinoBoardNano
section : Schematic and Design
j'ai lu : Arduino Nano 3.0 (ATmega328): schematic, Eagle files.
je me suis dit cool, mais quand j'ai cliqué sur "schematic" j'ai vu que le µ était : ATMega168....

si c'est vraiment le cas, pour la arduino c'est sur pour le reste je ne sais pas, il ne te reste plus qu'à mettre un petit pont diviseur de tension :slight_smile:

Ben j'en sais rien j'attends les boss du forum pour voir ce qu'ils vont me dire ^^

Boss, Patron, Chef-oui-chef ?

Bon en tout, y'a un barbu qui passait par là....

  1. Adaptation TX Arduino -> RX XBee
    la solution d'un pont diviseur n'est pas terrible
    Je propose la solution suivante que j'utilise avec ma carte SD et que j'ai repiqué sur le schéma du shield XBee de Sparkfun (tu peux aller vérifier):
                   +---/\/\/\/\--- 3V3
Tx Arduino ---|<|--+-------- Rx Xbee

Résistance de pull-up environ 1kohms
Diode type 1N4148 (cathode vers Arduino)

  1. Apparemment le DRV8432 à bien des I/O numériques 3V3 donc max 3V6
    Il faut appliquer le même principe de conversion 5V -> 3V3

Je n'ais regardé le reste que rapidement : le schéma autour du DRV8432 semble être identique à la datasheet.
Je n'ais pas regardé les circuits de régulation 3V3 ni le driver de led.

Je n'aurais pas utilisé un switch analogique pour commuter le signal RX (PC/Xbee) mais un switch numérique
Ca devrait marcher mais je ne vois pas l'intérêt d'utiliser +VBatt au lieu du +5V.

N'oublie pas de faire le bilan des consommation +5V externes à l'ArduinoNano car le régulateur "on-board" est limité en capacité.

Merci de ta réponse Barbudor,

Tu viens de mettre le doigt sur quelque chose que je n'ai jamais compris... (c'est peut-être maintenant ^^)

Si j'ai bien compris, tu me recommandes de faire ça

3V3  ---/\/\/\/\----+
Arduino Pin PWM---+---------|>|-------PWM x DRV8432

Avec R=1K et la diode du type 1N4148.

Pour moi ça veut dire que la sortie de l'Arduino est à collecteur ouvert, donc je me pose la question suivante : Pourquoi la PWM à un servo par exemple, je n'ai pas besoin de tirer la tension à 5V ?

(désolé c'est la base je sais... un peu honte d'ailleurs)

Non, dans le même sens que pour le XBee.

l'arduino est 5V, le XBee et le DRV sont 3V3

                   +---/\/\/\/\--- 3V3
Tx Arduino ---|<|--+-------- Rx Xbee ou PWMx du DRV

Quand le signal de l'Arduino est à 0, il "tire" le courant à travers la diode et la broche du XBee/DRV est donc à environ 0.5V qui est suffisant pour être un niveau logique bas.
Quand le signal de l'Arduino passe à 5V, il est plus haut que le 3V3 donc la diode est bloquée et c'est la résistance de pull-up qui impose le 3V3 a l'entrée du Xbee/DRV

Sinon utiliser des circuits adaptés à la conversion 5V/3V3 tels que les 74LVC125 ou 74LVC1G125

Très claire ton explication j'ai compris tout de suite ! Rien à voir avec les sorties à collecteurs ouvert

Merci.

PS : Tant que j'y suis, pour faire communiquer mon nano en RS232 avec un arduino uno distant de 25m, j'ai besoin de quoi à part les deux arduinos et le câble de 25m ?

Un max 232 aussi coté Uno
Masse dans le cable pour faire masse commune

Merci beaucoup pour ton soutien et ton efficacité Barbudor !

le voila le boss du forum :grin: el magnifiquo barbatruc !! 8)

J'ai relu la datasheet du MAX232 et je me demandé quelle était la meilleur possibilité entre :

  • Enlever le MAX232 présent sur ma carte et établir un liaison série TTL (0 / +5V)
  • Laisser le MAX232 présent sur ma carte et établir la liaison série RS232 (-12V / 12V)

Sachant que la longueur de câble séparant les deux arduinos est de 25m.

RS232 alors, liaison serie TTL c'est un peut faible, RS232 c'est 100m max et rs485 c'est 1000m grand max

Est-ce qu'il existe des shields qui font ça directement ou il est préférable de les concevoir soit même ?

EDIT: J'ai trouvé celui là qui me semble pas trop mal :

http://www.zartronic.fr/convertisseur-rs232ttl-p-290.html?zenid=36925dab09a31b41d06a7c42cc28fd6a

Vous en pensez quoi ?

hum.. j'en pense que c'est chère alors que tu peut acheter le composant 1€ et direct l'adapter, alim et rx tx sont sur le arduino rien besoin de plus.. après cette adaptateur est pas mal par ce que tu bidouille rien à toi de voir..