Elec Arduino - Adaptateursjp79dsfr.free.fr/_Docs et infos/Elec _ Arduino - Adaptateurs.pdf · CP-E4...

13
http://jp79dsfr.free.fr/Photo-Tech/ v 1.00 - ©JP 24/04/2017 C C o o n n v v e e r r t t i i s s s s e e u u r r s s e e t t a a c c c c e e s s s s o o i i r r e e s s p p o o u u r r A A r r d d u u i i n n o o ( ) Brouillon

Transcript of Elec Arduino - Adaptateursjp79dsfr.free.fr/_Docs et infos/Elec _ Arduino - Adaptateurs.pdf · CP-E4...

http://jp79dsfr.free.fr/Photo-Tech/ v 1.00 - ©JP 24/04/2017

CCoonnvveerrttiisssseeuurrss eett aacccceessssooiirreess

ppoouurr AArrdduuiinnoo

(( ))

Brouillon

Table des matières

Convertisseurs 1

Adaptateurs RS232 1

Rappels liaison RS232 1

Pont USB RS232 TTL - FT232 2

Schéma carte 2

Signaux de sortie 2

Programmation FT232R et GPIO 3

Connexion FT232 - Arduino mini 4

Liens et documents 4

Adaptateur RS232 TTL - V28 5

Connexion périphériques 5

Adaptateurs I²C 7

Driver afficheur alphanumérique LCD - Hitachi 44780 7

Accessoires 10

Combiné Voltmètre-Ampèremètre USB 10

Conception interne 10

Révisions document 11

CP-E4 Shoot Page 1

Convertisseurs

Adaptateurs RS232

Rappels liaison RS232

Une liaison série permet la communication unidirectionnelle par un seul fil entre deux

composant informatiques, cette liaison est doublée pour permettre un dialogue bidirectionnel et

peut être associée a des signaux complémentaires de contrôle de la communication.

Le protocole RS232 d'un point de vue logique obéit aux règles de base suivantes :

• Le niveau repos de la transmission est le niveau logique haut.

• Les données sont envoyées bit de poids faible en premier, par bloc d'une longueur pouvant varier de 4

a 8bits.

• Un bit de départ de niveau zéro est toujours inséré en début d'émission d'un bloc de données (octet)

permettant de synchroniser l'émetteur et le récepteur.

• Un ou plusieurs bits d'arrêt de niveau haut sont utilisés a la fin du bloc de données pour les séparer.

• Un bit facultatif de parité calculé sur les bits de donnée uniquement peut être inséré avant les bits

d'arrêt.

• La tolérance entre la fréquence d'horloge de l'émetteur et celle du récepteur est d'environ +/- 7%.

Repos

S

t 1 0 0 1 1 0 0

S

p

S

t P 0 0 1 1 1 0 0 1

S

p

S

p St P 0 1 .. ..

1 start, 7bits = 0x19 = b0011001 ,1 stop 1 start, parité, 8bits = 0x9C, 2 stop + octet suivant

D'un point de vue électrique une liaison série au format RS232 v28 utilise des signaux

d'amplitude +/-25v (couramment +/-12v sur Pc) a faible impédance pour garantir de grandes

distances de transmission. Le niveau haut correspondant alors a une tension négative comprise entre

-3 et -25v C'est ce type de liaison employant des connecteurs SubD 9 ou 25 points qui était

généralisée sur les ordinateurs post port USB et qui est encore largement employée en milieu

industriel.

Le format Rs232 TTL employée par les cartes Arduino utilise les niveaux standards L=0v, H=Vcc.

Les deux formats ne sont évidement pas compatibles, la connexion d'un port série Atmega à une

liaison v28 pourra provoquer sa destruction !

Seuils de tension Etat Repos Niveau logique 0 Niveau logique 1

Rs232 v28 - 25v a -3v - 25v a -3v +3 a +25v

Rs 232 TTL 5v 5v <1v2 >2.4v

Rs 232 TTL 3v3 3v3 <1v >2v

CP-E4 Shoot Page 2

Pont USB RS232 TTL - FT232

