Stap 7: Mededeling van de Controller van de R/C en signalering
De lood-afbeelding is een afbeelding van een typisch "servo command" pulsbreedte pulse: 1500 microseconden is een neutrale of nul snelheidssignaal unidirectioneel van de macht van de 1000 microseconden meestal gevuld en 2000 volledige macht anderzijds. Terwijl servo's en robot controllers op de duur van de pols reageren zoals aangegeven, is een typische vliegtuig controller eenrichtingsverkeer. De meest voorkomende "standaard" is 1000uS als nulstand en 2000uS als volle snelheid, of iets wat lijkt op dat bereik. Natuurlijk kunnen de SER's passen worden om te accepteren verschillende eindpunten worden, zodat dit onderscheid meestal onbelangrijk is.
Een eenvoudige "Servo-Tester" is Your Friend
Een voertuig gashendel is in feite een knop die u zich wenden tot het genereren van een signaal naar iets dat bepaalt hoe snel het voertuig gaat. In gas compressieontsteking voertuigen, deze knop kan letterlijk op de motor gasklephuis hebben getrokken, maar over het algemeen deze dagen is een elektronisch signaal naar de motor-computer.
Er bestaat een klein apparaat dat is commercieel verkocht die precies de taak doet van het omzetten van een motie van de knop op "servo" pulsen in de hobby-wereld, en het heet een servo-tester . Een voorbeeld is weergegeven in afbeelding 2; dit één in het bijzonder . Ze worden gebruikt in plaats van het opzetten van een hele radio en de ontvanger alleen maar om ervoor te zorgen dat uw servo's werken. Merk op dat een (en meest goedkope ones vandaag verkocht) hebben drie uitgangen - Hiermee kunt u alle 3 servos testen in een helikopter belangrijkste rotor gelijktijdig. U hoeft alleen te gebruiken.
Het koele deel over de meeste servo testers is dat u een 0-5v-bron, zoals een 3-draads potentiometer of bedrijfsvoertuig gashendel, direct in de plaats van de knop neerzetten kunt (die zelf is een potentiometer). De 3e beeld toont een conversie ik heb gedaan aan dat bepaalde servo-tester model - de 3-pinsconnector gaat naar een commerciële hand gashendel (meer op die delen in een beetje). Nadat deze fase voltooid is, hebt u een directe analoge spanning naar servo pulse converter, die kan worden geïnstalleerd in een voertuig.
Merk op dat deze komen met verschillende modi beschikbaar, zoals "neutraal", nuttig voor het bijhouden van uw servo gecentreerd terwijl u verbanden en "vegen", aanpassen die automatisch een volledige 1000-2000uS vegen. Deze modi zijn niet nuttig, en als per ongeluk geselecteerd tijdens de operatie, kunnen leiden tot slecht . Het is adviseert om de knop die wordt geselecteerd van de modi te verwijderen.
Volledige hardware methode
Als je liefde martelen zelf, u kunt bouwen een 100% hardware (d.w.z. weerstanden, lineaire geïntegreerde schakelingen, caps) timing circuit dat een 0-5v-verwijzing naar de juiste servo pols converteert. Ik een link naar een paar in de oudere versie, maar deze dagen, heb je geen excuus te gebruiken van een volledige hardware-servo-tester, gezien het feit dat ze als 5 cent kosten. Hardware component waarden wijzigen met de temperatuur en vochtigheid zelfs, en er zijn meer onderdelen, waardoor ze meer gevoelig zijn voor storing.
Throttle speedramp
Omdat sensorlose R/C regelaars kunnen niet echt hoeveel stroom regelen ze sturen naar de motor (en huidige is recht evenredig met de torque output), en grillige als moeilijk onder controle te lage snelheid begint kan zijn, is het nuttig dat een "helling" ergens in de keten van de gashendel. Zonder ramping of een ander soort besturingselement input demping, plotselinge ruk moties van uw hand of de voet kunnen leiden tot het voertuig reageert onverwacht zoals een plotselinge toepassing van macht. Dit is niet alleen moeilijk om te functioneren, maar het ronduit gevaarlijk kan zijn als je in het verkeer of rond anderen bent.
Ramping kan worden bereikt in hardware of software.
Hardware weerstand-condensator filter
In de vierde is afbeelding een "RC filter" type circuit, waar RC weerstand-condensator , die glad uit scherpe transiënten in de controle-invoer is. De algemene vorm van het circuit staat bekend als een low-pass filter, en de technische details zullen niet worden besproken (Wikipedia kan een betere behandeling dan ik ooit kan verstrekken). De waarden van uw keuze van R en k bepalen de demping "tijdconstante", en dat wordt alleen gegeven door Trise = R * C .
Nee, echt, dat is het. Dus in het voorbeeld wordt een weerstand van 100K en een 10uF condensator samen een filter heeft een stijgtijd van 1 seconde vormen-wat betekent dat als u het vanuit stilstand verdieping (als je niet moet hoe dan ook, toch doen? ) de controle-signaal duurt 1 seconde tot 63% (de gedefinieerde standaard drempel voor dit circuit). Ware tijd regelen wordt gedefinieerd als de tijd het neemt voor de uitvoer naar het bereiken van meer dan 90% van de eindwaarde, en wordt algemeen aanvaard voor 3 tijd-constanten zijn (3 * T). U kan het aanpassen van de R en C waarden te bereiken maar snel een gewenste filter.
Het is belangrijk dat de weerstand van aanzienlijk hoger (minstens 10 keer) waarde dan de gasklep potentiometer, en moet ten minste 10 K Ohm. De reden is dat als de weerstand ook is dicht bij de totale weerstand van de pot, beïnvloedt de potentiometer van het filter tijdconstante sterk. Ik zet 100K als een voorbeeld, maar met de meeste voertuig gesmoord worden 5K ohm weerstanden, probeert te gebruiken ten minste een weerstand van 47K. De condensator kan elk gewenst type gepolariseerde of nonpolarized, maar als het wordt gepolariseerd, gelieve hem in rechte. Het hele circuit kunnen gesoldeerd inline met een gashendel harnas.
De tweede variant van dit circuit wordt een one-way bypass toegevoegd aan het systeem zodanig dat throttling neer is unramped - wat betekent dat als je laten gaan van volgas, het duurt niet een volledige tweede voor het signaal van de gasklep naar langzaam terug beneden, het komen zal dit vrijwel direct doen . De diode voert als de ingangsspanning aan de kant van de potentiometer (potmeter) is lager dan de spanning van de condensator (dat is de output), zodat het effectief shunts input naar output voor die posities.
In software met behulp van een microcontroller
Ramping is ook haalbaar in software als u toch uw eigen servo tester-achtig apparaat aanbrengt. Bijvoorbeeld, de volgende Arduino code implementeert speedramp door middel van een puls van de R/C in op een digitale pen en spugen het terug uit op een ander. Dit werd geschreven door Arduino en motorische controle master Shane Colton .
#include < Servo.h >
#define THR_MIN 178
#define THR_MAX 870
#define PWM_MIN 1000
#define PWM_MAX 2000
#define SPEED_LIMIT 0,33 / / Fractie van volle snelheid
#define RAMP_LIMIT 0.13 / / Fractie van volle snelheid per seconde
Servo tgypwm;
zweven pwm_f = (float) PWM_MIN;
VOID Setup
{
pinMode (9, OUTPUT);
tgypwm.attach(9);
/ * tgypwm.writeMicroseconds(PWM_MAX);
delay(5000);
*/
tgypwm.writeMicroseconds(PWM_MIN);
delay(5000);
Serial.begin(9600);
}
void loop
{
ondertekend int thr = THR_MIN;
zweven thr_f = thr (float);
zweven pwm_target = (float) PWM_MIN;
unsigned int pwm_i = PWM_MIN;
thr = analogRead(7);
thr_f = (float)(thr-THR_MIN) / (float) (THR_MAX - THR_MIN);
pwm_target = thr_f * SPEED_LIMIT * (float)(PWM_MAX-PWM_MIN) + (zweven) PWM_MIN;
if(pwm_target > pwm_f)
{
pwm_f += RAMP_LIMIT * (float)(PWM_MAX-PWM_MIN) * 0,05;
}
anders
{
pwm_f = pwm_target;
}
pwm_i = pwm_f (unsigned int);
tgypwm.writeMicroseconds(pwm_i);
Serial.println(pwm_f);
delay(50);
}