MJPfin kirjoitti: ↑Pe 21.04.2023 22:25
On kyllä hieno, ja kyllähän se kunnossa oleva auto pitääkin mennä läpi leimalla.
Mittaristo on mielenkiintoinen, en välttämättä itse vanhempaan tekisi, tai jos niin "alkuperäisen" näköisen digitaalisen. Mittarit ja muut digitaalisena kuvana orkkiksesta.
Mut hienoa työtä omista mieltymyksistä huolimatta, ihan törkeän siistiä että kaikki tehty itse.
Iso arvostus täältä!
Kiitokset! Tuossa voisi olla ideaa, että yksi taulu olisi alkuperäinen

Kosketusnäytöllä kun voi vaihtaa mittaristoa pyyhkäisyllä seuraavaan Tunerstudiolla. Jätetään hautumaan
Aika vähän on päivitystä edelliseen, kilometrejä päälle tuhat takana uudella laatikolla ja hyvin näyttää pelaavan. Lämpöjen kanssa on iänikuista haastetta ja sitä varten ajattelin ilmansuodatusta vähän päivittää. Pistin tilaukseen 2.5 turbodieselin ilmansuodattimen ja tarkoituksena on rakentaa "väliseinä" konehuoneeseen, jotta imuilma pysyisi paremmin kurissa. Turbon ritiläkin täytynee viritellä lokasuojaan.
Eilen tuli mieleen, että saisikohan tuohon näyttöön vielä vaihteen näkymään. Vähän tutkittuani sain aikaan seuraavaa:
TunerStudiossa on tuo Custom Channel Editor, jolla nuo CAN-väylän kautta tulevat anturoinnitkin tuli viriteltyä. Väylän kautta tulevissa anturoinneissa signaalinkäsittely tehtiin Arduinon puolella, joten niitä ei tarvinnut kuin ottaa esille. Vaihdenäyttöä varten piti rakentaa koodi, joka laskee nopeuden, perävälityksen, kierrosten ja renkaan ympärysmitan avulla sitä, että millä välityksellä voima välittyy tiehen (vaihde).
Asiasta on keskustelua ainakin
täällä ja
täällä. TunerStudion ominaisuuksista löytyi
aineistoa ECUsta ja
funktioista.
Näiden perusteella sain rakennettua koodin:
Koodi: Valitse kaikki
[PcVariables]
gearDisplay = bits, U08, [0:2], "N", "1", "R", "2", "3", "4", "5", "6"
[FrontPage]
indicator = { detectedGear1 %2 }, "Gear: bitStringValue( gearDisplay , detectedGear1 )", "Gear: bitStringValue( gearDisplay , detectedGear1 )", white, black, green, black
[OutputChannels]
transGearRatio = { if( (tsVehicleSpeedKph > 20), (1.8969/3.27)*rpm*60/1000/tsVehicleSpeedKph , 0) }, ":1"
detectedGear1 = { transGearRatio > 5 ? 0 : transGearRatio > 4.138 ? 1 : transGearRatio > 2.0805 ? 3 : transGearRatio > 1.4495 ? 4 : transGearRatio > 1.117 ? 5 : transGearRatio > 0.9255 ? 6 : transGearRatio > 0.4255 ? 7 : 0 }
Koodissa [PcVariables], [FrontPage] ja [OutputChannels] kertovat mihin alla oleva koodi kuuluu laittaa. [PcVariables] ja [FrontPage] alla olevat koodit tulevat kyseisten otsikoiden alle Projektin nimi/projectCfg/mainController.ini tiedostoon ja [OutputChannels] alla oleva koodi tulee Projektin nimi/projectCfg/Custom.ini tiedostoon.
Koodista:
Koodi: Valitse kaikki
gearDisplay = bits, U08, [0:2], "N", "1", "R", "2", "3", "4", "5", "6"
on Unsigned Byte vaihteiston arvoja vastaavilla kirjaimilla/numeroilla
Koodi: Valitse kaikki
indicator = { detectedGear1 %2 }, "Gear: bitStringValue( gearDisplay , detectedGear1 )", "Gear: bitStringValue( gearDisplay , detectedGear1 )", white, black, green, black
Kuvaa indikaattorin toimintaa, jossa indikaattorin arvo on teksti "Gear:" ja vaihteen arvo (detectedGear1)
Koodi: Valitse kaikki
transGearRatio = { if( (tsVehicleSpeedKph > 20), (1.8969/3.27)*rpm*60/1000/tsVehicleSpeedKph , 0) }, ":1"
Katsotaan, että onko nopeus yli 20km/h (indikaattorin toiminta oli hieman epäluotettava pienemmillä nopeuksilla) ja jos on, jaetaan renkaan piiri (1.8969 metriä) perävälityksellä (3.27) ja kerrotaan se kierroksilla ja luvulla 60. Jaetaan tuhannella ja nopeudella, jolloin saadaan se välitys, millä voima välittyy tiehen. Jos nopeus on alle 20, asetetaan transGearRation arvoksi 0.
Koodi: Valitse kaikki
detectedGear1 = { transGearRatio > 5 ? 0 : transGearRatio > 4.138 ? 1 : transGearRatio > 2.0805 ? 3 : transGearRatio > 1.4495 ? 4 : transGearRatio > 1.117 ? 5 : transGearRatio > 0.9255 ? 6 : transGearRatio > 0.4255 ? 7 : 0 }
Verrataan transGearRatiota eri arvoihin. Vaihteiston välitykset ovat
Vaihde | Ratio |
1 | 4,35 |
R | 3,926 |
2 | 2,496 |
3 | 1,665 |
4 | 1,234 |
5 | 1 |
6 | 0,851 |
Ja keskiarvot vaihteiden välillä
Vaihde | Ratio |
1 | 4,138 |
R | 3,211 |
2 | 2,0805 |
3 | 1,4495 |
4 | 1,117 |
5 | 0,9255 |
6 | 0,4255 |
Jos transGearRatio on yli 5, muuttujan detectedGear1 arvo on 0. Jos arvo on pienempi kuin 0,4255, muuttujan arvo on myös 0. 0 vastaa muuttujassa gearDisplay arvoa "N". Syntaksi transGearRatio > 5 ? 0 : transGearRatio > 4.138 ? 1 tarkoittaa sitä, että katsotaan, onko transGearRatio yli 5, jos kyllä -> 0, jos ei, onko se yli 4.138, jos kyllä -> 1. Samalla logiikalla käydään vaihteet läpi ja oletetaan, että jos ollaan yli vaihteiden välityksen keskiarvon, niin silloin on pykälä päällä.
Pakki tuosta jäi pois tarpeettomana, mutta kummittelee koodissa

Takapuskuria tuli myös korjattua ja GPS paristovarmennettua. Jatketaan harjoituksia.
To do lista tällä hetkellä:
- Korisarjan kiinnitykset kuntoon
- Ovien listojen kiinnitykset
- Ulkonäkö
- Takaikkunaa ympäröivien ruosteiden kiinniotto (ammattilaisella)
- Puskurien halkeamat kuntoon
- Takapuskurin "nosto" kohdalleen
- Virtalähteiden varmentaminen
- Raspberryn jännitteen varmistaminen kondensaattori/akkuvirityksellä
- Käyntihäiriön korjaus (alipainevuoto?)