Forum: Mikrocontroller und Digitale Elektronik Externe Logik durch interne Logik ersetzen?


von Erik Rull (Gast)


Lesenswert?

Hallo Leute,

ich nutze einen PIC (16F628/04P) mit internem Oszillator und PWM.

Nun möchte ich eine Motorbrücke ansteuern, die jedoch für jede Richtung
ein PWM haben will, d.h. Eingang1 für links-, Eingang2 für
rechtsdrehen.

Okay, ich kann nun mit externer TTL oder CMOS-Logik die PWM-Daten mit
ein oder mehreren Steuerpins des PIC verschalten um das Ergebnis zu
bekommen, jedoch habe ich nicht soviel Platz dafür.

Ich habe nun versucht, den PWM wieder auf einen Eingang (hier: RA2) zu
legen und diesen dann über eine Schleife entsprechend zu verarbeiten.

Leider ist die Ausgabe sehr schlecht, es wird irgendwas ausgegeben,
aber nicht das, was der PWM ausspuckt, der läuft mit einer
Basisfrequenz von ca. 20 kHz, das sollte eine genug kleine Schleife (<
50 Befehle) problemlos schaffen, jedoch kommt nur Quark raus.

Hat jemand von euch vielleicht eine Idee, wie ich das Problem am
elegantesten lösen kann?
Auf den PWM möchte ich eigentlich nicht verzichten, da das Programm
sehr asynchron läuft (serielle Schnittstelle wird nicht
mitverarbeitet).

Dankeschön,

Grüßle,

Erik

P.S. Hier der Code, der den Pin liest und den Ausgang ansteuert:

btfss  PORTA,2
bcf  PORTA,7
btfsc  PORTA,2
bsf  PORTA,7

soll ich vielleicht schon hier was ändern?

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.