Construire son propre kit pour rouler à l'éthanol E85
-
- Modérateur
- Messages : 80077
- Inscription : 10/02/03, 14:06
- Localisation : Planète Serre
- x 11406
ken commence déjà par utiliser notre hebergeur d'image stp
Ensuite la famine en Afrique, me semble, n'est pas apparu avec le bioethanol...si?
Ensuite la famine en Afrique, me semble, n'est pas apparu avec le bioethanol...si?
0 x
Faire une recherche d'images ou une recherche textuelle - Netiquette du forum
Bonjour
Petit bilan après quelque mois d'utilisation :
Puissance et agrément moteur identique au 95, un vrai régal surtout quand on paye le E85 0.72€.
Surconsommation d’environ 15/20% (je suis réglé à 30% l’hiver et 35% l’été)
Odeur d’alcool au démarrage quand le moteur est froid.
Démarrage a chaud nickel malgré les 10 secondes de starter.
Quand le moteur est froid elle démarre qu’au 2éme tour de clef mais je pense qu’il manque encore 20% de plus les 3 ou 4 secondes qui suivent la mise sous tension du boitier.
Voila bilan plus que positif seul petit bémol le 1er démarrage à froid qui pose problème et qui ne va surement pas s’arranger avec le froid qui arrive.
Je vais essayer de comprendre le programme de NLC pour le rajouter mais ce n’est pas évident quand tu n’es pas de la partie .
Petit bilan après quelque mois d'utilisation :
Puissance et agrément moteur identique au 95, un vrai régal surtout quand on paye le E85 0.72€.
Surconsommation d’environ 15/20% (je suis réglé à 30% l’hiver et 35% l’été)
Odeur d’alcool au démarrage quand le moteur est froid.
Démarrage a chaud nickel malgré les 10 secondes de starter.
Quand le moteur est froid elle démarre qu’au 2éme tour de clef mais je pense qu’il manque encore 20% de plus les 3 ou 4 secondes qui suivent la mise sous tension du boitier.
Voila bilan plus que positif seul petit bémol le 1er démarrage à froid qui pose problème et qui ne va surement pas s’arranger avec le froid qui arrive.
Je vais essayer de comprendre le programme de NLC pour le rajouter mais ce n’est pas évident quand tu n’es pas de la partie .
0 x
Bonjour,
pour ceux qui essayent de comprendre le programme de NLC, j'ai developpé un clone (je ne sais pas encore si il marche, faut que je fasse des tests).
Il n'est pas encore tout à,fait finit, mais le voici.
Vous devriez comprendre plus facilement le system avec sa.
J'utilise le compilateur CCS.
pour ceux qui essayent de comprendre le programme de NLC, j'ai developpé un clone (je ne sais pas encore si il marche, faut que je fasse des tests).
Il n'est pas encore tout à,fait finit, mais le voici.
Vous devriez comprendre plus facilement le system avec sa.
J'utilise le compilateur CCS.
Code : Tout sélectionner
#include "16F628A.h"
#use delay(clock=20000000)
#define BP PIN_A0
#define LED PIN_B0
#define injecteur1_in PIN_A1
#define injecteur2_in PIN_A2
#define injecteur3_in PIN_A3
#define injecteur4_in PIN_A4
#define injecteur1_out PIN_B1
#define injecteur2_out PIN_B2
#define injecteur3_out PIN_B3
#define injecteur4_out PIN_B4
/* Le principe est d'incrementer de 1 une variable tant que l'injecteur est à O, puis lorsqu'il est à 1, on decremente cette variable de n tout en gardant l'injecteur à 0 tant que la variable n'est pas à 0. lorsqu'elle est à 0, on passe l'injecteur à 1. On observe dont une augmentation du rapport cyclique de 1/n * 100 %.
les 10 premieres secondes, nous auronts un enrichissement de 50% afin de faciliter le demarage à froid, puis de 20% le reste du temps*/
//---------init variable---------
int mode=1; //initialisation de mode bio_ethanol par default
//-------init fonction------
void type_carburant();
void pilotage_injection();
void pilotage_injection_demarage();
void main ()
{
type_carburant();
if (mode==1)//si mode bio-ethanol, on augmente l'injection de 50% au demarage
{
pilotage_injection_demarage();
}
pilotage_injection();
}
void type_carburant()
{
//------ on utilise un interrupteur afin de voir si on est sur bio-ethanol ou essence
// le reglage est manuel
if(INPUT(BP)==1) //MODE BIO-ETHANOL
{
mode=1;
output_high(LED);
}
if(INPUT(BP)==0)//mode sp95
{
mode=0;
output_low(LED);
}
}
void pilotage_injection_demarage()
{
//------------declaration variables------------
unsigned int32 retard1=0, retard2=0, retard3=0, retard4=0,i=0 ;
int decrement=2; //1/2 = 50% d'enrichissement
//------init timer0 pour executer cette sequence que 20s-------
setup_timer_1(rtcc_div_256);
set_timer1(0);
while(i<60000){
//------------si l'injecteur est piloté (etat bas) on incremente--------
if(input(injecteur1_in)==0)
{
retard1++;
output_low(injecteur1_out);
}
if(input(injecteur2_in)==0)
{
retard2++;
output_low(injecteur2_out);
}
if(input(injecteur3_in)==0)
{
retard3++;
output_low(injecteur3_out);
}
if(input(injecteur4_in)==0)
{
retard4++;
output_low(injecteur4_out);
}
//--------------si le pilotage est arreté, mais que retard > 0
if(input(injecteur1_in)==1 && retard1>0)
{
retard1=retard1-decrement;
output_low(injecteur1_out);
}
if(input(injecteur2_in)==1 && retard2>0)
{
retard2=retard2-decrement;
output_low(injecteur2_out);
}
if(input(injecteur3_in)==1 && retard3>0)
{
retard3=retard3-decrement;
output_low(injecteur3_out);
}
if(input(injecteur4_in)==1 && retard4>0)
{
retard4=retard4-decrement;
output_low(injecteur4_out);
}
//------------si pilotage arreté et que retard <=0
if(input(injecteur1_in)==1 && retard1<=0)
{
output_high(injecteur1_out);
}
if(input(injecteur2_in)==1 && retard2<=0)
{
output_high(injecteur2_out);
}
if(input(injecteur3_in)==1 && retard3<=0)
{
output_high(injecteur3_out);
}
if(input(injecteur4_in)==1 && retard4<=0)
{
output_high(injecteur4_out);
}
}
}
//-------pilotage en regime permanent---------
void pilotage_injection()
{
//------------declaration variables----------
unsigned int32 retard1=0, retard2=0, retard3=0, retard4=0 ;
int decrement=5; //1/5 = 20%
//------------------MODE BIO-ETHANOL-----------------
if (mode==1)
{
while(1){
//------------si l'injecteur est piloté (etat bas) on incremente--------
if(input(injecteur1_in)==0)
{
retard1++;
output_low(injecteur1_out);
}
if(input(injecteur2_in)==0)
{
retard2++;
output_low(injecteur2_out);
}
if(input(injecteur3_in)==0)
{
retard3++;
output_low(injecteur3_out);
}
if(input(injecteur4_in)==0)
{
retard4++;
output_low(injecteur4_out);
}
//--------------si le pilotage est arreté, mais que retard > 0
if(input(injecteur1_in)==1 && retard1>0)
{
retard1=retard1-decrement;
output_low(injecteur1_out);
}
if(input(injecteur2_in)==1 && retard2>0)
{
retard2=retard2-decrement;
output_low(injecteur2_out);
}
if(input(injecteur3_in)==1 && retard3>0)
{
retard3=retard3-decrement;
output_low(injecteur3_out);
}
if(input(injecteur4_in)==1 && retard4>0)
{
retard4=retard4-decrement;
output_low(injecteur4_out);
}
//------------si pilotage arreté et que retard =0
if(input(injecteur1_in)==1 && retard1<=0)
{
output_high(injecteur1_out);
}
if(input(injecteur2_in)==1 && retard2<=0)
{
output_high(injecteur2_out);
}
if(input(injecteur3_in)==1 && retard3<=0)
{
output_high(injecteur3_out);
}
if(input(injecteur4_in)==1 && retard4<=0)
{
output_high(injecteur4_out);
}
}
}
//-------------------------MODE SP-95--------------------
if (mode==0)
{
while(1){
//------------si l'injecteur est activé (etat bas), on l'active-------
if(input(injecteur1_in)==0)
{
output_low(injecteur1_out);
}
if(input(injecteur2_in)==0)
{
output_low(injecteur2_out);
}
if(input(injecteur3_in)==0)
{
output_low(injecteur3_out);
}
if(input(injecteur4_in)==0)
{
output_low(injecteur4_out);
}
//------------si pilotage arreté en entrée, on arrete le pilotage en sortie
if(input(injecteur1_in)==1)
{
output_high(injecteur1_out);
}
if(input(injecteur2_in)==1)
{
output_high(injecteur2_out);
}
if(input(injecteur3_in)==1)
{
output_high(injecteur3_out);
}
if(input(injecteur4_in)==1)
{
output_high(injecteur4_out);
}
}
}
}
0 x
latorsche a écrit :bin moi j'ai fait de toute petite modif sur le fichier source avec le compilateur de NLC,
mais je n'arrive pas à générer le fichier hexadécimal à rentrer dans le pic.
Ci quelqu'un peut me donner la démarche à suivre.( pour info c'est le compilateur C de hi-tech)
Quel compilo tu as pris, le dernier hitech dispo en téléchargement sur leur site ? Je sais pas si ça va marcher correctement, car la version démo compile bien mais en n'optimisant pas du tout le code, et la section sensible appelée toutes les 25us à mon avis ça passera pas
La version démo que j'utilise est plus ancienne, et elle compile avec l'optimisation.
0 x
nlc a écrit :Quel compilo tu as pris, le dernier hitech dispo en téléchargement sur leur site ? Je sais pas si ça va marcher correctement, car la version démo compile bien mais en n'optimisant pas du tout le code, et la section sensible appelée toutes les 25us à mon avis ça passera pas
La version démo que j'utilise est plus ancienne, et elle compile avec l'optimisation.
J'utilise la même version de compilo que toi vu que tu avais mis ton environnement mis en ligne
(qui au passage ne l'ai plus )
En ce qui concerne les modif:
_j'ai passé de 200ms à 300ms le temps ou la LED est éteinte pour facilitée le comptage du mode d'enrichissement.
_j'ai changé les 2 dernières valeurs dans le tableau d'enrichissement pour les starters (45%=>50% et 50%=>70%)
_J'ai diminué de 10s à 8s le starter de base à 50% ainsi que les renvoies dans le tableau d'enrichissement (10=>9)
_J'ai rajouté un starter de 70% pendant les 3 premières secondes en faisant en copier et coller de chaque ligne ou sarterTmp était écrite et en le modifiant en starterboostTmp.
Il me reste à faire les essais demain car je ne suis tout à fait sur de la gestion du starter dans le programme.
j'ai mis celui de 3s au dessus des 8s
0 x
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 62 invités