Hallo Axel
> ich hab grad das problem, dass mein drehgeber jeden halben schritt> zählt.> was mach ich falsch, dass er nich bei einem ganzen kontaktiert>
...
Garnichts.
Schau Dir die verlinkte Seite an.
Dort siehst Du genau, WANN ein Takt erzeugt wird.
Was willst Dui eigentlich genau!?
Gruss
Michael
Michael Roek schrieb:> Dort siehst Du genau, WANN ein Takt erzeugt wird.
??
meine vorstellung ist einfach nur, in meinem code sagen zukönnen, "wenn
ich links drehe"- mache das und das und halt andersrum....
im meinem gesammten projekt ist es, bei meinem glcd in den menues
rumzuspringen und anderes.
>was bzw. wo soll ich durch 2 teilen.??
Woran merks Du, das die Software Halbschritte zählt?
Greif da ein und werte nur jeden 2. Halbschritt aus.
So hast Du "Vollschritte".
axel p. schrieb:> int8_t table[128] PROGMEM = {0,0,1,0,0,0,0,1,1,0,0,0,0,-1,0,0};
Ich sach mal, das ist doppelt Quatsch:
1.
Warum 112 Werte zuviel?
2.
Die 1 und -1 müssen gleich oft sein, sonst zählt er unterschiedlich je
Richtung.
Für Vollschritt darf nur einmal 1,-1 drin sein, für Halbschritt 2* und
Viertelschritt 4*.
Peter
axel p. schrieb:> aber woher weiß ich, wo die 1 bzw. -1 sein muss.??
Indem du verstehst wozu die Tabelle dient und wie das Programm damit
funktioniert. Mal dir einfach mal die Signale für CCW- und CW-Drehung
auf und überleg dir, wie das Programm die verarbeitet.
axel p. schrieb:> #include <util/delay.h>> #define XTAL 16e6 // 16MHz
Falls du von deinem Programm korrektes Zeitverhalten erwartest, solltest
du die Reihenfolge der obigen Anweisungen noch mal überdenken und dazu
ggf. die Warnung von der util.h beachten.
Werner schrieb:> Falls du von deinem Programm korrektes Zeitverhalten erwartest, solltest> du die Reihenfolge der obigen Anweisungen noch mal überdenken und dazu> ggf. die Warnung von der util.h beachten.
8MHz oder.?
axel p. schrieb:> aber woher weiß ich, wo die 1 bzw. -1 sein muss.??
An irgend einem Wechsel. Sie müssen nur für die selbe Stellung stehen,
sonst funktioniert die Entprellung nicht.
Z.B.:
00 -> 01: +1
und:
01 -> 00: -1
Peter
also jetzt macht das programm immer mehr was es will...
jetzt kann ich nur in eine richtung drehen, damit irgendetwas passiert,
und die andere richtung geht nur mal eine led an, aber auch wieder immer
nur im halbschritt....
axel p. schrieb:> also jetzt macht das programm immer mehr was es will...> jetzt kann ich nur in eine richtung drehen, damit irgendetwas passiert,> und die andere richtung geht nur mal eine led an, aber auch wieder immer> nur im halbschritt....
.??