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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> > > 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: > > <code> > 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; > } > </code> > > 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.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB