Snelheid begrenzen mbv adruino en cdi

Wil je je ervaring delen of je problemen neerleggen, dan kan dat hier.
Gebruikersavatar
lil
4T-MSB zombie
Berichten: 2882
Lid geworden op: 27 dec 2019 17:58
Bezit: teveel

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door lil »

ja maar dat valt dus niet mee om dat mooi te programmeren voor die arduino. je wil het gas geleidelijk al een beetje gaan dichtdraaien nog voordat de begrensde snelheid bereikt word, anders gaat ie heel erg horten en stoten.
Gebruikersavatar
SS50-Maarten
4T-MSB regular
Berichten: 352
Lid geworden op: 06 mei 2024 16:55
Bezit: SS50 1977 rood bromfiets
SS50 1974 goudkleurig motorfiets

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door SS50-Maarten »

lil schreef: ↑05 aug 2024 20:49 ja maar dat valt dus niet mee om dat mooi te programmeren voor die arduino. je wil het gas geleidelijk al een beetje gaan dichtdraaien nog voordat de begrensde snelheid bereikt word, anders gaat ie heel erg horten en stoten.
Met een soort pauze er in. Niet elke millisceonde corrigeren.

Je begint met de snelheid meten met de Arduino. In de buurt van de topsnelheid ga je inderdaad actie laten ondernemen door de Arduino.
Heppie met kleppie! :D
Gebruikersavatar
SS50-Maarten
4T-MSB regular
Berichten: 352
Lid geworden op: 06 mei 2024 16:55
Bezit: SS50 1977 rood bromfiets
SS50 1974 goudkleurig motorfiets

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door SS50-Maarten »

https://github.com/stockrt/Arduino-OBDI ... ontrol.ino

Hier staat iets. Zou me moeten gaan focussen om te zien of het bruikbaar is
Heppie met kleppie! :D
Gebruikersavatar
lil
4T-MSB zombie
Berichten: 2882
Lid geworden op: 27 dec 2019 17:58
Bezit: teveel

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door lil »

ja met delay erin zou wel werken, maar is er geen intelligentere manier om de regeling te programmeren? een of andere berekeningsformule ofzo. (kennelijk niet, aangezien ze in die github link toch ook met delays werken...)
Ben C50
4T-MSB addict
Berichten: 955
Lid geworden op: 06 aug 2012 22:12
Bezit: C50 TT
Bakbrommer met C50 OT
Peda Chip

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door Ben C50 »

Zijn er geen bestaande cruisecontrole systemen voor oldtimers om te bouwen?
Ben C50
4T-MSB addict
Berichten: 955
Lid geworden op: 06 aug 2012 22:12
Bezit: C50 TT
Bakbrommer met C50 OT
Peda Chip

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door Ben C50 »

Zou perfect zijn op mn bakbrommer. Die heeft alle power nodig om op gang te komen, masr hoge top hoeft niet.
MonkeyMike
Frequent 4T-MSB visitor
Berichten: 120
Lid geworden op: 03 jul 2023 20:23
Bezit: Skyteam PBR

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door MonkeyMike »

De eerste versie van de code staat online. Feedback is welkom, cpp en arduino zijn nieuw voor mij.
https://gist.github.com/michielz/bec7bb ... 86d626c2e9
lil schreef: ↑05 aug 2024 21:19 ja met delay erin zou wel werken, maar is er geen intelligentere manier om de regeling te programmeren? een of andere berekeningsformule ofzo. (kennelijk niet, aangezien ze in die github link toch ook met delays werken...)
Het gebruiken van delay() is niet handig. Tijdens de delay staat het script stil. Arduino heeft millis() om tijd bij te houden.
https://www.arduino.cc/reference/en/lan ... me/millis/
Gebruikersavatar
lil
4T-MSB zombie
Berichten: 2882
Lid geworden op: 27 dec 2019 17:58
Bezit: teveel

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door lil »

waar is die nearLimitMmps voor? dat is nergens voor nodig als je toch alleen maar de ontsteking uit zet bij speedLimitMmps
MonkeyMike
Frequent 4T-MSB visitor
Berichten: 120
Lid geworden op: 03 jul 2023 20:23
Bezit: Skyteam PBR

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door MonkeyMike »

