Sida 2 av 2
Postat: 13 mars 2006, 13:59:09
av Tekko
Nu har jag proggat en halvstegsdriver, startar fint på 1ms.
Och en högmoment, startar själv på 2ms, behöver hjälp samt stannar efter några varv på 1ms.
Postat: 14 mars 2006, 23:36:23
av Tekko
Nu vill jga utveckla mitt stepperprogram lite med 2 knappar, en som ökar varvtalet och en som minskar. Någon som kan BASCOM-AVR och vet vad jag ska lätta till för att få de funktioner jag vill ha med knapparna ?
Postat: 14 mars 2006, 23:57:37
av sodjan
Först måste du väl hitta en metod i ditt verktyg för att få en
bättre upplösning än bara hela millisekunder
Antagligen bör du läsa på lite om timers och gå den vägen...
Postat: 15 mars 2006, 08:49:05
av Tekko
Mjo.

Postat: 15 mars 2006, 18:42:36
av RDX*
Du kan testa denna koden, jag har inte testat att det fungerar, men du borde få lite hjälp i alla fall.
Kod: Markera allt
$crystal = 3200000
$regfile "2313def.dat"
Dim Wa As Byte
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Input
Config Pinb.3 = Input
Config Timer0 = Timer , Prescale = 64
Wa = 150
Do
Debounce Pinb.2 , 0 , Snabbare , Sub
Debounce Pinb.3 , 0 , Langsammare , Sub
Set Portb.0
Reset Portb.1
Gosub Vanta
Set Portb.1
Set Portb.0
Gosub Vanta
Reset Portb.0
Set Portb.1
Gosub Vanta
Reset Portb.1
Reset Portb.0
Gosub Vanta
Loop
Vanta:
Do
Loop Until Tcnt0 >= Wa
'when 10 pulses are count the loop is exited
'or use the special variable TIMER0
Timer0 = 0
Return
Snabbare:
If Wa <= 34 Then
Wa = 5
Else
Wa = Wa - 29
End If
Return
Langsammare:
End If
If Wa => 121 Then
Wa = 150
Else
Wa = Wa + 29
End If
Return
Med koden borde du kunna reglera hastigheten från 3 ms till 0.1 ms i fem steg.
Postat: 15 mars 2006, 22:07:11
av Tekko
RDX, tack för din hjälp

Dock det finns 2 fel i koden:

Postat: 15 mars 2006, 22:13:34
av sodjan
Det är väl *1* fel i koden ?
Har du inte ens läst felmeddelanderna innan du postar ?
Intressantare är väl hur det fungerade efter att du fixade felet...
Postat: 15 mars 2006, 22:21:53
av Tekko
Errors cleared

Får testa imorrn, mår dåligt idag samt att ingenting är kopplat pga städning.
Postat: 15 mars 2006, 22:23:21
av RDX*
Jag sa att jag inte hade testat det (dvs. ej kompilerat eller kollat syntax). Men jag misstänker att felet inte var svårare än att du lyckas korrigera det

.
nå, fungerade det? Vi väntar spänt

.
Postat: 15 mars 2006, 22:27:14
av Tekko
Körde programmet i simulatorn, det loopar inte utan kör tills det kommer till "Loop until Tcnt >= Wa" där det stannar, kanske blir annat då det är överlagt i avren dock.
Ska testa vad som händer.
Postat: 15 mars 2006, 22:36:27
av Tekko
programmet funkade inte. Motorn vibrerar och ger igrån sej ljud men startar inte samt att knapparna inte ger någon påverkan.
Postat: 15 mars 2006, 23:02:44
av RDX*
Jag har kollat i simulatorn nu och det verkar fungera som det ska. Det som kan hjälpa är att stänga av timern i knappfunktionerna. Kopplade du knapparna rätt? Dvs de ska gå låga när du trycker ner knappen. Om du har kopplat fel så ändra debounce-parametern till aktiv hög.
Och startar motorn med en paus på 3ms? Du sa aldrig vilket intervall du ville ha på hastigheten!
Postat: 15 mars 2006, 23:10:31
av Tekko
Jag har knapparna på PD 2 och 3
Postat: 15 mars 2006, 23:38:15
av RDX*
jo, men är dom aktivt låga?
dvs att du har kopplat det så är
Kod: Markera allt
|
|-Pd2-------[ 10 k ]------ +5V
| |
\
\
|
|
jord
Postat: 16 mars 2006, 10:02:29
av Tekko
Jag har fått knapparna att fungera men en utgång på avren har pajjat
På lägsta hastigheten startar motorn men ökar jag så stannar den och vibrerar bara.