Auteur Sujet: BreakoutBoard CAN  (Lu 128709 fois)

railyRabbit

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #60 le: décembre 05, 2016, 10:41:41 pm »
Hello,

De retour après très longtemps... et de nouvelles expériences électroniques :P

Je reviens depuis plusieurs jours sur ce topic, qui commence à m'intéresser sérieusement : j'ai à peine commencé à faire fonctionner mes détecteurs infrarouges (9 au total) que j'envisage leur v2, basée sur le protocole CAN, afin de simplifier le câblage et de n'utiliser qu'un seul bus pour différents types d'accessoires.

J'envisage de faire des cartes avec un ATmega328 monté seul, qui tournera donc à 8MHz sur son horloge interne.
La fréquence du quartz du MCP2515 doit être en rapport avec celle du processeur ?
Ou bien, comme j'ai l'impression de comprendre, l'oscillateur du 2515 ne sert que dans le traitement des signaux du bus CAN ?

merci ! ;)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : Re : BreakoutBoard CAN
« Réponse #61 le: décembre 05, 2016, 11:20:26 pm »
J'envisage de faire des cartes avec un ATmega328 monté seul, qui tournera donc à 8MHz sur son horloge interne.
La fréquence du quartz du MCP2515 doit être en rapport avec celle du processeur ?
Ou bien, comme j'ai l'impression de comprendre, l'oscillateur du 2515 ne sert que dans le traitement des signaux du bus CAN ?

Bonjour,

J'ai l'impression aussi que c'est la 2ème hypothèse : l'oscillateur du 2515 ne sert que dans le traitement des signaux du bus CAN
L'interface entre l'Arduino et le 2515 utilise le bus SPI, c'est donc indépendant
Cordialement,
Dominique

patrick

  • Newbie
  • *
  • Messages: 43
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #62 le: décembre 06, 2016, 08:09:47 pm »
Pour faire l'économie d'un crystal, il est possible de connecter le pin CLKO du 328 (port D8 sur le UNO par exemple) au pin OSC1 du MCP2515 (laisser OSC2 ouvert). Ainsi, l'horloge interne du Atmega pourra servir d'horloge externe au MCP2515. On trouve un petit peu d'information là-dessus sur le web... Il faut entre autre configurer un "fuse" du Atmega et vérifier que le bon prescaler est utilisé. Mais bon, mes connaissances s'arrêtent là!

Juste en passant...
Patrick

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #63 le: décembre 07, 2016, 09:51:27 am »
Vous savez, cette petite carte CAN ne coûte que 1,68€, port compris et elle contient son quartz (à 8mhz) et tout le reste.

Personnellement je ne "bricolerai" pas une carte Arduino pour relier un 2515 qui risque de coûter plus cher et nécessite plus de fils de liaison et une modif des "fuse" que je ne sais pas faire avec l'IDE: il faut être expert.

Pour les débutants en tout cas, la carte toute faite est la solution la plus simple.
« Modifié: décembre 07, 2016, 09:53:38 am par Dominique »
Cordialement,
Dominique

railyRabbit

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #64 le: décembre 07, 2016, 01:29:12 pm »
Hello,

C'est intéressant, cette possibilité d'utiliser le µc comme horloge. Je vais creuser, au moins pour l'information (le coût du crystal n'est pas vraiment un sujet, ni l'encombrement...).

La carte CAN qu'on trouve en ligne est très certainement plus simple et rapide à mettre en œuvre.
Dans mon cas de figure, je voudrais :
- avoir un bus qui fasse transiter l'alim 5V et les lignes CAN (dans un RJ12, par ex)
- packager carte CAN + µc sur une surface contenue

C'est la seule raison à mes réflexions actuelles  ;)
(et puis ça fait bricoler)

D'ailleurs à propos de quartz, c'est possible de partager 1 quartz entre 2 µc ??
« Modifié: décembre 07, 2016, 01:39:42 pm par railyRabbit »

