PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : A4983 Schrittmotortreiber und kein Strom an 5V Output



super-robman
08.08.2011, 14:13
Hallo Ihr,

ich habe mir den A4983 Schrittmotortreiber von Robotikhardware.de gekauft (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=237) und habe ein Problem mit der Stromzufuhr. Ich habe ein Netzteil mit 12 V an VMOT angeschlossen (+ an VMOT, - an GND) und sollte dann 5V an dem 5V Ausgang gegen GND messen können richtig? Leider kommt da gar nix. Den Motor habe ich noch nicht angeschlossen, ich möchte erstmal die Schaltung erproben.

Gibt es eine Einstellung, die ich übersehen habe?

Danke.

Viele Grüße

Robert

Richard
08.08.2011, 15:48
Hallo Ihr,

ich habe mir den A4983 Schrittmotortreiber von Robotikhardware.de gekauft (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=237) und habe ein Problem mit der Stromzufuhr. Ich habe ein Netzteil mit 12 V an VMOT angeschlossen (+ an VMOT, - an GND) und sollte dann 5V an dem 5V Ausgang gegen GND messen können richtig? Leider kommt da gar nix. Den Motor habe ich noch nicht angeschlossen, ich möchte erstmal die Schaltung erproben.

Gibt es eine Einstellung, die ich übersehen habe?

Danke.

Viele Grüße

Robert


Nee nee, die Vmot sind nur für den Motor, die Vcc 5V Versorgung für die Schaltung selber muss extra (VDD)
geliefert (angeschlossen) werden Und die Brücke 5V > VDD nicht vergessen. LESE bitte die Beschreibung GANZ durch!!!
Einschalten ohne Motor zertört das Board!!!!

Gruß Richard

super-robman
10.08.2011, 07:24
Hallo,

danke für deine Hilfe. Jetzt kann ich über den Polti die Stromstärke einstellen und die 3V messen wo sie auch sein sollten. Jedoch habe ich das Problem, dass sich immernoch nichts bewegt. Ich hatte folgendes Programm dafür benutzt:

#include "avrlab.h"
#include "gpio.h"

//#define SIMULATION

int main(void)
{
AvrLabInit();

//your code goes here

PortB.DataDirection.Bit3 = DataDirectionOutput;
PortB.DataDirection.Bit4 = DataDirectionOutput;
PortB.Output.Bit4 = 0;

PortB.DataDirection.Bit2 = DataDirectionInput;
PortB.Output.Bit2 = 1;

PortB.DataDirection.Bit5 = DataDirectionInput;
PortB.Output.Bit5 = 1;

unsigned char time = 255;
unsigned char ontime = 255;
unsigned long int round = 0;
char direction = -1;
char onpush = 0;

while (1)
{

//or here
if (onpush == 1)
{
if (time < 1)
{
time = 255;
PortB.Output.Bit3 = 0;
ontime+=direction;
round++;
if (ontime == 0) direction = 1;
if (ontime == 255) direction = -1;
}
else
{
time--;
if (time == ontime)
{

if (round < 510)
{
PortB.Output.Bit3 = 1;
if (direction == -1) PortB.Output.Bit4 = 1;
if (direction == 1) PortB.Output.Bit4 = 0;
}
if (round > 2039) round = 0; //107099
}

}
}
if (PortB.Input.Bit2 == 0)
{
onpush = 1;
}
if (PortB.Input.Bit5 == 0)
{
onpush = 0;
}
AvrLabPoll(); //must be called at least every 40 ms
//muss mindestens alle 40 ms aufgerufen werden

}
}

Wenn ich 2 Dioden an PortB Pin3 und 4 anschließe tut die an Pin3 faden und die an Pin4 an und aus gehen wie gewünscht. Pin 4 habe ich an DIR angeschlossen und Pin3 an STEP. Damit sollte die Richtung sich regelmäßig ändern und der Motor unterschiedlich schnell drehen. Jedoch tut sich gar nichts.

Habt Ihr eine Idee was falsch sein könnte? Brauche ich mehr Zeit die das Pin3 auf 1 oder 0 steht, damit der Motortreiber es erkennt?

Danke für die Hilfe.


Viele Grüße

Robert

Richard
10.08.2011, 12:47
Hallo,

danke für deine Hilfe. Jetzt kann ich über den Polti die Stromstärke einstellen und die 3V messen wo sie auch sein sollten. Jedoch habe ich das Problem, dass sich immernoch nichts bewegt.

Mit C kenne ich mich leider nicht aus, aber Du hattest im 1. Post bemerkt das Du den Treiber ohne Motor "eingeschaltet" hattest. In der Anleitung steht EXTRA FETT das dadurch der Treiber zerstört wird!! Wenn Du Pech hast, brauchst Du einen neuen Treiber. :-(

Testen kannst Du aber auch ganz ohne Programm, einfach die Richtung festlegen (Schalter) und mit einem Taster schritt Impulse simulieren. :-) So kann auf alle Fälle festgestellt werden ob der Treiber noch OK. ist.

Gruß Richard

super-robman
12.08.2011, 08:38
Hallo,

ich hatte auch den Schrittmotortreiber nicht angeschlossen, damit sollte es kein Problem geben. Allerdings habe ich es jetzt trotzdem geschaft den Treiber zu zerstören. Gibt es eine bestimmte Reihenfolge in der ich den Strom anschließe? Erst den Motorstrom, dann den Logikstrom (3V)? Ich habe immer erst den Motorstrom angeschlossen und dann den Logikstrom, ist das richtig?

Danke.

Viele Grüße

Robert

021aet04
13.08.2011, 10:38
Du musst immer Spannungslos anschließen. Sonst kannst du Hardware zerstören. Du musst alles Spannungslos machen (µC und Treiber). Erst dann darfst du alles anschließen. Schließe alles dann an (Logik und Leistungsteil). Den Strom stellst du richtig ein. Jetzt schaltest du die Logik und den Leistungsteil ein.

MfG Hannes