Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Servo aansturen met Velleman P8055

Pagina: 1
Acties:
  • 1.643 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben sinds gister begonnen met electronica, dus heb er nog niet heel veel verstand van.

IK heb een Velleman P8055 kitje gekocht en deze succesvol in elkaar gesoldeerd (mbv het testprogramma kan ik zien dat hij helemaal goed is). Dit is een USB bordje met digitale en analoge in/uitgangen. Er zit een voorgeprogrammeerd microcontrollertje op.

Mijn bedoeling is om 2 servo's aan te gaan sturen. Het bordje heeft 2 PWM uitgangen (aangegeven op de printplaat: PWM1 en PWM2).

Ik heb een servo aangesloten op een voeding, en op PWM1.

Ik probeer nu software te schrijven om die servo's aan te gaan sturen. Ik kom alleen niet helemaal uit de libary.

Ik wil dus graag een PWM signaal sturen naar PWM1

Volgens de documentatie is er een SetAnalog(kanaal) om een (1 byte) waarde naar de DA converter te sturen, maar dat is niet wat ik nodig heb.

Er zijn 2 ingebouwde timers, deze kan ik beinvloeden met ResetCounter(nummer), ReadCounter(nummer) en SetCounterDebounceTime(kanaal).

Voor de rest zijn er geen functies om PWM aan te sturen. Hoe ga ik dit voor elkaar krijgen? Mbv een timer de PWM poort hoog zetten? maar ik kan geen eventhandler eraan hangen?

Is er iemand die dit al een keer gedaan heeft met het betreffende bordje?

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Op CO lijkt iemand te zeggen dat Analoog1 hetzelfde wordt aangestuurd als PWM1, dus dat als je An1 aanstuurt outomatisch PWM1 aangestuurd wordt. Heb je dit al eens geprobeerd?

En dan met de functie:
OutputAnalogChannel (nr, waarde)

[ Voor 8% gewijzigd door kluyze op 04-01-2007 23:08 ]


Verwijderd

Topicstarter
Inderdaad, hier ben ik ook achter gekomen. Ik neem aan dat als ik dan bijvoorbeeld 0 naar DA1 stuur, de PWM op 0% draait, en als ik 255 naar DA1 stuur, de PWM op 100% moet draaien.

Op de een of andere manier werkt dit toch niet.

Ik zit ook even met de aansluiting van de servo. Ik heb er geen datasheet bij (het is een hobby servo, met 3 aansluitingen):

- rood ( ik neem aan de +)
- zwart (ik naam de - of GND)
- wit (stuurlijntje voor PWM)

klopt dit?

ik heb de rode draad van de servo aangesloten op + van mijn voeding, de zwarte draad op de - van mijn voeding en de GND van het bordje, en het witte draadje op de PWM aansluiting.

Is dit hoe het hoort? (kan het niet precies vinden namelijk)

  • ymoona
  • Registratie: Januari 2004
  • Laatst online: 15:24
Dit gaat niet eenvoudig werken, om een servo aan te sturen heb je een pwm signaal nodig van 50Hz.
De controller die erop zit doet dit waarschijnlijk op enkele khz.
Je kan dan het beste kijken om een gewone uitgang te nemen, en die handmatig aan te sturen.
Als je leer gierig ben kan je ook kijken naar http://home.quicknet.nl/qn/prive/amm.degroot/openk8055.htm en de de controller vervangen en de firmware vervangen.
Ik ben ben inmiddels al bezig met V2 van open k8055, die de aansturing volleg omgooit.

https://f1nerd.nl


Verwijderd

Topicstarter
ymoona schreef op vrijdag 05 januari 2007 @ 13:40:
Dit gaat niet eenvoudig werken, om een servo aan te sturen heb je een pwm signaal nodig van 50Hz.
De controller die erop zit doet dit waarschijnlijk op enkele khz.
Je kan dan het beste kijken om een gewone uitgang te nemen, en die handmatig aan te sturen.
Als je leer gierig ben kan je ook kijken naar http://home.quicknet.nl/qn/prive/amm.degroot/openk8055.htm en de de controller vervangen en de firmware vervangen.
Ik ben ben inmiddels al bezig met V2 van open k8055, die de aansturing volleg omgooit.
Hoe weet je dat deze controller dit niet zou kunnen? (je zegt 'waarschijnlijk')

Ik weet dat ik het handmatig aan kan sturen, maar dan moet ik gebruik maken van de timing van mijn pc, en die zal een stuk minder accuraat zijn dan die van een uC

Wat me wel opvalt is dat als ik de DAC1 op 100% zet, en dit meet met mijn multimeter, geeft hij netjes +/- 5 v aan. Als ik dan de PWM1 meet, dan geeft hij +/- 0 v aan...

@ymoona: kan je me vertellen hoe ik de servo zou moeten aansluiten aan een digitale uitgang? (met grounds, en moet ik die clamp ook gebruiken?)

[ Voor 15% gewijzigd door Verwijderd op 05-01-2007 14:08 ]


  • ymoona
  • Registratie: Januari 2004
  • Laatst online: 15:24
Verwijderd schreef op vrijdag 05 januari 2007 @ 13:46:
[...]


Hoe weet je dat deze controller dit niet zou kunnen? (je zegt 'waarschijnlijk')
De hardware register voor een PIC kunnen op een bepaalde PWM frequentie ingesteld worden, het laagste zal je op moeten zoeken in de datasheet, maar zal zeker niet lager zijn als een paar honderd HZ
Ik weet dat ik het handmatig aan kan sturen, maar dan moet ik gebruik maken van de timing van mijn pc, en die zal een stuk minder accuraat zijn dan die van een uC
misschien de oplosing die jij voor ogen wel niet de beste
Wat me wel opvalt is dat als ik de DAC1 op 100% zet, en dit meet met mijn multimeter, geeft hij netjes +/- 5 v aan. Als ik dan de PWM1 meet, dan geeft hij +/- 0 v aan...
Zijn dit twee verschillende uitgangen? Ik heb het schema even niet bij de hand, kan dit vanavond wel even na kijken. PWM kan je niet goed meten met een multimeter( zeker als het een goedekopere is < E100), dit meet je het beste met een scope
@ymoona: kan je me vertellen hoe ik de servo zou moeten aansluiten aan een digitale uitgang? (met grounds, en moet ik die clamp ook gebruiken?)
dit zal ik thuis even na kijken, omdat het met een ULN2803 gestuurt word.
clamp heb je niet nodig omdat er geen inductive belasting is.

edit: nu thuis

om de server aan een digitale uitgang te mogen hangen doe je het volgende:
sluit de + van de servo aan op Vusb ( dit is 5 volt)
sluit de - van de servo aan op Gnd
sluit de signaal draad van de servo aan op een digitale uitgang, zet op dezelfde uitgang een pullup weerstand van 4k7 naar Vusb.

letop: De 5 volt zit niet standaart op de connector, want die uitgangen zijn beveiligd. dus die zal je even moeten solderen. wel oppassen dat je niet teveel stroom uit je poort trekt (100 mA is safe)

[ Voor 15% gewijzigd door ymoona op 05-01-2007 18:34 ]

https://f1nerd.nl


Verwijderd

hmm. je kan 5v ook pikken van 1 van de analog uit jumpertjes.
die timers heb je nix aan, dat zijn geen timers, maar tellers.
verder zou ik je eigenlijk aanbevelen eens te kijken naar www.phidgets.com.
die servo controllers zijn ideaal en supersimpel aan te sturen.
toegegeven, ze zijn iets duurder dan zo'n velleman bord, maar ze werken tenminste wel goed :)

  • Yoram
  • Registratie: Augustus 2004
  • Laatst online: 05-08 14:22
Ik heb zelf een week geleden dezelfde interface kaart gekocht. Nu zou ik er ook servo's mee aan willen sturen. Maar ik zit een beetje met de software. Het is me al het om in vb wat schakel knoppen om de digitale uitgangen aan/uit te zetten te maken. Maar echt veel verder kom ik niet.
Dus nu moet er een PWM signaal uit een digitale uitgang komen, maar hoe ik dat aan moet pakken weet ik niet. Is er niet een site waar dat eenvoudig wordt uitgelegd of heeft iemand een voorbeeld.

Hallo!


  • ymoona
  • Registratie: Januari 2004
  • Laatst online: 15:24
kijk eens op http://www.circuitsonline.net/forum/view/24186/1/
pulsjes dus, maar ik weet niet of je PC wel dat snel genoeg kan

https://f1nerd.nl

Pagina: 1