Choix des connectiques sur une carte fait-maison : Grove ?

meepmeep

Senior Member
Bonjour,
Suite à une proposition de schéma autour d'un 20M2 par PieM (ici), je me suis lancé dans la réalisation d'une carte qui correspond à mes besoins.
Le PCB de la carte en elle-même est finie et je commence la partie "carte fille" avec les connecteurs (c'est un choix de ma part de faire la carte en 2 parties, genre shield mais par en dessous).

Et j'arrive au délicat choix (déjà abordé sur ce forum, je sais, ici...) du choix de connectiques "élèves".
Or je me demandais s'il était pertinent de prévoir tout simplement des connectiques Grove (des modules Arduino du même nom...).

Si la réponse est oui, j'ai deux questions :
- Savez-vous si, en général, les modules Grove sont facilement utilisables sur Picaxe (les boutons et les LED, j'imagine que oui, mais les capteurs ultrason, les suiveurs de lignes, capteur de température, émetteur-récepteur IR etc... ?) car, sinon, ça a moins d'intérêt...
- Les connecteurs Grove ont 4 broches (V+, GND, S1, S2). Pensez-vous que je doive câbler systématiquement un connecteur pour deux entrées (ou sorties) ? Car au final, pour 16 E/S, ça ne me fera plus que 8 connecteurs... ça réduit sacrément les possibilités... qu'en pensez-vous ?

Merci d'avance !
 

Technoman

Senior Member
Bonsoir,

Il y a un an, j'ai aussi débuté la conception d'une carte (monocarte - logiciel Target 3001), avec le même objectif ; elle avance très doucement, par manque de temps.

Voir aussi le site http://technoopen.org/spip.php?article2

Je pense que le standard Grove est pertinent car il donne accès à une quantité importante de modules d'E/S, largement distribués en France. Nombre de modules n'utilisent qu'un fil d'E/S sur le connecteur.

J'avais réalisé des tests avec une carte Picaxe AXE 401, munie d'un shield Grove. La carte n'est pas 100% compatible, notamment pour le bus I2C ; des modifs sont à faire.

La difficulté réside dans l'absence de librairies pour Picaxe ; il faut les développer par soi-même. J'avais tenté de gérer l'afficheur LCD, avec rétroéclairage RGB, mais sans succès ; sans doute un banal pb d'adresse.
Alors, qu'avec une carte Arduino, j'ai pu écrire un programme en quelques clics...

Autre standard, le Crowtail (http://www.elecrow.com/wiki/index.php?title=Main_Page). Peu répandu ici, il utilise des connecteurs à 3 broches (E/S) et à 4 broches (UART et I2C).
 

PieM

Senior Member
Bonjour,
Je pense que le problème est surtout de savoir quels types de capteurs /actionneurs doivent être acceptés.
Concernant les entrées, à moins d'utiliser l'I2C, 3 fils suffisent largement et permettent comme déja dit d'intégrer une R de pull down ou pull up en fonction du besoin du capteur.
Pratiquement tous les capteurs depuis le BP jusqu'au recepteur HF sont possibles.
Cela suppose également que la broche signal du connecteur soit relié à une broche Picaxe qui offre les caractéristiques souhaitées entre pwm, ADC, DAC etc .
Par contre en sortie, entre une led qui demande 2 fils, un moteur PaP unipolaire qui en nécessite 5, un bipolaire qui en nécessite 4, je ne vois pas trop de solution universelle.

Pourquoi ne pas rester avec l'accès à chaque pin du picaxe et avoir un plan de câblage pour chaque module? Seule la connexion V+ serait équipée d'un détrompeur par sécurité.
 

meepmeep

Senior Member
Merci pour vos réponses !

Voici l'état actuel de la carte...
Carte20M2.jpg
PCB20M2.jpg
Je crois que je peux encore améliorer les pistes d'alimentations ?
Le routage avec des si grosses pistes est dû au fait que j'usine mes circuits imprimés à la fraiseuse à commande numérique. J'exporte en gerber et je n'ai plus qu'à graver...

Pour la carte fille de connexion, voici mon idée de départ (complétée par vos conseils) :

* Câblages de 8 Entrées et 8 Sorties (biensûr modifiable si besoin)
* Connecteurs :
En entrée :
- un connecteur grove par broche du picaxe avec 3 points connectés (Signal / V+ / GND)
- en parallèle à ces connecteurs, des borniers doubles à levier (Signal / V+) lorsque l'entrée est configurée avec les résistances de pulldown (avec des DipSwitch sur ma carte) pour des utilisation rapide comme un BP branché directement.
En sortie :
- SORTIES DIRECTES : Des connecteurs Grove avec 3 points connectés (Signal / V+ / GND)
- SORTIES ULN : Des borniers doubles rapides (Signal / V+) (LED, Moteur, Relais...)
- SORTIES MOTEUR L293D : 2 borniers doubles rapides

Voilà... qu'en pensez-vous ?...
Merci pour votre aides
 

PieM

Senior Member
Heu ... quel intérêt d'utiliser du Grove qui est au pas de 2mm et non 2.5 !
 

meepmeep

Senior Member
La carte que j'ai mis en capture d'écran est la carte de base, j'enfiche ensuite un shield ("carte fille") avec les connecteurs de mon choix, grove, borniers, connecteurs 2,54...
Ca me fait gagner en place et également en prix car je multiplie le nombre de cartes filles et garde seulement 6 cartes pour toutes mes classes...

EDIT : j'oubliais, je pense prévoir 1ou 2 connecteurs IIC
 

PieM

Senior Member
La connectique Grove ne se justifie que si on a l'intention d'acheter des modules Grove , ce qui n'est pas la solution la moins onéreuse (plus de 3€ un vulgaire inter !) ni la plus universelle...
Mais ...
 

Technoman

Senior Member
La carte sur laquelle je travaille est une monocarte. Le modèle d'inspiration est la Lotus de Seeeduino http://wiki.seeed.cc/Seeeduino_Lotus/.

Votre idée, d'une carte microcontrôleur et d'une carte fille est intéressante (solution proposée autrefois sur le site Technoopen). Cela implique l'ajout d'une connectique supplémentaire, parfois coûteuse, sinon moins fiable (pb contact).

Pour ma part, je pense que les élèves ne mettront que peu de temps pour rebrancher les capteurs et actionneurs, au format Grove, sur la carte, distribuée en début de séance. Pour un robot, il y a la question de la commande des moteurs ; là, il faudra un bornier ou des connecteurs à 2 broches au pas de 2 ou 2,54 ou 3,96 ou .... Quant à la carte de commande, elle peut être basée sur un L293 ; j'en avais conçu une, connectée à un Autoprog A4.

Ou bien, plus simple, ce type de carte toute faite http://www.centralmedia.fr/robotique/06-modules/module-de-commande-de-2-moteurs-compatible-arduino--drv298n,g1_324p44441.html, voire d'autres. Lorsque l'on voit le prix de certaines cartes made in China, est-il besoin de réinventer la roue...

Il existe des cartes de commande de moteurs pilotées via I2C, mais plus chères (voir Seeeduino).

Dans les projets futurs, une carte dédiée pour intégrer une gestion simplifiée des moteurs via I2C ou UART, associé à une régulation de la fréquence de rotation. Les robots devront alors comporter des odomètres (optique, ...).

@PIEM : certes ce n'est pas la moins onéreuse, mais cela à l'avantage de faire gagner du temps. Par ailleurs, ces cartes sont de bonne facture. La plupart des fournisseurs en vendent maintenant.
Il est toujours possible de développer des cartes à ce standard ou de câbler des cartes bon marché d'origine extrême orientales.

Cela repose la question des budgets dédiés à la matière. Les enseignants doivent pouvoir disposer de moyens financiers pour acheter du tout fait, se concentrer sur le fond de leur métier, la pédagogie, et passer moins de temps sur des aspects matériels. Certains ont les connaissances techniques et peuvent prendre du plaisir à concevoir et d'autres, pas. Ces derniers doivent être aidés. Pour information, certains ont été recrutés pour leurs compétences en mécanique et d'autres en gestion... Il est compréhensible de les voir en difficultés lorsque l'on leur demande de monter des projets de type mécatronique.

Il existe des solutions sur le marché, mais souvent onéreuses et inabordables pour beaucoup de collèges.
 
Last edited:

PieM

Senior Member
Il me semble que dans le cas présent, voir le post inital, il s'agissait d'avoir une carte bon marché, assez universelle, les compétence en meca et en électronique ne semblant pas faire défaut.
C'est pour cette raison que le schéma proposé (voir ci dessus) , prévoyait la possibilité de commander des moteurs en sens et vitesse grace au L293D, des moteurs pas à pas bipolaires ou unipolaire, et 8 sorties puissance via le ULN2803, et ce sans ajout d'aucune carte supplémentaire en dehors de la connectique, sans pour autant figer les entrées et sorties.
"Les enseignants doivent pouvoir disposer de moyens financiers..." oui bien sûr dans un monde idéal.
Je me rends compte que nombreux sont les enseignants qui essaient de faire quelque chose sans avoir les moyens suffisant, et je leur tire mon chapeau!
 

meepmeep

Senior Member
Bonsoir,
En effet, il s'agit de faire une carte la plus universelle possible et bon marché...
De plus, les connecteurs sont sur une carte fille qui est fixée à demeure sur les prototypes de robots, déjà cablés aux capteurs et actionneurs.
Je n'ai plus qu'a enficher la carte programmable (que je n'ai qu'en 6 exemplaires) et les élèves transfèrent leurs programmes (donc ça fait encore baisser le prix en évitant de multiplier le nombre de carte programmable).
Je prévois donc de réaliser un plus grand nombre de carte fille (une vingtaine) et seulement 6 cartes programmables avec tout dessus (ULN, L293D, Résistances de pulldown...).

Pour mon choix des connecteurs grove, c'est que j'ai déjà des modules grove que j'utilise sur les cartes arduino.
Pour les BP, DEL, etc... je me les fabrique... alors, pourquoi pas les fabriquer avec un connecteur grove ? Comme ça, ces modules me servent pour les deux technologies...

Question : l'I2C, il est sur la broche B5 du 20M2 ?

Sinon, voici la dernière version de mon PCB, vous avez des remarques ?
(Pour les straps un peu proches des résistances, ça ira !)
(Pour la zone GND sous le L293D pour évacuer les calories, ça sera prévu, mais sur le fichier d'usinage...)
PCB20M2-2.jpg
View attachment 20256
Et le PCB transformé pour etre usiné (reste à le retourner)
PCB-GRL.jpg
Merci encore !!!
 
Last edited:

PieM

Senior Member
Bonjour,

si du matériel existe déjà en Grove, alors effectivement le choix de ces connecteurs peut se justifier.
L'I2C demande outre le V+ et GND , 2 lignes SDA (data) et SCL (Horloge) donc B5 et B7 sur le 20M2

Par contre l'I2C étant du collecteur ouvert, il ne faut pas de R de 330 ohms entre sortie picaxe et la borne de raccordement, les lignes devant être avec des R de pullup de l'ordre de 4.7k (à mettre sur le module connecté, si il n'est pas inclus de base.)

Concernant le PCB, difficile de vérifier, mais il me semble qu'il y a des manques:
alimentation V+ du 20M2 pas claire!
Beaucoup de straps pas clairs.
la zone GND peut être simplifiée vu le mode de gravure, en particulier coté U2, un strap inutile, une séparation entre GND L293 et ULN inutile...
Pour vérifier, il suffit de colorier les zone en fonction des potentiels/fonctions pour tout mettre en évidence. (avec photoshop ou paint)

S6 du schéma, totalement inutile !
 

meepmeep

Senior Member
@PieM :
Je viens de voir ton post, merci pour ces précisions, je vais donc modifier légèrement les sorties directes pour pouvoir faire le choix entre sorties directes et I2C...
Sinon, oui, j'ai une quinzaine de straps, je n'aime pas trop mais je n'ai pas réussi à faire mieux, d'autant qu'il y en a un en L et un en U (mais j'ai quelques bug d'affichage d'où le "pas clair sur le V+ du 20M2"), tu verras mieux sur le fichier joint...
Par ailleurs, je n'ai pas l'impression qu'il y ai une séparation entre les masses du 293 et ULN...
Sinon, le U2, c'était pour avoir un switch pour mettre sous/hors tension la carte en coupant le retour de la masse... c'est pas possible de faire comme ça ??

Je joins le fichier, ça sera surement plus simple puisque tu as le logiciel ! (.txt à supprimer)
View attachment schéma20M2-2.dch.txt
View attachment PCB-V7.dip.txt
Merci...
 

Technoman

Senior Member
Beau travail, si vous avez des photos...

Pour la connectique mère-fille, vous utilisez des connecteurs type Arduino pour shield?

l'I2C, il est sur la broche B5 du 20M2 ?
B.5 pour les données (hi2c sda - data) et B.7 pour l'horloge (hi2c scl - clock)
 

PieM

Senior Member
Sur le pcb gravure: une modif et une séparation en trop évitent deux strap ...
2016-10-02 001.jpg

Sinon, le U2, c'était pour avoir un switch pour mettre sous/hors tension la carte en coupant le retour de la masse... c'est pas possible de faire comme ça ??
C'est qd même mieux d'avoir une coupure en amont sur les différentes alim, avec protection par fusible ... d'où la simplification ci dessus
 

Attachments

meepmeep

Senior Member
Merci pour ces précision et bien vu pour la séparation des masses !
Par contre, ça ne m'arrange pas cette histoire de switch, c'était quand même plus simple pour les élèves... je vais réfléchir.
Je vais aussi réfléchir pour le câblage de l'I2C, pour pouvoir facilement passer du mode I2C à normal facilement (mais ça va être quand même ardu...)

Sinon, pour Technoman, c'est ça comme connecteurs :

 

PieM

Senior Member
Par contre, ça ne m'arrange pas cette histoire de switch, c'était quand même plus simple pour les élèves... je vais réfléchir.
Si les deux sources d'alim sont connectées, ça n'empêche pas d'avoir une ddp de U2 - U1 sur la carte !

Je vais aussi réfléchir pour le câblage de l'I2C, pour pouvoir facilement passer du mode I2C à normal facilement
Il suffit de mettre deux sorties supplémentaire prises directement sur les pins B5 et B7. Mettre éventuellement des 4.7k de tirage à V+, à condition qu'elles soit déconnectables.
 

meepmeep

Senior Member
Si les deux sources d'alim sont connectées, ça n'empêche pas d'avoir une ddp de U2 - U1 sur la carte !
Je suis un peu long à la détente, mais je ne comprends pas bien en quoi ça pose problème d'avoir un switch qui coupe le retour des masses.
(Sachant qu'a priori, il n'arrivera jamais qu'il y ait deux sources d'alimentations 5v et 12v simultanément... D'ailleurs, je ne vois pas l'intérêt d'avoir 2 sources simultanément ?!?...)

Après, pour le fusible, rien n’empêche, effectivement de l'avoir sur l'alim en amont... mais, bon, ça sera le plus souvent des piles.
 
Top