Carte d'interface PIN² V1

Répondre
Avatar du membre
romain
Collec Perso: 11 flips
Rech/Achete: 0 flip
Messages : 2048
Enregistré le : 01/10/2002
Pas vu depuis 2 mois
Niveau : Expert
Pro / revendeur : non

Carte d'interface PIN² V1

Message par romain » mer. 06 02, 2008 15:15

Bonjour,

le projet ayant bien avance et la faisabilité de l'interface ayant été prouvée, il est maintenant nécessaire de réaliser la première carte d'interface pour le projet PIN².

La première carte prototype, pour rappel, comportai (voir photo jointe) :
- 1 régulateur 7805 qui régule la tension d'alimentation de 12V à 5V.
- 1 fusible.
- 1 microcontrôleur PIC16F877.
- 2 circuits d'extension MCP23017.
- 2 optocoupleurs pour la protection du PC en cas de surtension sur la carte.
- 1 support pour le brochage d'un convertisseur USB/Série.
- connectique sécable pour les entrées/sorties de la carte.

Cette carte ayant permis de faire beaucoup d'essais, ne permet pas de gérer un flipper complet. De plus, certaines choses méritent d'êtres corrigées et/ou améliorées.

Voici mes suggestions pour le point de départ de la prochaine carte de commande :