Mini prix mais fait le maximum, ce petit convertisseur basé sur

un circuit intégré de la série FT2xx fabriqué par FTDI chip se trouve

a moins de 2 euros sur eBay. Il propose sous la plupart des Os

existants (Win10 et inferieur, Linux et Osx) un port série virtuel

accessible par un port Usb fonctionnant disposant de la totalité des

signaux de contrôle des protocoles RS232 TTL, 422 et 485. La vitesse de transmission est assurée sur

la plage 300 à 3Mbits/s.

La particularité de ce circuit est de séparer la tension d'alimentation du circuit (3v3 a 5v) et la

tension de référence des buffers de la partie sérielle, le port série peut donc fonctionner sous des

tensions de 1v8 a 5v. Le module proposé ici dispose d'un cavalier permettant une sélection 3v3 ou

5v. Pour un fonctionnement du module sous d'autres tensions (1v8 par ex) le cavalier devra être

enlevé et la tension de référence injectée sur la broche du milieu (VccIO).

Si cette tension de référence sortie sur la broche Vcc permet d'alimenter un montage

périphérique, ce sera dans des limites restreintes, le régulateur 3v3 interne du FT232R ne permet

qu'un courant de sortie de 50mA, la configuration d'alimentation du port Usb ne permet elle qu'un

courant de 100ma en 5v. Si ces limites sont suffisantes pour programmer une carte Arduino standard

l'alimentation d'un module Wifi ESP8266 émettant à pleine puissance posera problème.

Cinq ports GPIO programmables proposent plusieurs fonctions permettant entre autre de piloter

les Leds de signalisation du trafic, la sélection du mode de fonctionnement du port série RS232/485

ou la mise en mode veille.

Schéma carte

Signaux de sortie

Tous les signaux sont au niveau logique haut VccIO au repos, un niveau logique 0 est assuré pour

une tension d'entrée inferieure a 1v. La connexion a une liaison Rs232 standard -12/+12v nécessitera

l'utilisation d'un convertisseur type Max3232.

Broche Pin IC Sens Signaux RS232

RxD RxD In Données transmission série

ex : 1bit start + 0x73 (01110011) TxD TxD Out

DTR DTR# Out Data terminal ready control, utilisé pour reseter le processeur ATmega arduino

CTS CTS# In Clear to Send, signal de contrôle d'échange de données (handshake)

RTS RTS# Out Request to send control output, " "

RSD DSR# In Data set ready control input, " "

DCD DCD# In Data carrier detect control input " "

RI RI# In Ring indicator, si configuré permet de sortir le module de veille

CP-E4 Shoot Page 3

Broche Pin IC Sens Signaux de contrôle

TxL Gpio 0 Out Led émission de données , actif niveau bas

RxL Gpio 1 Out Led réception de données, " "

Ten Gpio 2 In TxDEn : Sélection mode de transmission Rs485 si egal a VccIO

PwrEn Gpio 3 Out Niveau 0 apres initialisation du driver Usb, VccIO en veille ou Usb inactif

Sleep Gpio 4 Out Niveau 0 en mode veille initiée par le port USB

Programmation FT232R et GPIO

Le circuit intégré FT232R est entièrement paramétrable a partir de son port USB a l'aide des

logiciels MProg ou FT_Prog édités par le constructeur, cette possibilité peut être restreinte sur

certaines versions "clones" détectées par le logiciel, l'écriture dans l'EEprom etant alors désactivée.

Ces deux logiciels fonctionnent en mode stand-alone portable sous Windows, FT_Prog plus récent

nécessite que la version 4 de Ms .Net framework soit installée.

La capture d'écran ci-dessous montre les options disponibles pour les FT232R avec l'ancienne

version du logiciel Mprog. FT_Prog n'offre pas de possibilité supplémentaires, est un plus souple

d'emploi mais est moins représentatif pour ce document les options étant reparties sur plusieurs

onglets.

La commande Scan du menu Device permet de détecter et d'énumérer les circuits connectés aux

