Ik heb een modelbouw servo, deze wil ik aansturen met behulp van een computer. Ik heb een k8055 board, maar de pwm uitgang daarvan, lijkt ongeschikt. Ik ben vrij beginner op dit gebied. Ik ben nu opzoek naar een oplossing om de servo aan te sturen, hetzij serieel, parallel, met behulp van een tussenschakeling de pwm of analoge uitgang van de k8055 omzetten naar bruikbaar signaal, of mss een pic-je hier voor programmeren, maar dat heb ik nog nooit gedaan en heb geen idee hoe het moet. Alle hulp is welkom!

edit: mss kan het ook wel via de audiouitgang van een computer...

hoi aardappel,

er is op www.rentron.com een seriele servocontroller, ik heb hem zelf nooit getest, misschien kun je die ervoor gebruiken.

misschien kan je de pwm uitgang gebruiken om je servo's aan te sturen, in dat geval moet je alleen ff weten hoe lang een cycle van 100% duurt... en kan je dus uitrekenen hoe je je pwm moet programmeren/...

suc6!

Zou het kunnen dat de ampletude van de PWM misschien niet hoog genoeg is? Daar lijkt het namelijk ene beetje op, want zonder een aanpassing maakt het niet uit op welke waarde ik de k8055 instel, er gebeurd niks, maar met een simpele toongenerator reagageerd de servo wel degelijk...

...5v signalen

