ken already starts using our stp image host
Then famine in Africa, I think, did not appear with bioethanol ... yes?
Building your own kit to run on ethanol E85
-
- Moderator
- posts: 79112
- Registration: 10/02/03, 14:06
- Location: Greenhouse planet
- x 10972
- Former Oceano
- Moderator
- posts: 1571
- Registration: 04/06/05, 23:10
- Location: Lorraine - France
- x 1
Hello
Small review after a few months of use:
Power and engine approval identical to 95, a real treat especially when you pay the E85 0.72 €.
Overconsumption of about 15 / 20% (I am set to 30% in the winter and 35% in the summer)
Smell of alcohol when starting when the engine is cold.
Hot start nickel despite 10 choke seconds.
When the engine is cold it starts at 2me key turn but I think it is still missing 20% more 3 or 4 seconds after powering the case.
Here is more than positive balance only small downside 1er cold start is a problem and probably will not deal with the cold that happens.
I'll try to understand the NLC program to add it but it's not easy when you're not part of it .
Small review after a few months of use:
Power and engine approval identical to 95, a real treat especially when you pay the E85 0.72 €.
Overconsumption of about 15 / 20% (I am set to 30% in the winter and 35% in the summer)
Smell of alcohol when starting when the engine is cold.
Hot start nickel despite 10 choke seconds.
When the engine is cold it starts at 2me key turn but I think it is still missing 20% more 3 or 4 seconds after powering the case.
Here is more than positive balance only small downside 1er cold start is a problem and probably will not deal with the cold that happens.
I'll try to understand the NLC program to add it but it's not easy when you're not part of it .
0 x
Hello,
for those who try to understand the NLC program, I developed a clone (I do not know yet if it works, I have to do tests).
He is not yet all, finished, but here it is.
You should understand the system more easily with it.
I am using the CCS compiler.
for those who try to understand the NLC program, I developed a clone (I do not know yet if it works, I have to do tests).
He is not yet all, finished, but here it is.
You should understand the system more easily with it.
I am using the CCS compiler.
code: Select all
#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 wrote:bin me I made very small changes on the source file with the NLC compiler,
but I can not generate the hex file to get into the pic.
Here someone can give me the procedure to follow. (For info it's the C compiler of hi-tech)
What compilo did you take, the last hitech available for download on their site? I do not know if it will work correctly, because the demo version compiles well but by not optimizing the code at all, and the sensitive section called all 25us in my opinion it will not pass
The demo version I use is older, and it compiles with optimization.
0 x
nlc wrote:What compilo did you take, the last hitech available for download on their site? I do not know if it will work correctly, because the demo version compiles well but by not optimizing the code at all, and the sensitive section called all 25us in my opinion it will not pass
The demo version I use is older, and it compiles with optimization.
I use the same version of compilo as you saw that you put your environment put online
(who in the process do not have it anymore )
With regard to the modifications:
_I have gone from 200ms to 300ms the time or the LED is off to facilitate the counting of the enrichment mode.
_ I changed the last 2 values in the enrichment table for starters (45% => 50% and 50% => 70%)
_I reduced from 10s to 8s the basic starter to 50% as well as the returns in the enrichment table (10 => 9)
_I added a starter of 70% during the first 3 seconds by making copy and paste of each line or sarterTmp was written and modifying it in starterboostTmp.
I still have to test tomorrow because I'm quite sure of the management of the starter in the program.
I put that of 3s above 8s
0 x
Back to "biofuels, biofuels, biofuels, BtL, non-fossil alternative fuels ..."
Who is online ?
Users browsing this forum : No registered users and 118 guests