lil schreef: ↑05 aug 2024 22:40 waar is die nearLimitMmps voor? dat is nergens voor nodig als je toch alleen maar de ontsteking uit zet bij speedLimitMmps
Dat is een experimentje. Idee is om voor het uitschakelen van de ontsteking iets te doen. Bijvoorbeeld lampje op dashboard aanzetten.

Is inderdaad nergens voor nodig.
Gebruikersavatar
lil
4T-MSB zombie
Berichten: 2882
Lid geworden op: 27 dec 2019 17:58
Bezit: teveel

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door lil »

je zou es iets moeten bedenken om de ontstekingspuls te verlaten, met een of andere delay functie van de arduino. dan kan je tegen dat de begrenzingsnelheid gehaald word de ontsteking geleidelijk aan gaan verlaten, dat is denk ik beter dan dat aan-uit flikkeren.
MrSinga
4T-MSB zombie
Berichten: 3422
Lid geworden op: 28 jan 2007 22:19
Bezit: Vaillante;
MSX125
ST70
Z50A K3
En een berg projectjes
Locatie: Santa-Cruz, Belgium

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door MrSinga »

lil schreef: ↑06 aug 2024 09:24 je zou es iets moeten bedenken om de ontstekingspuls te verlaten, met een of andere delay functie van de arduino. dan kan je tegen dat de begrenzingsnelheid gehaald word de ontsteking geleidelijk aan gaan verlaten, dat is denk ik beter dan dat aan-uit flikkeren.
Dat klinkt al bij al niet zo gek. Doe je het omgekeerde van een snelle/vervroegende cdi. Zou idd minder met horten en stoten gaan rijden aan vv 50kmh
Dennoz
The 4T-MSB is my life!
Berichten: 1048
Lid geworden op: 16 dec 2017 11:36
Bezit: Cd50
Harley 1977 fxe Super Glide
Jazz 1.4 v-tec
Locatie: Leiden

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door Dennoz »

ivo215 schreef: ↑04 jul 2023 02:22 Leuk project.

Je kan de Arduino tussen de pickup en de CDI zetten, en dan aan de hand van het toerental het ontstekingstijdstip verlaten.
Of als je het heel eenvoudig wilt houden, op een bepaald toerental een condensator inschakelen.

Moeilijker zal zijn om het ontstekingstijdstip te vervroegen. Dan zal je software het ontstekingstijdstip dat de Arduino aan de CDI geeft moeten gaan anticiperen.
Of ... aangezien het een viertakt is ... de helft van de vonken heb je helemaal niet nodig. Als de vonk van de uitlaatslag 355 graden verlaat, dan heb je een 5 graden vervroegde vonk tijdens de compressieslag.
Je moet dan alleen wel een manier vinden om je Arduino te vertellen met welke slag de motor bezig is. Je zal dus ergens nog een sensor moeten plaatsen. Dan is een sensor op de nokkenas een voor de hand liggende keuze.

Makkelijker is een vliegwiel met een lange pickup-nok. Daarmee kan je, als je wilt gaan vervroegen het ontstekingstijdstip schakelen naar de rising edge in plaats van de falling edge die de pickup geeft. Zo werkt een normale vervroegende CDI ook.

Er zijn meerdere manieren om het aan te vliegen.
En je hoeft niet persé voor de makkelijkste oplossing te kiezen, een nodeloos ingewikkeld project kan best leuk zijn.
Hop hop gas dr op
Dennoz
The 4T-MSB is my life!
Berichten: 1048
Lid geworden op: 16 dec 2017 11:36
Bezit: Cd50
Harley 1977 fxe Super Glide
Jazz 1.4 v-tec
Locatie: Leiden

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door Dennoz »

Dat was post nr 3 of 4 in deze topic
Hop hop gas dr op
Gebruikersavatar
SeeWhy50
4T-MSB regular
Berichten: 292
Lid geworden op: 21 feb 2020 00:01
Bezit: CY50 (1978)
Bezat: XR75, P50 en TS50
Locatie: Omgeving Den Haag

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door SeeWhy50 »

