Forum: Mikrocontroller und Digitale Elektronik PROgramm schrittmotor


von da_Rula (Gast)


Lesenswert?

Hallo ich habe Mir ein Programm zur Ansteuerung eines Schrittmotors 
geschrieben... für die L297/298....

Fogende Portbelegung habe ich gewählt:

PWM = PD5   ( CLOCK)

PC0 = Reset
PC1 = Half/Full
PC2 = CW/CCW
PC3 = Enable
PC4 = Control

Das Programm sieht wie folgt aus:

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

int main(void)
{
  // Port C 0-3 als Ausgänge definieren
  DDRC = 0XFF;
  DDRD = 0xFF;
  // Timer intialisieren
  DDRD = 0x30;  // PD4 und PD5 als Ausgangfreigeben
  TCCR1B = 0x0D;  // Prescaler auf 1024
  TCCR1A = 0x83;
  OCR1A = (1024*197)/100;      // Tastgrad festlegen PD4
  OCR1B = (1024*197)/100;      // Tastgrad festlegen PD5

  //PORTC = 0x1F;
  //PORTD = 0xFF;
    while(1)
    {
    // Motortreiber ansteuern
  PORTC = 0x1C;

  }
}

Leider habe ich das Problem das mein Motor nur ganz leicht dreht wenn 
ich das PWM auf Masse ziehe ( eine Brücke lege) was mir natürlich schon 
sehr merkwürdig vorkommt... das zweite ist wenn er dreht und ich berühre 
das gehäuse bleibt er sofort stehen.

Kann mir diese Phänomen nicht erklären vielleicht könnt ihr mir Helfen 
woran das liegen könnte bzw. auch Mängel am Programm zu beseitigen...


Danke für die Mühen...

von Karl H. (kbuchegg)


Lesenswert?

da_Rula schrieb:
> Hallo ich habe Mir ein Programm zur Ansteuerung eines Schrittmotors
> geschrieben... für die L297/298....
>
> Fogende Portbelegung habe ich gewählt:
>
> PWM = PD5   ( CLOCK)
>
> PC0 = Reset
> PC1 = Half/Full
> PC2 = CW/CCW
> PC3 = Enable
> PC4 = Control

Und Masse hast du auch verbunden?

von Spess53 (Gast)


Lesenswert?

Hi

Welcher Controller?

MfG spess

von over f. (sasserbaer)


Lesenswert?

was haste mit Sense und Vref gemacht?

von da_Rula (Gast)


Lesenswert?

habe alles so verbunden wie im schaltplan üblich also 0sc mit dem 
spannungsteiler etc... oder welche masse ist gemeint?

von da_Rula (Gast)


Lesenswert?

Ich verwende den Atmega 16 und habe eine Vref von 0,9V und 1Ohm an Sense

von over f. (sasserbaer)


Lesenswert?

osc mit Spannungsteiler??

von Karl H. (kbuchegg)


Lesenswert?

da_Rula schrieb:
> habe alles so verbunden wie im schaltplan üblich also 0sc mit dem
> spannungsteiler etc... oder welche masse ist gemeint?

GND vom AVR und GND vom L297/298

von Karl H. (kbuchegg)


Lesenswert?

da_Rula schrieb:
> Ich verwende den Atmega 16 und habe eine Vref von 0,9V und 1Ohm an Sense


Mega16 und PORTC:

Das JTAG hast du per Fuse abgeschaltet?

von da_Rula (Gast)


Lesenswert?

Jtag habe ich abgeschaltet und MASSE VON L297/298 ist auch verbunden

von da_Rula (Gast)


Lesenswert?

Ist denn der Programmcode richtig?

von Karl H. (kbuchegg)


Lesenswert?

> das zweite ist wenn er dreht und ich berühre
> das gehäuse bleibt er sofort stehen.

Dann würde ich nochmal alles auf Wackelkontakte prüfen.


Ansonsten würde ich an deiner Stelle mal alles ohne PWM machen. Du 
kannst ja beliebig langsam takten :-)
D.h. alle Ausgangsleitungen auf definierte statische Pegel und erst mal 
mit einem Voltmeter nachmessen.
Und dann erst mal laaaaaaaaangsam und gemütlich takten lassen. 1 
Clockpuls pro Sekunde oder noch langsamer reicht fürs erste, damit man 
sieht ob der Motor Schritte macht.

von da_Rula (Gast)


Lesenswert?

Bin jetzt Soweit das der MOtor fest steht wenn ich ihn an Saft lege 
zieht er den vollen halte Strom aber mit drehen ist nix mehr

von Karl H. (kbuchegg)


Lesenswert?

Ich denke, es ist Zeit, dass du mal ein wenig Hardware zeigst.
Schaltplan und/oder Aufbauphoto.

AUs Beschreibungen kann man vieles nicht erraten

von da_Rula (Gast)


Angehängte Dateien:

Lesenswert?

hier habe ich mal den Schaltplan versucht nachzustellen

von da_Rula (Gast)


Lesenswert?

es dreeeeeeeeeeeeeeeht.... supi danke euch...

von Busbauer (Gast)


Lesenswert?

U
r
s
a
c
h
e
?

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.