vergelijking
-
- Berichten: 15
vergelijking
hallo, ik weet niet of dit de juiste plek is voor mijn vraag, anders verneem ik het wel
ik ben bezig een micro controller te programmeren die een stappen motor aanstuurt, en wel met:
accelereren -> constante snelheid -> deccelereren.
bij dat acc.& decc. loop ik vast.
die stappen motor stuur ik aan met pulsen (stapjes) 1000 pulsen = 100 mm, en die moet ik in 1 sec afleggen (X-as).
1 sec. = elke millisec. een puls (stapje) = 1000 Hz (Y-as).
eerst een plaatje voor de beeldvorming:
ik krijg op een input pulsen binnen afkomstig v/d stappen motor die tel ik: 1 t/m 1000 ( = 100 mm)
aan de hand van die pulsen ga ik de snelheid v/d zelfde stappen motor regelen,....in Hertz.
dus je zou zeggen y = x
alleen gaat dit niet omdat de acc. dan veel langer duurt dan 1 sec. omdat:
puls 1 = dan 1 Hz ---> 1 sec
puls 2 = dan 2 Hz ---> 0,5 sec.
puls 3 = dan 3 Hz---> 0,33 sec.
enz...enz.
die tijden opgeteld tot je aan de 1000 pulsen bent is natuurlijk veel meer dan 1 sec.
dus ik moet een andere vergelijking hebben......maar ik weet niet goed hoe dit aan te pakken
ik hoop dat iemand hier dit wel weet,
alvast bedankt voor de input.
ik ben bezig een micro controller te programmeren die een stappen motor aanstuurt, en wel met:
accelereren -> constante snelheid -> deccelereren.
bij dat acc.& decc. loop ik vast.
die stappen motor stuur ik aan met pulsen (stapjes) 1000 pulsen = 100 mm, en die moet ik in 1 sec afleggen (X-as).
1 sec. = elke millisec. een puls (stapje) = 1000 Hz (Y-as).
eerst een plaatje voor de beeldvorming:
ik krijg op een input pulsen binnen afkomstig v/d stappen motor die tel ik: 1 t/m 1000 ( = 100 mm)
aan de hand van die pulsen ga ik de snelheid v/d zelfde stappen motor regelen,....in Hertz.
dus je zou zeggen y = x
alleen gaat dit niet omdat de acc. dan veel langer duurt dan 1 sec. omdat:
puls 1 = dan 1 Hz ---> 1 sec
puls 2 = dan 2 Hz ---> 0,5 sec.
puls 3 = dan 3 Hz---> 0,33 sec.
enz...enz.
die tijden opgeteld tot je aan de 1000 pulsen bent is natuurlijk veel meer dan 1 sec.
dus ik moet een andere vergelijking hebben......maar ik weet niet goed hoe dit aan te pakken
ik hoop dat iemand hier dit wel weet,
alvast bedankt voor de input.
- Moderator
- Berichten: 9.994
Re: vergelijking
Het is me nog niet helemaal duidelijk wat de bedoeling is.
Je wil versnellen naar een eindsnelheid. Hoe groot is die snelheid? 100 mm/s?
Hoe lang moet die versnelling duren?
Welke weg wil je afgelegd hebben tijdens die versnelling?
Misschien zitten daar strijdige eisen tussen.
Je wil versnellen naar een eindsnelheid. Hoe groot is die snelheid? 100 mm/s?
Hoe lang moet die versnelling duren?
Welke weg wil je afgelegd hebben tijdens die versnelling?
Misschien zitten daar strijdige eisen tussen.
-
- Berichten: 15
Re: vergelijking
inderdaad 100 mm/sec. dit komt overeen met 1000 pulsen (stapjes) per sec. (= 1000 Hz)
1 sec.Hoe lang moet die versnelling duren?
1000 pulsen (stapjes) dit komt overeen met 100 mm.Welke weg wil je afgelegd hebben tijdens die versnelling?
ik zal in de tekening nog wat aanpassingen doen.Misschien zitten daar strijdige eisen tussen.
Laatst gewijzigd door trix op za 30 dec 2023, 20:46, 1 keer totaal gewijzigd.
- Moderator
- Berichten: 9.994
Re: vergelijking
Die eisen zijn inderdaad strijdig.
Je wil tijdens de 1 s durende versnelling dezelfde weg afleggen als gedurende 1 s bij de constante eindsnelheid. Dat is niet mogelijk.
Als de versnelling eenparig is, is de gemiddelde snelheid gedurende de periode van versnelling de helft van de eindsnelheid.
Je zal dan in die eerste seconde 50 mm afleggen.
Je wil tijdens de 1 s durende versnelling dezelfde weg afleggen als gedurende 1 s bij de constante eindsnelheid. Dat is niet mogelijk.
Als de versnelling eenparig is, is de gemiddelde snelheid gedurende de periode van versnelling de helft van de eindsnelheid.
Je zal dan in die eerste seconde 50 mm afleggen.
-
- Berichten: 15
Re: vergelijking
dat "strijdige" begon ik al te vermoeden. ik kon het alleen niet beredeneren. zelfs nu moet ik er heel goed over nadenken.
als ik de de tijd v/d versnelling verleng van 1 naar 2 sec.
is het dan wel mogelijk ?
als ik de de tijd v/d versnelling verleng van 1 naar 2 sec.
is het dan wel mogelijk ?
- Moderator
- Berichten: 9.994
Re: vergelijking
Als je 2 s lang eenparig versnelt naar een eindsnelheid van 100 mm/s leg je in die eerste 2 s inderdaad ook 100 mm af.
-
- Berichten: 15
-
- Berichten: 463
Re: vergelijking
Alternatief:
In plaats van uit te gaan van een v-x-diagram zou je ook uit kunnen gaan van een v-t-diagram, bijvoorbeeld:
Je wil vanuit rust in t = 1 seconde naar een snelheid v = 100 mm/s
Je versnelling is dan (100 mm/s) / (1 s) = 100 mm/s²
De afgelegde afstand in die seconde = ½⋅a⋅t² = ½∗100∗1 = 50 mm (zie ook Xilvo hierboven)
Je stappenmotor geeft per kloktik 0.1 mm verplaatsing (want bij 1000 Hz is de snelheid 100 mm/s)
De 50 mm van de eerste seconde moet je dus verdelen over 500 kloktikken.
Uit
De eerste kloktik t1 hebben we nodig bij x = 0.1 mm, dus
Voor de klokfrequenties van je stappenmotor geldt dan:
de eerste periodetijd = t1 - 0 = 0.044721 s ≡ 1 / 0.044721 = 22.36 Hz
de tweede periodetijd = t2 - t1 = 0.06324555 - 0.044721 s = 0.018524 s ≡ 53.98 Hz
de derde periodetijd = t3 - t2 = 0.014214 s ≡ 70.35 Hz
etc.
Wellicht kan je zoiets gebruiken.
In plaats van uit te gaan van een v-x-diagram zou je ook uit kunnen gaan van een v-t-diagram, bijvoorbeeld:
Je wil vanuit rust in t = 1 seconde naar een snelheid v = 100 mm/s
Je versnelling is dan (100 mm/s) / (1 s) = 100 mm/s²
De afgelegde afstand in die seconde = ½⋅a⋅t² = ½∗100∗1 = 50 mm (zie ook Xilvo hierboven)
Je stappenmotor geeft per kloktik 0.1 mm verplaatsing (want bij 1000 Hz is de snelheid 100 mm/s)
De 50 mm van de eerste seconde moet je dus verdelen over 500 kloktikken.
Uit
\(\small x_t = 50t^2\)
volgt:
\(\small t=\sqrt{\frac{x_t}{50}}\)
De eerste kloktik t1 hebben we nodig bij x = 0.1 mm, dus
\(\small t_1=\sqrt{\frac{0.1}{50}} \approx 0.044721 s\)
De tweede kloktik t2 hebben we nodig bij x = 0.2 mm, dus
\(\small t_2=\sqrt{\frac{0.2}{50}} \approx 0.06324555 s\)
De derde kloktik t3 hebben we nodig bij x = 0.3 mm, dus
\(\small t_3=\sqrt{\frac{0.3}{50}} \approx 0.0774596669 s\)
etc.Voor de klokfrequenties van je stappenmotor geldt dan:
de eerste periodetijd = t1 - 0 = 0.044721 s ≡ 1 / 0.044721 = 22.36 Hz
de tweede periodetijd = t2 - t1 = 0.06324555 - 0.044721 s = 0.018524 s ≡ 53.98 Hz
de derde periodetijd = t3 - t2 = 0.014214 s ≡ 70.35 Hz
etc.
Wellicht kan je zoiets gebruiken.
-
- Berichten: 405
Re: vergelijking
Moet je alle snelheden doorlopen (dus 1 Hz, 2 Hz, 3 HZ ... 1000 Hz) of mag je snelheden overslaan? Als je voor elke stap minimaal 1 puls moet uittrekken kom je er nooit in 2 seconden. Want dan 1s + 1/2s + 1/3s + 1/4s > 2s
Als je stappen mag overslaan of niet de hele puls af hoeft te maken dan kan je anders rekenen. Je kan bijvoorbeeld terug gaan tellen vanaf 1000Hz totdat je bij 2s totaal uitkomt of de tijd opdelen in 1000 delen. Dan zet je op t=0,002s 1Hz, op t=0,004s 2Hz, op t=0,006s 3Hz enz.
We gaan er dan vanuit dat de motor ook direct op het commando reageert en zonder vertraging de aangegeven snelheid aanneemt. Dat lijkt me in de praktijk niet haalbaar maar voor de opdracht misschien niet relevant.
-
- Berichten: 15
Re: vergelijking
zo...even wat leesvoer erbij, ga ik bekijken eerst antwoord op 2 vragen
ik mag frequenties overslaan, dan krijg je nog steeds een soepele acceleratie.
motor reageert direct, geen vertraging.
-
- Berichten: 15
Re: vergelijking
in mijn vraagstelling schetste ik de situatie dat in in 1000 stappen van 0 -> 100 mm/sec.
dat mag ook in b.v. 100 of 50 stappen zijn.
dan accelereert de stappen motor nog steed soepel.
dat mag ook in b.v. 100 of 50 stappen zijn.
dan accelereert de stappen motor nog steed soepel.
- Moderator
- Berichten: 9.994
Re: vergelijking
Dan kun je, met aangepaste waardes, nog steeds het verhaal van RedCat gebruiken om de tijdtippen van de pulsen te berekenen.
Over frequenties (Hz) spreken heeft niet zoveel zin bij een niet-periodiek signaal.
Over frequenties (Hz) spreken heeft niet zoveel zin bij een niet-periodiek signaal.
-
- Berichten: 405
Re: vergelijking
Als je frequenties mag overslaan maar wel hele stappen moet maken kan je ook berekenen wanneeer je welke frequentie moet instellen door uit te gaan van het hierboven door mij genoemde tijdpad.
Als je gedurende \(0s<=t<0,002s\) \( 1Hz\) draait dan maak je \(\frac{1}{500}\) omwenteling.
Als je gedurende \(0,002s<=t<0,004s\) \( 2Hz\) draait dan maak je \(\frac{2}{500}\) omwenteling.
Als je gedurende \(0,004s<=t<0,006s\) \( 3Hz\) draait dan maak je \(\frac{3}{500}\) omwenteling.
\(1+2+3+....+n \approx 500\)
\(\frac {n(n+1)}{2} \approx 500\)
\(n \approx 31,126729205\)
Dus zou je in \(31,126729205 * 0,002s \approx 0,06225345841s \) je eerste omwenteling hebben.
Dat is vergelijkbaar met \(\frac{1}{0,06225345841} \approx 16 Hz\)
Dus he 1e omwenteling zou 16 Hz moeten zijn.
Zou je daarna doorgaan in dezelfde trant vanaf \(t=31*0,002s\) dan zou de berekening:
\(\frac {n(n+17)}{2} \approx 500\) moeten zijn. Dat leidt to ongeveer 20,6 Hz. Laten we zeggen 21 Hz.
Enzovoort
Disclaimer: Ik heb het niet tot het einde doorgerekend. Maar als je deze redenering volgt kom je wel ergens. Als het niet uitkomt op 2s dan kan je de stapgrootte van t variëren.
Een simpeler oplossing voor een redelijk soepele acceleratie zou zijn dat je in stappen van 16 Hz verder gaat: i puls 16 Hz, 2 pulsen 32 Hz, 3 pulsen 48 Hz enz. Dan krijg je ook een lineaire acceleratie.
Als je gedurende \(0s<=t<0,002s\) \( 1Hz\) draait dan maak je \(\frac{1}{500}\) omwenteling.
Als je gedurende \(0,002s<=t<0,004s\) \( 2Hz\) draait dan maak je \(\frac{2}{500}\) omwenteling.
Als je gedurende \(0,004s<=t<0,006s\) \( 3Hz\) draait dan maak je \(\frac{3}{500}\) omwenteling.
\(1+2+3+....+n \approx 500\)
\(\frac {n(n+1)}{2} \approx 500\)
\(n \approx 31,126729205\)
Dus zou je in \(31,126729205 * 0,002s \approx 0,06225345841s \) je eerste omwenteling hebben.
Dat is vergelijkbaar met \(\frac{1}{0,06225345841} \approx 16 Hz\)
Dus he 1e omwenteling zou 16 Hz moeten zijn.
Zou je daarna doorgaan in dezelfde trant vanaf \(t=31*0,002s\) dan zou de berekening:
\(\frac {n(n+17)}{2} \approx 500\) moeten zijn. Dat leidt to ongeveer 20,6 Hz. Laten we zeggen 21 Hz.
Enzovoort
Disclaimer: Ik heb het niet tot het einde doorgerekend. Maar als je deze redenering volgt kom je wel ergens. Als het niet uitkomt op 2s dan kan je de stapgrootte van t variëren.
Een simpeler oplossing voor een redelijk soepele acceleratie zou zijn dat je in stappen van 16 Hz verder gaat: i puls 16 Hz, 2 pulsen 32 Hz, 3 pulsen 48 Hz enz. Dan krijg je ook een lineaire acceleratie.