Forum: Mikrocontroller und Digitale Elektronik [AVR32] UC3C-EK - Schrittmotor


von Henry P. (henrylexx)


Lesenswert?

Hallo,

nach dem ich schon fast geschlagene 4 Wochen mit den UC3C_EK arbeite und 
ich doch als absuluter newbe (in sachen uc) recht zu frieden mit meiner 
Leistung bin.
Bisher geschafft:
- blinky mit delay,
- blinky mit timerinterrupt,
- interrupt eines Taster --> LED an/aus
- usart schnittstelle konfiguriert und parser geschrieben, ob GPIo 
ausgang über einen Interrupt getogglte wird (Sichtbarkeit an 
Oszilloskop)

Bisher habe ich alle Timings in einem Interrupt gemacht. So nun zu 
meiner Frage:

In meinem Praxissemester soll ich zwei Schrittmotoren ansteuern.
Ich hoffe, dass diese Woche die  Motoren und der Treiber von Nanotec 
kommen.

1 Motor: http://de.nanotec.com/show_graph_imagick.php?product_id=875
Treiber: http://de.nanotec.com/schrittmotorsteuerung_smci35.html

Es gibt ja die schöne Application Note AVR446 
(http://fab.cba.mit.edu/classes/MIT/961.09/projects/i0/doc8017.pdf) in 
der beschrieben wird wie der uc selbstsändig die Rampen berechnet ohne 
sie aus einer Tabelle zu holen. Ich werde diese Tage versuchen das ganze 
auf AVR32 zu übetragen.

In der Demo wird nun aber die Signalausgabe in der Main gemacht. Ich 
würde das allerdings weiter hin in einer Interrupt Routine machen.

Ist das sinnvoll oder sollte ich das auch in der while schleife machen ?
Ich will über den USART die Parameter schicken, die Brechnung für meine 
Bewegung ausführen und dann soll dementsprechend mein Timer ISR meine 
ausgang toggln...


Beste Grüße HenrY


P.S.: Da ich persönlich keine Erfahrung habe mit so einer Ansteuerung 
und den Schrittmotorn, noch eine Frage: kann ich in 1 sec den Motor auf 
fullspeed beschleunigen ? Ich bin Mechatronikstudent und könnte mir 
vorstellen dass das geht bin mir aber überhaupt nicht schlüssig, da mir 
dazu die Erfahrung fehlt.

von Electronics'nStuff (Gast)


Lesenswert?

Henry P. schrieb:
> P.S.: Da ich persönlich keine Erfahrung habe mit so einer Ansteuerung
> und den Schrittmotorn, noch eine Frage: kann ich in 1 sec den Motor auf
> fullspeed beschleunigen ? Ich bin Mechatronikstudent und könnte mir
> vorstellen dass das geht bin mir aber überhaupt nicht schlüssig, da mir
> dazu die Erfahrung fehlt.

Ja, das geht. Das witzige ist, dass Schrittmotoren eig. immer gleich 
viel Strom ziehen. Ob sie nun stehen oder am Limit arbeiten.

Die Pins würde ich in einer ISR toggeln.

Gruss

von Henry P. (henrylexx)


Lesenswert?

Okay cool. Da bin ich echt beruight....!

Dann kann das wirklich funktionieren ;)


Henry P. schrieb:

> Ist das sinnvoll oder sollte ich das auch in der while schleife machen ?
> Ich will über den USART die Parameter schicken, die Brechnung für meine
> Bewegung ausführen und dann soll dementsprechend mein Timer ISR meine
> ausgang toggln...
>
 mit der while Schleife meine ich natürlich die in der main, aber du 
hast ja verstanden was ich meinte.

vielen Dank!

von Electronics'nStuff (Gast)


Lesenswert?

Henry P. schrieb:
> vielen Dank!

Kein Problem :)

Ich frage mich aber gerade, wie du dir das Ganze vorstellst. So wie ich 
das verstehe, ist der von dir bestellte Treiber über USB ansteuerbar?

