dimanche 11 février 2024

Moteur : boite à Fusible

J'ai fait une mise à jour du schéma électrique et plus précisément de la boite à fusibles:

En haut à gauche du schéma ci-dessus, la zone orange est la nouvelle boite à fusibles réalisée avec de nombreuses pièces de récupération du Grand Picasso C4 ede de ses faisceaux électriques.

La seule chose que j'ai du acheter c'est ce relais pour commander le solénoîde du démarreur :

Il est connecté et fixé avec du clinquant laiton de 0.2mm d'épaisseur :

lundi 1 mai 2023

Injection : PCB du module ECU/EFIS

J'ai reçu les PCB 9 jours après les avoir commandés. La qualité est irréprochable, le cablage s'est fait rapidement. J'ai du redistribuer les variables et les ports du programme basé sur la carte d'évaluation NXP FRDM-KV11. Tout est en ordre : parfait !

dimanche 23 avril 2023

Thermocouples K

Pour relever différentes températures au premier rang desquelles celles des gaz d'échappement (EGT), j'ai acheté des thermocouples type K. Type K veut dire que le thermocouple est constitué d'un fil de Chromel (alliage nickel + chrome) et d'un autre d'Alumel (alliage nickel + aluminium (5 %) + silicium). Ces 2 fils sont soudés à leur extrémité ce qui fait le point de "soudure chaude" qui est exposé à l'environnement dont on veut connaitre la température. Aux bornes des autres extrémités du fil on mesure une tension proportionnelle à la différence de température entre la soudure chaude et ces extrémités.

Je mesure dans les 40mV de tension continue pour environ 900°C d'écart de température : c'est faible. Pour convertir cette tension en affichage en degrès Celcius il faut des amplificateurs de tension et des correcteurs de température de là où se trouve l’appareil de mesure, c'est ce que fait l'appareil à 2 canaux que j'utilise.

Pour des températures de l'ordre de -50°C à 350°C rien de particulier doit être mis en place et on en trouve à petits prix. Pour des températures plus élevés, par exemple pour les EGT, les isolants sont mis à rudes épreuves, souvent on retrouve les fils entourés de céramique, de ciments réfractaires ou d'oxyde de magnésium (Magnésie) contenu dans un tube métallique. La soudure chaude peut être isolée de son enveloppe métallique ou bien soudée à celle-ci, dans ce cas il faut s’assurer de la compatibilité avec l'électronique de mesure car le potentiel de la partie mécanique peut se trouver a un potentiel électrique non flottant (le moins de la batterie d'une voiture est raccordée à la carrosserie et au moteur). La soudure froide peut être directement exposé au gaz d'échappement ce qui diminue le temps de réponse mais pose des problèmes d'étanchéité. J'ai fait une mesure avec une sonde EGT de ce type et je n'ai pas constaté d'amélioration du temps de réponse. Le système de fixation imposerait de souder des inserts dans la tubulure d'échappement et je ne suis pas convaicu par le maintien par olive et de l'étanchéité.

Pour les EGT je vais essayer de souder directement la soudure chaude du thermocouple sur le tube d'échappement. Le problème principal sera de rendre l'installation robuste face aux vibrations mécaniques. Pour l'instant je regarde juste la faisabilité. Voici une photo extraite d'une vidéo de Raphael Thénot sur la teinte que peut avoir les tubulures d'échappement sous forte sollicitation :

 

samedi 22 avril 2023

Injection : réalisation du module ECU/EFIS

J'ai réalisé la totalité du module de liaison par fibre optique entre l'ECU et l'EFIS.

La programmation reprend les concepts précédents appliqués sur 12 canaux répartis sur 3 PWM.

Les boutons servent à tester l'interface : un bouton pour les valeurs minimums, un autre pour les maximums et les 2 en mêmes temps pour afficher les valeurs à 50%.

Le module final comporte 2 transmetteurs complets à fibre optique, c'est à dire aussi bien la réception (dont on avait besoin) mais aussi l'émission.

Le deuxième canal servira pour d'autres modules comme celui de la gestion des volets, des trims de tangage et de roulis.

J'ai sorti sur des pastilles tous les ports inutilisés au cas où d'autres idées émergeraient.

Le circuit imprimé est réalisé en 2 couches ce qui est plus économique (5 € le circuit).

ATTENTION, je me suis fait piégé lors du calcul des équations des capteurs pour l'EFIS ! C'est du matériel américain donc les valeurs par défaut sont des degrés Fahrenheit (pas des Celsius) et des pressions en PSI (pas des millibars ou des hectopascals).