Pulsduur is een aat voor de draaihoek. Puls moet zo`n 50x per sec herhaald worden.

Ik heb het gevoel dat die pwm pulsen van de pen cellecter output komen van de kaart, dat kan je dan toch niet zomaar op een servo aansluiten, of zeg ik nou iets heel raars?

Een Servo stuur je aan door om de ca. 20ms. een pulsje van 1....2ms. te sturen.
1ms is links, 2ms is rechts. Bij 1,5ms staat de servo in de middenstand

Zie: http://www.circuitsonline.net/forum/view/24186/1/servo+aansturen

Dit wist ik dus al lang, maar nu nog een manier om dit door de computer te laten regelen... Ik denk toch dat ik door een klein schakelingetje die pwm geschikt zou moeten kunnen maken om de servo aan te sturen, iemand een idee?

edit: ik bedoel dus de pwm uit gang van de k8055 interfacekaart :)

[Bericht gewijzigd door Aardappel op ]

Ik snap even niet hoe je dat wilt doen.

Dit wist ik dus al lang, maar nu nog een manier om dit door de computer te laten regelen... Ik denk toch dat ik door een klein schakelingetje die pwm geschikt zou moeten kunnen maken om de servo aan te sturen, iemand een idee?

Wat is de min pwm frequentie die dat kaart aan kan?

Om de 20mS een pulsje van 1-2 mS komt neer op een pwm frequentie van 50Hz met duty cycle van 5-10%

Heb even bij velleman gekeken.

Die pwm is open collector.
Dus een pull-up weerstandje gebruiken en duty cycle aanpassen.

Word nu dus een duty cycle tussen 90% en 95%

owkee, daar snapte ik dus even niks van. Is dat dus het probleem, hoe moet ik dat dan precies oplossen? en bedoel je met de duty cycle de lengte van de pulsen?

ik heb deze site gevonden, en ik weet nu dus wat een pull up weerstand is :D

http://docweb.khk.be/Luc%20Friant/TechnologieVanComponenten/3Uitgang/O…

Maar hoe groot moet ik die weerstand dan nemen?

Nou ik ben nu zover dat het signaal sterk genoeg is, maar nu lijkt het er op dat de duur van de golf niet lang genoeg is op een of andere manier... Of de frequentie te hoog... Kan dat eigenlijk wel?

Voor de pull-up een 1K nemen ofzo.

De frequentie 50 Hz.
Iets hoger mag, maar de problem is dan dt je ook de duty cycle daarop moet aan passen.

Frequentie: de totale tyd wat de signaal hoog en laag is, per seconde. Eenmaal hoog en laag is de periode. Hz is dus aantal perioden per seconde.
duty cycle: de percentage van de periode, wat de signaal hoog is.

Met frequentie 50Hz en duty cycle 90% - 95%:
1 Seconde / 50 = 20mS (periode van 20mS)
90% van 20mS = 18mS hoog en 2mS laag
95% van 20mS = 19mS hoog en 1mS laag

Normaal heb je 1-2 mS hoog nodig, maar jij hebt een open collector, dan gaat het net anders om.

Waar de pwm nu hoog is, word de pull-up via de open collector aan massa gelegd, en heb je een laag op je servo.
Waneer de pwm laag word, word de open collector hoog-ohmmig, en krijgt de servo een hoog van de pull-up.

Als nu je frequentie hoger is, word vanzelf de periode korter(meer perioden per seconde). Je duty cycle is de percentage van de periode.De duty cycle blijft dus wel hetzelfde, maar is in tijd gemeten wel korter. Dan kom je niet meer aan die 1 tot 2 mS.

Ik heb het met een osciscoop nagekeken en het lijkt er op dat de frequentie echt veel te snel is...

Waarom gebruik je geen PIC die de Servo(s) aanstuurt.
Laat de PC de waarde(s) naar de PIC sturen via RS232 of de Parallelle poort.

Ik heb eerlijk gezegt geen idee hoe dat moet... Maar ik heb nu de pulsen kunnen nabootsen met de audio uitgang van de computer, en het lukt best aardig :)

Is er toevallig iemand die me kan vertellen hoe ik realtime blokgolven kan produceren en weergeven in windows met een .net taal?? Loop een beetje vast, krijg een paar rare errors met directsound...

Ik denk niet dat je dat met Windows constant en dus betrouwbaar kunt maken.
Als je meer programma's draait, dan worden de bewerkingen langzamer !

Ik ben met een PIC progje bezig, waarmee ik 1 Servo (later 8 stuks) kan aansturen.
Deze ontvangt de data via de RS232 poort (later wil ik nog een poging doen met USB).
Ik heb nu nog het probleem dat de RS232 verbinding regelmatig vast loopt !
http://www.circuitsonline.net/forum/view/29947/1/mmsoft

Als je veel programma's open hebt, blijft je muziek toch ook het zelfde klinken?

Maar je progje ziet er best wel in gewikkeld uit, ik heb geen idee wat ik er mee moet. Zoiets heb ik eigelijk nog nooit gedaan...

Op 25 januari 2006 20:58:19 schreef Aardappel:
Als je veel programma's open hebt, blijft je muziek toch ook het zelfde klinken?

Tja, daar moet ik je gelijk in geven! Ik ben benieuwd of je het op deze manier betrouwbaar werkend krijgt...

Hoi allen,

Ik ben nieuw hier op het forum, heb geen opleiding in elektronica (wel ervaring in de elektrotechniek) en mijn voornaamste ervaring/kennis zit in (kantoor) automatisering (onder windows programmeren met talen als VB.Net, ASP.NET, Delphi, Java(Script), C++, HTML, enz). Electronica vind ik echter machtig mooi en derhalve ben ik de laatste tijd bezig met dit forum doorspitten om mij er meer in te verdiepen.

Zelf had ik ook het idee gevat om iets met modelbouw servo's te gaan doen i.c.m. de K8055 van Velleman, maar nu lees ik in de post van Chipje [woensdag 25 januari 2006 11:12:48] dat het vanwege het PWM open collector principe niet direct mogelijk is om je servo te voorzien van een puls tussen de 1-2ms om de servo zinvol te laten positioneren (of is de frequentie hier de oorzaak van en zo ja, is dit aanpasbaar?). Hopelijk kan iemand mij (ondanks dat dit topic gedateerd is) hier iets meer over vertellen, want zoals ik de post van chipje nu begrijp, ziet een grafiek (met spanning als functie van de tijd) van PWM open collector er precies 'inverse' uit ten opzichte van 'normaal' PWM signaal. Als dat zo is, dan lijkt het mij toch met een vrij simpele schakeling mogelijk om dit signaal te inverseren en zodoende de servo aan te sturen?

Nog een antwoord aan Aardappel (alhoewel dat waarschijnlijk niet meer nodig is, gezien de plaatsingsdatum, maar misschien nuttig voor andere passanten): Je muziek blijft inderdaad doorspelen als er veel programma's draaien op je PC. Dit komt volgens mij doordat (een gedeelte van) je muziek bestand voor het afspelen gebufferd wordt in je geluidskaart. Als je veel zware programma's open hebt staan, je opent windows media player ernaast en drukt op de 'play' knop, zal je merken dat hij niet direct begint met afspelen (omdat hij eerst het muziekbestandje buffert naar je geluidskaart), maar daarna zal hij moeiteloos het hele nummer afspelen. Wat jij wilt (voor zover ik het nu in kan schatten), is on-the-fly eventueel informatie interpreteren van je inputs, berekeningen uitvoeren, je gewenste servo beweging omzetten naar een 'geluid' en die doorpassen aan je geluidskaart die ipv speakers de servo's moeten aansturen (m.a.w. je genereert aan de hand van van alles nog niets zo'n 50x per seconde een nieuw 'muziekje'). Dit gaat je performance-technisch waarschijnlijk runtime niet lukken denk ik. Wat je wel kan doen, is alle bewegingen die de servo moet maken van tevoren bepalen en opslaan 'als een muziekje' (haha meesterlijk creatief ben je trouwens wel) en het geheel naar de buffer van je geluidskaart schrijven. Dan heb je dus echter geen 'realtime' sturing. Volgens mij zit het zo, maar bind me er niet aan vast (misschien begrijp ik je wel helemaal verkeerd en zeg ik nu iets onwijs doms, vergeef het me dan).

Nog even over mijn eigen vraag, ik verwacht absoluut geen voorgekauwd antwoord (de meeste zullen dat ook weigeren te geven, terecht), maar een duwtje in de goede richting zou wel lekker zijn.

Bij voorbaat dank.

Huflind