Budowa własnego zestawu do pracy na etanolu E85
-
- moderator
- Wiadomości: 79368
- Rejestracja: 10/02/03, 14:06
- Lokalizacja: planeta Serre
- x 11060
- Były Oceano
- moderator
- Wiadomości: 1571
- Rejestracja: 04/06/05, 23:10
- Lokalizacja: Lorraine - Francja
- x 1
Halo
Szybka recenzja po kilku miesiącach użytkowania:
Homologacja mocy i silnika identyczna jak w 95, prawdziwa gratka, zwłaszcza gdy zapłacisz za E85 0.72 €.
Nadmierne zużycie około 15/20% (jestem ustawiony na 30% zimą i 35% latem)
Zapach alkoholu podczas uruchamiania zimnego silnika.
Gorący start pomimo 10 sekund ssania.
Na zimnym silniku odpala dopiero na 2-gim przekręceniu kluczyka ale wydaje mi się że brakuje mu jeszcze 20% więcej z tych 3-4 sekund które następują po zasileniu skrzynki.
Oto ocena więcej niż pozytywna, tylko mały minus 1. zimny start, który stwarza problem i który na pewno nie poprawi się wraz z nadchodzącymi chłodami.
Spróbuję zrozumieć program NLC, aby go dodać, ale nie jest to łatwe, gdy nie jesteś jego częścią .
Szybka recenzja po kilku miesiącach użytkowania:
Homologacja mocy i silnika identyczna jak w 95, prawdziwa gratka, zwłaszcza gdy zapłacisz za E85 0.72 €.
Nadmierne zużycie około 15/20% (jestem ustawiony na 30% zimą i 35% latem)
Zapach alkoholu podczas uruchamiania zimnego silnika.
Gorący start pomimo 10 sekund ssania.
Na zimnym silniku odpala dopiero na 2-gim przekręceniu kluczyka ale wydaje mi się że brakuje mu jeszcze 20% więcej z tych 3-4 sekund które następują po zasileniu skrzynki.
Oto ocena więcej niż pozytywna, tylko mały minus 1. zimny start, który stwarza problem i który na pewno nie poprawi się wraz z nadchodzącymi chłodami.
Spróbuję zrozumieć program NLC, aby go dodać, ale nie jest to łatwe, gdy nie jesteś jego częścią .
0 x
Witam,
dla tych, którzy próbują zrozumieć program NLC, opracowałem klon (nie wiem, czy jeszcze działa, muszę zrobić kilka testów).
Jeszcze nie całkiem skończony, ale już jest.
Powinieneś łatwiej zrozumieć system z sa.
Używam kompilatora CCS.
dla tych, którzy próbują zrozumieć program NLC, opracowałem klon (nie wiem, czy jeszcze działa, muszę zrobić kilka testów).
Jeszcze nie całkiem skończony, ale już jest.
Powinieneś łatwiej zrozumieć system z sa.
Używam kompilatora CCS.
Kod: wybierać
#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 napisała:bin me Zrobiłem bardzo małą modyfikację pliku źródłowego za pomocą kompilatora NLC,
ale nie mogę wygenerować pliku szesnastkowego, aby zmieścił się na zdjęciu.
Czy ktoś może mi podać procedurę, którą należy wykonać.(Do Twojej wiadomości jest to zaawansowany technologicznie kompilator C)
Którą kompilację wybrałeś, najnowszą hitecha do ściągnięcia na ich stronie? nie wiem czy to będzie działać poprawnie, bo wersja demo dobrze się kompiluje ale wogóle nie optymalizuje kodu, a sekcja wrażliwa wywoływana co 25us moim zdaniem nie przejdzie
Wersja demonstracyjna, której używam, jest starsza i kompiluje się z optymalizacją.
0 x
nlc napisał:Którą kompilację wybrałeś, najnowszą hitecha do ściągnięcia na ich stronie? nie wiem czy to będzie działać poprawnie, bo wersja demo dobrze się kompiluje ale wogóle nie optymalizuje kodu, a sekcja wrażliwa wywoływana co 25us moim zdaniem nie przejdzie
Wersja demonstracyjna, której używam, jest starsza i kompiluje się z optymalizacją.
Używam tej samej wersji kompilatora co ty, odkąd umieściłeś swoje środowisko online
(których, nawiasem mówiąc, już nie ma )
Co do modów:
_Zmieniłem z 200ms na 300ms czas, gdy dioda jest wyłączona, aby ułatwić zliczanie trybu wzbogacania.
_Zmieniłem ostatnie 2 wartości w tabeli wzbogacenia dla starterów (45%=>50% i 50%=>70%)
_zredukowałem z 10s do 8s podstawowy starter na 50% oraz zwroty w tabeli wzbogacania (10=>9)
_Dodałem 70% dławik w ciągu pierwszych 3 sekund, kopiując i wklejając każdą linię, w której zapisano sarterTmp i modyfikując go do chokeboostTmp.
Testy muszę jeszcze jutro zrobić bo nie do końca wiem jak obsłużyć rozrusznik w programie.
Stawiam 3s nad 8s
0 x
Powrót do "biopaliwa, biopaliwa, biopaliwa, BTL, alternatywne paliwa kopalne nie ..."
Kto jest online?
Użytkownicy przeglądający to forum : Brak zarejestrowanych użytkowników i gości 98