Servo pulse uit ppm signaal

Ik wil proberen een brushless regelaar aan te sluiten op de controllerboard van mijn dragonfly heli'tje. Daarvoor heb ik met mijn oscilloscope gezocht of er ergens op het controllerboard het PWM aansturingssignaal voor het throttle kanaal te vinden is. Maar ik kan alleen het PWM signaal vinden voor nick en roll en het PPM signaal van alle kanalen.

Nu is het uiteraard mogelijk om uit dit PPM signaal het throttle PWM signaal te decoderen. Waarschijnlijk zijn er genoeg RC decoder IC's die dit netjes van je kunnen overnemen. Weet iemand een makkelijk te krijgen IC waarmee je uit een PPM signaal de PWM kanaal signalen kan decoderen? Of uiteraard een andere methode waarmee dit mogelijk is.
 
Dit zal niet meevallen. Aan een pulstrein alleen heb je niks, er moet ook nog een sync signaal zijn (of worden geknutseld met een diode en daarachter een r-c netwerkje). Het gemakkelijkst is een CD4017, een Johnson counter (in smd-vorm is HEF4017BT het minst moeilijk verkrijgbaar). Hierbij zet je op de klokingang de pulstrein en op de master reset de sync. Van de twee klokingangen kies je degene, die op opgaande flanken werkt.

De oude 4 in 1 units bestaan uit twee printen, waarvan eentje de ontvanger is. Hierop zal ook wel zo'n CD4017 zitten. Blijkbaar zit er bij de nieuwe units alleen maar een processor?
 
In theorie zou een 8-bit shift register ook de signalen scheiden, ik ga het eens even proberen. Wat ik merkte bij het meten van het PPM en het servo PWM signaal is dat de pulsbreedten verschillen.

PPM hoog = 0.3ms tot 1.4ms
PWM hoog = 0.8ms tot 1.9ms

Die tijden van het servo PWM signaal kloppen wel, maar hoe zou de regelaar het vinden als ik hem een PWM signaal voer dat 0.3ms tot 1.4ms hoog is? Gewoon uitproberen dan maar...
 
Ook bij een schuifregister heb je een sync-signaal nodig.

Je kanaaltijden zijn dus 1 - 2 ms en dat wil je regelaar ook zien. Door uitproberen worden de meeste kindertjes geboren, dus dat moet je niet zomaar doen. Bij de pulslengten, die je in de pulstrein ziet moet je ook de modulatie-pulsen optellen. Je klokt tenslotte uitsluitend op opgaande flanken. De zender werkt blijkbaar met modulatiepulsen van 0,5 ms.

Aangezien er blijkbaar onvoldoende kennis is van de werking van radiobesturing: http://www.modelbouwforum.nl/phpBB2/cms_view_article.php?aid=42
 
In ppm-ontvangers wordt als regel een 4015 (dubbel 4bit schuifregister) of een 4017 (Johnson counter) gebruikt. Futaba gebruikt vrijwel altijd de 4015, de andere merken bijna altijd de 4017. De functie is het zelfde. Bij de 4015 moet je alleen een cascade maken als je meer dan 4 kanalen wil verwerken, vandaar dat de 4017 wat makkelijker is.

Wat in de link in fig. 7 wordt afgebeeld is wat je als synchronisatie-signaal zelf moet knutselen. Bij de 4015 is dit dus de data-ingang terwijl je op de klokingang de pulstrein aanbiedt. Bij de 4017 zet je dit op de master reset terwijl je op de klokingang ook weer de pulstrein zet. Met slechts 1 diode, 1 weerstand en 1 condensator zet je zoiets in elkaar. Helaas kan ik niet tekenen...
 
Nou, ik heb het onderstaande schema eens in een electronic workbench gevoerd en zo te zien werkt hij in elk geval in de theorie.
schema_ppm_decoder.JPG

signalen.JPG


In heb het daarna ook in elkaar gesoldeerd, maar in de praktijk heeft de schakeling er nog geen zin in. De mooie zaagtand op de collector is in de praktijk een driehoek signaal met een top van +- 1V, veel te weinig dus. Op de outputs van de 4015 is dus ook geen signaal af te lezen.

Heb jij misschien een idee waarom dit signaal in de praktijk zo laag is Corrien?
 
Q1 wordt dus te kort uit geleiding gestuurd.
De timing wordt bepaald door R2 en C1. De waarden zouden redelijk moeten kloppen, vooropgesteld dat C1 100nF en niet 100uF is (niet goed te lezen). Breng de waarde van C1 eerst maar eens naar beneden. Zelf kies ik trouwens liever voor een kleiner C'tje en een wat hogere R-waarde, bijv. C=10nF en R=330k.

Trouwens, de pulstrein, gaat die volledig naar 0 Volt? Zo niet, dan R3 verwijderen en tussen de basis van Q1 en massa plaatsen, zodat Q1 beter uit geleiding wordt getrokken.
 
Ik denk dat ik het even zo zou proberen:
Gelijkstroom ontkoppelen door een 10nF condensator in serie op te nemen (dus zeg maar, waar jij nu de puls invoert en dan direct naar de basis van Q1. R3 zou dan kunnen vervallen evenals R1.
Tussen de verbinding van de condensator en de basis een weerstand opnemen naar massa. De waarde moet je even uitproberen, maar probeer eens 47k.

C1 is trouwens wel een serieuze condensator. 100uF? of zie ik het niet goed? Als uF nu eens nF wordt.
 
ik had voor C1 100nF gekozen, maar dat is een beetje zlecht zichtbaar door de hoge conspressie van het plaatje.
Ik zal morgen eens de waarden van C1 en R2 veranderen zoals Corrien voorstelde.
Ik heb inmiddels ook R3 weg gehaald want die heeft eigenlijk niet zoveel nut. Het ontkoppelen het signaal met een condensator is eigenlijk ook wel een goed idee, ik heb morgen in elk geval weer wat te knutselen!
 
Ik kan mij natuurlijk op geen enkele manier meten met Corrien. :wink:
Mocht je mijn ingeven gaan volgen vergeet dan niet de voorgestelde weerstand anders zal de condensator zich niet snel genoeg ontladen voor de volgende puls (eigenlijk gewoon een simpel RC-filter)

PS ipv 47k zou ik eerst 10k proberen.
 
Heel apart, ik krijg nu het geinverteerde ppm signaal uit de C van de bc547. ik heb R3 weggelaten omdat deze geen functie heeft. Voor R2 heb ik 320k genomen en voor C1 10nF. Ook heb ik even 100k genomen voor R2, maar dat maakte nog niets uit.

Ik neem aan dat de waarde van C1 nu te klein is?
 
Blijkbaar komt je pulstrein ook geïnverteerd tevoorschijn. Je kunt nu meerdere dingen doen:
- tussen pulstrein en schema een inverter plaatsen. Dus een extra transistor en 2 weerstanden.
- een CD4017 nemen en het schema vereenvoudigen: R1 en Q1 worden vervangen door een diode, waarvan de kathode richting pulstrein wijst. De CD4017 heeft 2 klokingangen, waarbij je dan nu de ingang neemt, die op negatief gaande flanken klokt.
- het schema vereenvoudigen, zoals hierboven wordt omschreven (R1 + Q1 wordt 1 diode) en tussen pulstrein en klokingang een inverter opnemen.
 
hoe bedoel je "de pulstrein komt geinverteerd tevoorschijn"?
Ik snap even niet waarom de simulatie het wel goed toont, maar het schema in de praktijk doet iets heel anders...
 
De plaatjes doen het even niet, dus even deze gebruiken uit de faq van Ernst:

afb16985.jpg


Je hebt een x aantal positieve pulsen met daarna een langdurige logische 0.

Als je dit als beeld op de scoop krijgt moet het schema werken. Tussen de positieve pulsen in krijg je kleine zaagtandjes en tijdens de langdurige 0 een grote zaagtand. Gebeurt dit niet, dan maar eens kijken of de BC547 nog wel heel is en/of je r-c netwerkje klopt. Ik zou voorlopig C1 en R2 overigens op de waarden houden, die je nu hebt.
De bedoeling is, dat alleen het eind van de grote zaagtand als een logische 1 op de data-ingang wordt gezien. De kleine zaagtandjes moeten dus beduidend kleiner zijn dan de grote. Dit pas je aan door je r-c netwerkje (R2 en/of C1) aan te passen.

Als je het beeld ondersteboven op je scoop krijgt, komt de pulstrein geïnverteerd binnen op je schema en dan moet je dus één van mijn voorstellen volgen.
 
Ahem, ik had inderdaad een foutje gemaakt door C1 verschoven op de pcb te solderen waardoor hij geen contact maakte met de gnd.
Inmiddels is hij wel goed gemonteerd en krijg ik een mooier trigger signaal. De neergaande flank is mooi stijl, maar de top ligt nog steeds rond de 1V, en de 4015 geeft hierdoor nog geen output. Weer zo'n vreemd probleem....
 
Basis van Q1 aan massa leggen. Hoe hoog komt dan de spanning op de collector? Nog steeds 1 Volt -> 4015 is stuk of er zit nog een foutje op de print. Wel 5 Volt -> Q1 wordt te kort uit geleiding getrokken. Spanning op de basis controleren, moet minder dan 0,6 Volt worden bij logische 0, zo nodig afklemweerstand van basis naar massa monteren (10k à 47k).
 
ik heb de trigger schakeling even los opgebouwd op een breadboard, en nog steeds ligt de top rond de 1V. Als ik de basis aan de gnd leg dan is de spanning van de collector wel 5V, de collector is dus ontkoppeld van de 4015. Op de basis van Q1 komt de ppm pulstrein binnen waarvan 'hoog' 0,6V is. Als ik voor de zekerheid een weerstand van 10k tussen de basis en de ground zet, dat wordt de collector van Q1 niet hoger, maar de neergaande flank wordt wel minder steil ik snap er inmiddels nog weinig van...
 
JAA!! eindelijk eens een goed trigger signaal. Ik had al eens 100k genomen voor R2 maar dat deed ook niets, 10k is wel een goede waarde. Ik krijg nu een hele mooie zaagtand te zien!
Alleen nog geen signaal uit de 4015, maar daar kijk ik morgen wel weer naar. Bedankt!!!
 
Back
Top