Projet Ordinateur de Bord

Vous venez de déballer votre Raspberry Pi et vous vous posez des questions ? C'est ici que ça se passe !

Modérateur : Francois

Avatar du membre
chth26
Messages : 11
Enregistré le : sam. 25 avr. 2015 17:48
Localisation : Gironde

Projet Ordinateur de Bord

Message par chth26 » dim. 26 avr. 2015 13:30

Bonjour à tous,

Je vais faire l'acquisition d'ici quelques jours d'un Raspberry Pi modèle B+ afin de réaliser un ordinateur de bord pour ma petite R4 (donc pas de port OBD :mrgreen: ).
Je suis totalement novice dans le domaine des pi, et compte donc sur la communauté pour m'aider à mener ce projet a bien. J'ai déjà de bonnes connaissance en langage C et Arduino, et je vais être mené a travaillé pendant 1 mois sur Raspberry/Arduino pour un stage. J'espère que ça pourra pas mal me servir :)

Je vous présente mon projet:

Le principe serait d'utiliser dans un premier temps une carte Arduino afin de récupérer les données des différents capteurs (sonde de température d'eau, huile, niveau essence, vitesse...), les envoyer au Raspberry qui les traite et les affiche sur une interface. De plus, j'aimerai pouvoir gérer l'allumage de feux additionnels par exemple depuis l'interface.

Je pense utiliser pour cela :
  • 1 Arduino type Uno
  • 1 Raspberry type B+
  • 1 écran, tactile de préférence (à vous de me conseiller :P)
J'aimerai avoir une interface un peu dans le style du Carberry sans forcement les cadrans dans un premier temps.

Si jamais j'arrive à réaliser tout cela, j’aimerai par la suite pouvoir rajouter un relevé GPS envoyé sur une Googlemap (module GPS + clé 3G ?) et pourquoi pas les différentes données relevées. Et pourquoi pas utiliser un module RTC afin de garder le Raspberry à l'heure (inutile si connexion internet je pense).

Il est pas conseillé de mettre plusieurs questions, mais comme c'est un projet, je pense qu'il est préférable de tout laisser dans le même sujet ;)
Je numérote mes questions histoire que se soit plus facile pour tout le monde :)
  1. L'utilisation de l'arduino est elle indispensable ?
  2. Si oui, j'avais pensé a une liaison I2C pour les relier. Es ce le plus approprié ?
  3. Comment réaliser l'interface? (j'ai aucune connaissance en langage autre que C, mais je peux apprendre :P)
  4. Est-il possible de lancer l'interface au démarrage du Raspberry sans avoir à rien toucher ?
  5. Comment gérer l'alimentation du Raspberry et de l'arduino ? (batterie voiture = 12V) J'avais pensé à utiliser un régulateur 5V avec un L7805VC.
  6. Comment gérer l'extinction du Raspberry/Arduino lors de la coupure moteur ?
J'espère que mon projet va vous intéresser, et que vous allez pouvoir m'aider tout au long de sa réalisation :D
Merci d'avance :geek:
Modifié en dernier par chth26 le mar. 28 avr. 2015 01:08, modifié 1 fois.

EVOTk

Re: Projet Ordinateur de Bord

Message par EVOTk » dim. 26 avr. 2015 16:11

Hello,

Voici quelques réponses :

1 - Pour moi, non
2 - Si le raspberry et l'arduino sont proche, alors oui.
4 - Bien sur.
5 - Le plus courant c'est des regulateur a base de LM317, mais avec un L7805VC meme si de mémoire le L7805 ne peut pas sortir plus de 1A, contre 1,5A pour le LM317 ( et le LM317 peut être monté en parallèle pour additionner l'ampérage max, je ne sait pas pour le L7805. ) Apres une simple prise allume cigare 12V / USB fera l'affaire :)
6 - Tu peux brancher le raspberry sur un 12V permanent, en reprennant la solution proposer ici l'adapter pour détecter la perte du 12V quand on coupe et moteur et programmer l'extinction du raspberry. viewtopic.php?f=70&t=825&p=5499&hilit=extinction#p5499

