Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Erhöhung der Pulse-Rate durch Tastendruck? Kategorie: CC2-Unit & Appl.Board / CC2-Station (von Olaf - 4.03.2006 19:24)
Als Antwort auf Re: Erhöhung der Pulse-Rate durch Tastendruck? von krassos - 28.02.2006 18:42
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
> > Hallo zusammen,
> >
> > ich habe ein kleines Program geschrieben welches zwei Threads enhält. In einem Thread wir ein Schrittmotor
> > permanent (durch ports.pulse) um einen Schritt weiter gedreht (L297/L298 Schaltung) und der andere Thread erhöht
> > auf Tastendruck die Pause nach dem ports.pulse. Dadurch wird die Drehgeschwindigkeit erhöht oder verkleinert.
> >
> > Mein Problem ist nun das bei jedem Tastendruck, der Motor einen merklichen Geschwindigkeitsschub erfährt.
> > Selbst wenn ich die Pause auf 1 ms stelle, was ja eigentlich die maximale Geschwindikeit sein sollte, legt der
> > Schrittmotor einen Zahn zu.
> > Dieses Verhalten wird auch am Oszilloskope sichtbar, durch schneller aufeinander folgende pulse.
> >
> > Hat jemand von euch eine Idee wieso dies so ist ??? Oder wie ich das unterbinden kann?
> >
> >
> > �ber einen Hinweis würde ich mich sehr freuen.
> >
> > Vielen Dank
> >
>
>
> Hallo,
>
> ohne einige Codeschnipsel zu dem Thema wäre das nur in den blauen Dunst geschossen.
>
> GruÃ? krassos

Hallo,

entschuldigung für die späte Antwort. Anbei mein Program:


const enable = 8;     //P1H0
const cw     = 9;     //P1H2
const clock  = 10;    //P1H4

int delay;

function key () returns int
{
 int u1, u2, key;
 while (ports.adc(7)>900);
  u1= ports.adc(7);
  u2= ports.adc(7);
  if (math.abs(u1-u2))< 4
  {
   if u1<901 key=3;           //Taste 3
   if u1<825 key=6;           //Taste 6
   if u1<755 key=9;           //Taste 9
   if u1<690 key=12;          //Taste #
   if u1<620 key=2;           //Taste 2
   if u1<550 key=5;           //Taste 5
   if u1<480 key=8;           //Taste 8
   if u1<410 key=0;           //Taste 0
   if u1<335 key=1;           //Taste 1
   if u1<270 key=4;           //Taste 4
   if u1<190 key=7;           //Taste 7
   if u1<110 key=11;          //Taste *
   if u1>1000 key=-1;         //Keine Taste gedrückt
  }
  return key;
}

//------------------------------------------
//------------------------------------------
   thread keyboard
//------------------------------------------
//------------------------------------------
{
 int key_press;
 loop
 {
  key_press = key();

  if key_press == 11 if delay - 1 < 0 delay = 0;
   else delay = delay - 1;
  if key_press == 12 if delay + 1 > 1000 delay = 1000;
   else delay = delay + 1;

  sleep 200;
 }
}

//---------------------
   thread stepper
//---------------------
{
 ports.set(enable,1);
 ports.set(cw,0);
 ports.set(clock,0);
 loop
 {
  ports.pulse(clock);
  sleep delay;
 }
}

//---------------------
   thread main
//---------------------
{
run keyboard;
run stepper;
}


Wenn die Taste "*" gedrückt wird, dreht sich mein Motor schneller. Leider sehe ich keinen "Fehler"....

Ich hoffe das du, krassos etwas mehr siehst als ich :-)

Vielen Dank für Deine/Eure Hilfe

Olaf

P.S Inzwischen sind es drei Threads geworden, allerdings das gleiche verhalten.


    Antwort schreiben


Antworten:

Re: Erhöhung der Pulse-Rate durch Tastendruck? (von krassos - 5.03.2006 10:25)
    Re: Erhöhung der Pulse-Rate durch Tastendruck? (von krassos - 5.03.2006 16:14)
        Re: Erhöhung der Pulse-Rate durch Tastendruck? (von Olaf - 5.03.2006 23:59)
        Re: Erhöhung der Pulse-Rate durch Tastendruck? (von Olaf - 5.03.2006 20:31)
            Re: Erhöhung der Pulse-Rate durch Tastendruck? (von krassos - 6.03.2006 15:52)
                Re: Erhöhung der Pulse-Rate durch Tastendruck? (von Olaf - 6.03.2006 19:44)
                    Re: Erhöhung der Pulse-Rate durch Tastendruck? (von krassos - 6.03.2006 21:18)
                       Re: Erhöhung der Pulse-Rate durch Tastendruck? (von Olaf - 6.03.2006 21:46)
                          Re: Erhöhung der Pulse-Rate durch Tastendruck? (von krassos - 6.03.2006 22:06)
                             Re: Erhöhung der Pulse-Rate durch Tastendruck? (von Olaf - 8.03.2006 8:24)
                                Re: Erhöhung der Pulse-Rate durch Tastendruck? (von Olaf - 21.03.2006 14:29)