Sida 2 av 3

Postat: 3 februari 2008, 23:47:29
av Skruven
Nu funkar det plötsligt inte igen när jag testade, utan att ha gjort ett dugg med nånting.
Har provat allt på en annan dator, men fick samma skumma resultat.
Är det mitt Sleep()-kommando i VB6 som inte fungerar? Kanske datorn är upptaget med annat till och från?

Så här är kommandot Sleep() definierat (hämtar ur Windows XP's kernel):

Kod: Markera allt

Private Declare Sub Sleep Lib "kernel32" ( _
    ByVal dwMilliseconds As Long)

Postat: 4 februari 2008, 17:53:52
av Ninjaspaden
Tack skruven för en tråd jag verkligen behövde :P

håller på å pillar på detta och funderade ett tag på att köra servon direkt på parallellporten men kom senare med hjälp av icecap och andra killar från ett annat forum på hur man kopplar in servokontrollern direkt på serialporten :P

men mycket bra tråd för senare projekt :P

Postat: 4 februari 2008, 18:21:28
av Icecap
Att förlita sig på att Windows ska klara av att skicka ut pulser på ett pålitligt sätt är helt fel antagande!

Sättet Windows är uppbyggd på medger INTE att datorn kan göra detta med något pålitligt resultat, många andra har gett upp och löst det på andra sätt och som Ninjaspaden skriver har jag en lösning på min hemsida (under "freebies") som kan styra ett antal RC-servon och där man skickar kommandon via serieporten.

Och det fungerar pålitligt...

Postat: 4 februari 2008, 19:50:07
av MadModder
Skruven: Öhm... varför i hela friden ska man koppla in plus på pulsingången utan att mata servot med matningsspänning? Det skulle jag aldrig få för mig att göra. Strömmen kommer ju gå bakvägen runt inne i elektroniken, och motorn får då sin ström via en ingång där det inte är meningen att det ska gå knappt nån ström alls!

Här är en 1MB stor filmfil på ett servo jag styrt med parallellporten, från en laptop med DOS6.22 och QBasic. http://madmodders.se/temp/Servo.avi

Inga problem. Futaba-servon ska ha plusmatning på mittensladden (röd), jord på svarta sladden, och styrsignalen på vita sladden (kan vara gul också).
Kolla mittenbilden här http://www.uoguelph.ca/~antoon/hobby/servopin.htm

Icecap: Mach3 kör ju under windows, och skickar lätt ut 4st signaler på 25kHz vardera på parallellporten utan att tappa "steg" så det går ju uppenbarligen. Frågan är hur de gjort...

Postat: 4 februari 2008, 20:20:34
av Ninjaspaden
hur är färgerna på parallax servomotor?

Postat: 4 februari 2008, 20:36:01
av Icecap
MM: Jag är ganska säker på att det finns ett "undersystem" som styr hårdvaran och tilldelar Windows resurserna som "blir över", jag är ganska säker på att när man installerar Mac3 måste man starta om datorn för än den kan börja fungera, just för att "lyfta upp" Windows och lägga en "egen bädd" under.

Postat: 4 februari 2008, 20:40:29
av JimmyAndersson
Oftast svart, röd och vit.

"Att förlita sig på att Windows ska klara av att skicka ut pulser på ett pålitligt sätt är helt fel antagande!"

Japp. Särskillt när det gäller NT-versionerna. Usch..
Vore intressant att veta hur Mach3 har löst det.

edit: Icecap: Ja visst ja. Man måste starta om datorn när man installerat Mach3 och någon annan tillhörande grejj.

Postat: 4 februari 2008, 23:49:56
av Skruven
Ninjaspaden: Kul att tråden kan hjälpa dig/andra framöver. Sökte här på forumet innan jag skapade tråden, men hittade inget jag behövde riktigt.

Icecap: Din lösning har jag spanat på tidigare och borde kanske titta på den igen, lite närmare. Alternativet kanske är att ha en laptop med DOS och Qbasic annars, alternativt nån simpel Linuxdist med så lite som möjligt inlagt från början.

MadModder: Jag blev desperat/förbannad och satte matningsspänningen på pulsingången, och därmed såg jag resultatet. Förstår själv att det kan skada mer än göra nytta :D
Din film gick inte att öppna... :(

JimmyAndersson: Har laddat ner Mach3 nu. Mer för att ta reda på vad det är. Verkar intressant! :)


För övrigt: Vad grymt forum man har hittat! Fullt med smarta entusiaster som vill göra det omöjliga möjligt ;) Jag känner mig som hemma, hehe...