Avatar du membre
chth26
Messages : 11
Enregistré le : sam. 25 avr. 2015 17:48
Localisation : Gironde

Re: Projet Ordinateur de Bord

Message par chth26 » dim. 26 avr. 2015 16:41

Super, merci de tes réponses rapides !

Pour l'alimentation, le plus facile serait évidement l'usb, mais le risque est que ça se débranche. Je vais donc partir sur le LM317, avec des modules déjà tout prêt. Le courant max supporté par un RPI B+ est bien de 1.5A environ ?

Pour l'extinction, si j'ai bien compris, j'alimente en 12V permanent, et lance un script au démarrage qui détecte la chute de tension du 12V après contact pour demander l'extinction du RPI?
Au final, je vois pas vraiment l’intérêt du circuit en plus du topic proposé.
Serait-il pas plus judicieux de faire comme ici mais en câblant le 12V après contact puisqu'on cherche un 0V ?(pont diviseur?)

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet Ordinateur de Bord

Message par dbrion0606 » lun. 27 avr. 2015 14:41

et le LM317 peut être monté en parallèle pour additionner l'ampérage max, je ne sait pas pour le L7805
C'est pareil : on peut mettre plusieurs 7805 en parallèle. Peut être (schéma d'Elektor- faut il mettre une rejection de parasites -varistor en parallèle, + inductance en série- pour éviter les surtensions de l'éléctricité automobile)

Utiliser l'I2C est faisable, mais implique de faire de l'Arduino un esclave -AFAIK, il est difficile de faire un esclave I2C du RPi- http://www.arduino.cc/en/Tutorial/MasterWriter : pourquoi -sauf peut être contraintes liées au GPS, qui sort souvent en série- ne pas utiliser le prt série de l'Arduino (à noter que vous pouvez programmer directement un Arduino depuis un RPi sous Rapsbian -"apt-get install arduino" - muni d'un écran de bonne qualité...) ? L'avantage que je vois est que c'est plus classique,et surtout que les longueurs de fils peuvent être plus longues que pour l'I2C... Un autre avantage est que cela vous dégage deux convertisseurs ADC (utilisent les mêmes pattes que SCL et SDA, IIRC)

Un dernier point : vous embarquez dans une voiture -d'où des vibrations - la fiabilité dépendra de celle du RPi, celle de l'Arduino ***et*** celle des connections. Peut être ne pouvez vous pas vous passer de l'arduino (6 convertisseurs ADC qui manquent, parfois cruellement, à la RPi)?

Avatar du membre
chth26
Messages : 11
Enregistré le : sam. 25 avr. 2015 17:48
Localisation : Gironde

Re: Projet Ordinateur de Bord

Message par chth26 » mar. 28 avr. 2015 01:07

J'ai pas tout tout suivi la :mrgreen:

Pour ce qui est de l'alimentation je suis parti sur des convertisseur déjà tout fais a base de LM317 délivrant du 1.5A.
1 seul convertisseur sera suffisant pour alimenter et le RPI, l'Arduino et l'écran? Ou une alimentation séparée est elle plus judicieuse ?

Pour ce qui est de la liaison RPI/Arduino, c'est à vous de me conseiller ce qui a de mieux. Dans tous les cas, l'arduino sera en esclave et sera proche du RPI je pense.

Pour les connectiques, je pense forcément souder mes fils, c'est pas un projet sur du court termes. Si tout fonctionne, ça y restera. :mrgreen:

Enfin pour l'écran j'aurais besoin de vos conseilles. Je cherche un ecran de 5" ou 7" de préférence tactile. Après hdmi ou non j'en sais rien. Je pensé partir sur l'écran 7" hdmi touchscreen de chez Sainsmart. Savez vous si il est facile à utiliser? (j'ai lu que c'était galère pour les drivers du tactile.)

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet Ordinateur de Bord

Message par dbrion0606 » mar. 28 avr. 2015 10:51

