Wat is dat toch altijd dat je een elektronische toerenteller nodig hebt? Toereninformatie kun je ook prima van de bobines afpakken. Snelheid met een magneetje op het wiel ('k vind het systeem van Pro-oiler met een magneetje in de 8mm remschijf-inbussen wel mooi). Vervolgens pak je een microcontroller, een display, en ga je gewoon naar de verhoudingen van toerental/snelheidspulsen kijken. Bij elke verhouding hoort een versnelling. Sorteren, opslaan in de uC EEPROM en klaar.
Ik zie ook niet in waarom je een aparte 'leermode' nodig hebt; de software is slim genoeg te maken om te detecteren dat-ie een constante verhouding tussen snelheid en toerental op moet pakken als zijnde een versnelling. Histogrammetje opbouwen van de meest voorkomende waarden om valse waarden eruit te filteren, en het zelfleren is ook voor elkaar. Zonder aparte leermodus.
Nu het laatste probleem: je wilt graag dat het ding al reageert voordat de koppeling losgelaten is. Nu, we hebben een sequentiele bak, dus als het toerental opeens verandert als de snelheid relatief minder snel verandert, dan word er hoogstwaarschijnlijk geschakeld. Laat de software 'leren' bij welk toerental/snelheidsverloop er welke kant opgeschakeld word. Een klein neuraal netwerkje met simpele BP learning en 1/atan(x) transferfunctie kan dit probleem wel oplossen. Tuurlijk, dan heeft dat ding het wel eens fout, maar who cares. Als het voorspellen niet bevalt zet je het gewoon af. Als gebruiker dan.
Volgens mij bak ik zoiets in een zaterdagje in elkaar. Op dat 'schakelvoorspellings'-algorithme na dan.
En naderhand bouw je zoiets om tot digitaal dashboard. Grafisch LCD of CCFL display erbij (complete dashboards mogen duur zijn) voor RPM/snelheid/versnelling/tripmeters/laptimers. Maak de software wederom intelligent zodat bij voluit accelereren gedetecteerd word wanneer het blok over de vermogenspiek is (toerental/snelheidstoename per tijdseenheid kromme vlakt af), en laat een 'nu schakelen' lampje oplichten. Gebruik ook hier weer statistiek en zelflerend vermogen om te detecteren wanneer er vol geaccelereerd word, en laat het ding de boel zelf maar uitzoeken.
Met een microcontroller en software kun je zoooooveel leuks doen.
Dan nog even een praktische tip voor waar je nu mee bezig bent: gebruik industriele temprange componenten, en absoluut geen commerial temprange spul. Dat vriest kapot. Weet ik uit ervaring
En ben voorzichtig met elco's. De capaciteit en levensduur van die dingen gaat ook nogal achteruit met temperatuurfluctuaties.
Een flinke reply.
Maar ja ... met wat kunst en vliegwerk kan je denk ik de RPM pulsen ook wel uit de voeding halen (i.v.m. overspraak), dus dat is helemaal ideaal dan. Maar in eerste instantie wilde ik 't met zo min mogelijk elektro zut doen(lekker goedkoop, zeg maar). En da's gelukt, maar heb dan dus wel min of meer "kant en klare" pulsen nodig... en aangezien je maar een draadje (excl. voeding) aan de RPM meter knoopt .... lekker makkelijk toch ? R-retje en Zenertje erachter en zo hoppa naar de interrupt input van de controller. Zoals je al zei ... microcontrollers rulen !
Misschien ooit nog eens een fancy "uit de voeding filter pulse dingetje" hacken, maar voorlopig niet. Klein maar fijn.
Maar je hebt gelijk....DAT zou het mooiste zijn.
Wat die leermodus betreft ... op zich heb je gelijk; indien de "verhouding" gelijkblijft kun je aannemen dat je in een selecteerde versnelling staat. Alleen wat is je criterium om aan te nemen dat er een versnelling verandert is ? Als je een DIP of PIEK zit in de verhouding misschien, maar dan nog moet je een bepaalde tijd zeker weten dat de nieuwe verhouding (na op- of neerschakelen) bijvoorbeeld constant blijft. Als je (zoals met een magneetje en sensor) maar eens per wielomwenteling "sensed" zou je toch zeker over meerdere omwentelingen moeten meten, waardoor -ie juist trager wordt. Maar aan de andere kant is dit maar eenmalig nodig...tijdens het maken van de look-uptabel in EEPROM.
Maar ook als je stilstaat, of rijdt met ingeknepen koppeling kan je een constante verhouding krijgen. Die valt waarschijnlijk ver buiten de normale verhoudingen, maar volgens mij kom je op die manier met allerlei excepties te zitten waar je rekening mee moet houden, als dit en dit, dan dat mits ..bla bla. Gevoelsmatig heb ik er niet veel vertrouwen in, maar dat kan ook aan mij liggen, hahaha.
Wat als je bv 100km/h rijdt, trekt de koppeling in maar laat 't gas niet los, maar bv op 4000 rpm. Wanneer deze combinatie (snelheid en toeren) een waarde is ongelijk aan de bestaande in de lookup table, heb je een "virtuele versnelling" berekend. Het lijkt me wat tricky eerlijk gezegd. Simpel eenmalig alle versnellingen "inleren" lijkt me het meest betrouwbaar, eerlijk gezegd.
Have any comment on this ?
Van neurale netwerken en BP (British Petrol ?
)learning en 1/atan(x) heb ik geen kaas gegeten. Past zoiets uberhaupt in zo'n 600...700 bytes FLASH die ik nog over heb ?
Bovendien zitten er wel een paar well-known slimme-geitjes in die een betrouwbare selectie mogelijk maken (dus geen 6 maal "if a>b and a<c" achtige zut, dat kan eenvoudiger en beter)en bovendien de pulsen van de RPM "versnellen" (zonder gebruikmaking van een PLL freq.synthesizer, dus snellere acquisitie (ook wel prettig als je rijdt
en geen gedoe met invang- en houdbereik van zo'n [software] PLL).
De controller is op dit moment "industrial". De overige (passieve) comp. niet. Elco's zitten er niet in. Alleen ceramic stuff.
Zo....dit was m'n langste MF reply ooit :-)
Cheers !
PS: en hoe wis je je instellingen ? Wanneer je 'm op een andere brommert monteert mot dat wel te doen zijn. Ik gebruik daar m'n "inleerdraad" voor.
Short circuit to GND, spanning aan en klaar. Delete.
See ya.