Pages: [1] 2   Go Down
Author Topic: Besoin d'aide pour interface arduino et DRV8432DKD  (Read 1316 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-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.02 KB - downloaded 15 times.)
Logged

83 - var
Offline Offline
God Member
*****
Karma: 4
Posts: 769
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 :

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

Quote
- 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 !
Logged

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Quote
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....
« Last Edit: June 20, 2012, 03:22:13 am by rhum187 » Logged

83 - var
Offline Offline
God Member
*****
Karma: 4
Posts: 769
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 23
Posts: 2054
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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):

Code:
                   +---/\/\/\/\--- 3V3
Tx Arduino ---|<|--+-------- Rx Xbee
Résistance de pull-up environ 1kohms
Diode type 1N4148 (cathode vers Arduino)

2) 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é.

Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Code:
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)
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 23
Posts: 2054
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Code:
                   +---/\/\/\/\--- 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
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 23
Posts: 2054
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci beaucoup pour ton soutien et ton efficacité Barbudor !

Logged

83 - var
Offline Offline
God Member
*****
Karma: 4
Posts: 769
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

le voila le boss du forum  smiley-mr-green el magnifiquo barbatruc !!  smiley-cool

Logged

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

83 - var
Offline Offline
God Member
*****
Karma: 4
Posts: 769
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
« Last Edit: June 21, 2012, 03:37:00 am by rhum187 » Logged

Pages: [1] 2   Go Up
Jump to: