Optimisation de cartes de contrôle de robot mobile

De Wiki d'activités IMA
Révision datée du 26 juillet 2016 à 01:38 par Mherwegh (discussion | contributions) (Carte Temperature/Humidite)

Cahier des charges

Présentation générale du projet

Reprendre la carte du stage Plateforme robotique pour l'enseignement secondaire.

Remplacer l'ATMega328P traversant par un ATMega328P de surface mais soudable à la main. Trouvez un quartz de surface plus compact. Minimiser les via.

Réaliser deux mini-cartes pour réaliser des capteurs I2C. Les mini-cartes doivent comporter un connecteur RJ11 pour se connecter vers la carte mère et un connecteur RJ11 pour chaîner un autre capteur. L'un des capteurs doit être un capteur d'humidité et de température, le second doit être un capteur de pression. Si possible trouver des composants de surface pour les capteurs I2C. Une sonde étanche pour le capteur de température serait appréciée.

Ecrire les fonctions permettant de récupérer les valeurs des capteurs. Ces fonctions doivent être écrites pour avr-gcc. Pour la partie I2C vous pouvez vous baser sur le projet IMA4 ordonnanceur de 2014/2015 (Malette Arduino éducative I).

Créer un châssis unique pour les deux motorisations avec des fixations propres sans utilisation de fil de fer.

Avancement du Projet

Cahier des charges

Afin d'optimiser et améliorer le robot mobile dont il est question, nous allons chercher à réduire la taille de certains composants électroniques et ajouter la fonction suivante :

Possibilité d'ajouter des capteurs en chaîne.

Pour cela, il est convenu d'utiliser deux types de capteurs dans un premier temps : un capteur de pression et un capteur de temperature/humidité. Il est convenu qu'il serait appréciable d'avoir des capteurs étanche à la plongée dans l'eau (IP67 ou supérieure serait idéal).

Enfin, le châssis devra être retravaillé pour être en une seule pièce et contenir l'ensemble des composants déjà existants.


Possibilites Hardware

Mini-carte Temperature

1) http://fr.farnell.com/silicon-labs/si7034-a10-im/capteur-temp-humidite-4-deg-c/dp/2473678?ost=temperature+humidite&selectedCategoryId=&categoryId=700000004362&searchView=table&iscrfnonsku=false

Ce capteur repond a toutes les contraintes : I2C, SMD, temperature et humidite, de taille correcte. Il a besoin d'etre soude a l'aide d'un four a refusion.

2) http://fr.farnell.com/honeywell/hih6130-021-001/capteur-humidicon-5-soic-8/dp/1961727

Ce capteur repond au cahier des charges. il demande d'etre alimente en 3.3V et demande donc un regulateur de tension. Il est soudable a la main.

3) Une autre solution envisageable serait de differencier deux capteurs, un de temperature et un d'humidite, sur la meme carte avec des adresses I2C differentes. En regardant chez le fournisseur Farnell, le prix semble superieur a la seconde solution qui offre les memes fonctionnalites/caracteristiaues en un seul composant.

Si l'on souhaite eviter l'utilisation d'un four a refusion, le second capteur est la solution. Si l'utilisation de ce four est possible, la premiere solution semble la plus adapte avec un circuit simple et un prix inferieur.


Mini-carte Pression

1) http://fr.farnell.com/honeywell/asdxavx010ng2a5/capteur-jauge-10-in-h2o-axial/dp/1784667

Ce capteur offre une mesure de pression differentielle entre la pression atmospherique courante et la pression qu'on lui applique. Alimente en 5V et de taille raisonnable, il communique en I2C avec le systeme.

2) http://fr.farnell.com/honeywell/asdxacx030pa7a5/capteur-30psi-absolue-axial/dp/1784657

Ce capteur offre une mesure de pression absolue. Alimente en 5V et de taille raisonnable, il offre lui aussi une communication I2C.

3) http://fr.farnell.com/honeywell/sscmann060pg2a3/sensor-60psi-smd-axial-gauge/dp/1823239

Ce capteur offre une mesure de pression diffenretielle comme le premier. Alimente en 3.3V et de taille legerement inferieur au precedent, il permet de communiquer en I2C.

Parmi ces trois capteurs, les deux premiers sont traversants tandis que le dernier est SMD. Je pense que cela n'est pas un probleme si l'on considere que l'avantage du SMD est le gain de place et l'economie financiere du au percage. Notre carte comportant principalement deux connecteurs RJ11, ce nouveau capteur ne viendra pas augmenter la taille de la carte ni rajouter un surcout de percage.

Le troisieme composant, SMD, existe aussi en pression absolu mais n'est plus disponible chez Farnell. De plus, son prix eleve ne favorise pas ce choix.

Au vu de l'application voulu, je pense que le second capteur est le plus adapte : pression absolu, I2C, taille correcte, prix abordable. Son prix legerement superieur sera compense par la suppression des composants necessaires a l'adaptation en tension et la possibilite de faire la carte en une seule couche au lieu de deux.

Ressources Software

Librairie I2C : Fichier:-2016-IMA4-EC1-I2C Library.zip

Liste de composants

Carte principale

atmega : http://fr.farnell.com/atmel/atmega328p-au/micro-8-bits-avr-32k-flash-32tqfp/dp/1715486?selectedCategoryId=&exaMfpn=true&categoryId=&searchRef=SearchLookAhead&searchView=table&iscrfnonsku=false