ports Usb de l'ordinateur. La lecture de l'eeprom est effectuée par la commande Tools/Read avec un

affichage en mode brut, la commande Read and Parse du même menu décode ces informations en

fonction de la référence du circuit détecté sous forme explicite.

Les différents paramètres sont regroupés en sections correspondant aux blocs logiques du circuit

intégré, l'intérêt de leur modification est plus ou moins marqué selon la fonction de ces blocs.

CP-E4 Shoot Page 4

Configuration USB

Si le changement des paramètres du port Usb n'a pas un gros intérêt et peut gêner la détection

du matériel et l'installation automatique du driver, la déclaration du courant de limitation du port

Usb peut éventuellement permettre de passer outre le seuil de 100mA pour un périphérique

autoalimenté en 5v par le convertisseur et un peu gourmand.

RS232 signals

L'inversion des nivaux de sortie des signaux RS232 peut éviter l'utilisation de composants

suplementaires dans le cas de la mise en place de buffers a faible impédance ou des sorties a

collecteur ouvert.

I/O Controls

La aussi soit pour des raisons de câblage et d'intégration du module convertisseur, soit pour des

raisons fonctionnelles il peut être souhaitable de modifier l'attribution des fonctions des GPIO du

FT232, les principales options sont entre autre :

• TxDEn : Passage en mode transmission RS485.

• PwrEn : Sortie au niveau bas après fin de l'énumération et la configuration du driver USB,

permet éventuellement d'alimenter par l'intermédiaire d'un mosP le périphérique relié au

port com.

• TxLed : Sortie mise au niveau bas quelques instants à chaque transmission du port com.

• RxLed : Idem précédent en réception.

• TxRxLed : Combinaison par ou logique des deux précédents.

• Sleep : Sortie mise au niveau bas en mode veille USB.

• Clkxx : Sortie horloge de synchronisation du FT232R, xx = 6, 12, 24 ou 48Mhz.

Connexion FT232 - Arduino mini

La répartition des broches du connecteur situé en bout du module convertisseur est réalisée au

standard utilisé par les cartes Arduino mini pro. L'inversion de Rx Tx étant déjà effectué la symétrie

des connecteurs permet de relier directement les deux cartes soit par un câble, soit de manière plus

directe avec un petit adaptateur constitué de deux connecteurs au pas de 2.5mm femelle soudés

entre eux. Ceux-ci étant généralement vendus par blocs d'une longueur de 10 broches une amorce

au cutter au niveau d'une de celle-ci permet de diviser ces blocs en deux section de 6 et 3 points à

l'aide de deux pinces.

Convertisseur FT 232 Adaptateur Fem-Fem. Arduino pro mini Connecteur restant

NB : Attention avec les cartes Arduino pro mini clones basés sur un ATmega 328 comme celle

représentée sur la photo ci dessus a sélectionner dans l'IDE le type de carte Nano et non pas Pro mini

pour programmer la carte sans erreurs.

Liens et documents

Drivers Windows, OsX, Linux : http://www.ftdichip.com/FTDrivers.htm

Datasheet FT232 : http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf

AN_124 - Guide programmation : http://www.ftdichip.com/Support/Documents/AppNotes/AN_124_User_Guide_For_FT_PROG.pdf

CP-E4 Shoot Page 5

Adaptateur RS232 TTL - V28

La totalité des liaisons série en provenance d'un microcontrôleur

utilisant des nivaux de tension TTL un convertisseur est nécessaire pour se

connecter a un élément distant au standard v28, ou pour augmenter la

distance de transmission, seul ce dernier format permettant des liaisons de

plusieurs mètres (une centaine de mètres est possible a 9600 bauds).

De nombreux modules à base de Max3232 (version basse consommation du

Max232) se trouvent sur le net, soit en version complète avec connecteur subD 9

points, soit en version minimale ne conprenant que le circuit intégré.

Le Max3232 est constitué de pompes de charge permettant la génération des

tensions positives et négatives nécessaire au signaux v28 et d'un couple de buffer bidirectionnel

