Mini ordi de bord pour voiture - quel LCD et quel µC choisir

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

cozim
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 28 avr. 2006 14:16

Mini ordi de bord pour voiture - quel LCD et quel µC choisir

Message par cozim »

Hello,
Je désire depuis un moment me lancer dans un projet électronique assez intéressant. Etant passionné automobile, j'ai déja pas mal touché à tout ce qui est diagnostique par OBD2 (j'ai des softs de diagnostique et de mesure de puissance à mon actif).

Mon but :
Créer un petit ordinateur de bord (avec écran LCD, qqes touches, et le µC ad hoc) pour récupérer des informations sur la voiture qui ne sont pas visibles depuis le tableau de bord, mais disponibles via le calculateur (vitesse réelle, t° et pression d'admission, débits massiques, niveau de charge, code de défaut, etc etc, avec la possibilité en combinant ces valeurs entre elles d'en déduires d'autres grandeurs, telles que puissance et couple, consommation, d'en déduire des systèmes d'alerte de sous/sur chauffe/régime/vitesse, indicateur de rapport d'économie et de rapport de performance etc), et éventuellement via des capteurs externes.

Le système sera donc composé du µC, sur lequel sera branché un écran LCD, des boutons, (éventullement capteurs externes et buzzer) et enfin d'une connectique RS232 servant tantôt à la programmation, tantôt au dialogue avec le calculateur de la voiture.

Ma question : Quel matériel choisir, sachant ce qu'il doit pouvoir faire :

Le microcontrolleur
-Doit comporter un bootloader et pouvoir être programmé depuis le circuit, via RS232.
-Une mémoire code conséquente, vu le nombre de choses importantes à faire, et pour garder une marge d'évolutivité.
-Pouvoir être programmé en C avec un compilateur et des bibliotheques gratuites de préférence (j'ai déja travaillé en assembleur sur des µC, ce n'est pas absolument désagréable, mais une fois de plus, le projet étant conséquent, cela simplifiera la conception, le débogage et la lisibilité).
-Eventuellement posseder une zone de mémoire eeprom pour y stocker des données utilisateur.
-Eventuellement posseder des entrées analogiques pour y brancher des capteurs externes, avec si possible une bande passante >50Hz

L'écran LCD :
-Suffisament grand pour être lisible et afficher une quantité respectable de données.
-Rétro éclairé (pas la peine je pense d'expliquer l'utilité de ceci en voiture ;) )
-Doit pouvoir être livré avec une bibliotheques de fonctions en C pour piloter son affichage, compatible avec le µC précédemment sélectionné, ou alors être simple d'adaptation.
-Eventuellement, qu'il offre la possibilité de faire du graphique, je trouverais sympa par exemple de pouvoir dessiner une/des jauge(s) à l'écran, à l'instar d'un manomètre de pression de turbo par exemple, ou afficher via un graphique l'évolution d'un paramètre au cours du temps, comme la vitesse par exemple.

Alimentation

Le tout doit être alimenté sous 12V (alimentation ponctionnée sur la prise diagnostique de la voiture.

Le tout restant simple d'utilisation et ne coutant pas la peau des fesses.
Je précise que j'ai des connaissances en élec num (j'ai déja étudié, ainsi que certains microcontrolleurs), en revanche je ne suis pas au courant des différents modèles et des capacités des µC, et mon niveau pratique en élec analogique est limité, de même que niveau bricolage, c'est pourquoi je voudrais également vos avis concernant des "plaques" de développement, et des enseignes sérieuses où acheter le matériel. Concernant la programmation, j'ai une solide expérience, et j'ai déja fait l'analyse physique de la plupart des calculs que je veux intégrer.
Je présume que pour ce qui est des composants nécessaires au bon fonctionnement du µC, tout est expliqué dans les docs.


Voilà, si vous avez besoin de précisions ou si vous avez des questions sur le projet ou le diag automobile, n'hésitez pas.

Merci d'avance pour vos conseils concernant le matos à choisir ;)
JP
Administrateur
Administrateur
Messages : 2328
Inscription : 23 sept. 2003 19:14
Localisation : Strasbourg
Contact :