patrick

  • Newbie
  • *
  • Messages: 43
    • Voir le profil
Re : Re : BreakoutBoard CAN
« Réponse #65 le: décembre 07, 2016, 05:26:31 pm »
Vous savez, cette petite carte CAN ne coûte que 1,68€, port compris et elle contient son quartz (à 8mhz) et tout le reste.

Personnellement je ne "bricolerai" pas une carte Arduino pour relier un 2515 qui risque de coûter plus cher et nécessite plus de fils de liaison et une modif des "fuse" que je ne sais pas faire avec l'IDE: il faut être expert.

Pour les débutants en tout cas, la carte toute faite est la solution la plus simple.

Non, bien sûr, je suis d'accord. Le but n'est pas de bricoler ce genre de board. Par contre, lorsqu'on designe un PCB il est intéressant de connaitre les possibilités qui s'offrent à nous. Et le partage d'une horloge n'est pas sans intérêt.

Aussi, cela s'éloigne du niveau "débutant"... Moi-même débutant avec une petite expertise, je ne m'amuserais pas à cela. Trop compliqué à débugguer...

D'ailleurs à propos de quartz, c'est possible de partager 1 quartz entre 2 µc ??

Normalement oui, mais il y a la question "qui contrôle l'horloge". Si je ne m'abuse, il faut exciter le crystal pour qu'il y ait résonnance. Donc avoir deux "masters" n'est peut-être pas trivial à gérer...
La solution la plus fréquente que j'ai vue jusqu'à aujourd'hui est de propager le signal de IC en IC, ou d'ajouter un buffer entre les deux ICs et le crystal si jamais ils n'offrent pas cette possibilité.

Encore une fois, ce n'est que l'avis d'un débutant.  ;)

railyRabbit

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #66 le: décembre 07, 2016, 06:30:26 pm »
Merci Patrick, je chercherai également à compléter sur le web.

Pour le moment je regarde les configs pour paramétrer les fusibles et customiser le µc,
et je suis tombé sur ce lien.

Ça n'a pas l'air très sorcier (à la lecture, en tout cas).
A tester sur breadboard...

railyRabbit

  • Newbie
  • *
  • Messages: 29
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #67 le: décembre 11, 2016, 05:53:32 pm »
Bon, je crois que j'ai réussi à paramétrer un 328p monté seul sur breadboard, avec les fusibles qui vont bien pour exporter l'horloge à 8MHz sur le pin PB0. Je n'ai plus qu'à attendre le 2515 que j'ai commandé pour les essais...  :P

[edit] Je me suis rendu compte que mon multimètre pouvait mesurer les fréquences... du coup j'ai regardé ce qui sortait sur le pin 14 (PB0) : 8,08 MHz  8) ça a marché !! [/edit]

Les liens :
- la description des principaux fusibles
- un "calculateur" pour déterminer/vérifier la valeur des fusibles, avec la configuration que j'ai choisie
- le bootloader Optiboot que j'ai utilisé, en modifiant les fusibles "low_fuses" et "high_fuses" et "extended_fuses" de la config 328p / 8MHz dans le fichier "board.txt"
- un tuto pour les branchements pour flasher, il en existe plusieurs sur internet
« Modifié: décembre 11, 2016, 07:04:23 pm par railyRabbit »

ramboman

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
Re : Re : BreakoutBoard CAN
« Réponse #68 le: décembre 22, 2016, 09:48:58 am »
Vous savez, cette petite carte CAN ne coûte que 1,68€, port compris et elle contient son quartz (à 8mhz) et tout le reste.

Personnellement je ne "bricolerai" pas une carte Arduino pour relier un 2515 qui risque de coûter plus cher et nécessite plus de fils de liaison et une modif des "fuse" que je ne sais pas faire avec l'IDE: il faut être expert.

Pour les débutants en tout cas, la carte toute faite est la solution la plus simple.