- 1 régulateur 7805 qui régule la tension d'alimentation de 12V à 5V.
- 1 fusible (normal, réarmable ?).
- 1 microcontrôleur PIC16F877.
- 8 circuits d'extension MCP23017.
- 2 optocoupleurs pour la protection du PC en cas de surtension sur la carte.
- 1 support pour le brochage d'un convertisseur USB/Série.
- connectique de norme HE10-20 en remplacement des broches sécables : de la nappe et des bon connecteurs :s1:
- des LED de statut (j'ai pensé à un bargraphe connecté sur les pattes non utilisées du microcontrôleur).

La taille de la carte ne changerait pas (ou très peu), mais la disposition sera totalement chamboulée avec des pistes beaucoup plus fines entre les 23017 et les connecteurs.

Chaque circuit d'extension 23017 ressortira sur un seul connecteur HE10 16 lignes de sortie (soit 2 ports 8bits).

La fixation de la carte sera prise en compte pour le placement de trous de perçage, et particulièrement aux endroits de torsion (connecteurs).

Le débat est maintenant ouvert pour vos remarques et/ou suggestions quant à cette nouvelle carte.

@+
Fichiers joints
carte_proto.jpg
carte_proto.jpg (87.72 Kio) Vu 6753 fois
Addams - T2 - Fathom - Special Force - Robocop - OxO - EATPM - Silverball Mania - TZ - BK2K - Totem
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ

Avatar du membre
damien d.
Dept: 000
Rech/Achete: 0 flip
Messages : 4328
Enregistré le : 01/10/2002
Pas vu depuis 2 an(s)
Niveau : Débutant
Pro / revendeur : non
Localisation : 4NG1C0URt
Contact :

Message par damien d. » mer. 06 02, 2008 16:08

- 1 fusible (normal, réarmable ?).
Ben si tu prend des normaux, je préfèrerai du 6x32 standard.

- des LED de statut (j'ai pensé à un bargraphe connecté sur les pattes non utilisées du microcontrôleur).
Wééé! J'aime bien les trucs qui font bipbip! Ca fait SSsoooo Fashion! =)

La fixation de la carte sera prise en compte pour le placement de trous de perçage, et particulièrement aux endroits de torsion (connecteurs).
Ha, ca c'est intelligent ;)
Et une vis a proximité des chips sur supports, histoire de ne pas se retrouver avec une carte comme les MPU Bally qui se tord quand on veux changer une ROM :/


-Par contre, il reste le problème du connecteur pour la matrice de contact.
-Et aussi la protection du PIC vis a vis de la matrice de contact. Buffer ou pas buffer?
-Et l'alim. 12V? y'a pas beaucoup besoin de 12V dans un flip. Par contre il y a le 20V de la matrice de lampe et des flashers. Quoique du 12V ca sert aussi pour des optos. Enfin a débattre quoi.
Damien D. - centinex.wizard@gmail.com

Band Wagon^Jungle^Jubilee^OXO^Little Chief^Space Mission^Royal Flush^Silverball Mania^Embryon^Speakeasy 4^Black Hole^Black Hole^Blackbelt^Genesis^Cyclone^Black Knight 2000^Star Trek^Star Wars^Twilight Zone

Avatar du membre
Papo06
Dept: 06
Collec Perso: 1 flip
Rech/Achete: 0 flip
Messages : 4904
Enregistré le : 30/03/2005
Pas vu depuis 4 mois
Niveau : Confirmé
Pro / revendeur : non
Localisation : Mougins

Message par Papo06 » mer. 06 02, 2008 17:40

Je rajoute mon grain de sel :-%:

- Intégrer la carte usb sur la carte mètre, là ça fait "rajouté"

- Mettre un seul double opto, à 8 broches plutot que 2 x 8 simples (par exemple tlp 504a mais y en a plein d'autres)

- Mettre un vrai bouton reset, pourquoi pas ajouter aussi un bouton 'test'

- je l'ai déjà dit dans l'autre post mais j'adore insister: passer à la famille 18f pour le pic, même en restant en rs232 et en se coltinant un convertisseur usb/série externe (has been de mon point de vue avec les derniers pic usb mais bon...), ils sont fait pour le C compilé et même à fréquence égale ils sont plus rapide.

Au hasard un PIC18F4520 coute 7,8 euros ttc chez farnell, monte à 40Mhz, a 1,5Ko de ram, 32k de flash, monte à 115kbauds sur le port série avec 0,22% d'erreur.

Le 18F4550 qui est le même mais avec USB intégré, coute la ridicule somme de 8 euros, monte à 48Mhz, a 2k de ram, 32k de flash, compatible usb 2 (et comme j'ai dit microchip fournit un firmware avec tout ce qu'il faut pour émuler un port série par dessus l'usb, donc totalement transparent de notre point de vue, aucun driver windows à écrire et le code pour le pic est donné gratuitement MCHPFSUSB ) j'ai trouvé un autre isolateur numérique texas ISO7221MD, 8 broche 6 euros et qui tient 150Mbps, donc 14 euros en tout pour du full usb isolé galvaniquement c'est pas la mort.

- 7 circuits d'extension suffisent largement, avec les ports du pic ça fait 16 ports en sortie de 8 bits chacun, je sais pas si vous vous rendez bien compte du nombre monstrueux de sorties que ça donne déjà 128 bits: c'est à dire 2 matrices de switch (128 switchs), 2 matrices de lampes (128 lampes), 16 entrées "directes" rapides pour gérer les flips / bumpers / slingshots et 64 sorties bobines/flash (pas mal de flips se contentent de 24 bobines/flash en tout ! seuls quelques rares flips complexes comme le roadshow/sttng ajoutent une 9ème colonne de switch et une carte de sorties flash/bobines additionelle et ils sont très très loin de 64...)

- Led de diagnostic: une pour le 5v et une pour indiquer que le proc tourne ça suffit, elle peut servir aussi à indiquer une activité sur le port série en clignottant rapidement par exemple s'il y a de l'activité, lentement si le proc tourne mais sans pc derrière, fixe ou éteinte = pic en vrac... conserver aussi la led en amont des optos sur le bus USB bien sur c'est utile pour savoir si l'usb est bien là. donc 3 leds suffisent IMHO.

A mon avis, du moment que le port série fonctionne, pas la peine de se casser le cul à mettre 72 leds de diagnostic car le pic envoie les messages au PC. dans la séquence de reset par exemple j'envoie déjà tout un tas d'info sur la présence ou non des circuits d'extension, etc, donc le pc peut indiquer à l'écran tous les problèmes détectés et/ou s'auto-configurer en fonction des éléments présents ou non, typiquement au démarrage du pc j'envoie "RZ" au pic et lui il me réponds

"PIN2 RESET
PIN2 SWITCH OK
PIN2 LAMP OK
PIN2 COIL OK
PIN2 RUNNING"

ben si j'ajoute un autre circuit switch par exemple il peut répondre "PIN2 SWITCH2 OK" et par programme on sait qu'on a 2 matrices de switch dispo.

Exemple en version 7 crcuits:

"PIN2 RESET
PIN2 SWITCH1 OK
PIN2 SWITCH2 OK
PIN2 DIRECTSWITCH OK
PIN2 LAMP1 OK
PIN2 LAMP2 OK
PIN2 COIL1 OK
PIN2 COIL2 OK
PIN2 COIL3 OK
PIN2 COIL4 OK
PIN2 RUNNING"

Pour le reste bon on a vu que ça marche, même si je dois dire que tout ça reste assez classique avec tout dans le fronton on pourrait aussi bien faire table rase du passé, tout foutre en l'air et tout implémenter avec un bus CAN qui fonctionne sur plusieurs mètres donc juste un petit cable en paire torsadée entre le fronton et le plateau, aucune nappe, carte cpu ridiculement petite, des modules de puissance directement sous le plateau
http://www.microchip.com/stellent/group ... 021962.pdf

(pour une V2...)

Pascal

Avatar du membre
damien d.
Dept: 000
Rech/Achete: 0 flip
Messages : 4328
Enregistré le : 01/10/2002
Pas vu depuis 2 an(s)
Niveau : Débutant
Pro / revendeur : non
Localisation : 4NG1C0URt
Contact :

Message par damien d. » mer. 06 02, 2008 18:21

- Intégrer la carte usb sur la carte mètre, là ça fait "rajouté"
Je suis d'accord ca fait un peu manouche :D:
Mettre un seul double opto, à 8 broches plutot que 2 x 8 simples
Je suis aussi d'accord (gain de place).
- Mettre un vrai bouton reset, pourquoi pas ajouter aussi un bouton 'test'
Oué, d'accord aussi, histoire de voir si, PC non branché, le PIC tourne bien, et la carte marche (en cyclan les lampes/bobines par exemple).
Le 18F4550 qui est le même mais avec USB intégré, coute la ridicule somme de 8 euros, monte à 48Mhz, a 2k de ram, 32k de flash, compatible usb 2 (et comme j'ai dit microchip fournit un firmware avec tout ce qu'il faut pour émuler un port série par dessus l'usb, donc totalement transparent de notre point de vue
Si ca se limite a changer de PIC et de n'avoir rien d'autre a refaire de compliqué, je suis d'accord aussi (moins de trucs sur la carte, et qui dit truc qui va plus vite, dit marge de manoeuvre avant que ca rame).
- 7 circuits d'extension suffisent largement
La je suis moins d'accord si ca ne représente pas beaucoup de travail/sous d'en avoir 8. C'est histoire d'etre *totalement certain* de ne jamais avoir a rajouter de carte comme l'ont fait WMS.
A mon avis, du moment que le port série fonctionne, pas la peine de se casser le cul à mettre 72 leds de diagnostic car le pic envoie les messages au PC
Hormis le fait que ca fasse sapin de noel, non, pas de réel interet. Mais qui
n'aime pas les cartes-sapin de noel?
Pour le reste bon on a vu que ça marche, même si je dois dire que tout ça reste assez classique avec tout dans le fronton on pourrait aussi bien faire table rase du passé, tout foutre en l'air et tout implémenter avec un bus CAN qui fonctionne sur plusieurs mètres donc juste un petit cable en paire torsadée entre le fronton et le plateau, aucune nappe, carte cpu ridiculement petite, des modules de puissance directement sous le plateau
Ca pose beaucoup de problème ca, rien que pour la maintenance. Une carte driver HS, dans un fronton, ca se swap facilement. Pareil pour la maintenance du plateau, c'est sensé etre que de la mécanique la dessous, déja que je ne supporte pas les cartes Pop Bumpers Driver Board... =) Ensuite rien que d'un point de vue design, si de la place est bouffée par des cartes, ou mettre les bumpers?
D'accord le coté "rien qu'un fil pour brancher un plateau" (enfin faut les alims aussi) est sympa, mais ca déporte la complexité sous le plateau, qui est un endroit pas trop privilégier pour loger des trucs sensibles.
Déja, repiquer le concept du PinBall2000 (pas de cable sur le plateau, mais des connecteurs, les cables sont dans la caisse) est suffisant, il permet d'avoir un truc facile utiliser tout en restant avec la filasserie habituelle et bien connue. Et en laissant les cartes la ou elle sont bien (fronton ou fond de caisse).
Damien D. - centinex.wizard@gmail.com

Band Wagon^Jungle^Jubilee^OXO^Little Chief^Space Mission^Royal Flush^Silverball Mania^Embryon^Speakeasy 4^Black Hole^Black Hole^Blackbelt^Genesis^Cyclone^Black Knight 2000^Star Trek^Star Wars^Twilight Zone

Avatar du membre
Papo06
Dept: 06
Collec Perso: 1 flip
Rech/Achete: 0 flip
Messages : 4904
Enregistré le : 30/03/2005
Pas vu depuis 4 mois
Niveau : Confirmé
Pro / revendeur : non
Localisation : Mougins

Message par Papo06 » mer. 06 02, 2008 18:54

Meme sans mettre les cartes drivers sous le plateau, les reliers avec 3 fil+alim c'est plus sympa que 16+alim et il n'y a aucune limitation quant au nombre de cartes additionelles. en fait je sais pas trop si c'est utile de faire une méga carte cpu alors qu'il est facile de déporter les circuits (voir les drivers lampes bally ou les drivers sys6/7 qui fonctionnent comme ça avec les pia déportés sur les cartes, bon c'était une techno d'il y a 20 ans avec le bus processeur donc pas fiable, mais le bus can est fait pour ça, c'est ce qui est utilisé dans les voitures (inventé par bosch à la base) et ça supporte bien les parasites ambiants (mode différentiel), de toute façon c'est comme l'i2c mais en mieux (longueur, immunité aux bruits, etc).

La carte cpu serait simplement un convertisseur usb/can avec isolation entre le pic et le can (le pic serait alimenté via le host, l'isolation galva serait entre les sorties rx/tx d'un pic18f2550 par exemple et les entrées rx/tx du driver can style mcp2551), le reste des cartes avec intelligence embarquée (carte switch, carte matrice lampe, etc...) donc nombre illimité de matrices switch, lampes, etc

Bon tout ça c'est juste pour vous faire chier ::)): , gardons un truc simple existant déjà ça sera pas mal si on arrive à faire un flip de base qui marche :)

Pascal

Avatar du membre
damien d.
Dept: 000
Rech/Achete: 0 flip
Messages : 4328
Enregistré le : 01/10/2002
Pas vu depuis 2 an(s)
Niveau : Débutant
Pro / revendeur : non
Localisation : 4NG1C0URt
Contact :

Message par damien d. » jeu. 07 02, 2008 22:17

donc nombre illimité de matrices switch, lampes, etc
Hé, tu te plaigniait déja que y'en avais trop comme ca, et tu veux en faire encore plus! :D:
Damien D. - centinex.wizard@gmail.com

Band Wagon^Jungle^Jubilee^OXO^Little Chief^Space Mission^Royal Flush^Silverball Mania^Embryon^Speakeasy 4^Black Hole^Black Hole^Blackbelt^Genesis^Cyclone^Black Knight 2000^Star Trek^Star Wars^Twilight Zone

Avatar du membre
fred_c
Dept: 80
Collec Perso: 11 flips
Rech/Achete: 0 flip
Messages : 4656
Enregistré le : 01/10/2002
Niveau : Confirmé
Pro / revendeur : non
Localisation : proche d'Amiens

Message par fred_c » jeu. 07 02, 2008 23:35

J'interviens pas souvent mais je lis pratiquement tous les messages.
Vos échanges sont très intéressants.

Je vous donne mon opinion :

Mettre du bus CAN dans un flip c'est un peu déployer une armée pour attraper une taupe (je dis ça car j'en ai une qui passe depuis quelques semaines dans le jardin ::o: ).

A VIERZON, le CRAZY RACE (flip en alignement 2007) tournait avec deux 18F4520, un MCP23016 donc de l'I2C et j'ai pas eu un plantage sur les deux jours. Le bus I2C était en filaire même pas de blindage.

Oui, le bus CAN est plus "robuste" mais c'est aussi un peu plus complexe à gérer. Le driver I2C sous PIC 18F et beaucoup plus simple que le driver de bus CAN (j'utilise celui de chez Microchip). Rien que le réglage du débit binaire entre les entités communicantes c'est pas simple à paramétrer.
Le bus I2C est très tolérant au niveau des débits binaires (1 maître et des esclaves).

J'ai des cartes qui tournent en 18F4580 en bus CAN avec du MCP2551 en driver de lignes, ça marche, nous l'utilisons car c'est des dispositifs qui vont être montés dans des cars (autobus) équipés d'un bus CAN. Sans l'analyseur de trames CAN, nous serions encore dans la phase de mise au point. Romain si toutefois tu passes en bus CAN, je peux te prêter un analyseur pendant les mois de mai, juin, juillet et aout.

Conclusion de mon point de vu l'I2C est une bonne solution. Economique puisque pas de driver de ligne et gain de place sur le CI, facile à mettre en œuvre, il est très facile de déporter les E/S sur des CI indépendants et génériques. Il y a même un signal de demande d'interruption sur les MCP23016. 8)

Avatar du membre
Papo06
Dept: 06
Collec Perso: 1 flip
Rech/Achete: 0 flip
Messages : 4904
Enregistré le : 30/03/2005
Pas vu depuis 4 mois
Niveau : Confirmé
Pro / revendeur : non
Localisation : Mougins

Message par Papo06 » ven. 08 02, 2008 00:29

Cool, donc on pourrait très bien déporter les 23017 sur les cartes auxiliaires avec 4 fils plutot que 16

Je suis content de voir un autre supporter de la série 18f ::)):

Donc un carte cpu avec juste des connecteurs i2c je vote pour, tout le monde est content, la cpu est petite, on met autant de cartes qu'on veut (il faut le chainer l'i2c comme le can ou ça marche en étoile aussi ?)