Message par JP »

Salut cozim et :welcome:,
-Doit comporter un bootloader et pouvoir être programmé depuis le circuit, via RS232.
-Une mémoire code conséquente, vu le nombre de choses importantes à faire, et pour garder une marge d'évolutivité.
ATmega d'atmel ou un ARM (LPC, AT91 etc) (si tu as du calcul lourd à faire), il y en a même dédiés aux systèmes embarqués dans l'automobile, ici.
-Pouvoir être programmé en C avec un compilateur et des bibliotheques gratuites de préférence (j'ai déja travaillé en assembleur sur des µC, ce n'est pas absolument désagréable, mais une fois de plus, le projet étant conséquent, cela simplifiera la conception, le débogage et la lisibilité).
WinAVR, il a une rubrique dédiée sur ce forum.
-Eventuellement posseder une zone de mémoire eeprom pour y stocker des données utilisateur.
Pas de problème.
-Eventuellement posseder des entrées analogiques pour y brancher des capteurs externes, avec si possible une bande passante >50Hz
Pas de problème
L'écran LCD :
-Doit pouvoir être livré avec une bibliotheques de fonctions en C pour piloter son affichage, compatible avec le µC précédemment sélectionné, ou alors être simple d'adaptation.
-Eventuellement, qu'il offre la possibilité de faire du graphique, je trouverais sympa par exemple de pouvoir dessiner une/des jauge(s) à l'écran, à l'instar d'un manomètre de pression de turbo par exemple, ou afficher via un graphique l'évolution d'un paramètre au cours du temps, comme la vitesse par exemple.
Tu trouveras dans cette rubrique des librairies en C pour l'utilisation de LCD graphique ou alphanumérique. Il suffit de trouver un afficheur LCD qui utilise le même contrôleur.
Alimentation
Le tout doit être alimenté sous 12V (alimentation ponctionnée sur la prise diagnostique de la voiture.
Un régulateur 7805 ferra parfaitement l'affaire pour passer la tension de 12V à 5V (la tension nécessaire au µC et au LCD)
c'est pourquoi je voudrais également vos avis concernant des "plaques" de développement,
STK500, STK200, butterfly, AVR Easy il y en a pour tous les gouts. Si tu as de quoi faire des circuits imprimés tu peux même la faire toi même, comme ici :
http://anyedit.free.fr/avr.htm
des enseignes sérieuses où acheter le matériel.
Farnell, lextronic etc

a+
JP
Ca clignote !!!!
cozim
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 28 avr. 2006 14:16

Message par cozim »

Salut cozim et :welcome:,
:) merci de la réponse si rapide cher voisin ;)
Bon je m'y remets, plantage de firefox au passage je réécris mon message...
ATmega d'atmel ou un ARM (LPC, AT91 etc) (si tu as du calcul lourd à faire), il y en a même dédiés aux systèmes embarqués dans l'automobile, ici.
L'atmel me semble bien, j'espere donc cependant que sous le compilo on a la possibilité de travailler en 16bits et avec un ersatz de flottants.
WinAVR, il a une rubrique dédiée sur ce forum.
Ok, uniquement compatible atmel je présume ?
-mémoire eeprom
Pas de problème.
-entrées analogiques
Pas de problème
Cool, je vais me renseigner sur les spécificités des atmel. Pis c'est pratique, avec oscillateur intégré, ça simplifie les composants pour le dieu de l'élec ana que je suis :D
Tu trouveras dans cette rubrique des librairies en C pour l'utilisation de LCD graphique ou alphanumérique. Il suffit de trouver un afficheur LCD qui utilise le même contrôleur.
Ok, je vais jeter un oeil :).
Un régulateur 7805 ferra parfaitement l'affaire pour passer la tension de 12V à 5V (la tension nécessaire au µC et au LCD)
Ok, pas de soucis de surchauffe ?
c'est pourquoi je voudrais également vos avis concernant des "plaques" de développement,
En fait je parlais de trucs style plaques epoxy à trous, pour faire un brouillon quoi ?
Farnell, lextronic etc
Ok, et radiospares, c'est bien ? Et sur stras il y a des magasins suscpetibles d'avoir ce genre de matos ?

