PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pic 16F84 und L297/298 funzt nicht



maltejahn
01.08.2004, 15:09
Hallo erstmal,

ich benutze die L297/L298 Schaltung um Schrittmotoren anzusteuern. Diese Steuerung funktioniert auch(von "Hand" oder per LPT).

Nun wollte ich meinen PIC16F84 dranhängen(B1) und einfach mal ein Taktsignal produzieren. Ich benutze den CCS Compiler.

Das funktioniert auch - LED blinkt wenigstens. Bis hierher bin ich erstaunt, da ich absoluter C++ und PIC Anfänger bin.
Doch leider tut der Schrittmotor nichts.
Das Programm macht nichts anderes als B1 High, 200ms warten, low, 200ms warten - und dann das ganze von neuem.

Scheine einen grundsätzlichen Fehler zu machen.

Goblin
01.08.2004, 15:37
der l297 lässt den motor laufen, wenn low anliegt, richtig?

maltejahn
01.08.2004, 16:11
Ja.
](*,)

Und wie macht man so etwas Programmtechnisch. Bin froh das ich LEDs an und aus bekomme.

maltejahn
01.08.2004, 18:08
So sieht die Schaltung aus

http://www.ancr.org/robots/eprat/zizou/

hier wurde die L297/L298 Kombination direkt an RBs angeschlossen.

Goblin
01.08.2004, 23:53
mm.. es liegt sicherlich an den schrittmotoren. ist das steuerungs-ic für schrittmotoren gedacht??
sonst müsstest du noch ne ansteuerungs-elektronik für schrittmotoren bauen. (gibts hier irgendwo im roboternetz ne anleitung für)

maltejahn
02.08.2004, 08:45
Meinst die Art des Schrittmotors - es sind Bipolare. Aber wie gesagt, die Schrittmotoren laufen wenn ich von Hand Signale auch "Clock"gebe.

Jooker
02.08.2004, 10:54
Poste doch einfach mal deinen Code.
Vielleicht ist da ein Klopfer drin.

maltejahn
02.08.2004, 11:17
Leider gibt es nicht viel zu sehen. Wollte ja nur testen ob sich der Schrittmotor überhaupt bewegen lässt.



#include "C:\Eigene Dateien\Stepper\Stepper.h"


void main() {
set_tris_a(0);
set_tris_b(0);
setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
while(1) {
output_high(PIN_B1);
delay_ms(200);
output_low(PIN_B1);
delay_ms(200);
}

}




#include <16F84.h>
#use delay(clock=4000000)
#fuses XT,NOWDT

Jooker
02.08.2004, 11:36
Müsste so funktionieren.
Hast du auch alles richtig angeschlossen?
Weil wenn das ganze manuell klappt müsste es auch mit deinem
Code gehen.
Kannst ja vielleicht mal an der Delaytime spielen