- BV19MAX
- OP
- 2,559 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,559
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
In sfarsit mi-am facut putin timp sa ma apuc de proiect.
Pentru teste (pana ajung la limita in care nu mai am memorie disponibila) vor folosi un atmega8
Folosesc timerul T0 pentru timestamp (rezolutie suficienta chiar si cu prescaler activ). Update informatii pe ecran o data pe secunda
Timerul T1 setat ca si counter in combinatie cu T0 calculez durata cat injectorul este inchis si durata cat este deschis la benzinare. Pentru Y17DT se rezolva luand direct semnalul de consum de pe ecu in functie de timpii de deschidere si capacitatea injectoarelor se poate calcula consumul (momentan nu ma intereseaza pentru benzinare ca eu am diesel).
INT0 il folosesc pentru rpm
INT1 il folosesc pentru viteza
ADC0 se foloseste pentru nivelul combustibilului
Am impmementat
- rutina de consum instant (in functie de viteza, rpm si cantitatea injectata)
- rutina de range (default ia ca parametru consumul mediu)
- rutina de consum mediu updateaza consumul mediu o data pe minut, din cele 60 de sample-uri. Sunt 60 de sample-uri doar in cazul in care viteza este peste 5kmph si turatia peste 1400)
- rutina de calcul/update rpm
- rutina de nivel combustibil
Toate valorile predefinite se vor stoca in EEPROM-ul intern.
Va urma...
Pentru teste (pana ajung la limita in care nu mai am memorie disponibila) vor folosi un atmega8
Folosesc timerul T0 pentru timestamp (rezolutie suficienta chiar si cu prescaler activ). Update informatii pe ecran o data pe secunda
Timerul T1 setat ca si counter in combinatie cu T0 calculez durata cat injectorul este inchis si durata cat este deschis la benzinare. Pentru Y17DT se rezolva luand direct semnalul de consum de pe ecu in functie de timpii de deschidere si capacitatea injectoarelor se poate calcula consumul (momentan nu ma intereseaza pentru benzinare ca eu am diesel).
INT0 il folosesc pentru rpm
INT1 il folosesc pentru viteza
ADC0 se foloseste pentru nivelul combustibilului
Am impmementat
- rutina de consum instant (in functie de viteza, rpm si cantitatea injectata)
- rutina de range (default ia ca parametru consumul mediu)
- rutina de consum mediu updateaza consumul mediu o data pe minut, din cele 60 de sample-uri. Sunt 60 de sample-uri doar in cazul in care viteza este peste 5kmph si turatia peste 1400)
- rutina de calcul/update rpm
- rutina de nivel combustibil
Toate valorile predefinite se vor stoca in EEPROM-ul intern.
Va urma...
- mikyboy
- *******
- 5,734 mesaje
- din 08 Dec 2006
- Insignia 2014 A20TDH
- Sibiu
mikyboy
- Mesaje scrise: 5,734
- Locatie: Sibiu
- Masina: Insignia 2014 A20TDH
- Status: Offline
- Cont inregistrat: 08 Dec 2006
- Mesaj Privat
- BV19MAX
- OP
- 2,559 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,559
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
In principiu la mine timpul este problema cea mare. In meseria mea(programator) timpul intotdeauna este problema cea mare.
Dar avand in vedere ca urmeaza un upgrade destul de consistent al masinii o sa o precablez pentru toate semnalele necesare (presiune turbo, MAF, N75, senzor temperatura, senzor nivel antigel, temperatura motorina pentru Y17DT)
Dar avand in vedere ca urmeaza un upgrade destul de consistent al masinii o sa o precablez pentru toate semnalele necesare (presiune turbo, MAF, N75, senzor temperatura, senzor nivel antigel, temperatura motorina pentru Y17DT)
- UNHleaSHD
- ****
- 1,357 mesaje
- din 05 Jun 2010
- Astra 2002 Y20DTH
- Ilfov
UNHleaSHD
- Mesaje scrise: 1,357
- Locatie: Ilfov
- Masina: Astra 2002 Y20DTH
- Status: Offline
- Cont inregistrat: 05 Jun 2010
- Mesaj Privat
- BV19MAX
- OP
- 2,559 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,559
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
- Marius Popescu
- ***
- 704 mesaje
- din 27 Jun 2012
- Astra 2001 z16se
- Sibiu
Marius Popescu
- Mesaje scrise: 704
- Locatie: Sibiu
- Masina: Astra 2001 z16se
- Status: Offline
- Cont inregistrat: 27 Jun 2012
- Mesaj Privat
- cipri_astra
- *
- 31 mesaje
- din 25 Mai 2014
- Astra
- Timis
cipri_astra
- Mesaje scrise: 31
- Locatie: Timis
- Masina: Astra
- Status: Offline
- Cont inregistrat: 25 Mai 2014
- Mesaj Privat
liviu2004- Suspendat
- 2,323 mesaje
- din 28 Sep 2005
- Galati
liviu2004- Mesaje scrise: 2,323
- Locatie: Galati
- Masina:
- Status: Offline
- Cont inregistrat: 28 Sep 2005
- Mesaj Privat
De ce nu lucrati voi doi impreuna? Puteti salva timp.
Ontopic, la aprinderea farurilor la x km/h, trebuie un histerezis la viteza si la timp. Da nu faca farurile flash daca esti undeva la threshold.
Inchiderea automata a usilor la x km/h trebuie sa tina cont si de accidente, cand airbagurile sunt activate. La Corsa C exista un semnal de la calculatorul de airbag, se poate folosi pentru deschiderea usilor. Cu un buffer de energie, se presupune ca bateria masinii si cablajul sunt distruse. Airbagul are condesator, trebuie ceva similar.
La common-rail e o aventura sa scoti consumul. Nu cred ca se poate implementa independent de ecu. Chiar si cu comunicatie pe ECU, nu cred sa existe o citire de date suficient de rapida.
Alte idei, folositi un ecran color, cu touch, intrare video camera spate, senzori parcare, ar mai fi cateva.
Ontopic, la aprinderea farurilor la x km/h, trebuie un histerezis la viteza si la timp. Da nu faca farurile flash daca esti undeva la threshold.
Inchiderea automata a usilor la x km/h trebuie sa tina cont si de accidente, cand airbagurile sunt activate. La Corsa C exista un semnal de la calculatorul de airbag, se poate folosi pentru deschiderea usilor. Cu un buffer de energie, se presupune ca bateria masinii si cablajul sunt distruse. Airbagul are condesator, trebuie ceva similar.
La common-rail e o aventura sa scoti consumul. Nu cred ca se poate implementa independent de ecu. Chiar si cu comunicatie pe ECU, nu cred sa existe o citire de date suficient de rapida.
Alte idei, folositi un ecran color, cu touch, intrare video camera spate, senzori parcare, ar mai fi cateva.
- Marius Popescu
- ***
- 704 mesaje
- din 27 Jun 2012
- Astra 2001 z16se
- Sibiu
Marius Popescu
- Mesaje scrise: 704
- Locatie: Sibiu
- Masina: Astra 2001 z16se
- Status: Offline
- Cont inregistrat: 27 Jun 2012
- Mesaj Privat
BV19MAX , cum mai stai cu BC-ul ? Eu deocamdata m-am oprit , ultima data am implementat comunicarea cu tid , un i2c modificat , care in simulari duce procesorul in 90 + % si totul decurge foarte lent... Deci urmatorul pas e sa fac montajul pe cablaj . Dar , altele sunt prioritatile acum ,deci o sa las proiectul la hibernare o perioada...
Parca nu imi vine sa il las balta si imi iau un mid , mi-ar placea mai mult sa am un BC facut de mine , dupa bunul plac...
Numai bine si bafta!
Parca nu imi vine sa il las balta si imi iau un mid , mi-ar placea mai mult sa am un BC facut de mine , dupa bunul plac...
Numai bine si bafta!
- BV19MAX
- OP
- 2,559 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,559
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
Am testat primul prototip pe un display 16x2
Contine meniu cu mai multe nivele si ceva informatii de baza
1. Tensiune baterie (Te avertizeaza cand e sub 11 V sau peste 15V atat pe ecran cat si printr-un pin la care se poate lega un led din bord)
2. Viteza instanta
3. Consum instant (Sub 5Kmph consumul este afisat ca L/h in loc de L/100Km)
4. Consum mediu (se calculeaza media consumului instant pe ultimele 60 se secunde si se adauga la consumul deja stocat alaturi de un index care tine cont cate consumuri medii pe un minut s-au adaugat. Cred ca pe viitor o sa renunt la counter si fac direct media dupa fiecare minut).
5. Presiune turbo (aici mai am de lucrat putin pentru ca senzorul nu este liniar, trebuie sa fac interpolare intre 30 de valori)
problema mare e ca am ajuns cu memoria la limita Initial am vrut sa bag tot codul intr-un Atmega 8, dar pe parcurs am avut alte si alte idei si am ajuns sa nu mai am loc.
Am comandat niste atmega 64/128 pentru teste.
Momentan o sa merg cu prototipul simplu, pe LCD 16x2. Avantajul este ca am mai multe caractere disponibile si pot scapa de rutina care face scroll textului, deci mai mult spatiu pentru codul util cu adevarat
Intre timp mi-a venit alta idee, sa folosesc un encoder in loc de butoanele de BC, gen cum au ultimele modele de Audi pe consola (Next, Prev si Confirm).
Contine meniu cu mai multe nivele si ceva informatii de baza
1. Tensiune baterie (Te avertizeaza cand e sub 11 V sau peste 15V atat pe ecran cat si printr-un pin la care se poate lega un led din bord)
2. Viteza instanta
3. Consum instant (Sub 5Kmph consumul este afisat ca L/h in loc de L/100Km)
4. Consum mediu (se calculeaza media consumului instant pe ultimele 60 se secunde si se adauga la consumul deja stocat alaturi de un index care tine cont cate consumuri medii pe un minut s-au adaugat. Cred ca pe viitor o sa renunt la counter si fac direct media dupa fiecare minut).
5. Presiune turbo (aici mai am de lucrat putin pentru ca senzorul nu este liniar, trebuie sa fac interpolare intre 30 de valori)
problema mare e ca am ajuns cu memoria la limita Initial am vrut sa bag tot codul intr-un Atmega 8, dar pe parcurs am avut alte si alte idei si am ajuns sa nu mai am loc.
Am comandat niste atmega 64/128 pentru teste.
Momentan o sa merg cu prototipul simplu, pe LCD 16x2. Avantajul este ca am mai multe caractere disponibile si pot scapa de rutina care face scroll textului, deci mai mult spatiu pentru codul util cu adevarat
Intre timp mi-a venit alta idee, sa folosesc un encoder in loc de butoanele de BC, gen cum au ultimele modele de Audi pe consola (Next, Prev si Confirm).
- Marius Popescu
- ***
- 704 mesaje
- din 27 Jun 2012
- Astra 2001 z16se
- Sibiu
Marius Popescu
- Mesaje scrise: 704
- Locatie: Sibiu
- Masina: Astra 2001 z16se
- Status: Offline
- Cont inregistrat: 27 Jun 2012
- Mesaj Privat
Cum / unde ai montat LCD-ul 16x2 ? Am si eu unul , dar nu stiu cum as putea sa il integrez in bord , de aceea cred ca o sa afisez pe TID . Zilele astea ma apuc de cablaj .
L edit :
La partea de consum mediu nu e mai bn asa :
- o variabila in care retii distanta parcursa de la ultimul reset
- o variabila in care retii cantitatea de combustibil consumata de la ultimul reset
- imparti cantitatea de combustibil la distanta parcursa . (da, stiu , in embedded e de evitat impartirea, nu se foloseste floating point...)
?
L edit :
La partea de consum mediu nu e mai bn asa :
- o variabila in care retii distanta parcursa de la ultimul reset
- o variabila in care retii cantitatea de combustibil consumata de la ultimul reset
- imparti cantitatea de combustibil la distanta parcursa . (da, stiu , in embedded e de evitat impartirea, nu se foloseste floating point...)
?
- BV19MAX
- OP
- 2,559 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,559
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
20x4 intra la fix in locul TID-ului de la astra G. Pentru teste ii fac o carcasa in care sa-l bag. Voi vedea finalul daca va fi pe 16x2, pe 20x4 sau pe un display grafic.
Ma gandeam sa fac BC-ul ca un modul individual care sa trimita pe USART date catre un alt modul care este de fapt display-ul. In felul asta nu am intreruperi de setari/butoane pe modulul care asculta dupa semnalele motorului. Dar deja complic lucrurile prea mult....
Am si ceva Atmega 128, cu suficienti pini si memorie sa fac tot ce imi doresc.
Ma gandeam sa fac BC-ul ca un modul individual care sa trimita pe USART date catre un alt modul care este de fapt display-ul. In felul asta nu am intreruperi de setari/butoane pe modulul care asculta dupa semnalele motorului. Dar deja complic lucrurile prea mult....
Am si ceva Atmega 128, cu suficienti pini si memorie sa fac tot ce imi doresc.
- Marius Popescu
- ***
- 704 mesaje
- din 27 Jun 2012
- Astra 2001 z16se
- Sibiu
Marius Popescu
- Mesaje scrise: 704
- Locatie: Sibiu
- Masina: Astra 2001 z16se
- Status: Offline
- Cont inregistrat: 27 Jun 2012
- Mesaj Privat
Pai eu zic sa nu pui intrerupere la apasarea butonului , nu ai nevoie de rasp instantaneu ,ci sa declari pinul ca intrare digitala si il interoghezi in soft . Daca intarzie cateva ms pana detecteaza starea de buton apasat nu e nici o problema . Cred ca totusi pt test afisez pe lcd 16x2 iar cand e treaba definitivata o sa afisez pe TID .Folosesc Atmega32 , are suficienta viteza de calcul si memorie pentru ce mi-am propus .
Cu ce metoda ai facut cablajul ? eu am folosit metoda foto la celelalte proiecte de pana acum, iese cablajul destul de ok.
PS (si offtopic)
Ma poti ajuta cu resoftare pt z16se ? :d
Cu ce metoda ai facut cablajul ? eu am folosit metoda foto la celelalte proiecte de pana acum, iese cablajul destul de ok.
PS (si offtopic)
Ma poti ajuta cu resoftare pt z16se ? :d
- BV19MAX
- OP
- 2,559 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,559
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
Nu folosesc intreruperi, am scris eu prost folosesc debounce pe un pin de intrare (pe 3 de fapt). Am cautat un encoder cu push pe el, dar fara succes, asa ca probabil o sa folosesc un encoder pentru next/prev si un switch sub encoder pentru ok.
Cu metoda transferului termic fac de obicei cablajul. Doar ca in forma finala vreau sa folosesc SMD-uri (atat atmega cat si restul componentelor).
Cu metoda transferului termic fac de obicei cablajul. Doar ca in forma finala vreau sa folosesc SMD-uri (atat atmega cat si restul componentelor).