Sida 1 av 1
den vill sig bara inte...
Postat: 30 oktober 2004, 12:10:35
av Detraw
Halloj....
Jag har hittat ett par stegmotordrivare som jag med hjälp av databladet petade ihop till en fin krets som skulle kunna styra en stegmotor trodde jag...
men nu så vill den inte fungera, motorn får ström (det känner man på den att det sitter stadigt och inte roterar lätt) men den vill inte snurra, jag trodde att det bara var att pulsa fram den med 01 10 01 10 osv... men det verkar ju inte funka.
Så jag tänkte kolla om det var någon här som skulle kunna komma på vad som är fel.
Databladet till drivare finns
här
koden jag använder i min mega16 för att pulsa den ser ut som detta:
Kod: Markera allt
loop:
cbi first, l11
cbi first, l01
cbi second, l12
cbi second, l02
cbi first, phase1
sbi second, phase2
rcall WAIT_2msec
sbi first, phase1
cbi second, phase2
rcall WAIT_2msec
rjmp loop
first är första lindningen på motorn och second är andra, de andra heter samma sak som i databladet.
Jag hoppas att någon kan lista ut vad jag gör för fel...
Tack på förhand
ps. tredje och fjärde delen om CNC-borren kommer i helgen nu, är snart klar med in scanningen. ds.
Postat: 30 oktober 2004, 12:23:48
av chille
Har du inte blandat ihop parametrarna till cbi? first och second talar väl om vilken bit i registret som ska sättas, och 1xx är väl adressen till porten?
För det första, lägg till den här raden och använd dig av PORTB/PINB osv...
.include "m16def.inc"
För det andra
Vänd rätt på parametrarna till cbi, om de nu är fel
Edit: Ja de måste vara fel, du du har väl inte 111 bitars register i din m16?
Postat: 30 oktober 2004, 17:01:58
av Detraw
hmm jag tror du har missuppfattat min kod en hel del.
Jag har men .include "m16def.inc", bara att jag har döpt om de för att lättare hålla reda på vilka som är vilka (med .equ).
I denna kod bit är first = PORTA (definerat tidigare i koden, men jag klippte bort kod som jag visste inte hade med saken att göra, den är deffinerad så här: .equ first = PORTA) Och l11 som det står där är L11 fast med gemener, hmm det kanske va ett dumt variabel namn, men de hette så i databladet så jag döpte den till det också för att underlätta att hålla reda på vilka som är vad.
Postat: 30 oktober 2004, 17:48:54
av strombom
Kod: Markera allt
loop:
cbi first, phase1
cbi first, l11
cbi first, l01
sbi second, l12
sbi second, l02
rcall WAIT_2msec
sbi first, l11
sbi first, l01
cbi second, phase2
cbi second, l12
cbi second, l02
rcall WAIT_2msec
sbi first, phase1
cbi first, l11
cbi first, l01
sbi second, l12
sbi second, l02
rcall WAIT_2msec
sbi first, l11
sbi first, l01
sbi second, phase2
cbi second, l12
cbi second, l02
rcall WAIT_2msec
rjmp loop
/Johan
Postat: 30 oktober 2004, 18:04:59
av Detraw
Tackar det är ju så klart att koden ska se ut sådär nånting, tänkte inte på det..
Visserligen funkar det inte fortfarande... känns som om motorn bara står och hoppar på samma ställe... men jag ska försöka kolla igenom koden lite till senare, ska gå ut nu....
Tack för hjälpen iaf, om ni kommer på nått annat så får ni gärna säga till, men som sagt jag ska testa lite mer imorrn....
/Daniel
Postat: 30 oktober 2004, 18:06:50
av Michel
Får du ut rätt sak på porten?
Har du kollat med något mätinstrument?
Går det om du lägger rätt signaler - manuellt - på dina drivare?
Brummar motorn?
Går det kanske för fort?
Funkar din 2mS loop korrekt?
Skuttar motorn på samma ställe?
Har du provat att flytta om faserna / lindningarna?
EDIT:
Attans, den där strombom är en rapp rackare...
Eller så kanske jag inte ska logga in och öppna alla nya ämnen i tabbar - för att omgående gå på skithuset - innan jag läser dom.
Postat: 30 oktober 2004, 18:49:14
av Detraw
Jag har inget fin fint instrument att mäta med, det ända jag har är en multimeter....
Jag har inte heller testat att lägga ut signalerna manuelt... har inte direkt nån lust att testa heller, då måste man ju lösa om allt.
Ja det brummar lite.
Jag tänkte också att det kanske gick för fort, men när jag ökade fördröjningen slutade den bara att brumma och skuttar inte längre på samma ställe.
Jag har inte provat att ändra lindningarna, har inte tänkt på det faktiskt, det skulle ju kunna vara ett fel... får ta och testa det när jag kommer hem..
Tackar för ideérna
/Daniel
Postat: 31 oktober 2004, 12:08:26
av chille
Sänk tempot som #(/&"#(/ sen slänger du på lysdioder så du kan se exakt vilka bitar som skickas. Även vid så låga hastigheter ska motorn röra sig, fasst _lite_ söligare.
Postat: 31 oktober 2004, 18:55:14
av Detraw
hmm som sagt jag testade med stromboms kod och då kom jag frammåt, men inte tillränkligt för nu står motor bara och hoppar på samma ställe, så jag gjorde som Michel sa och testade att byta runt lite på faserna och då fick jag den att hoppa ett steg frammåt och sedan ett steg bakåt, men nu kan jag inte få så igen, ingen aning om varför.... Nu står den bara och hoppar på samma ställe igen (ungefär som om den hoppar ett 1/4 dels steg fram och sen ett 1/4 steg bak)
Vad kan detta bero på? jag antar att om jag inte kommer på nått, så får det väl bli att pilla på ett par leds på något sätt,
Postat: 31 oktober 2004, 22:28:06
av strombom
det är viktigt att du har ledarna rättkopplade, testa att växla två av dem... det finns ju ganska många kombinationer. egentligen borde du tänka efter vilka som ska kopplas vart men det går ju att testa alla kombinationer också... :/
/Johan
Postat: 31 oktober 2004, 22:30:23
av Detraw
Ok nu gav jag upp och lödde på fyra leds på motorutgången.... verkade va lite fel på koden för de blinkade inte som de skulle.... men det har jag rättat till nu. Men när jag kopplar på motorn rör den inte på sig i alla fall... om jag manuelt kopplar ström till motor (från ett batteri) i samma kombination som ledsen blinkar rör den på sig, men sen när jag kopplar på motorn så hoppar den bara ett steg och sen står den stilla på samma ställe, och ledsen börjar blinka i par istället....
Är det nån som vet vad felet är? jag börjar bli galen på detta nu, orkar inte med att det inte ska fungera....
Tack på förhand!
/Daniel
Postat: 1 november 2004, 15:52:58
av Detraw
Ok efter att ha mixtrat runt ett par timmar har jag kommit fram till följande: Det verkar inte som om den pinnen som ska vara Low verkligen blir low.. Om jag kortsluter den pinnen och tvingar ner den till Low så blir allt jätte fint, för just det steget.
Så jag antar att det är något fel med min koppling, men vad. Jag lägger upp en bild nedan på det schemat som jag har använt mig av. Skulle vara tacksam om någon skulle kunna ta sig en titt på den och se om nått är fel som jag inte har sett.
Tack på förhand!
/Daniel