Faites attention, si vous êtes dans une automobile, aux alimentations (possibilités de surtensions, voire d'inversion momentanée de tension liées aux parasites générés par l'alternateur/la dynamo). Elektor http://www.elektor.fr/programmation-en- ... avr-french alimente ainsi :
une diode (pour les inversions de polarité) en série evc une inductance de quelques millihenrys filtrent le gros des parasites, et ( une varistance -demandez à wikipédia- ,coupant à 20-30 v, en parallèle avec un condensateur céramique de quelques centaines de nanofarads -pour les hautes fréquences ) ramènent les résidus de parasites à la masse. Un condensateur electrochimique (ne filtre que les basses fréquences) de 1000 uF finit le filtrage. Désolé de ne pas avoir le livre sous la main...

Pour ce qui est de l'arduino : est il bien necessaire? Je serais assez d'accord si :

* vous avez besoin d'acquerir des tensions analogiques (mais dans ce cas, 2 voies sont déjà prises si vous décidez d'en faire un esclave I2C) -là, c'est à mon avis la meilleure solution-
ou
* si vous avez des logiciels déjà tout faits pour une partie compliquée (ex : compte tours)

A noter que l'Arduino UNO peut être alimenté directement par une batterie filtrée -le jack permet d'entrer jusqu'à 20 volts, mais son régulateur risque d'être chaud ; le funduino a une alimentation à découpage -au lieu d'un regulateur statique, type 317 ou 7805-, donc risque moins de chauffer https://hackspark.fr/fr/funduino-uno-at ... o-uno.html (par ailleurs, son prix est un peu plus bas qu'un arduino ; de plus
a) son contrôleur est soudé, ce qui peut être sain dans un environnement soumis à vibrations
b) on peut le passer en 3v par un interrupteur - en sortant cependant légèrement des spécifications de vitesse - , ce qui peut assurer une compatibilité avec les niveaux de la RPi....)

Sinon , pour des signaux purement digitaux et assez lents , un 23017 fait l'affaire selon https://learn.adafruit.com/mcp230xx-gpi ... he-library (offre 16 E/S supplémentaires)


