PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotoransteuerung mit RN 1.4 und l297



moatze
27.05.2011, 01:53
Hallo miteinander,

bin ein absoluter Anfänger im Thema mc programmieren, und habe daher ein paar Fragen:

Habe das RN Step gekauft, wie in der Anleitung angegeben an das RN Control 1.4 angeschlossen. Mit dem Beispielprogramm in BASIC hat alles bestens funktioniert.

Versuche nun das ganze in C zum laufen zu bringen, stoße dabei doch auf haufenweise Probleme.
Möchte hier keine Tastenabfrage machen, einfach nur eine Drehung des Motors bei Anschalten des RN Control.

Mein Code sieht so aus:



#include <avr/io.h>
#include <util/delay.h>

int main(void)
{

int i;

DDRC=0xFF;



for (i=0; i<=100; i++){
PORTC = PORTC | _BV(PC2);
_delay_ms(100);
PORTC = PORTC & ~_BV(PC2);
_delay_ms(100);

}
return 0;
}


Soweit ich das verstehe habe ich BIT0 und BIT 1 auf "high" gesetzt, BIT2 wechselt mit 100ms zwischen high und low.
BIT 0 ist für Stepper enable, BIT 1 für die richtung.

Wenn ich das ganze mit LEDs laufen (PORTC) lasse schaut das auch super aus, LED 1 und 2 leuchten, LED 3 blinkt.

Sobald ich auf PORT A wechsel und den Stepper controler anschließe tut sich nichts.
Nichtmal der Motor ist an - lässt sich ohne weiteres drehen.

Verstehe nicht so ganz wo der/die Fehler liegen, wäre für freundliche Hilfe sehr dankbar.

Gruß,

moatze

Hubert.G
27.05.2011, 12:03
Hast du auch den Ausgang auf PortA umgestellt?
Mit einem Meßgerät lässt sich leicht überprüfen welchen Pegel die jeweiligen Bits haben.

moatze
27.05.2011, 14:18
okay, hätte vllt nicht den code für die LEDS posten sollen.

Ja habe Ausgane auf PortA umgestellt.

moatze
27.05.2011, 14:24
Habe grad mal durchgemessen.

Obwohl die LEDS leuchten, liegt nur eins Spannung von 0,9 V an. Das blinkende lLED (BIT2) wechselt von 0.9 auf 5V.
Warum dass? dachte ich würde alle BITS auf 1 legen?

Hubert.G
27.05.2011, 20:19
Dann poste mal den Code wie du ihn verwendest, es sieht so aus als würdest du nur die PullUp aktivieren.

moatze
30.05.2011, 13:46
Okay das Problem ist als gelöst zu betrachten.
Muss die Pins auf Ground legen, nicht auf VDD. LED´s leuchten nun nicht mehr, Motor dreht sich wie der soll.

Vielen Dank für die Hilfe, Hubert.

Gruß,

moatze