Oder wie willst du den ansteuern?

Gruss

von Henry P. (henrylexx)


Lesenswert?

Oh sorry, du hast ja geantwortet....

Also das Datenblatt sagt mir, dass ich Takt, Richtung und Enable (siehe 
Link, Steckleiste X4) ansteuern kann und somit sollte das auch mit einem 
uc gehen...
Meine Vorgabe war das ich die Ansteureung über eine AVR32 mache, mein 
Kriterium für diesen Treiber war das es der selbe Herrsteller wie der 
Motor ist und das er mir den nötigen Strom zuverfügung stellt.
Alles andere habe ich als zusätzlichen gimik interpretiert was 
vielleicht später verwendung finden könnte aber gerade nicht zwingend 
notwendig ist.

http://de.nanotec.com/downloads/pdf/3864/Schrittmotor-Controller_092_SMCI35.pdf

Laut die

von Electronics'nStuff (Gast)


Lesenswert?

Ach so, das Datenblatt habe ich irgendwie übersehen.

Der Satz hier von der Page:

Die SMCI35 kann nicht vernetzt werden, sondern wird mit einem speziellen 
Adapter über die USB Schnittstelle parametriert.

Hat mich irgendwie irritiert. Aber Klar, über die Pins da ist das 
natürlich kein Problem :)

Henry P. schrieb:
> Meine Vorgabe war das ich die Ansteureung über eine AVR32

Ist das nicht ein bisschen "Mit Kanonen auf Spatzen geschossen?"


Gruss

von Henry P. (henrylexx)


Lesenswert?

vermutlich ja, aber hier in der firma wurde mir UC3_EK hingestellt.... 
und da ich keine ahnung von den uc hatte konnte ich keinen lternativen 
vorschlag machen... nach diesen 4 wochen ist mir schon aufgefallen, dass 
die einfachen AVRs es auch getan hätten... aber vielleicht will man auch 
nur mit der zeit gehen ;)

wann würde man denn eigentlich einen AVR32 gegen einen AVR austauschen, 
wann macht es sinn auf die mehr Leistung umzusteigen?

von Electronics'nStuff (Gast)


Lesenswert?

Auf jeden Fall finde ich es recht beachtlich, dass du damit den Einstieg 
gefunden hast! Einfachere Architekturen werden für dich damit zum 
"Kinderspiel" :)

Henry P. schrieb:
> wann macht es sinn auf die mehr Leistung umzusteigen?

Hm, für ein kleines Linux zum Beispiel. Oder halt allgemein wenn du 
irgend ein GUI brauchst bzw. ein komplettes Betriebssystem.

Gruss

von Henry P. (henrylexx)


Lesenswert?

Okay...

naja, durch viel lesen und das Durchforsten von Beispielen konnte ich 
mich so nach und nach mit dem UC3C anfreunden (trotz gefühlten 100 
verzweifelungs momente)... das AVR Studio und das Atmel Framework nimmt 
einem wahrscheinlich schon so viel ab dass ich nicht drüber nach denken 
muss... was bootloader angeht ( ist ja schon irgendwie auf dem board 
drauf)  und in bestimmte register schreiben... (scfi, pm, usart)

es gibt leider immer noch dinge die ich einfach so hinnehme, sei es das 
system control interface (scfi) oder der power manger (pm) oder der 
interrupt controller... da gibt es ja noch so viele einstellungen, 
gruppen, level und so ein "zeug"...

ob der umstieg mir wirklich leicht fallen wird weiß ich nicht. im 7. 
semester (in einem Jahr) habe leider erst Mikrocontroller Programmierung 
dann aber in assabler (was dann neuland wäre) und auch nur mit den 8 bit 
uc...

wahrscheinlich werden bei der vermeindlichen rampen berechnung noch 
einige "Ah ha!" Effekte auftreten.. wir werden sehen...

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.