lundi 10 avril 2023

Injection : module de transfert ECU vers EFIS

Je réalise une maquette du module de transmission des données de l'ECU vers l'Efis Dynon à base de carte d'évaluation NXP FRDM-KV11 sur laquelle je connecte un potentiomètre sur l'entrée ADC0_SE6 et un module de réception optique Sharp sur l'entrée USART1_RX. Je me sers du LPTMR pour détecter l’intervalle de temps entre chaque trame de données. Une trame dure 33ms et se répète toutes les 142ms, avec le LPTMR programmé à 80ms son ISR se déclenche en absence de transmission ou dans cette espace inter trame. Si cette ISR se déclenche plusieurs fois c'est qu'il n'y a pas de transmission (la fibre n'est pas connectée). La routine de réception des octets venant de l'USART1 initialise à chaque octet reçu le LPTMR de sorte qu'il ne se déclenche que dans les conditions précédentes. Durant l'ISR de l'USART1, une fois les 32 octets reçus, le buffer est vérifié en utilisant le périphérique de calcul de CRC du microcontrôleur KV11. Si les trames sont incorrectes aucun transfert n'est fait et la led rouge est allumée, si les trames sont correctes elles sont copiés dans le buffer de réception des données validées et la led verte indique la bonne réception, si aucune détection de trames n'est faite alors ces données sont initialisées à 0 et une led bleue indique la défaillance.

Dans un premier temps je teste le filtrage de la sortie de FTM2_CH0 réglée en PWM raccordé à une entrée de l'EFIS qui permet d'établir les corrections à réaliser pour obtenir la fonction désirée en créant un capteur spécifique.

Dans un second temps je programme FTM5 en générateur de pulses à fréquence variable pour vérifier la compatibilité avec les entrées tachymètres de l'EFIS.

L'opération est concluante, la programmation des nombreux canaux PWM et de l'adaptation des valeurs est réalisable pour obtenir un panneau complet de toutes les informations nécessaire à la supervision de l'ECU.

Petite démonstration en vidéo :

vendredi 7 avril 2023

Injection : transmission des paramètres moteur

Comment transmettre les données du moteur issues des capteurs gérés par l’Ecu vers d’autres périphériques ?

Le tableau de bord de l’avion utilise un EFIS Dynon Skyview. Dans un premier temps je voulais envoyer les données par voie série sur un des ports libres de l’Efis. J’ai demandé à Dynon s’il y avait cette possibilité et quelles trames/formats je devais envoyer, malheureusement cela n’est pas possible (commercialement car techniquement bien sûr que c’est possible). Une solution serait d’utiliser leur EMS spécial pour Rotax 912 injection qui possède un bus CAN et respecte une partie du protocole CAN Aerospace (@500Kbd) mais c’est couteux, il n’y a pas tous les paramètres et je serais dépendant des mises à jour Rotax/Dynon.

Je vais faire un module qui traduira les informations de l’ECU en signaux interprétables par l’EFIS … par tous les EFIS ou des instruments analogiques à aiguille. Pour cela j’ai envisagé une communication par fibre optique qui a le mérite d’isoler électriquement complètement l’ECU et les capteurs du moteur de l’avionique. Le module recevra les trames d’informations de l’ECU et avec les différents périphériques du microcontrôleur qu’il contiendra sera à même de recréer les signaux analogiques avec les canaux PWM, les informations « tout ou rien » ou de régime avec ses timers. C’est une solution qui est très souple d’emploi et facilement reconfigurable.

En fouillant dans mes tiroirs j’ai retrouvé une paire de transmetteur TOSlink Sharp (GP1FAV31TK0F et ~RK0F), malheureusement ils ne sont plus fabriqués mais il en existe un tas d'autres. C’est ce genre de module qui est utilisé dans les TV, ampli, lecteur de DVD pour la sortie numérique de l’audio. L’émetteur s’alimente entre 2.7V et 5.25V il prend place sur le 3.3V de l’ECU et son entrée connectée directement sur le pad de test « opt_tx_2 » qui est la commande d'émission de l'USART1. Le récepteur s’alimente entre 2.7V et 3.6V. Pour tester rapidement la solution j’utilise un convertisseur USB/UART_série « TTL-232R-3V3 » de chez FTDI (disponible chez Farnell) que tout électronicien devrait avoir. Ce convertisseur a de nombreux avantage, il s’interface directement avec les signaux UART 3.3V du microcontrôleur, fournis en plus des classiques lignes gnd, TXD, RXD, CTS, RTS une alimentation 5V issue de l’USB. Pour l’interfacer directement avec le module Sharp je mets une led rouge en série sur l’alimentation ce qui fait chuter le 5V de l’USB à 3.3V et donne une indication d’alimentation 😉

Autre avantage du FTDI c’est qu’il existe une application Windows FTDI FT_prog qui permet d’éditer le contenu de son EEPROM par exemple pour inverser individuellement les signaux, j’en ai besoin pour inverser RXD vu que pour émettre de la lumière seulement quand les bits sont à 1 j’ai inversé TXD de UART1 de l’ECU. Pour la liaison j'utilise des connecteurs TOS Link de chez MH connector de référence MHA22T-MA22V à 2€ pièces pour équiper la fibre optique plastique de 1mm. Il existe des fibres toutes faites par exemple sur Amzon.

Coté programmation la construction de la trame se fera quand des nouvelles valeurs moyennées seront disponibles, c’est-à-dire dans la routine d’interruption du DMA_CH3. Je vais transmettre une quinzaine d’informations (régime moteur, position de la manette des gaz, position du turbo, consigne de régulation du turbo, pression et température d’admission, pression et température du gazole, consigne de régulation de pression/débit, pression d’huile, température d’échappement, tension batterie, tension du convertisseur DC/DC, température du processeur). Le NXP Kinetis KV11 dispose d’un module de calcul de CRC (Cyclic Redundancy Check) bien pratique pour vérifier que la totalité de la trame a bien été transmise et que ses valeurs n’ont pas été altérées. Je le configure pour qu’il corresponde à la norme «CRC-16/CCITT-FALSE ». Le checksum 16 bits obtenu sera placé en fin de trame, comme cela lors de la réception, toute la trame repassera dans le CRC du module et le résultat devra être invariablement « 0 » si tout est ok. Une fois le buffer construit il sera transmis par l’UART1 avec des transferts DMA sur DMA_CH4, comme cela aucune ressource du cœur du processeur ne sera utilisée durant le transfert. Les nouvelles valeurs sont disponibles toutes les 143ms soit 7 trames par seconde, nul n’est besoin d’avoir une communication rapide. En effet le buffer contient les 15 valeurs à transmettre + le CRC soit 2octets x (15 valeurs +1 CRC) x 10 bits = 320 bits, @9600bauds cela prend 33ms soit une transmission de 33ms toutes les 143ms ce qui donnera l’impression de clignotement rapide sur la led rouge d’émission.

Pour la vérification du fonctionnement j’utilise sur mon PC Windows le terminal Realterm correctement configuré pour afficher les valeurs hexadécimales reçues à l’aide du module de réception Sharp et du convertisseur USB/UART FTDI. Je copie/colle la trame reçue dans un tableau Excel qui extrait les données et reconstruit une trame avec le bon « endianness » on dit « boutisme» en français en effet les données 16bits sont enregistrées dans la mémoire du buffer en « little endian » et transmises tel quel, pour retrouver l’ordre correct il faut repasser en « big endian » avec de coller la trame dans un service en ligne de calcul de CRC comme https://crccalc.com/<

samedi 25 mars 2023

Injection : pilotes

Pour commencer à travailler sur les injections, je ne câble pas les transistors de puissance et autres composants pour pouvoir observer les signaux de commande.

La plupart ne pose pas problème, seul celui du transistor "Q2" qui commute au +200Vdc doit être ramené au 0V car les entrées de l'analyseur logique du Picoscope ne supporteraient pas ces hautes tensions. Je ramène le potentiel "VS" de "U3" au 0volts en remplacant C37 par une résistance. Le driver des transistors "Q2" et "Q3" de charge et décharge des injecteurs est un Infineon 2ED2182 les autres drivers sont des Texas Instruments UCC27531DBVR

Coté programme je crée une machine d'état autour du timer FTM3. Cela permet de gérer la taille des pulses par interruption pour une plus grande précision. Avec l'analyseur logique du PicoScope 3406D MSO je confirme la bonne programmation des routines (correspondance osilloscope>schéma : charge=Q2G1, decharge=Q3G1, inj_raz=OLC, inj_1=OL1, inj_2=OL2, inj_3=OL3, inj_4=OL4) :

samedi 18 mars 2023

Injection : fin de la calibration des capteurs

La gestion du capteur de température d'eau marquera la fin des travaux de calibration et modélisation des capteurs de mon calculateur d'injection. Seule la réalisation mécanique de la commande de la géométrie du turbo reste à faire, toute la couche logicielle (menu de calibration, PID , etc.) est calquée sur celle du papillon.

La sonde de température d'eau est une simple CTN, on arrive à retrouver rapidement ses caractéristiques à l'aide d'une bouilloire et du congélateur.

Pour la sonde de la température des gaz d'échappement, une CTN aussi, c'est identique, seuls les moyens de d'excitation changent : décapeur thermique et chalumeau. Les valeurs de seuil aussi car pour la température d'eau j'encadre à -20°C et +120°C alors qu'avec l'EGT entre 20°C et 600°C. La sonde de température du gazole sur la pompe à injection est une ... CTN aussi. Je ne l'ai pas démontée pour la calibrer vu que j'avais ses caractéristiques dans le revue techniques (une simple vérification à température ambiante sera suffisante).

Voici le menu "temporaire" du calculateur sur la communication série à la mise sous tension. Les problèmes sautent aux yeux grâce au codage couleur ANSI du terminal :

Injection : MAF ou débitmètre

Je pensais que le débitmètre (ou MAF pour Mass Air Flow en anglais) allait être à sortie analogique, mais non c'est un signal rectangulaire d'environ 1kHz sans circulation d'air et la fréquence augmente en fonction de la vitesse de l'air. Je le fixe sur le toit de la voiture et je fais quelques relevés pour y voir plus clair.

Le diamètre du conduit du débitmètre fait Ø57mm et la surface du capteur 9x53mm ce qui donne une surface de S=0.20dm². si on note la densité de l'air d=1.20E-3kg/dm3 et la vitesse v en dm/H on devrait avoir maf en kg/h tel que maf=S.v.d.

J'ai lu dans une doc un capteur avec MAF max = 1000Kg/h d'air ce qui me semble élevé alors j'ai essayé d'estimer ce que consommait le DV6. Le DV6 sort une puissance de 82kW@3600tr/mn et a une consommation spécifique de 250g/kWh ce qui fait une consommation max de 82kW x 250g/kwh de 20500 g/h. Avec un rapport stoechiométrique de 14.6 ça fait 20.5kg/h x 14.6 = 299kg/h d'air absorbé.

Pour croiser cette approche de calcul, un moteur 4 cylindres 4 temps de 1.6 litres turbocompressé avec une puissance max à 3600tr/mn aurait un débit de 3600tr/mn x 60 pour avoir des tr/H. 4 cylindres de 0.4 litre 4 temps c'est à dire un remplissage de cylindre pour 2 tours x 4 cylindres. Le moteur est turbocompressé à 0.8 bars soit 1.8 fois plus de volume admis par rapport à la pression atmosphérique de 1 bar.

Donc : 3600tr/mn x 60 x 0.4 litre x 1/2 remplissage/tr x 4 cylindres x 1.8bars x 1.2g/litres / 1000gr = 373kg/H avec la supposition que le remplissage est de 100%.

Si je compare avec les 299kg/h cela ferait un taux de remplissage de 80% : ce n'est pas idiot comme ordre de grandeurs...

Là ou je suis perplexe c'est au niveau de la réponse de ce MAF. J'observe une courbe avec un coude assez prononcé, j'avais imaginé une réponse plus "droite" surtout que le capteur est compensé en température. De plus au dessus de 100km/h la sortie semble saturée alors que cela correspondrait à un débit selon ma théorie de 250kg/h... J'ai du rater quelque chose ! Ce n'est pas grave, je ne compte pas utiliser cette fonction, le capteur de température/pression à l'entrée de la pipe d'admission donne déjà les informations pertinentes

samedi 11 mars 2023

Injection : modélisation capteur de pression et température d'admission

Il y a quelques années, j'avais fait des mesures sur ce double capteur. La courbe de réponse de la partie pression est semblable à d'autres capteurs du milieu automobile et est une droite affine qui se modélise avec 2 coefficients a et b tel que pression = a x tension_lue + b. Pour la température c'est autre chose car c'est la réponse d'une CTN qui se modélise par une équation exponentielle qui n'est pas facile à intégrer en assembleur et pas rapide en langage C, une alternative serait d'utiliser une modélisation polynomiale mais il faut au moins un degré 4 ce qui rend la modélisation un peu "oscillante" autour de la valeur réelle. Une troisième méthode consiste à faire des portions linéaires entre chaque mesure par exemple espacées de 10°C, c'est celle que j'ai programmé et la réponse est satisfaisante comme le montre la vidéo ci-dessous :

- page 1 de 57

Page top