Sida 1 av 2

Pic16f84 servostyrning problem!!

Postat: 6 mars 2006, 21:32:46
av oskwal
Hejsan!
Jag vill börja med att säga att jag inte är överdrivet elektronik- och särskilt inte microprocessorkunnig, jag är istället mer intresserad av och håller på med specialeffekter för film. Därav hade jag för avsikt att bygga en servostyrning så man kan styra servon via datorn till animatroniska dockor

...jag hittade denna sida på nätet http://www.rentron.com/SerialServo.htm, perfekt tänkte jag, det här snor jag rakt av!!.
Jag byggde en programmerare, brännde in Hex-filen som fanns med. Byggde kresten, koppla in i datorn, körde programmet som följde med, men inget händer!

Jag har försökt felsöka ett par gånger, och hittar inget som är fel!
Det är några komponenter jag funderar över om det är dom som ska vara i kretsen, de jag köpte från elfa var:
74-701-80 keramisk resonator 4mhz
73-188-01 pic16f84-04/p
är detta rätt grejer för schemat??? (http://www.rentron.com/Files/Stamp/pc-servo2.gif)

När jag kopplar in kretsen å servot så gör servot sporadiska utslag, när man nuddar kretsen, och ibland när man mäter något med multimetern, kan det vara något jordningsfel???

Nu undrar jag följdaktligen om det är någon av er kunniga människor som kanske har något tips eller kan ha ett humm om vad jag har gjort för fel?? Jag är ju som sagt nybörjare på sådana här saker så jag kan säkerligen ha gjort även de enklaste fel...

Jag tacksam för all hjälp och för att människor orkar läsa detta :)

Med vänliga Hälsningar
Oskar

Postat: 6 mars 2006, 22:21:40
av lgrfbs
Välkommen till forumet.

Postat: 6 mars 2006, 22:40:58
av rehnmaak
Ja, den kopplingen borde vara svår att misslyckas med :shock:

Till och börja med, hur strömförsörjer du denna kontraption?

Postat: 6 mars 2006, 23:12:29
av Jonaz
Skall det inte vara två kondensatorer vid kristallen runt 18pF?
Sen kan du prova med att ha olika strömförsörjning till PICen och servot.
Du bör sätta dom andra pinnarna som är över till utgångar med pulldown eller pullup motstånd.Nån annan får berätta vilket.

Postat: 6 mars 2006, 23:29:45
av sodjan
Jonaz> Skall det inte vara två kondensatorer vid kristallen runt 18pF?

Vilken "kristall" ? Jag hittar bara en keramisk resonator (inkl kondingar).

En ganska risig koppling på flera sätt. Dålig RS232 koppling.
Öppna pinnar (kanske hanteras rätt i firmware, men dina problem
tyder på motsatsen).

> Jag byggde en programmerare...
Vilken ?

> brännde in Hex-filen som fanns med...
Är du säker på det ? Hur vet du att det gick bra ?

Har du tillgång till ett oscillioskop ? Så som kretser ser ut blir det
ganska svårt att verifiera saker och ting utan det.

Kan du ta några bilder på ditt "bygge" ? Det brukar vara ganska "avslöjande"... :-)

Postat: 6 mars 2006, 23:32:24
av Jonaz
Ja det är ju sant. Såg bara 4MHz.

Postat: 6 mars 2006, 23:44:38
av SweLogan
Special-effekter, intresasant. Något att visa?
Intresserad!

Postat: 6 mars 2006, 23:57:47
av Chribbe76
Det var den sämsta servo-kontrollern jag har sett.

Enligt basic programmet kan man bara uppdatera ett servo c:a 1 gång/sekund.
Ska man uppdatera 8st servon kommer det ta c:a 8 sekunder.
Och servona kommer inte ha någon hållkraft när dom inte rör sig.

Det borde vara förbjudet att lägga ut sån skit :shock: :shock:

Vi tar det en gång till om någon missade det:

Det borde vara förbjudet att lägga ut sån skit :shock: :shock:

Postat: 7 mars 2006, 10:24:05
av oskwal
oj det var mycket frågor...uppskattar verkligen att ni orkar engagera er!!!

vi börjar med det viktigaste,
om den är såpass värdelös som du säger chribbe76 så är det ingen idé för mig att använda den! för det jag ska använda den till kräver ganska mycket precision och kontrollmöjligheter, helst möjlighet att animera o.s.v. så isf är min fråga om nån har en bättre servokontroller på lager?, som funkar.

...Strömförsöjning
Jag har testat att försörja kretsen och servot separat, men också från samma strömkälla. Jag har testat att försörja via batterier, 4.5v oc 6v. och via datorns molex 5 v.

...Programmeraren jag byggde var denna http://www.circuitsonline.net/circuits/view.php?id=91

Och jag har testat att köra in hexfilen med 2 program...IC-prog och WinPIC båda säger att programmeringen gick bra och jag kan läsa in koden på PICen efteråt.

oscilloskop....nej tyvärr..jag skulle nog iofs kunna leta upp ett på universitetet där jag pluggar...

Jag kan nog ta bilder...snart...

Specialeffekter kan jag nog visa lite blygsamt senare...kan ta lite bilder...

Hursomhelst om kretsen iaf inte fungerar till det jag vill ha den till??? (animatronics) så är den ju kanske inte värd att fullborda, utan börja på en ny bättre direkt.

Tack för hjälpen som jag fått hittills!!! Jag uppskattar det verkligen!

Postat: 7 mars 2006, 10:55:56
av sodjan
Det låter på din beskrivning som om du (eller någon annan) skulle
behöva bygga en lösning från grunden som stämmer överens med
dina krav. D.v.s även så att även "servostyrningen" hänger med...

Postat: 7 mars 2006, 14:57:27
av Chribbe76
Jag skulle kunna tänka mig att göra en servo-kontroller men om det finns perfekta fungerande prylar att hämta så är det ju ingen mening med det.

Har du någon vision om hur du vill att det ska fungera, krav, ide'er, hur många servon vill du styra, hur ska PC-programmet vara uppbyggt.
Inget är omöjligt iaf.


En tänkbar orsak till att det inte funkar för dig kan vara att konfig-bitarna står fel (oscillator).

Postat: 10 mars 2006, 19:08:02
av Icecap
Nåväl, jag lekte lite.

Jag har inte testat det än men jag ska snart men jag styckade ihop en "liten" RC-servo kontrollgrej som kan styra 13 RC-servos samtidig.

Man skickar seriedata till den och den upprepar pulserna med ca: 20ms mellan pulserna till varje servo, beroende på deras ställning.

Dataformatet är:
STX Adress Data ETX
STX = ASCII 2
ETX = ASCII 3
Adress = '0'-'9', 'A'-'C' (altså hexadecimalt)
Data = '0' - '999'

Är du intresserat av det?

Edit Hade räknat fel, har ändrat info efter det.

Postat: 10 mars 2006, 19:34:14
av sodjan
Motsvaras "'0' - '999'" av 1.0 - 2.0 ms puls ?

Postat: 10 mars 2006, 19:39:37
av Icecap
Näpp. '0' = 0,5ms puls, '999' = 1,5ms puls, individuellt ställbart via serieport, består av:
1 st PIC16F628A
1 st NPN transistor (t.ex. BC547x)
1 st 100nF avkoplingskonding
3 st motstånd
1 st diod (t.ex. 1N4148)

Kontaktdon osv får man greja själv.

Postat: 10 mars 2006, 23:47:43
av sodjan
> '0' = 0,5ms puls, '999' = 1,5ms puls

OK, jag trodde att det var vanliga standard RC-servon med
1,5 +/- 0,5 pulser. Vad är det för servon ?