- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
Salutare. Momentan am pe masina un YACC, dar asta prea putin conteaza. Vreau sa-mi fac un alt computer de bord pentru un ecran 16x2 (sau poate pastrez TID-ul, depinde) si cu alte functii decat cele de computer bord.
Ca ecrane de informatii ma gandeam la:
- Tensiune baterie.
- RPM.
- consum instant.
- consum mediu / viteza medie.
-- ultima pornire.
-- ultimii 100km.
-- de la ultimul reset.
- presiune turbo / AFR.
- temperatura lichid racire.
- nivel combustibil.
- viteza.
- timer 0-100 kmph .
- follow me home.
- ridicare geamuri din telecomanda.
- semnalizare cu impuls.
- activarea stergatorului de hayon daca cele din fata sunt pornite si se cupleaza marsarier-ul.
- Interfata pentru comenzi volan Pioneer/Sony, adaptabil pentru orice alt player care face actionarea prin schimbarea rezistentei.
- aprindere automata a farurilor cand masina trece de x kmph.
- inchiderea automata a usilor cand masina trece de x kmph si descuierea lor la oprirea motorului.
Iar ca optiuni in meniul de setari:
- numar impulsuri abs / rotatie
- dimensiune anvelope (pentru calcularea vitezei reale) (va fi o lista de optiuni predefinite)
- corectie consum (%)
- capacitate rezervor (L)
- rezistenta totala litrometru (ohm)
- reset Km parcursi
- reset medie viteza
- reset medie consum
Iar daca nu este foarte mult de munca, de ce nu un tester integrat care sa citeasca codurile de eroare de pe motor si sa le afiseze pe ecran (fara detalii, doar codurile gen P0400)
Microcontrollerul va fi ceva de la atmega. In atmega 8 nu incape tot programul pentru aceste functii, deci poate un atmega 16 sau ceva similar.
Orice alta idee este binevenita.
P.S. Nu intentionez sa vand asa ceva, dar daca voi finaliza proiectul postez aici softul si schema sa-si faca cine doreste
Ca ecrane de informatii ma gandeam la:
- Tensiune baterie.
- RPM.
- consum instant.
- consum mediu / viteza medie.
-- ultima pornire.
-- ultimii 100km.
-- de la ultimul reset.
- presiune turbo / AFR.
- temperatura lichid racire.
- nivel combustibil.
- viteza.
- timer 0-100 kmph .
- follow me home.
- ridicare geamuri din telecomanda.
- semnalizare cu impuls.
- activarea stergatorului de hayon daca cele din fata sunt pornite si se cupleaza marsarier-ul.
- Interfata pentru comenzi volan Pioneer/Sony, adaptabil pentru orice alt player care face actionarea prin schimbarea rezistentei.
- aprindere automata a farurilor cand masina trece de x kmph.
- inchiderea automata a usilor cand masina trece de x kmph si descuierea lor la oprirea motorului.
Iar ca optiuni in meniul de setari:
- numar impulsuri abs / rotatie
- dimensiune anvelope (pentru calcularea vitezei reale) (va fi o lista de optiuni predefinite)
- corectie consum (%)
- capacitate rezervor (L)
- rezistenta totala litrometru (ohm)
- reset Km parcursi
- reset medie viteza
- reset medie consum
Iar daca nu este foarte mult de munca, de ce nu un tester integrat care sa citeasca codurile de eroare de pe motor si sa le afiseze pe ecran (fara detalii, doar codurile gen P0400)
Microcontrollerul va fi ceva de la atmega. In atmega 8 nu incape tot programul pentru aceste functii, deci poate un atmega 16 sau ceva similar.
Orice alta idee este binevenita.
P.S. Nu intentionez sa vand asa ceva, dar daca voi finaliza proiectul postez aici softul si schema sa-si faca cine doreste
- 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
- 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
Salut !
Cred ca pt aplicatia data ,cred e suficient atmega16 , are destui pini , surse de intrerupere , timere , etc si nu e nici scump , iar eu ca sa-l programez am folosit un montaj cu cateva rezistente si diode zenner , un trz...
Lucrez si eu de ceva timp la un calculator de bord in jurul uc atmega32 care sa comunice cu tid . Ma lovesc de simulare , se pare ca proteus-ul meu vers 8.0 /8.1 nu se impaca deloc cu windows7 cred, pt ca se inchide aleatoriu in timpul simularilor . Iar vers 7.4 pe XP merge brici, nu se opreste simularea , numai ca nu merge cu variabile mai mari de 16 biti , desi eu declar variabila unsigned long , cand fac debugging obs ca daca trece de 65535 face overflow... Cum procedezi , faci simulare sau direct hardware cu generatoare de impuls?
Cred ca din lista ai uitat autonomia calculata .
Spor !
Stima ,
Marius P.
Cred ca pt aplicatia data ,cred e suficient atmega16 , are destui pini , surse de intrerupere , timere , etc si nu e nici scump , iar eu ca sa-l programez am folosit un montaj cu cateva rezistente si diode zenner , un trz...
Lucrez si eu de ceva timp la un calculator de bord in jurul uc atmega32 care sa comunice cu tid . Ma lovesc de simulare , se pare ca proteus-ul meu vers 8.0 /8.1 nu se impaca deloc cu windows7 cred, pt ca se inchide aleatoriu in timpul simularilor . Iar vers 7.4 pe XP merge brici, nu se opreste simularea , numai ca nu merge cu variabile mai mari de 16 biti , desi eu declar variabila unsigned long , cand fac debugging obs ca daca trece de 65535 face overflow... Cum procedezi , faci simulare sau direct hardware cu generatoare de impuls?
Cred ca din lista ai uitat autonomia calculata .
Spor !
Stima ,
Marius P.
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
Direct cu NE555 generez impulsuri cu umplere variabila, sau cu alt atmega.
Programator am USBASP, nu ma mai complic cu serial/paralel si ponyprog.... aia faceam acum 5-6 ani
De ce ai folosi variabile mai mari de 16 biti pentru integer? In general pentru astfel de numarari folosesc un buffer + overflow-ul ramas. Nu da gres niciodata daca main loop-ul este facut corect si nu se asteapta dupa instructiuni..
In ce limbaj programezi? C sau Basic? Poate ne ajutam reciproc cu informatii.
Da... range-ul l-am ratat din lista
YACC-ul foloseste Atmega 168 parca... deci tot 16 kbytes de flash.
Am un atmega 16 si multe Atmega 162 acasa, deci daca pot inghesui toata informatia in 16K, why not?
Programator am USBASP, nu ma mai complic cu serial/paralel si ponyprog.... aia faceam acum 5-6 ani
De ce ai folosi variabile mai mari de 16 biti pentru integer? In general pentru astfel de numarari folosesc un buffer + overflow-ul ramas. Nu da gres niciodata daca main loop-ul este facut corect si nu se asteapta dupa instructiuni..
In ce limbaj programezi? C sau Basic? Poate ne ajutam reciproc cu informatii.
Da... range-ul l-am ratat din lista
YACC-ul foloseste Atmega 168 parca... deci tot 16 kbytes de flash.
Am un atmega 16 si multe Atmega 162 acasa, deci daca pot inghesui toata informatia in 16K, why not?
- 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
Programez in C , codevisionavr.
Am vrut sa am "dexteritate" in masurarea timpului de injectie, am folosit timer 1 care este pe 16 biti pt asta . Semnalul de pe inj il trimit catre placuta mea , printr-un uln2003. La fiecare schimbare de front generez hardware interrupt , daca e pe frontul corespunzator inceperii timpului de inj , memorez valoarea , apoi daca e pe frontul coresp incheieirii alimentarii , scad din valoarea actuala a timerului pe cea veche si obtin timpul de inj . Mi-am dat si eu seama ca m-am complicat prea tare cu rezolutia de 16 biti, era suficienta pe 8 , cred ca o sa refac configuratia si algoritmul ca ma dispera simularea cu proteus 8 si windows 7 , se inchide mereu...
Nu am nevoie momentan de usbasp , am port serial chiar si la laptop (dell latitude e5500) , merge deocamdata.
Desigur ca mi-ar face placere sa ne ajutam cu informatii . Asta e primul proiect mai complex cu Atmel-uri , pana acum eu am lucrat numai cu PIC , cel mai des cu 16F876.
Numai bine !
Am vrut sa am "dexteritate" in masurarea timpului de injectie, am folosit timer 1 care este pe 16 biti pt asta . Semnalul de pe inj il trimit catre placuta mea , printr-un uln2003. La fiecare schimbare de front generez hardware interrupt , daca e pe frontul corespunzator inceperii timpului de inj , memorez valoarea , apoi daca e pe frontul coresp incheieirii alimentarii , scad din valoarea actuala a timerului pe cea veche si obtin timpul de inj . Mi-am dat si eu seama ca m-am complicat prea tare cu rezolutia de 16 biti, era suficienta pe 8 , cred ca o sa refac configuratia si algoritmul ca ma dispera simularea cu proteus 8 si windows 7 , se inchide mereu...
Nu am nevoie momentan de usbasp , am port serial chiar si la laptop (dell latitude e5500) , merge deocamdata.
Desigur ca mi-ar face placere sa ne ajutam cu informatii . Asta e primul proiect mai complex cu Atmel-uri , pana acum eu am lucrat numai cu PIC , cel mai des cu 16F876.
Numai bine !
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
Auch, pai trebuie sa vezi si cate impulsuri ai intr-un anumit interval (rpm-ul), ca sa calculezi consumul instant. In orice caz, depinde foarte mult si de tipul motorului. La benzinare, unde presiunea combustibilului este relativ stabila e mai simplu decat la diesel, si mai ales la common rail, unde presiunea poate fi de la 300 la 1400 bari.
Eu programam in Bascom, imi este mai familiar limbajul. Am incercat si WinAvr dar mi s-a parut greoi.
Eu programam in Bascom, imi este mai familiar limbajul. Am incercat si WinAvr dar mi s-a parut greoi.
- 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
Pentru consum instant si mediu fac in felul urmator :
_presupun ca debitul injectoarelor este de 175cmc/min, adica un injector daca sta sub tensiune 1 min acesta va "baga" 175 cc . (la mine presiunea e constanta , 3 sau 3.8 , nu mai stiu , nici nu ma pasioneaza sa stiu , atata timp cat e constanta)
_masor durata fiecarei alimentari a motorului cu metoda descrisa mai sus si o adaug in variabila numita timer_inj
_cand variabila timer_inj a ajuns egala cu constanta impuls_pe_centimetru , inseamna ca am mai consumat un centimetru cub , incrementez variabila benzina_consumata_cc
_pt consum instant : pt fiecare 100 m parcursi citesc cata benzina am consumat(centimetri cubi)
_pt consum mediu : impart benzina consumata la distanta .
De RPM nu am nevoie pt calcul consum, ci doar pt a afisa turatia. Bineinteles , daca "," cantitatea de benzina consumata la un plin nu coresp cu cea reala , pot face ajustari pt variabila impuls_pe_centimetru.
Iar pt un calcul corect , trebuie scalate variabilele , de exemplu mie imi trebuie consum de L/100km , nu cmc /m...
_presupun ca debitul injectoarelor este de 175cmc/min, adica un injector daca sta sub tensiune 1 min acesta va "baga" 175 cc . (la mine presiunea e constanta , 3 sau 3.8 , nu mai stiu , nici nu ma pasioneaza sa stiu , atata timp cat e constanta)
_masor durata fiecarei alimentari a motorului cu metoda descrisa mai sus si o adaug in variabila numita timer_inj
_cand variabila timer_inj a ajuns egala cu constanta impuls_pe_centimetru , inseamna ca am mai consumat un centimetru cub , incrementez variabila benzina_consumata_cc
_pt consum instant : pt fiecare 100 m parcursi citesc cata benzina am consumat(centimetri cubi)
_pt consum mediu : impart benzina consumata la distanta .
De RPM nu am nevoie pt calcul consum, ci doar pt a afisa turatia. Bineinteles , daca "," cantitatea de benzina consumata la un plin nu coresp cu cea reala , pot face ajustari pt variabila impuls_pe_centimetru.
Iar pt un calcul corect , trebuie scalate variabilele , de exemplu mie imi trebuie consum de L/100km , nu cmc /m...
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
- mikyboy
- *******
- 5,735 mesaje
- din 08 Dec 2006
- Insignia 2014 A20TDH
- Sibiu
mikyboy
- Mesaje scrise: 5,735
- Locatie: Sibiu
- Masina: Insignia 2014 A20TDH
- Status: Offline
- Cont inregistrat: 08 Dec 2006
- Mesaj Privat
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat
@Marius Popescu, cu scrierea pe EEPROM cum te-ai gandit sa faci? Ai o rutina care scrie de fiecare data la adrese diferite sau? Nu de alta, dar si atmega au o limita de scrieri posibile(~100.000) inainte sa corupa datele. Asta inseamna destul de putin daca se scrie in permanenta date noi.
Bine, se poate atasa un EEPROM extern prin SPI sau chiar un card de memorie pentru stocarea datelor importante, a logurilor de traseu si alte nebunii, limita este cerul si timpul celui care face softul
@mikyboy, multumesc pentru incurajare. Te gandesti si la alte functii de care nu am pomenit?
Bine, se poate atasa un EEPROM extern prin SPI sau chiar un card de memorie pentru stocarea datelor importante, a logurilor de traseu si alte nebunii, limita este cerul si timpul celui care face softul
@mikyboy, multumesc pentru incurajare. Te gandesti si la alte functii de care nu am pomenit?
- 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
Eu ma gandeam ca atunci cand iau contactul sa opresc tensiunea pentru celelalte componente , iar microcontrollerul sa-l pun in sleep /idle / power save...sau cu memorie cu acces serial separata . Deocamdata ma lovesc de refuzul lui proteus 8.1 de a coopera cu windows 7 . Ma astept ca instaland XP sa nu se mai inchida.
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- 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
Da , varianta cu un acumulator e ok , mai ales ca pot sa iau de la serviciu de exemplu o baterie pentru PLC-uri .Sincer situatia cu scoaterea bornelor bateriei nu am bagat-o in seama , pentru ca de exemplu si in bord kilometrajul mic se pierde , iar in situatia asta pierd si eu km parcursi( am denumit campul "trip" , de exemplu resetez acum kilometri , fac un drum , pana la mare de ex , iar pe ecran apare "trip 507 km") si consumul mediu . Alceva nu stiu daca pierd , pt ca ma mai gandesc daca fac cum ai zis cu parametri setabili , de genul imp_pe _km , etc), eu ziceam sa fac ajustari direct scriind flash-ul ..Dar daca ma gandesc bine , la un computer de bord serios e cu parametri setabili. Si chiar si asa , pot sa memorez doar setarile in eeprom-ul intern si la un eventual "deranjament" la alimentare nu le pierd. Ori nu cred ca fac eu 100 000 de modificari ale parametrilor ) .
- corsablue
- ****
- 2,771 mesaje
- din 18 Feb 2008
- Corsa 2005 Z13DT
- Brasov
corsablue
- Mesaje scrise: 2,771
- Locatie: Brasov
- Masina: Corsa 2005 Z13DT
- Status: Offline
- Cont inregistrat: 18 Feb 2008
- Mesaj Privat
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- 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
De la ultima discutie si pana acum nu am mai reusit nimic . M-am incapatanat sa fac mai intai simulari in proteus si apoi sa fac motajul . Numai ca proteus 7.4 sp3 / 8.0 sp1 / 8.1 sp1 refuza sa coopereze . Se inchide in timpul simularilor, deci renunt la simulari . Montajul este deja realizat in varianta minimala pe o placuta de tip breadboard ,cred ca maine voi programa inca un controller(PIC 16F628A) care sa scoata 2 semnale , unul pt viteza , de exemplu 250 Hz, iar altul pentru a da semnal ce corespunde injectiei cu carburant.
Daca totusi a mai lucrat cineva cu Proteus si i-a mers ,il rog sa-mi zica si mie cum a reusit . In trecut am mai lucrat cu varianta 7.4 sp3 pe windows XP ; am intampinat probl la lucrul cu 32 de biti . Numai ca desi am instalat sambata xp-ul nici 7.4 sp1 n-a vrut sa mearga bine si pace...
Numai bine !
Daca totusi a mai lucrat cineva cu Proteus si i-a mers ,il rog sa-mi zica si mie cum a reusit . In trecut am mai lucrat cu varianta 7.4 sp3 pe windows XP ; am intampinat probl la lucrul cu 32 de biti . Numai ca desi am instalat sambata xp-ul nici 7.4 sp1 n-a vrut sa mearga bine si pace...
Numai bine !
- nitroshift
- **
- 66 mesaje
- din 23 Apr 2012
- Astra 1997 x16xel
- Caras-Severin
nitroshift
- Mesaje scrise: 66
- Locatie: Caras-Severin
- Masina: Astra 1997 x16xel
- Status: Offline
- Cont inregistrat: 23 Apr 2012
- Mesaj Privat
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- 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
- BV19MAX
- OP
- 2,561 mesaje
- din 01 Aug 2007
- Astra Y17DT
- Brasov
BV19MAX
- Mesaje scrise: 2,561
- Locatie: Brasov
- Masina: Astra Y17DT
- Status: Offline
- Cont inregistrat: 01 Aug 2007
- Mesaj Privat