quartz : http://fr.farnell.com/epson/q22fa23800181-fa-238-16-mhz-12-5pf/quartz-fa-238-16mhz-50ppm-12pf/dp/1712816

Carte Temperature/Humidite

Capteur Temp/Humi : http://fr.farnell.com/silicon-labs/si7034-a10-im/capteur-temp-humidite-4-deg-c/dp/2473678?ost=temperature+humidite&selectedCategoryId=&categoryId=700000004362&searchView=table&iscrfnonsku=false

Regulateur de tension : http://fr.farnell.com/texas-instruments/tps79718dckt/regulateur-ldo-10ma-cms/dp/1135377

Resistances 10kohm *2 :

-par 5000 : http://fr.farnell.com/multicomp/mc0063w0603110k/res-couche-epaisse-10k-1-0-063w/dp/2130939

-par 50 : http://fr.farnell.com/multicomp/mc0063w0603110k/res-couche-epaisse-10k-1-0-063w/dp/9330399RL

Resistances 100kohm *1 :

-par 5000 : http://fr.farnell.com/multicomp/mc0063w06031100k/res-couche-epaisse-100k-1-0-063w/dp/2131019

-par 10 : http://fr.farnell.com/multicomp/mc0063w06031100k/res-couche-epaisse-100k-1-0-063w/dp/9330402

Condensateur 0.1uF *2 (par 10): http://fr.farnell.com/walsin/0603b104k500ct/condensateur-mlcc-x7r-0-1uf-50v/dp/2496834

Condensateur 0.47uF *1 (par 5) : http://fr.farnell.com/tdk/c1608x7r1h474k080ac/condensateur-mlcc-x7r-470nf-50v/dp/2346908

RJ11 : 2 prises femelles

Carte Pression

(ancien)Capteur de pression : http://fr.farnell.com/honeywell/asdxrrx030pg2a5/capteur-jauge-30psi-radial/dp/1784707

(nouveau)Capteur de pression (differentielle) : http://fr.farnell.com/honeywell/asdxavx010ng2a5/capteur-jauge-10-in-h2o-axial/dp/1784667

(nouveau)Capteur de pression (absolue) : http://fr.farnell.com/honeywell/asdxacx030pa7a5/capteur-30psi-absolue-axial/dp/1784657

(nouveau_ Capteur de pression (SMD) : http://fr.farnell.com/honeywell/sscmann060pg2a3/sensor-60psi-smd-axial-gauge/dp/1823239

a verifier

regulateur de tension : http://fr.farnell.com/texas-instruments/tps79325dbvr/regulateur-ldo-2-5v-sot-23/dp/1460963

Condensateurs : 3x 100nF | 1x 10uF

Jumper : 1 jumper 3 pattes

RJ11 : 2 prises femelles

Divers

3 cables RJ11 male-male

Schématique

Carte principale

La carte principale est realisee en se basant sur celle deja realisee pour la plateforme robotique. L'atmega etant remplace par un atmega de surface, les pins sont quelques peu differentes. L'equivalence est visible sur l'image ci-dessous :

-2016-IMA4-EC1-Equivalence Atmegas.png

On remarque aussi le changement du quartz ainsi que l'ajout d'un connecteur RJ11 femelle pour la connection I2C. L'ajout de cette connection implique de changer le branchement de "capteur_ligne2" et "capteur_ligne3" qui etait branches sur les ports SDA et SCL de l'atmega.

On obtient alors le schematique suivant :

-2016-IMA4-EC1-Carte principale-v3.png

Carte temperature

Il est conseille d'integrer le capteur de temperature choisi dans le circuit suivant :

-2016-IMA4-EC1-TypicalCircuit Capteur TempHumi.gif

Pour cela, il faut donc se pencher sur un regulateur de tension afin d'avoir une tension fiable et sans variation en entree. Le regulateur choisi est quant a lui conseille dans le circuit suivant :

-2016-IMA4-EC1-TypicalCircuit RegTension.gif

En prenant en compte ces elements, on obtient donc le schematique complet de la mini-carte temperature suivante :

-2016-IMA4-EC1-Carte Temperature-v5.png

Carte pression

D'apres la documentation du capteur de pression, une alimentation entre 1.7V et 3.6V est necessaire pour l'alimenter. Pour cela on se base sur un regulateur de tension avec une tension de sortie nominale de 2.5V. Ce regulateur est conseille dans le circuit suivant :

-2016-IMA4-EC1-TypicalCircuit Capteur Pression.gif

Le capteur de pression quant a lui se branche comme suit :

-2016-IMA4-EC1-TypicalCircuit Capteur Pression-v2.gif

avec C1 valant 100nF.

Ce capteur pression offre la possibilite de changer son adresse en fonction de l'etat de l'entree SA0. Il est donc choisi d'utiliser un jumper pour laisser le choix lors de l'utilisation entre etat haut ou bas.

En prenant ces specificites en compte, on obtient le schematique suivant pour cette mini carte :

-2016-IMA4-EC1-Carte Pression-v5.png

PCB

Carte principale

Mini-carte Temperature

Pistes : 16mil vias : 0.4mm diameter / ring 0.3mm

-2016-IMA4-EC1-PCB Temperature-v6.png

De la place est prevu autour du capteur de temperature pour que ce dernier ne soit pas influence par la chauffe possible des composants alentours.

Mini-carte Pression

-2016-IMA4-EC1-PCB pression.png

Programme C

Carte électronique