Ferry
Ferry.......
Hoi ik zit met een wiskundig probleempje waar ik niet uitkom.
Ik wil een uitgangs-pin programmeren om pulsen te genereren met een pulsbreedte van 10 uS
Ik wil deze pulstrein omhoog laten lopen in frequentie over een bepaalde tijd bijv 1.5 seconde. (variabele T)
Hoe bereken ik nu de tussentijden, dus de delay's tussen de pulsen op een zodanige manier, dat de pulstrein zo lineair mogelijk oploopt.
De opstart frequentie is bijv 100 Hz (laten we deze X-noemen ) en de doel frequentie is 2500 Hz (dit is Y)
Bij opstarten is de delay dan 9990uS + 10uS pulsbreeedte = 10.000 uS = 100 Hz
na 1.5 seconde moet de frequentie op 2500 hz zijn aangekomen ( delay 390uS + puls 10uS) = 400 uS = 2500Hz
Op de een of andere manier zijn mijn hersenen niet instaat om dit in een formule te frommelen;( Ben al een paar uur aan het googlen geweest maar ook daar vind ik niet wat ik zoek.
Is er hier misschien iemand die een wiskunde knobbel heeft en me een beetje in de goeie richting kan duwen.
Bij voorbaat dank,
Ferry......
jongensenwetenschap
Mama look, -a-booboo
Ferry
Ferry.......
Wow, dat gaat me even te snel 
Kun je me dat misschien toelichten.
Ik vind in deze formule nergens de waarden 100 of 2500 terug. Kun je me misschien uitleggen hoe je bijv. aan het getal 3900 komt.
Groetjes Ferry........
Goeievraag
Mijn posts dienen u in perfecte staat te bereiken. Mocht u op wat voor wijze dan ook ontevreden zijn, stuur dan de site, met post en leesdatum, naar: ongeldig@dres.nl
Ik zou het zo doen:
Voor het gemak benoemen we even een a en een b:
a=1/X-10u en
b=1/Y-10u
(Hier zitten dus de begin en eind delays in, laat die 10u weg als je de periode wilt)
de formule wordt dan delay(t) = a-(a-b)/T*t (in seconden)
Edit:
Dit klopt niet geheel bedenk ik me na het lezen van Zweetvoetje(22:36:42).
Bij mijn formule loopt de periode lineair, f=1/periode, en gaat dus niet lineair.
[Bericht gewijzigd door Goeievraag op ]
Ferry
Ferry.......
Pffff op deze manier gaan we er niet komen,
Op de een of andere manier ben ik kennelijk te stom om het te begrijpen.
Ben al bij differentiaal vergelijkingen aan het kijken geweest, maar mijn kop loopt er van over.
Ik vermoed dat ik als eerste moet zien te bepalen hoeveel stappen er in totaal in die periode van 1.5 sec gemaakt gaan worden.
(X1 + X2 + X3........+Xn) = 1.500.000 uS
X1=10000 uS Xn=400uS
Kan iemand me hier iets over duidelijk maken, of misschien een goeie site adviseren over dit soort functie's
@ goeievraag :
Waar staat de T nu precies voor
uit jouw formule leid ik af dat a-(a-b)/T gelijk moet zijn aan 1
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Hoe nauwkeurig moet het zijn? Met een 74hc14 IC'tje, en minder dan 10 andere onderdeeltjes lukt dit ook.
Hoef je niet eens te programmeren
[Bericht gewijzigd door (Z)weetvoetje op ]
Ferry
Ferry.......
@(Z)weetvoetje :
Gaat me niet zozeer om het makkelijke, wilhet graag voor erkaar zien te krijgen en nog begrijpen ook
@ Wetenschap:
Oke maar wat kan ik dan met deze formule> hoe bepaal ik nu hoelang de eerste vertraging moet zijn en hoelang de vertraging tussen de tweede en de derde puls etc etc etc
de bedoeling is dat die delay steeds korter wordt totdat ik uiteindelijk op 400uS uitkom, = 2500 Hz.
tuusen de eerste en de tweede puls dus 10000 uS 100 Hz
de tijd tussen de eerste en de laatste puls moet 1.5 seconde zijn
[Bericht gewijzigd door Ferry op ]
jongensenwetenschap
Mama look, -a-booboo
Op 2 juli 2007 13:17:14 schreef Ferry:
Wow, dat gaat me even te snelKun je me dat misschien toelichten.
Ik vind in deze formule nergens de waarden 100 of 2500 terug. Kun je me misschien uitleggen hoe je bijv. aan het getal 3900 komt.
Groetjes Ferry........
Ik gaf maar een aanzet hoe je via een breuk waar de tijd in de noemer zit deze totale breuk verwaarloosbaar klein kan laten worden over de tijd, en dat is wat je wil. overigens was die 3900 een zetduiveltje, 't moest 390 zijn 
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Dit meen je toch niet serieus?
Ik bedoel, hoe simpel kan het zijn...
Je wil de frequentie lineair op laten lopen. f=a + b*t
met a de beginfrequentie en b de oploopsnelheid van de frequentie., en t de tijd.
De totale periodetijd loopt volgens T=1/f=1/(a + b*t)
En dus de pauze periode is dus T=1/(a + b*t)-0.00001 s
Met a bijvoorbeeld 100 voor 100 Hz startfrequentie; en b 500 voor 500Hz per seconde.
Ferry
Ferry.......
@ (Z)weetvoetje:
YESS
hehe eindelijk is mijn kwartje gevallen.
Pfff onvoorstelbaar dat het me zoveel moeite kost om dat voor me te zien.
Dank je wel, nu moet ik het nog in een paar regels code zien te vangen, maar dat me wel lukken denk ik.
Groetjes Ferry..........