Atmega16 vergisst beim Schrittmotor den 3. Schritt (C)

OP #3601911
Lesenswert?

Hallo Leute.
Ich bin hier grad an einem kleinen Projekt. Dafür brauch ich nen 
Schrittmotor der über einen ATmega16 angesteuert werden muss.

Programm:
1
#define F_CPU 1000000
2
#include <avr/io.h>
3
#include "util/delay.h"
4

5
int main(void)
6
{
7
  DDRB=0xFF;
8
  while(1)
9
  {
10
    PORTB = 0b00000001;
11
    _delay_ms(500);
12
    _delay_ms(500);
13
    PORTB = 0b00000010;
14
    _delay_ms(500);
15
    _delay_ms(500);
16
    PORTB = 0b00000100;
17
    _delay_ms(500);
18
    _delay_ms(500);
19
    PORTB = 0b00001000;
20
    _delay_ms(500);
21
    _delay_ms(500);
22
  }
23
}
Müsste ja eigentlich funktionieren.
Jetzt hab ich den ATmega16 auf ein Steckboard gesteckt und mit 
stabilisierten 5V versorgt.
PortB 0-3 werden über BC548 mit 2KOhm Basisvorwiderstand verstärkt und 
Schalten die - Anschlüsse des Motors. Den Common hab ich an + gelötet.

Problem:
Wenn ich jetzt das Programm übertrage und den Strom einschalte, Springt 
der Motor Perfekt auf den ersten und danach auf den zweiten Schritt. 
Wenn er jetz aber auf den 3. Schritt Springen soll, klickt es leise am 
Motor(er bekommt auch strom) aber erdreht sich nicht weiter. Auf den 4. 
Schritt schafft er es aber wieder.

Ich hab alles überprüft d.h. Motor ausgetauscht, Versorgungsspannung 
gemessen, Transistoren gemessen und ausgetauscht, Verkabelung überprüft 
usw. alles ist o.k. aber beim 3. Schritt klickt es nur leise aus dem 
Motor.

An PortB 4-7 Funktioniert das Programm übrigens wenn ich es umschreibe 
und den Motor dort anstecke.

Ich hoffe ihr konntet verstehen, was mein Problem ist und hoffe auf 
Lösungsvorschläge.

Mit freundlichen Grüßen
Valentin
Gast #3602011
Lesenswert?

Hi

Mal unabhängig von deinem Portproblem.

>Müsste ja eigentlich funktionieren.

Kommt auf deinen Motor an. Aus deiner Beschreibung erahne ich einen 
unipolaren Schrittmotor. Mit deinen Bitmustern bestromst du aber immer 
nur eine Spule. Üblich sind zwei. Dazu müssten deine Bitmuster so

1 - 0101
2 - 0110
3 - 1010
4 - 0110

aussehen. Deine Ansteuerung funktioniert zwar auch, aber nur mit der 
halben Leistung.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren