PIC18 + Parallax Servo - riktningsproblem

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Daani4all
Inlägg: 6
Blev medlem: 21 januari 2011, 14:07:03

PIC18 + Parallax Servo - riktningsproblem

Inlägg av Daani4all »

Jag behöver lite hjälp, har två servon kopplade till min pic18f8722 problemet är att jag inte kan få den att rotera åt motsatt riktning.
Jag har läst på parallax hemsida och hittat lite information angående pulsbredden på pulserna och approx. 1.3 ms för ena hålet och 1.6 ms för andra hålet med 20 ms delay/intervall mellan pulserna. Hur jag än ändrar pulserna roterar den åt samma håll.

Jag har mätt på delayfunktionern och dem generar exakta värden. OUT2 är porten servo2 är kopplat till

kod exempel för en servo:

Kod: Markera allt

OUT2 = 1;
//1.6 ms pulsbredd
delay_ms(1); //1 ms delay
delay_us(166); //600 uS delay
OUT2 = 0;
delay_ms(20);
OUT2 = 1;
//1.6 ms pulsbredd
delay_ms(1); //1 ms delay
delay_us(166); //600 uS delay
OUT2 = 0;
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av sodjan »

Länkar till alla prylar underlättar.
Är det "moddade" servon med kontinuerlig rotation ?

> delay_us(166); //600 uS delay

???
Daani4all
Inlägg: 6
Blev medlem: 21 januari 2011, 14:07:03

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av Daani4all »

mitt fel,
servon
http://www.parallax.com/dl/docs/prod/motors/crservo.pdf

jag kunde inte få till en bra delay med förklarande parametrar men delayen ger det jag skrivit som kommentar 600 us.

jag har även testat ändlägena på servon dvs skickat 1 ms pulsbredd med 20 ms delay samt testat 2 ms pulsbredd men den går likadant vad jag än väljer, samma hastighet och samma riktning.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av sodjan »

> men delayen ger det jag skrivit som kommentar 600 us.

Hur vet du det ?
Hur är det uppmätt/verifierat ?
Daani4all
Inlägg: 6
Blev medlem: 21 januari 2011, 14:07:03

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av Daani4all »

Det är problemet, jag har enbart mätt det mha mplabs stopwatch. Ingen fysisk mätning är gjord. kan man lita på stopwatchen när man simulerar i debug mode?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av sodjan »

Ingen aning, jag har bara simulerat (och mätt) med assembler kod,
och då har det alltid fungerat. Det är ju lite märkligt att du anger
ett så konstigt värde i delay(us). Är det enligt dokumentationen ?

Men, för att summera, så har du alltså igentligen inte en aning om
vilken pulslängd du faktiskt skickar ut till servot ?
Daani4all
Inlägg: 6
Blev medlem: 21 januari 2011, 14:07:03

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av Daani4all »

delay_us är en egengjord delay jag skapat, dock tar den lite udda inparametrar för att få önskat intervall på delayen.
Genom simulering har jag mätt att pulsbredden är exakt det jag sökt, sen om jag kan lita på simuleringen eller inte är något annat men mjukvarumässigt är delayerna korrekta. delay_ms ger exakt 1 ms om du skickar det i parametern. ändlägena för servon är ju 1ms och 2 ms så jag har testat dem också och får samma hastighet samt samma riktning :/
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av sodjan »

OK.
Skriv ett litet test-case i assembler (där det är enklare att
teoretiskt beräkna tider) och se om servot uppträder annorlunda.
Eller kolla puslerna med ett oscilloskop...
Flashmem
Inlägg: 9
Blev medlem: 28 november 2010, 11:33:45

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av Flashmem »

Har du justerat in servot?
Nu bläddrade jag snabbt igenom dokumentet som du länkade till, finns ett stycke angående justering av servot.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av bearing »

Har du ställt in rätt klockhastighet i simulatorn?
Jag gissar att man behöver ange klockhastigheten i koden (t.ex #define FOSC 4000000) för att makrona ska ge rätt intervall.

Jag skulle nog använt timer-interrupt för det här.
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Re: PIC18 + Parallax Servo - riktningsproblem

Inlägg av v-g »

Man ställer mycket riktigt frekvensen i simulatorn för projektet. Tycker det är lite dumt ja men så är det.

Det är extremt drygt när man klockar mellan olika hastigheter kan jag intyga :?
Skriv svar