Postat: 5 februari 2008, 00:11:26
av JimmyAndersson
Välkommen hem. :D


När det gäller filmen som inte går att öppna:
Jag har samma problem med främst avi-filmer. Klickar man på länken så står det att den inte kan hittas. Men om man däremot högerklickar, väljer spara och sedan tittar (när den ligger på datorn) så fungerar det fint.

Jag använder Icecap's lösning i ett projekt. Den fungerar utmärkt. Inte för att jag trodde något annat heller.. :D

Postat: 5 februari 2008, 16:17:18
av Ninjaspaden
Skruven: samma här .. hittade inget jag tyckte var något.

någon som har kod/program till att köra parallax servokontroller på serial porten?

vet nämligen inte ifall det är mitt freebasic program eller min krets som inte fungerar :S


+ vad är mach3?

Postat: 5 februari 2008, 18:27:46
av Icecap
Mach3 är ett program som används för att styra CNC-maskiner från en PC via parallellporten.

Postat: 5 februari 2008, 19:25:07
av MadModder
Ta bort quicktime! Det förstör bara, och försöker öppna allt möjligt i webbläsaren istället för i rätt program. Det har ALDRIG fungerat för mig. Det kommer upp att det går inte att öppna, och det är fel på sidan, och det fattas ett objekt...
Lägg in quicktime alternative (en codec) istället om du vill se MOV-filmer. Bra mycket bättre.

Servofilmen är kodad med XviD. (DX50)

Postat: 5 februari 2008, 23:21:15
av Skruven
Det gick bra när jag väl sparade ner filmen först! Tack!
Har ännu inte hunnit testa Mach3, men kan man använda det till en servo?
Kanske lite väl avancerat däremot, men ändå.. :)

Postat: 6 februari 2008, 07:15:33
av Icecap
Mach3 och RC-servo är 2 helt skilda världar!

Mach3 styr CNC-fräser och dessa har INGET med RC-servo att göra, det är stegmotorer som gäller där.

Postat: 6 februari 2008, 14:55:52
av JimmyAndersson
OffTopic:
MadModder: Jag har inte Quicktime (varken codec eller programpaketet) på någon av Windows-datorerna, men ändå får jag det felet. På Mac'arna har jag det däremot och där går det fint att se avi-filmer direkt utan att först ladda hem dem.

Quicktime alternative är annars bra, lika så Real alternative. Skulle inte klara mig utan den sistnämnda. :)



Ninjaspaden:
"någon som har kod/program till att köra parallax servokontroller på serial porten?"

Om du har möjlighet att programmera en PIC-krets så har Icecap en mycket bra lösning på sin freebie-sida (vilket nämnts tidigare.) Om det sedan behövs något speciellt program i datorn beror på hur du vill kunna styra servona, men man kan enkelt styra dem från ett helt vanligt terminalprogram.

Allt står egentligen i källkoden, men en kort förklaring:

En styr-instruktion börjar och slutar med "2" respektive "3". Däremellan anger man vilket servo som ska styras, följt av positionen. För att flytta servo nr 0 till position 100 så ser en komplett styr-instruktion ut såhär:
2 0 100 3
(Från serieporten skickas det egentligen såhär: 2 0 1 0 0 3.)


Ska du byta position på servoaxeln varenda minut är det kanske jobbigt att skriva det manuellt i ett terminalprogram. Då kan du istället använda vilket programmeringspråk som helst (som kan skriva till serieporten) och få servoaxeln att flytta sig precis som du vill.
Väldigt smidigt! :)