permettant de gérer deux liaisons série Rx-Tx ou deux signaux de contrôle complémentaires. Les

modules chinois trouvés couramment n'utilisent que deux de ces buffers ce qui est suffisant pour

une liaison asynchrone 3 points. Aucune isolation galvanique entre les parties V28 et TTL n'est

assurée par ce circuit, d'autres modèles plus professionnels existent a cet effet.

La tension d'alimentation du circuit peut varier entre 3v3 et 5v avec un courant au repos

inferieur à 2mA ce qui permet de l'utiliser avec la totalité des processeurs Atmega ou l'adaptateur

FT232 décrit précédemment. Le debit maximum theorique de 1Mbs est suffisant pour la majorité des

cas, la longueur de cablage limitant de toute facon cette valeur.

Schéma module

Comme pour toute liaison série un test de la configuration peut être effectué en boucle locale en

reliant les broches 2 et 3 de la subD, un écho de toute transmission est alors renvoyé au

microcontrôleur.

Connexion périphériques

Du fait du choix d'une prise subD femelle en mode DCE (esclave récepteur) la connexion a un

ancien ordinateur muni de sortie serie s'effectuera par un câble male femelle droit, a contrario

l'utilisation de ces modules pour piloter un périphérique devra être réalisée par un câble male-male

avec les broches Tx/Rx croisées.

CP-E4 Shoot Page 6

Périphérique : Modem, Automate,

variateur de vitesse ….

DTE : Ordinateur, PC ….

Prise DCE male

CP-E4 Shoot Page 7

Adaptateurs I²C

Buffers 8 ports E/S

Basés sur un PCF8574 ces petit modules existent en deux formes

couramment distribuées par les fournisseurs chinois se différentiant

uniquement par leur système de codage d'adressage (l'un par

interrupteurs dip switch, l'autre par cavaliers) et par la présence d'un

second connecteur permettant un empilement des modules sur le modèle

bleu. L'ordre d'attribution des ports sur les connecteurs de liaison reste identique.

Ports d'entrée sortie

Le PCF8574 dispos de ports E/S dits pseudo bidirectionnels, disposant d'un fonctionnement un

peu particulier. En se reportant au schéma de principe ci-dessous, trois états peuvent être distingués

en fonction du niveau logique du port.

• Etat bas : T3 est actif, le courant de sortie maximal d'un charge connectée a Vcc ne doit

pas dépasser 25mA (10mA typ), l'utilisation du port en entrée Haut n'est pas possible

sans résistance de limitation.

• Etat haut : T2 est actif, le courant de sortie maximal est géré par le générateur de

courant constant et ne peut dépasser 100µA environ. L'utilisation du port en entrée est

possible sans limitations.

• Transition bas/haut : Lors de la validation du registre de sortie, T1 est actif pendant 4 a

5µs, le courant de sortie n'est limité que par la résistance de charge connectée a la

masse et peut monter au dessus de 1mA.

La connexion d'une charge consommatrice de courant comme une Led devra donc être réalisée

impérativement en mode drain ouvert avec le commun à Vcc.

Sortie Int

La sortie /Int permet est normalement prévue pour être connectée a une interruption

microcontrôleur et lui informer d'un changement d'état d'un des ports E/S. Pour ce une comparaison

entre les 8bits E/S et une valeur mémorisée lors d'une lecture précédente via le bus I²C, une

différence entre ces deux registres provoque la mise a l'etat bas de la sortie /Int. Cela peut eviter un

polling régulier du ou des circuits 8574 et un gain de temps lors de la réaction a un événement.

Port x

Lecture I2c

/Int

CP-E4 Shoot Page 8

Driver afficheur alphanumérique LCD - Hitachi 44780

Petit module permettant de commander tout affichage LCD

disposant d'un connecteur au standard 44780 à partir d'une liaison I2c.

Cette solution sur des cartes disposant de peu d'entrées sorties permet

d'économiser cinq ports digitaux par rapport à un shield LCD classique.

Le brochage du connecteur de sortie est prévu pour s'adapter a tout afficheur doté d'un retro

