Bij de flybarless systemen voor helis is het mogelijk om een bepaalde update rate voor de staart en swash servo in te stellen.
Voor de staart ligt dit tussen de 50 en 560Hz, voor de swash tussen de 50 en 200Hz.
Ik had zelf het idee dat een hogere update rate in veel gevallen niet zinnig is. Tenminste als je heli (servos, bladen, toerental) toch al niet in staat is om sneller dan op bijvoorbeeld 10Hz stuurinputs te reageren waarom zou je dan met 200Hz de servos updaten.
Nu weet ik niet wat voor bandbreedte te verwachten valt voor een 600~700size heli en hoe je de snelheid van de servo kunt vertalen naar bandbreedte dus dat is lastig in te schatten. Maar ik heb wel wat testen gedaan met een servo die zonder belasting van punt a naar b moet draaien en dit heb ik gedaan met 50, 100 en 200Hz update rate.
En blijkbaar is de servo met 200Hz sneller op punt b dan dezelfde servo op 50Hz. Op 50Hz was het rond de 17ms en op 200Hz was het rond de 9ms. De testen zijn gedaan met een Align DS620 servo.
Waardoor komt dit want dit had ik zelf niet verwacht?
Een mogelijke verklaring ligt erin hoe de servo reageert nadat hij de puls heeft ontvangen en heeft verwerkt. Ik verwachte namelijk dat er een Hold van de laatste puls zou plaatsvinden. Echter testen laat zien dat dit niet zo is. Als ik de servo aanstuur met pulslengte A en vervolgens met pulslengte nul dan is de servo vrij te bewegen. Ik heb nog niet geprobeerd wat er gebeurt met pulslengtes die buiten zijn werkgebied liggen, of een continu hoge input.
Waarom heeft de servo geen Zero Order hold of iets dergelijks. En is dit wellicht een deel van de verklaring waarom een hogere update rate zin heeft?
Als de servo steeds maar kort kracht levert dan kan ik wel in zien dat hij met 200Hz "harder werkt" dan op 50Hz.
Ik heb de testen uitgevoerd doormiddel van een Arduino Uno die de pulslengte geeft aan de servo en met een ADC het voltage van de potmeter in de servo uitleest en dit door een timer interrupt op vaste tijdstappen wegschrijft naar een SD kaart.
Voor de staart ligt dit tussen de 50 en 560Hz, voor de swash tussen de 50 en 200Hz.
Ik had zelf het idee dat een hogere update rate in veel gevallen niet zinnig is. Tenminste als je heli (servos, bladen, toerental) toch al niet in staat is om sneller dan op bijvoorbeeld 10Hz stuurinputs te reageren waarom zou je dan met 200Hz de servos updaten.
Nu weet ik niet wat voor bandbreedte te verwachten valt voor een 600~700size heli en hoe je de snelheid van de servo kunt vertalen naar bandbreedte dus dat is lastig in te schatten. Maar ik heb wel wat testen gedaan met een servo die zonder belasting van punt a naar b moet draaien en dit heb ik gedaan met 50, 100 en 200Hz update rate.
En blijkbaar is de servo met 200Hz sneller op punt b dan dezelfde servo op 50Hz. Op 50Hz was het rond de 17ms en op 200Hz was het rond de 9ms. De testen zijn gedaan met een Align DS620 servo.
Waardoor komt dit want dit had ik zelf niet verwacht?
Een mogelijke verklaring ligt erin hoe de servo reageert nadat hij de puls heeft ontvangen en heeft verwerkt. Ik verwachte namelijk dat er een Hold van de laatste puls zou plaatsvinden. Echter testen laat zien dat dit niet zo is. Als ik de servo aanstuur met pulslengte A en vervolgens met pulslengte nul dan is de servo vrij te bewegen. Ik heb nog niet geprobeerd wat er gebeurt met pulslengtes die buiten zijn werkgebied liggen, of een continu hoge input.
Waarom heeft de servo geen Zero Order hold of iets dergelijks. En is dit wellicht een deel van de verklaring waarom een hogere update rate zin heeft?
Als de servo steeds maar kort kracht levert dan kan ik wel in zien dat hij met 200Hz "harder werkt" dan op 50Hz.
Ik heb de testen uitgevoerd doormiddel van een Arduino Uno die de pulslengte geeft aan de servo en met een ADC het voltage van de potmeter in de servo uitleest en dit door een timer interrupt op vaste tijdstappen wegschrijft naar een SD kaart.