Merci ;)
A+
coco34
ACCRO
ACCRO
Messages : 564
Inscription : 08 juil. 2005 13:35
Localisation : montpellier

Message par coco34 »

bjr

12=>5V il vaut mieux s'orienter ver du découpage car tu auras quand même de la consommation en effet un afficheur est gourmand lorsque le rétroéclairage est en action

donc un courant fort par ex 500mA fera 3.5W ce qui commence à faire et donc un gros radiateur...

voir page 12 du catalogue :

http://www.toute-lelectronique.fr/catal ... LE2005.pdf
il ne faut pas remettre au lendemain ce que l'on peut faire aujourd'hui
cozim
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 28 avr. 2006 14:16

Message par cozim »

Ok merci... D'autant que je suis limité en alim par un fusible de la prise diag, je ne me rapplle plus c'est qqpart entre 1 et 5A.
cozim
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 28 avr. 2006 14:16

Message par cozim »

Je suis entrain de regarder la famille des ATmel, le ATmega6490 avec lignes pour afficheur LCD 4*40 semblerait intéressant, mais bon là je dis adieu aux graphiques.
Vous en pensez quoi de cette solution intégrée ?

D'un côté, je sais pas si 64k de code me suffiront ... Du coup je serais aussi tenté par un atmega256x, qui me laisse a coup sur de la marge.
Avatar de l’utilisateur
Zera
REGULIER
REGULIER
Messages : 132
Inscription : 18 avr. 2006 14:03
Localisation : France - Alsace
Contact :

Message par Zera »

Je ne peut que parler de l'Atmega 128 car c'est le seul que j'ai réelement utilisé, mais je pense qu'il pourrait être adapté à ton application.

Mémoire pour le code : 128Ko (c'est grand :-D enfin c'est déjà pas mal)
En ram et EEPROM, 4Ko chacun ce qui devrait suffir pour l'application.
(il y a aussi la possibilité d'étendrel a RAM à 64K il me semble, grâce à des composants externes, mais je n'ai jamais testé)

Gestion des nombres floatants (float et double) avec WinAVR sans aucun problème (je les utilise souvant)

Puissance de calcul pouvant atteindre 16 Mips, multiplicateur en 2 cycles, oscillateur interne.
Il est même parfois vendu en plaquette avec quartz et MAX232, ce qui évite d'avoir à faire de la soudure CMS.

Au fond, j'ai presque l'impression qu'il est surdimentionné par rapport au besoin ...
JP
Administrateur
Administrateur
Messages : 2328
Inscription : 23 sept. 2003 19:14
Localisation : Strasbourg
Contact :

Message par JP »

merci de la réponse si rapide cher voisin
:hello: voisin
L'atmel me semble bien, j'espere donc cependant que sous le compilo on a la possibilité de travailler en 16bits et avec un ersatz de flottants.
Ouaip
Ok, uniquement compatible atmel je présume ?
Avec les ARM aussi et dans ce cas il ne s'appelle plus WinAVR mais WinARM :)
Pis c'est pratique, avec oscillateur intégré
Qui n'est pas assez précis pour utiliser la liaison RS232. Donc le quartz externe est plutôt recommandé :? Mais c'est super simple à utiliser.
Ok, pas de soucis de surchauffe ?

Faut voir combien ca consommera et rajouter un radiateur si c'est nécessaire.
Mais il est protégé contre les surchauffes donc à priori pas de risque de casse ;)
En fait je parlais de trucs style plaques epoxy à trous, pour faire un brouillon quoi ?
Je suis allergique aux plaques à trous.
J'utilise ce genre de carte pour faire des tests :
http://www.selectronic.fr/soussousfamil ... fam_ref=20
Après je fais directement le circuit imprimé.
Ok, et radiospares, c'est bien ? Et sur stras il y a des magasins suscpetibles d'avoir ce genre de matos ?
Dahms rue oberlin pour les composants courants mais pas d'atmega ni de LCD graphique ( peut être sur commande) ou Bric électronique.