Quant au choix entre une liaison série ou I2C, l'inconvenient de la liaison série est qu'il faut que l'Arduino ne soit pas perturbé par les messages de démarrage du RPi (les rediriger, faire dormir l'arduino une ou 2 secondes le temps que le RPi boote, faire réinitialise l'arduino par le RPi après le boot...). Un autre inconveneint de la jonction série réside dans le fait que l'on ne peut pas brancher deux arduini en parallèle (si vous avez trouvé un nouveau capteur interessant, lui mettre une autre adresse I2C permet de rajouter un arduino câblé sur le même bus)
L'I2C "mange" deux voies analogiques de l'Arduino (si vous avez moins de 4 voies, ce n'est pas gênant) et il faut voir les niveaux; il nécessite des fils assez courts

Avatar du membre
chth26
Messages : 11
Enregistré le : sam. 25 avr. 2015 17:48
Localisation : Gironde

Re: Projet Ordinateur de Bord

Message par chth26 » mar. 28 avr. 2015 12:30

Je l'avoue, j'ai du mal a vous suivre la :?

Existe-t-il une solution plutôt simple pour pouvoir alimenter RPI+Arduino+ecran?
Sinon je bloque au niveau du schéma que vous me proposez. En sorti du LM317, diode + inductance + (varistance // conductance céramique) + conductance électrochimique ? Du coup, qu'es ce qui est relié a l'entrée Adj du LM ? (un petit schéma si vous avez serait pas de refus :P) Cette alimentation pourrait elle suffire a elle seule pour alimenter tout ce matos?

Pour ce qui est de l'arduino, je vais avoir principalement besoin des broches analogiques, puisque je cherche a faire de relevés de tous mes capteurs. Il est vrai qu'en I2C, il ne me resterai que 3 broches sur les 5 dispo sur une Uno.
La liaison série serait plus facile niveau câblage (quoique avec les vibrations l'usb pourrait se débrancher).

Je sent se projet assez mal parti :mrgreen:

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet Ordinateur de Bord

Message par dbrion0606 » mar. 28 avr. 2015 13:32

Code : Tout sélectionner

sortie courant "continu " voiture ------ -|>|- -----NNNN---------X-------> entrée(s) positive(s) régulateur(s)
                                                             diode           Inductance quelques milli henrys
            masse                          -----------------------------------x---------> Masse régulateur(s) (-)

entre "x" (positif) et "x" masse, mettre en parallèle:
* un varistor 20 30v ("mangera les éventuelles surtensions)
* un condensateur 330 nF (mangera les parasites à haute fréquence)
* un condensateur electrochimique 1000 uF (tentera d'atténuer les variations à basse fréquence)

Ce filtre n'est pas relié à l'entrée adj du LM317.. et est conseillé en entrée (pas en sortie) de régulateurs (pour qu'ils ne soient pas alimentés avec les pires parasites qui peuvent traîner dans une voiture, ce qui pourrait les détruire ou les fatiquer)


Tout ceci se branche en amont du régulateur, indépendamment de l'ampérage demandé (sauf pour la diode voir du coté des ....1N5404 gotronic a un catalogue ) si on est paranoîaque (l'auteur d'un livre que je vous cite de mémoire peut avoir beaucoup de lecteurs, et prendre les précautions maximales pour n'en décevoir aucun; un individu peut avoir un autre point de vue sur le principe de précaution...)

Quand à la consommation, il suffit d'additionner *celle du RPi 1.5 A,
*celle de l'Arduino (100 mA ?) -mais l'Arduino peut être branché directement sur son jack, via le filtre!-
et
* celle de l'écran que vous aurez choisi et que je ne connais pas (peut être peut il partager le même filtre)..-

Pour la sensibilité aux vibrations que vous attribuez à l'USB, avez vous pensé à **attacher ** les câbles et les fils/tous les cables et fils ? (dont le cable USB..) . Quant à votre pénurie prévisible de liaisons analogiques, l'I2C permet , en sacrifiant deux voies ADC, d'avoir jusqu'à ...64 arduini esclaves I2C connectés au RPi... ça vous laisse un peu de marge, je suppose.

Avatar du membre
chth26
Messages : 11
Enregistré le : sam. 25 avr. 2015 17:48
Localisation : Gironde

Re: Projet Ordinateur de Bord

Message par chth26 » mar. 28 avr. 2015 14:23

Si j'ai bien suivi, ça donnerait ça ?
Image

Si je part sur une utilisation unique du RPI, en utilisant un ADC type MCP3008, j'aurais donc 8 entrées analogiques. Plus judicieux que de devoir connecter 2 voir 3 Arduini en I2C non ?

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet Ordinateur de Bord

Message par dbrion0606 » mar. 28 avr. 2015 15:59

Je suis à peu près d'accord avec votre schema (sur le 5v de sortie, je mettrais en parallèle un condensateur electrochimique de 10 uF pour tenter de filtrer un éventuel résidu de bruit basse fréquence -les electrochimiques sans tantale ne court circuitent pas la haute frequence- et un de 100 nF, céramique pour éviter d'éventuelles oscillations haute fréquence (par analogie avec le 7805 ).
Le choix du MC3008 est excellent à condition que vous vous accommodiez de fils très courts pour le SPI (si les grandeurs analogiques ne sont pas sensibles aux parasites, elles peuvent être acheminées par des fils longs) ... En plus, IIRC, il peut être alimenté sous 3v, donc pas de problèmes de compatibilité avec le RPi (l'arduino en pose des petits).

Edité : pour savoir si le régulateur fonctionne -ça peut toujours servir-, je rajouterais, en sortie -voie 5v- un voyant à LED (LED en série avec 330-470 ohm)

PS : Comment captez vous la vitesse, sur votre voiture?

Répondre

Retourner vers « Débutants »