Merci pour ce lien...
Le bus CAN est en effet le seul (à ma connaissance) qui permette aux Arduino de communiquer sans relation maître-esclave...
Mon projet utilise actuellement 6 cantons, avec chacun un arduino, qui échangent de l'information...
essentiellement : est-ce que le canton est libre...
Le pilote est monté sur planche-à-pain... pas de difficulté, mais un vrai spaguetti...
Du point de vue architecture il y a pour chaque canton :
=> un Leonardo
=> un shield contrôleur 10A (pour LGB)
=> un circuit de détection (5 secteurs)
=> un board relais pour la commutation des sources
Le réseau CAN restait le point faible...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #69 le: décembre 22, 2016, 09:54:07 am »
Bonjour,

J'espère que tout ce qui est publié sur Locoduino vous permettra d'installer le bus CAN sans difficulté.

J'espère aussi que cet espoir vous fera passer un bon Noël.

Amicalement
Dominique
Cordialement,
Dominique

Souris verte

  • Newbie
  • *
  • Messages: 40
  • HO, DCC, Arduino...
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #70 le: mars 18, 2018, 12:20:34 pm »
Bjr,
Un due et des modules 2515 et 2551 sont en route.J’ai déjà 2Uno.
Est-il possible d’avoir des fréquences différentes en émission et réception ?
Ou dois-je émettre à la même vitesse sur le média ?

Côté due: CAN0.begin(CAN_BPS_500K);
Côté Uno/nano/mega: CAN0.begin(CAN_500KBPS,MCP_8MHZ);

Globalement la vitesse du bus est limitée par les petites cartes asiatiques.
Prochaine étape de mon projet, rejoindre un club de modélisme..ça devrait me permettre de répondre à certaines questions  :)
Merci
« Modifié: mars 18, 2018, 02:56:07 pm par Souris verte »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : Re : BreakoutBoard CAN
« Réponse #71 le: mars 18, 2018, 02:28:50 pm »
Un due et des modules 2515 et 2551 sont en route.J’ai déjà 2Uno.
Est-il possible d’avoir des fréquences différentes en émission et réception ?
Ou dois-je émettre à la même vitesse sur le média ?
Côté due: CAN0.begin(CAN_BPS_500K);
Côté Uno/nano/mega: CAN0.begin(CAN_500KBPS,MCP_8MHZ);

Bonjour,

Des vitesses différentes en émission et réception : NON

Mais un Due ( can intégré) d’un côté et une carte chinoise a 8 MHz de l’autre, ça devrait marcher si la Bibliothèque est bien foutue. Je n’ai pas essayé encore mais j’ai tout ce qu’il faut pour le faire. Essayons chacun de notre côté et partageons les résultats.

Dominique
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Re : BreakoutBoard CAN
« Réponse #72 le: avril 04, 2018, 04:02:41 pm »

Est-il possible d’avoir des fréquences différentes en émission et réception ?


Tiens, ça me rappelle le Minitel (1200/75). Nostalgie pour lui et sa jolie musique ... Il y a juste 40 ans.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : BreakoutBoard CAN
« Réponse #73 le: avril 04, 2018, 04:18:46 pm »
Tiens, ça me rappelle le Minitel (1200/75). Nostalgie pour lui et sa jolie musique ... Il y a juste 40 ans.
... « En 2010, 2 millions de personnes utilisaient encore le Minitel (grâce à iMinitel), pour 200 000 euros de chiffre d'affaires. Le service a été fermé par France Télécom - Orange le 30 juin 2012. L'arrêt du Minitel est une conséquence de la décroissance des usages et de la fermeture du réseau Transpac support de l'offre Minitel .» ... mais les 20 dernières années, les GAFA sont venues voir de plus prés ce modèle économique qui les a bien inspirées pendant qu’on en avait honte et ne prévoyait plus grand chose en France  :-\

Rien n’est perdu, il y a Locoduino  ;D
« Modifié: avril 04, 2018, 04:20:25 pm par Dominique »
Cordialement,
Dominique