Forum: Mikrocontroller und Digitale Elektronik Kurzvorstellung Privatprojekt - Ansteuerung Schrittmotor


von Timbo2023 (timbo2023)


Lesenswert?

Moin µc's,



Eine Einsteigerfrage mit Vorstellung um Euch und mich kennenzulernen.


Über einen zwei-kanalig nutzbaren Operationsverstärker wird PUL und DIR 
einer Schrittmotor-Steuerung verschaltet und angesteuert.

Bild anbei

Nun versuche ich mittels folgendem Quellcode ein Umschalten an PUL zu 
realisieren.

Leider verfährt der Schrittmotor noch nicht - jemand Ideen?
1
int main(void)
2
{
3
4
RCC->AHB1ENR |= 0xFC; /* enable GPIOA clock */
5
6
GPIOC->MODER |= 0x55555555; /* set pin to output mode */
7
8
GPIOA->MODER |= 0x55555555; /* set pin to output mode */
9
while(1) {
10
GPIOC->ODR |= 0xFFFF;
11
GPIOA->ODR |= 0xFFFF;
12
delayMs(500);
13
GPIOC->ODR &= ~0xFFFF;
14
GPIOA->ODR &= ~0xFFFF;
15
delayMs(500);
16
}
17
}



Grüße
TIMBO

von Jörg R. (solar77)


Lesenswert?

Timbo2023 schrieb:
> Bild anbei

Ich sehe nur weiß auf weißem Grund.

Beitrag #7576906 wurde vom Autor gelöscht.
von Timbo2023 (timbo2023)


Angehängte Dateien:

Lesenswert?

Nun hoffentlich mit "sichtbarem" Foto ...

: Wiederhergestellt durch Moderator
von Timbo2023 (timbo2023)


Lesenswert?

Beitrag bitte löschen, "Foto-Upload" klappte leider (noch) nicht...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Timbo2023 schrieb:
> Beitrag bitte löschen, "Foto-Upload" klappte leider (noch) nicht...

Im Gegenteil, der letzte Upload war erfolgreich. Ich habe den 
entsprechenden Beitrag mit Foto wiederhergestellt.

von Jörg R. (solar77)


Lesenswert?

Timbo2023 schrieb:
> Beitrag bitte löschen, "Foto-Upload" klappte leider (noch)
> nicht...

Das Foto, welches Du wieder gelöscht hast, war doch sichtbar. Allerdings 
war es nur ein Drahtverhau. Den Motor konnte man wohl nicht sehen. Der 
OPV hatte keinen Abblockkondensator.

Zeige einen richtigen Schaltplan.

: Bearbeitet durch User
von Thomas (kosmos)


Lesenswert?

wozu soll der OPAMP gut sein? Willst du damit die Pegel der STM32 
Ausgänge erhöhen?

Ich kenne deinen Schrittmotortreiber nicht, ich denke aber das du erst 
die Richtung mittels High oder Low vorgeben musst und dann einen Impuls 
mit einer Mindeslänge X auf den PUL Eingang gibst (ggf. Pullups oder 
-downs nutzen damit man einen stabilen Ruhepegel hat.

Hast du geprüft ob du die beide Leitungen unabhängig ansteuern kannst 
und das es auch korrekt am Schrittmotortreiber ankommt.

von Harry L. (mysth)


Lesenswert?

Ein wenig mit den Pins wackeln ist noch kein "Projekt" - es sein denn, 
dein "Projekt" wäre es, elementare Grundlagen zu erlernen.

Das kann man auch einfacher haben. (Am PC oder mit einer einfacheren 
MCU)

Bevor du dich an ARM-MCUs heran wagst, solltest du besser erstmal 
Programmieren lernen.
Daß du das -noch?- nicht kannst, erkennt man u.A. an den fehlenden 
Einrückungen in deinem Code-Schnipsel.

Dein Delay-basierender Ansatz fliegt dir sowieso spätestens dann um die 
Ohren, sobald dein Programm etwas mehr tun soll, als einen Stepper-Motor 
zum Rotieren zu bringen.

Also, was soll das ganze überhaupt werden?

von Christian M. (christian_m280)


Lesenswert?

Klassischer Fall von GND nicht verbunden! Zeichne bitte mal einen 
Schaltplan! Dann siehst Du es selber...

Gruss Chregu

von H. H. (Gast)


Lesenswert?

Thomas schrieb:
> Ich kenne deinen Schrittmotortreiber nicht,

Der hat Optokopplereingänge mit 270 Ohm Vorwiderstand.

Für einen 3,3V µC also etwa 8mA zu treiben. Das sollte fast jeder µC 
können.

von Monk (roehrmond)


Lesenswert?

Timbo2023 schrieb:
1
RCC->AHB1ENR |= 0xFC; /* enable GPIOA clock */
2
GPIOC->MODER |= 0x55555555; /* set pin to output mode */
3
GPIOA->MODER |= 0x55555555; /* set pin to output mode */

Bitte benutze keine "magischen" Zahlen. Ich kann so gar nicht erkennen, 
ob der Quelltext das tut, was in den Kommentaren daneben steht. Die 
CMSIS Header Dateien enthalten für jedes Bit ein entsprechendes Symbol, 
das man benutzen kann und sollte.

Beim Beschrieben der MODER Register wolltest du mit Sicherheit "=" 
anstelle von "|=" verwenden.

Falls die Kommentare richtig sind, hast du vergessen GPIOC 
einzuschalten.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Boa wenn ich schon diese Mini Breadboards sehe. Wer nutzt sowas? Nehmt 
ein großes da passt alles zusammen drauf.

Und dann ein 9V Block zur Stromversorgung. Man kann sich das Leben auch 
selbst schwer machen.

: Bearbeitet durch User
von Oliver R. (orb)


Lesenswert?

Cyblord -. schrieb:
> Und dann ein 9V Block zur Stromversorgung. Man kann sich das Leben auch
> selbst schwer machen.

Das wird zumindest nicht langweilig, je nach Last gibt es andere 
Effekte.

von Nils S. (wall-e)


Lesenswert?

Moin.
Was ist denn an den negativen Eingängen (Pin 2 und Pin 6 des OPAmp) 
angeschlossen?
Wenn der als Impedanzwandler benutzt werden soll muss doch vom 
entsprechendem Ausgang des OPAmp eine Brücke zum neg. Eingang vorhanden 
sein.
Oder sehe ich die nur nicht ?

von Dietrich L. (dietrichl)


Lesenswert?

Jörg R. schrieb:
> Zeige einen richtigen Schaltplan.

@Timbo2023: Das kann ich nur unterstützen! Alles andere führt hier nicht 
weiter...

von Michael B. (laberkopp)


Lesenswert?

Timbo2023 schrieb:
> Über einen zwei-kanalig nutzbaren Operationsverstärker wird PUL und DIR
> einer Schrittmotor-Steuerung verschaltet und angesteuert.

Warum glaubst du das zu brauchen, wo der Rest der Welt ohne solche 
zusätzlichen Bauteile auskommt.

Bei denen zudem unklar ist, ob sie richtig verdrahtet sind.

Um ENAble könnte man sich auch kümmern, sprich einfach mal das 
Datenblatt des Schrittmototrreibers lesen oder abkupfern von Leuten, 
deren Aufbau funktioniert.

Und dann bleibt noch das Programm...

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.