Ik wil een signaal vervroegd of vertraagd doorgeven.
De meest makkelijke manier lijkt me dat met een PICje te doen.
Er is echter een groot probleem, ik kan niet programmeren.
Ik zoek dus iemand die voor mij wat kan schrijven.
Even uitleggen wat de bedoeling is:
Signaal komt binnen en afhankelijk van het door de potmeter ingestelde signaal doorgegeven of er wordt 1:1 signaal doorgegeven, dit is afhankelijk van de stand van de schakelaar.
De vertraging of vervroeging moet instelbaar zijn tussen de 2,5 en 20 ms.
Dit heb ik in mijn gedachten als schema, heb echter geen idee welke pic in aanmerking komt voor de toepassing.
BTW, dit schema is om modelmotoren bij wedstrijden een maximaal vermogen te geven dmv vertragen / vervroegen van de ontstekingspuls.
Met de schakelaar kan men de schakeling overbruggen zodat niet altijd de schakeling in bedrijf is (bv buiten de wedstrijden om) en potmeter wordt aan gasservo gekoppeld.
Mvg, Rob
Vervroegen wordt vrij ingewikkeld, dan moet je de toekomst voorspellen. Voor zover ik weet zijn er nog geen PIC's die dat kunnen.
Vertragen is geen probleem. Vrijwel elke PIC voldoet, waarschijnlijk is een kleintje het best op zijn plaats. Liefst eentje die een analoog signaal kan inlezen. Als je dan van de potmeter de poot die nu aan de ingang hangt aan de +5 volt hangt, en de loper van de potmeter aan de ingang, dan kun je die gemakkelijk uitlezen.
Het vervroegen en vertragen moet altijd na het meten van één omwenteling gebeuren, er wordt dus niets voorspelt zover ik kan bedenken.
Mvg, Rob
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Vervroegen is inderdaad wat lastig, maar bij constante signalen is het wel te doen door het signaal zover te vertragen, tot het bijna 1 puls achterloopt. Door een 20mS puls 18mS te vertragen, krijg je effectief 2mS vervroeging...
Het vervroegen en vertragen moet altijd na het meten van één omwenteling gebeuren, er wordt dus niets voorspelt zover ik kan bedenken.
Er is dus geen sprake van vervroegen, maar alleen vertragen...
Het signaal is zover konstant, men probeert toch altijd maximaal toerental te rijden om het maxiamaal haalbaar vermogen eruit te halen.
Wordt echter de evrvroeger / verlater actief, dan zal ook het ingangssinaal gaan varieren.
Het uitgangssignaal mag ook best vertraagd tov het ingangssignaal uitgestuurd worden, zo nauwkeurig luistert een modelmotor nou ook weer niet.
Mvg, Rob
w12101
Ouder en wijzer
Kom je met een 555 ook niet een heel eind? Scheelt je het hele programmeer gebeuren.
e: nee natuurlijk niet. Delay is immers niet constant maar toerental afhankelijk..
[Bericht gewijzigd door knifter op (36%)]
Wat er gebruikt wordt maakt mij niet zoveel uit, dat mag degene uitmaken die het programma'tje voor mij kan maken.
Ik denk dat ik alleen een denk foutje heb gemaakt, er ontbreekt een drempel toerental waarbij de vertraging in werking moet treden.
De schakeling zal met nog een potmeter moeten worden uitgebreid.
Dus met potmeter 1 stelt men de drempeltijd in waarbij de schakeling actief wordt.
Dit zal liggen tussen de 6.000 en 24.000 omwentelingen = 10 en 2,5 msec.
Met potmeter 2 stelt men de extra tijd in, tussen de 5 en 20 msec, die bij de eerste tijd moet worden opgeteld.
Komt men weer onder de drempeltijd, dan vervalt ook weer de vertraging.
Mvg, Rob
Je zult toch zelf nog even aan de gang moeten. CO Is niet de plek waar je je wens plaatst en je vervolgens je programmaatje voor je gemaakt wordt.
Het wordt trouwens nog beter als je er een mapping in kan zetten. Een tabel waar toerental naar vertraging omgezet kan worden. Deze tabel kan weer uit een soort formule gemaakt worden. Je wilt zowiezo niet 1 heel sterk kantelpunt. Hier zal op zijn minst een lineaire interpolatie tussen moeten waarschijnlijk. Hier zijn al veel meer mensen mee bezig geweest. Ook hier op het forum.
Zoek eens wat verder op wat anderen al gemaakt hebben. 'PLL', 'CDI', 'Ignition mapping', etc.
Succes!
Ik denk dat de schakeling best scherp mag omklappen, RC-motoren zijn razend snel op toeren omdat er haast geen massa is.
Mijn speurtocht duurt al veel langer dan deze paar dagen hier op het forum.
Ik ben echter nog steeds niets bruikbaars tegen gekomen.
Natuurlijk zou ik een soort CDI oid kunnen gaan bouwen, maar die zit al in eenvoudige versie op deze motortjes (soort Spartamet CDI).
Helaas kan ik aan deze ingegeoten CDI'tjes niet veranderen en dus zal het via het pickupsignaal moeten gebeuren.
Met een partij conversionele electronica lukt het ook wel, maar in die kleine wagentjes zit zo weinig plaats om het weg te stoppen.
Vandaar ook mijn vraag om het in een PIC'je oid te stoppen.
Als ik 25 jaar jonger was zou ik nog wel een cursus programmeren willen gaan volgen, maar met mijn pensioen in zicht heeft dat denk ik geen enkel nut meer.
Mvg, Rob
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Je kunt natuurlijk niet in de toekomst kijken, dus je zult hoe dan ook moeten reageren op signalen uit het verleden. Het nadeel van een vertraging die bijna gelijk is aan de tijd van een omwenteling, is dat een relatief kleine fout in de vertraging een relatief grote fout in de schijnbare vervroeging geeft.
Ik zou een PLL (phase-locked loop) in de software maken, en daarmee de krukaspositie voorspellen. Je geeft dan een signaal bij een bepaalde voorspelde krukaspositie in plaats van een bepaalde vertraging.
Ik denk zelfs dat je in het geheel geen vertraagde puls hoeft te genereren.
Stel dat het toerental bereikt wordt en dat er op dat moment geen pulsen meer door gestuurd worden.
Het effect is gelijk als aan vertraagd doorzetten van de puls, de motor gaat trager lopen, men slaat immer een ontsteekpuls over.
De vraag is wel of de motor dit leuk gaat vinden, er blijft wel brandstof ingespoten worden die ontbrand bij de volgende ontsteekpuls.
Het lijkt dan ook wijzelijker om wel een ontsteking te creeren zodat niet de cilinder volloopt met brandstof.
Mvg, Rob
is het niet mogelijk om de opnemer zo te plaatsen dat de puls altijd "te vroeg" binnenkomt, dan hoef je alleen maar te vertragen (ook voor normaal toerental)
EricP
mét CE
RS2 is me net voor... Nou nog specificeren hoe groot je vertraging moet zijn bij een bepaald toerental, frut dat in een AVR en klaar. Nou ja, de opnemer nog en de aansturing van 'iets wat vonken genereert' nog. Instelbaar maken in software. Geen gedoe met potmeters die dan 'weer net verkeerd zijn voor dat toerental.
Natte vinger berekening: als je die AVR op 20MHz clockt, en je motor draait 20kRPM, dan heb je dus 3000μs per omwenteling (zijnde 3ms). Uitgaande van een 2-takt (met een 4-takt ligt het gunstiger natuurlijk), kun je dan 60000 machine cycles verstoken. Als je het een beetje handig in een ISR schrijft, moet je mi. niet meer dan 10-15 cycles kwijt zijn. Nog geen μs (minimale) delay dus. Dat moet wel te doen zijn.
Dok
Wie niet horen wil moet TV kijken.
Hoi, Deze ga je vast wel leuk vinden.
http://www.zelfbouwbikes.nl/index.php?page=zelfbouw-cdi
Klein, PIC, en de vergroegingscurve, (3 keer woordwaarde?) maak je met een excel sheet.
En die kan je er met je laptop inzetten.
@ Rob
ik wist niet dat dit schema min of meer bij jou weg kwam...
Deze heb ik een tijdje geleden gevonden in een poging zelf een cdi te bouwen. De schema's op jouw site zijn zeker de moeite waard, kan ik weer eens gaan stoeien met een oude tweetakt motor...
[Bericht gewijzigd door Dok op (36%)]
Deze is nog intressanter http://www.electronics.gompy.net/cdi/index.html
Maar hier wordt de hele CDI gebouwd en vervangen en datr is niet de bedoeling.
Een Zenoah loopt ook iets harder / sneller dan een bromfietsmotortje.
Zo'n 20 a 30.000 toeren is haast normaal, maar ook veel kieskeuriger.
Wanneer bij regen ietsjes water bij het benzine mengsel komt kan je een zgn bolw-off krijgen, of te wel je kop wordt van de cilinder gescheiden.(kop en cilinder zijn één geheel !!)
De CDI in bovenstaande link kan maar 12.000 toeren aan, wat zat is voor 99% van de brommers.
Mvg, Rob