En effet on utilise l'interruption du 23017 pour détecter un changement de switch sur les 16 entrées rapides (boutons de flips / contact EOS), inutile sur les switch matricés vu que ça change tout le temps à chaque changement de colonne de toute façon...

Pascal

Avatar du membre
tony49
Dept: 85
Collec Perso: 3 flips
Rech/Achete: 0 flip
Messages : 757
Enregistré le : 01/10/2002
Pas vu depuis 3 an(s)
Niveau : Confirmé
Pro / revendeur : non
Localisation : Vendée

Message par tony49 » ven. 08 02, 2008 07:29

Sur les mallettes de tir pyrotechnique que je fabrique, mes cartes I2C sont reliées en parallèle à la carte mère.
Pour les grandes longueur on peut rajouter une résistance en pull up sur SDA et SCL.

Avatar du membre
fred_c
Dept: 80
Collec Perso: 11 flips
Rech/Achete: 0 flip
Messages : 4656
Enregistré le : 01/10/2002
Niveau : Confirmé
Pro / revendeur : non
Localisation : proche d'Amiens

Message par fred_c » ven. 08 02, 2008 08:20

tony49 a écrit :... Pour les grandes longueur on peut rajouter une résistance en pull up sur SDA et SCL.
Les résistances de tirage sont obligatoires quelque soit la longueur de cablage (voir spécification technique du bus I2C) puisque la technologie des E/S est le drain ouvert ou collecteur ouvert. Le chainage est la bonne solution , c'est une topologie en bus tout le monde est raccordé ensemble.
Fichiers joints
i2c topo.jpg
i2c topo.jpg (18.34 Kio) Vu 6617 fois
I2c_5.jpg
I2c_5.jpg (31.55 Kio) Vu 6617 fois
I2c_4.jpg
I2c_4.jpg (31.43 Kio) Vu 6617 fois

Répondre