éclairage, la liaison avec le LCD pourra être effectués soit a l'aide d'un connecteur femelle, soit en

soudant directement les broches males au pas de 2.54 mm directement. Dans ce dernier cas

attention aux pattes métallique du cadre de maintient du LCD pouvant entrer en contact avec

l'adaptateur.

LCD nu avec connecteur fem. LCD I2c

Basé sur un PCF8574 le module peut être alimenté en 3v3 ou 5v, un cavalier en extrémité de

module permet de désactiver le retro-éclairage du LCD. L'autre extrémité reçoit un connecteur male

4 points avec l'alimentation et le bus I2c disposé de façon standard.

SDA (Data) SCL (Horloge)

Carte Uno Analog4 Analog5

Carte Mega, Due Digital20 Digital21

Carte ProMini A4 A5

Carte Leonardo Digital2 Digital3

Carte ESP8266 D4 / D14 D3 / D15

La sélection de l'adressage I2c est effectuée par ponts à souder, la bibliothèque LCD-I2c utilisant

uniquement l'adresse globale sans tenir

compte du bit0 de selection R/W les valeurs

à déclarer en fonction des ponts soudés

seront celles du tableau ci-contre, l'adresse

0x27 est celle d'origine par défaut.

L'afficheur sera commandé par la bibliothèque LiquidCrystal-I2c d'une manière similaire à la

bibliothèque LCD standard (Voir le document dédié aux afficheurs Arduino).

Schéma adaptateur

Ponts A2 - A1 - A0 Adresse hex Ponts A2 - A1 - A0 Adresse hex

111 27 011 23

110 26 010 22

101 25 001 21

100 24 000 20

CP-E4 Shoot Page 9

CP-E4 Shoot Page 10

Accessoires

Combiné Voltmètre-Ampèremètre USB

Strictement inutile donc strictement indispensable disait le

philosophe, ce petit combiné voltmètre ampèremètre peut rentrer dans

ce cas de figure. S'il ne permettra pas de visualiser des impacts et pointes

de courant provoquant un plantage du périphérique connecté il pourra

aider à diagnostiquer un problème de surconsommation et de baisse de

la tension fournie par le port USB. Vendu sous la dénomination USB charger Doctor a des tarifs

variant entre 2.5 et 10€ ce petit élément existe soit avec un connecteur male fixe comme sur

l'exemple proposé, soit un connecteur relié par un câble souple de quelques centimètres. Cette

seconde solution est sans doute a préférer, la fenêtre de lecture pouvant être invisible sur certains

connecteurs d'ordinateurs inversés, ou le branchement impossible du fait de l'épaisseur du boitier.

Si la présence de deux connecteurs de sortie USB permet de mesurer le courant de deux

périphériques simultanément ne réaliser cette manipulation qu'avec des modèles passifs leurs

signaux data + et - étant alors directement reliés.

Si la précision de la mesure n'est pas exceptionnelle elle reste tout à fait suffisante pour la

majorité des cas. Ne pas oublier que la présence du shunt de mesure d'intensité influe sur la tension

de sortie et augmente l'erreur de sa mesure proportionnellement au courant consommé.

Tension affichée Ue réelle U Sortie Erreur UAff / Us

Is = 0 5.17v 5.12v 5.12v 1%

Is = 500mA 4.96v 4.91v 4.88v 1.5%

Is = 900mA 4.77v 4.76v 4.71v 1.2%

La mesure d'intensité étant réalisée par la mesure de tension dans une résistance shunt une

légère différence de tension va exister entre les 0V et la masse châssis de la source Usb et du

périphérique. Des retours de courant et des erreurs de mesure sont donc à prévoir si ces masses sont

mises en contact soit par l'intermédiaire des châssis ou d'autres câbles de liaison.

Conception interne

Peu a dire, la gestion de la mesure est assurée par un petit circuit intégré spécialisé, la qualité de

fabrication est au standard grand public, ni plus, ni moins, il y a largement pire.

CP-E4 Shoot Page 11

Révisions document

v1.10 4/03/2014 Première diffusion.