Radiospares de mundolsheim a fermé ... En plus le montant minimum de commande pour les particuliers est passé à 150€ ...
donc un courant fort par ex 500mA fera 3.5W ce qui commence à faire et donc un gros radiateur...
C'est sur ca sera le LCD qui consommera le plus. Là j'ai un 168x64 points qui fait 160mA.
Je suis entrain de regarder la famille des ATmel, le ATmega6490 avec lignes pour afficheur LCD 4*40 semblerait intéressant, mais bon là je dis adieu aux graphiques.
Vous en pensez quoi de cette solution intégrée ?
Pas nécessaire à mon avis.
Ca clignote !!!!
cozim
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 28 avr. 2006 14:16

Message par cozim »

Zera a écrit : Mémoire pour le code : 128Ko (c'est grand :-D enfin c'est déjà pas mal)
En ram et EEPROM, 4Ko chacun ce qui devrait suffir pour l'application.
(il y a aussi la possibilité d'étendrel a RAM à 64K il me semble, grâce à des composants externes, mais je n'ai jamais testé)

Gestion des nombres floatants (float et double) avec WinAVR sans aucun problème (je les utilise souvant)
Ok merci, je pense que ça ira... je verrai en fonction du prix lequel du 128 ou du 256 ira. Disons que dans l'absolu j'aimerai pouvoir intégrer un systeme de fit polynomial de données par levenberg marquardt (moindre carrés par gradient de newton), mais je sais pas si ça tiendra en 256k d'asm, et encore moins si la durée de traitement sera acceptable avec 16 MIPS :D d'autant qu'avec 4k de ram je pense que c'est même pas la peine d'esperer... Du coup je me servira plutot de la mémoire qui reste pour mettre les jolies images :)

Qui n'est pas assez précis pour utiliser la liaison RS232. Donc le quartz externe est plutôt recommandé :? Mais c'est super simple à utiliser.
Ah ok... enfin ça doit pas être sorcier. Et sur les plaques que tu me proposes ci dessous, pas de problemes d'atténuation nuisant à la qualité des signaux numériques ? Et tu penses qu'il y a assez de trous pour faire un montage complet avec une plaque ? J'en ai utilisé des semblable en TP d'élec num, mes profs semblaient préferer les plaques à trous ;) Et comme d'ici à ce que mon projet aboutisse je n'aurai pas acces à du matériel de tirage de carte ...
Radiospares de mundolsheim a fermé ... En plus le montant minimum de commande pour les particuliers est passé à 150€ ...
Ah dommage, je suis juste à côté... Pour radiospares je pense que je peux passer par l'assoc robot du bahut pour les commandes.
C'est sur ca sera le LCD qui consommera le plus. Là j'ai un 168x64 points qui fait 160mA.
Rétro éclairé ? Il fait partie de ceux dont les biblio sont dispo pour winavr je pense donc. Et t'as un modele de simulation winavr pour celui-ci ?
Pas nécessaire à mon avis.
Ok.
JP
Administrateur
Administrateur
Messages : 2328
Inscription : 23 sept. 2003 19:14
Localisation : Strasbourg
Contact :

Message par JP »

Ah ok... enfin ça doit pas être sorcier. Et sur les plaques que tu me proposes ci dessous, pas de problemes d'atténuation nuisant à la qualité des signaux numériques ?
Jusqu'à maintenant je n'en ai pas eu.
Et tu penses qu'il y a assez de trous pour faire un montage complet avec une plaque ?
Ca dépend de la taille de la plaque :D
Rétro éclairé ?
Oui
Il fait partie de ceux dont les biblio sont dispo pour winavr
Oui, contrôleur KS0107/0108 chez selectronic
AVRlib
* ks0108: Graphic LCD Driver for HD61202/KS0108-based Displays
Et t'as un modele de simulation winavr pour celui-ci ?
Càd ? Un LCD virtuel qui t'affiche ce que tu lui demandes en simule ?
Heu non je crois pas.
Ca clignote !!!!
Répondre