SeeWhy50 schreef: ↑05 jul 2023 14:21 Ik heb een tijd geleden ook al eens met dit idee gespeeld.
De Arduino snapt niks van graden en ik denk dat je er ook geen moeite voor moet doen om dat ding dat te leren. Wanneer je direct alles definieert in het tijdsdomein worden zaken alweer een stuk simpeler. Je kunt dan een in graden variabele, toerental afhankelijke, vervroeging of verlating realiseren door een vaste waarde in tijd op te tellen of af te trekken van het berekende ontstekingsmoment vanaf het triggermoment. Om de ontsteking te kunnen vervroegen is dit in feite ook weer een vertraging vanaf de puls/ trigger van de vorige omwenteling.

In plaats van die vaste waarde is hier natuurlijk ook een snelheidsafhankelijke variabele te programmeren die, ineens of geleidelijk (of via een mapping of tabel) het ontstekingsmoment bijstelt.
Hier kom je nu wel in de problemen als je de mogelijkheid wilt inbouwen om wilt vervroegen en te verlaten, omdat bij verlaten het triggermoment voor de nieuwe cyclus gepasseerd wordt. Een mogelijkheid om dit te omzeilen is door gebruik te maken van 2 cycli die afwisselend doorlopen worden. enz. enz. enz.

Oftewel: Leuk project. Hier kun je helemaal los op gaan! :mrgreen:

Enne.....Nog een paar dingen toevoegen en het begint zowaar al een beetje op een ECU te lijken ;)
We vallen in herhaling ;)
Groeten,

Danny


Niet zeuren, de aarde is plat, en daar houden we het voorlopig op. Ga je over de rand dan val je er vanaf.
MonkeyMike
Frequent 4T-MSB visitor
Berichten: 120
Lid geworden op: 03 jul 2023 20:23
Bezit: Skyteam PBR

Re: Snelheid begrenzen mbv adruino en cdi

Bericht door MonkeyMike »

Er is blijkbaar wat interesse in het verlaten van de ontsteking. En het idee van SeeWhy50 ziet er niet al te ingewikkeld uit. Dat wil ik best een poging geven.
SeeWhy50 schreef: ↑08 aug 2024 11:36
SeeWhy50 schreef: ↑05 jul 2023 14:21 Ik heb een tijd geleden ook al eens met dit idee gespeeld.
De Arduino snapt niks van graden en ik denk dat je er ook geen moeite voor moet doen om dat ding dat te leren. Wanneer je direct alles definieert in het tijdsdomein worden zaken alweer een stuk simpeler. Je kunt dan een in graden variabele, toerental afhankelijke, vervroeging of verlating realiseren door een vaste waarde in tijd op te tellen of af te trekken van het berekende ontstekingsmoment vanaf het triggermoment. Om de ontsteking te kunnen vervroegen is dit in feite ook weer een vertraging vanaf de puls/ trigger van de vorige omwenteling.
We vallen in herhaling ;)
Als ik het goed begrijp staat hierboven "Bij X toeren verlaat je de ontsteking Y graden door Z tijd te wachten.". Correct?

Volgens mijn AI vriend is de code niet al te ingewikkeld. We kunnen prima uitrekenen hoeveel graden het vliegwiel draait.
Hoeveel graden kunnen we veilig/maximaal vertragen? Er is een veiligheidsmarge nodig omdat het toerental een gemiddelde is.

Volgens de AI kunnen we heel precies vertragen. Laten we dat met een korreltje zout nemen.

Code: Selecteer alles

RPM    | Time per Degree (µs) | Smallest Retardation Angle (degrees)
-------|----------------------|-------------------------------------
6000   | 27.78                | 0.036
6500   | 25.64                | 0.039
7000   | 23.81                | 0.042
7500   | 22.22                | 0.045
8000   | 20.83                | 0.048
8500   | 19.61                | 0.051
9000   | 18.52                | 0.054
9500   | 17.54                | 0.057
10000  | 16.67                | 0.060
Plaats reactie