Styra servo m.m

Robot, CNC, Pneumatik, Hydraulik, mm
Lullen
Inlägg: 140
Blev medlem: 16 oktober 2006, 17:37:32

Styra servo m.m

Inlägg 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?
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Styra servo m.m

Inlägg 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.
Användarvisningsbild
HenkiBoy
Inlägg: 131
Blev medlem: 9 februari 2005, 13:09:13
Ort: Halland

Re: Styra servo m.m

Inlägg 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.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Styra servo m.m

Inlägg 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.
Användarvisningsbild
HenkiBoy
Inlägg: 131
Blev medlem: 9 februari 2005, 13:09:13
Ort: Halland

Re: Styra servo m.m

Inlägg 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.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Styra servo m.m

Inlägg av Icecap »

Står i källkoden men 9600, n, 8, 1 gäller.
Användarvisningsbild
HenkiBoy
Inlägg: 131
Blev medlem: 9 februari 2005, 13:09:13
Ort: Halland

Re: Styra servo m.m

Inlägg 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
Användarvisningsbild
tecno
Inlägg: 27248
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Styra servo m.m

Inlägg av tecno »

Samma fil....

SPBRG = 25; // 9K6,n,8,1
Användarvisningsbild
HenkiBoy
Inlägg: 131
Blev medlem: 9 februari 2005, 13:09:13
Ort: Halland

Re: Styra servo m.m

Inlägg av HenkiBoy »

:oops:
Ajdå, jag som var blind... :D
Användarvisningsbild
4kTRB
Inlägg: 20702
Blev medlem: 16 augusti 2009, 19:04:48

Re: Styra servo m.m

Inlägg 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/
Skriv svar