Forum: Mikrocontroller und Digitale Elektronik Drehimpulsgeber an ATTiny


von Martin (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,

ich habe aktuell ein Problem mit einem kleinen Projekt, bei dem ich 
einen Tiny13 und einen Drehgeber verwende.

Der Hardwareaufbau ist am Anfang des Codes Beschrieben, ich verwende die 
internen Pullups und den Internen Takt 9,6Mhz ohne Teiler.

Ich habe Teile des Codes von Peter Danegger verwendet zum auslesen des 
Drehimpulsgebers.

Mein Ausgangssignal soll aktiv low sein. Ich habe den Timer mal gemessen 
und er läuft mit ca. 64 kHz


MfG Martin

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Gut soweit. Und die Frage lautet?

> Ich habe Teile des Codes von Peter Danegger verwendet zum auslesen des
> Drehimpulsgebers.
Und selber dazugebastelt/gemurkst...
1
        _delay_us(5);
2
        :
3
        _delay_us(10);
Weißt du, was du hier tust? Nein? Warum tust du es dann?
Was soll mit den delays besser werden?

von Martin (Gast)


Lesenswert?

Guten Tag,

ja ich weiß was ich da tue, es ist nur zum Testen um eine saubere Flanke 
zu erzeugen. Das Port toggeln habe ich nur zum messen hinzugefügt, es 
ist das gleiche Problem, wenn man es weg lässt.

Es war quasi nur Debuggen, Entschuldigung, das ich es noch drin gelassen 
habe.


MfG Martin

von Peter D. (peda)


Lesenswert?

Martin schrieb:
> ich habe aktuell ein Problem mit einem kleinen Projekt, bei dem ich
> einen Tiny13 und einen Drehgeber verwende.

Und das Problem wäre?

Für den 2-schrittigen Encoder mußt Du auch die entsprechende 
Auslesefunktion verwenden, sonst funktioniert die Entprellung nicht.

Im Interrupt rumzumären ist ne ganz schlechte Idee.


Peter

von Martin (Gast)


Lesenswert?

Gute Tag,

Das ich zu viel im Interrupt mache könnte seien, danke für den Tipp ich 
werde das gleich mal testen.

Das mit dem 2-schrittigen Encoder mache ich ja mit,
1
 if (!(enc_delta % 2)) {

das funktioniert eigentlich auch ganz gut bei meinen anderen Projekten. 
Die Entprellung ist dabei noch nie ein Problem gewesen.

MfG Martin

von Martin (Gast)


Lesenswert?

Guten Tag nochmal,

ich habe gerade die IO-Zugriffe aus dem Interrupt geholt und die Delays 
auch entfernt.

Leider passiert immer noch einfach nichts an den Ausgängen.

Hat vielleicht noch jemand eine Idee ?


MfG Martin

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Leider passiert immer noch einfach nichts an den Ausgängen.
Kannst du überhaupt irgendwas mit den Pins anstellen?

Zeig mal den aktuellen Code und sag, was du erwarten würdest...

von Martin (Gast)


Lesenswert?

Guten Tag,

so ich habe den Fehler gefunden, meine generierten Impulse an den IOs 
waren zu knapp bemessen, deswegen war es nur ein kurzes schwanken.

Vielen Dank für die Hilfe.


MfG Martin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.