Sida 1 av 1

Styra servo m.m

Postat: 11 november 2009, 23:21:33
av Lullen
Jag har försökt söka igenom detta forum och google för att hitta hur man styr ett servo med hjälp av LPT porten. Men det verkar som om detta ej rekommenderas då windows bland annat inte är så bra på tider. Men jag hittade också att om man gör detta så kommer servot att skaka sig frammåt, vilket för mig inte är något problem. Jag vill kunna styra den mellan 0-90grader med 5graders noggrannhet men 10grader skulle jag inte bli besviken med om detta orsakades av dessa skakningar. Men hur stora är dessa skakningar? Om dessa skakningar kommer skapa problem för mig så kan jag tänka mig att ha något liknande icecaps servostyrning från serieporten fast går detta även från lpt porten isf? Vad skulle det kosta för någon att bygga denna åt mig? Anledningen till att jag vill ha den till LPT porten är för att då kan jag även styra fler saker som ett relä med pwm. Men skulle det bli lättare om jag använder mig utav en stegmotor med tanke på styrningen? Här bör man inte få problemet med att styra direkt från datorn eftersom man stegar sig fram, har inte riktigt kollat upp detta alternativ men det känns som att ett servo är mer det rätta alternativet om man kollar runt lite. Kan väl tillägga att det är en ventil som skall styras och den ha tryck på sig så den är lite svåröppnad från stängt läge.

Sedan har jag lite problem med att hitta hur man styr LPT porten med java för dessa saker, att styra ett servo är väl någon slags pwm? Finns det något trevligt api?

Re: Styra servo m.m

Postat: 12 november 2009, 10:24:30
av Icecap
RC-servon styrs med pulser. dessa pulser är mellan 1,0 och 2,0ms långa (1,5ms = mittläge). Dessa pulser bör komma med runt 20-50ms mellanrum, just detta är mindre viktigt.

Då Win är otroligt osäkert med tider kommer det att vara mycket svårt att få detta till att fungera på ett stabilt sätt och positioneringsnoggrannheten kommer att vara ... osäker.

Att använda LPT-porten är väl OK till saker som ska slås av eller på, inte till saker som ska styras i tid, samtidig styr man inte relän med PWM, man slår på dom eller av dom så ditt skäl att använda LPT-porten känns fel.

Jag förstår att du inte vill fördjupa dig i µC-programmering, i annat fall hade det varit enkelt att modifiera min servo-styrning till att ha några RC-servo-utgångar samt några av/på utgångar. Med en PIC med fler pinnar kan man få riktigt många I/O-pinnar SAMT ett antal RC-servo utgångar och allt via en seriell port som är så enkel att interface till och att använda i programmen.

Re: Styra servo m.m

Postat: 21 november 2009, 13:59:36
av HenkiBoy
icecap: Vilka inställningar behöver man göra i PICKIT 2 UART tool? Hastighet och sådant?
Det står inte med i källfilerna, inta vad jag kan hitta iaf.

Re: Styra servo m.m

Postat: 21 november 2009, 14:11:38
av Icecap
Kan tyvärr inte hjälpa med den del, mitt PICKit2 är ganska oanvänd sedan ett tag då jag inte håller på med PIC speciellt mycket.

Re: Styra servo m.m

Postat: 21 november 2009, 14:25:40
av HenkiBoy
Okej, om jag omformulerar mig lite då, vilka inställningar är det för kommunikationen? Bitrate, paritet och stopbit etc..?
Hoppas att jag inte missat nåt.

Det är din "styra 12 rc-servo" pryl det gäller.

Re: Styra servo m.m

Postat: 21 november 2009, 18:41:52
av Icecap
Står i källkoden men 9600, n, 8, 1 gäller.

Re: Styra servo m.m

Postat: 21 november 2009, 19:10:00
av HenkiBoy
Vart ska det stå i så fall?
I RC_servo.c?

Jag hittar bara detta:
RC_servo.c skrev: // RC-servo controller
// © Icecap 2006-03-11
// Recieves commands through the serial port and sends out the appropriate datsa om the ports
// Protocoll:
// STX Channel Data ETX (spaces left for clarity only)
// Channel: '0' - '9','A'-'D'
// Data: '0' - '999'
// I.e. to set channel '1' to midposition (499):
// STX 1499 ETX or in hex: 02 31 34 39 39 03

// Processor:
// PIC16F628A using INTOSC with NOCLKOUT

Re: Styra servo m.m

Postat: 21 november 2009, 19:12:23
av tecno
Samma fil....

SPBRG = 25; // 9K6,n,8,1

Re: Styra servo m.m

Postat: 21 november 2009, 19:36:31
av HenkiBoy
:oops:
Ajdå, jag som var blind... :D

Re: Styra servo m.m

Postat: 22 november 2009, 13:18:03
av 4kTRB
Det borde fungera bra att styra med LPT-porten om du har någon typ av anpassningslogik
innan servot. Du skickar ut olika kombinationer av bitar som logiken gör om till en puls
med lämplig duty.

Ska du styra LPT med Java så finns det många möjligheter att få det att fungera.
Vill du ha en förutsägbar klocka som ger korrekt tid utan att påverkas av operativsystemet
så finns lösning också för det i Java.

http://www.rxtx.org/