uL6470 Treiber Frage

werner
 
Avatar
 
Subject:

uL6470 Treiber Frage

 · 
Posted: 12.07.2012 - 22:55  ·  #1
Hallo zusammen

ich habe mit E-Lab Demoboards den uL6470 Treiber getestet und festgestellt, dass die angezeigte Absolut position (L64_GetAbsPosition(stepDrv1) immer Null ist. Ich habe die Demo zum Treiber verwendet und in dem anhängenden Stück Code versucht einen Motor 64000 Schritte linksdrehend und danach 10000 Schritte rechtsdrehend machen zu lassen. Ich hätte jetzt eigentlich eine Positionsdifferenz erwartet, bekomme aber immer eine Position Null

Hier ist ein Stück Code (Standardtreiber) und danach die Ausgaben der seriellen Schnittstelle.
Vielleicht kann mir ja jemand einen Wink geben, was noch evtl zu machen ist.

Besten Dank schonmal.

InitPorts;
EnableInts;
mDelay(100);

Writeln(Serout, #13 + #10 + ' **1**** L6470 Motor Driver Test ******** ' + #13 + #10);
BeepClick;

while not L64_GetConfig(stepDrv1, wTmp) do
Writeln(Serout, 'no Hardware found');
BeepClick;
mDelay(300);
endwhile;
mDelay(100);
WriteLn(Serout, 'L6470-1 found');
BeepOutLH;

L64_ResetDevice(stepDrv1);

L64_HardHiZ(stepDrv1); // essential before SetConfig
// Micro Step Mode
L64_SetStepMode(stepDrv1, L64Step64);
L64_SetMinMaxSpeed(stepDrv1, 1, 80);
L64_SetStartStopSlope(stepDrv1, 50, 50); // Start and Stop ramps in Steps
L64_SetMotorParms(stepDrv1, 27, 1800, 1750, 500); // Volt, mAmp, mOhm, Ncm

L64_SetFlagAlert(stepDrv1, [L64OverCurrent, L64ThermDown, L64ThermWarn,
L64UnderVolt, L64StallA, L64StallB, L64TurnOnEvent, L64WrongCmd]);

L64_SetAbsPosition(stepDrv1, -1);
lTemp:= L64_GetAbsPosition(stepDrv1);
Writeln(Serout, 'abs Pos : $' + LongToHex(lTemp));

//-----------------------------------------------
WriteLn(SerOut, ' 64000 CCW'); // 64000 Schritte
L64_Move(stepDrv1, L64DirCCW, 64000); // 50 * 200 * 64
doWaitUntilBusy(stepDrv1);
lTemp:= L64_GetAbsPosition(stepDrv1);
Writeln(Serout, 'abs Pos : $' + LongToHex(lTemp));
ltemp := 11;
WriteLn(SerOut, ' 10000 CW'); // 10000 Schritte
mDelay(1000);
L64_Move(stepDrv1, L64DirCW, 10000); // 50 * 200 * 64
doWaitUntilBusy(stepDrv1);
lTemp:= L64_GetAbsPosition(stepDrv1);
Writeln(Serout, 'abs Pos : $' + LongToHex(lTemp));


---
Serial Daten
---

**1**** L6470 Motor Driver Test ********

L6470-1 found
abs Pos : $00000000
64000 CCW
Motor busy
GetStatus: 0032
GetStatus: 0032
GetStatus: 0032
GetStatus: 0052
GetStatus: 0052

abs Pos : $00000000
10000 CW
Motor busy
GetStatus: 0022
GetStatus: 0042

abs Pos : $00000000
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 14.07.2012 - 23:51  ·  #2
Hallo Werner,
wir hatten den L6470 wegen seiner immensen Vorteile ausgesucht. Leider war damals nicht klar welche Probleme mit den motor-abhängigen Probleme da auftauchen. So waren wir in der Lage nur einen einzigen Stepper einigermassen zum laufen zu bringen. Deshalb ist die zugehörige Unit auch als "proto" im ReadMe file des AVRco geführt.
Dann haben wir aufgegeben und für den damit geplanten Einsatz den Toshiba THB6064AH gewählt. Der kann zwar keine Rampen etc. ist aber einfach in der Ansteuerung. Die Rampen, Zähler etc. werden durch einen kleinen XMega generiert werden.

sorry
rolf
ThomasW69
 
Avatar
 
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 18.01.2013 - 10:28  ·  #3
Ist der Treiber damit komlett gestorben?
Ich hatte eigentlich vor den in einem Projekt zu verwenden.
Woran liegt es eigentlich? Was genau waren die Probleme?
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 18.01.2013 - 13:04  ·  #4
Hallo ThomasW69,
an dem Treiber wird nicht weiter gearbeitet da es hier zu viele unbekannte Konstanten gibt.
ST ist hier auch nicht gewillt weitere Informationen heraus zu geben.
Nachzulesen im ST Forum.

Wenn man sich die Parameter für "seinen" Motor hingefummelt hat läuft der sonst Chip super.

Miparo
ThomasW69
 
Avatar
 
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 18.01.2013 - 13:11  ·  #5
Also ist der Treiber prinzipiell einsatzbereit, nur dass man selbst die nötigen Parameter herausfinden muss die zum jeweiligen Motor passen?
Welche Parameter wären das?
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 18.01.2013 - 17:31  ·  #6
Unter dem Demo Ordner liegt ein Sammlung.pdf wo die fehlenden Parameter wie KVAL usw. beschrieben sind.
Das ganze läßt sich aber schlecht im Treiber berechnen so das der User einfach loslegen kann.
Ich habe während der Entwicklung des Treibers einfach ein wenig probiert mit den Parametern und dann schnurrte der Motor wie ein Kätzchen.
Ein Anhaltspunkt ist z.B. der Haltestrom. Dieser ist bei richtiger Dimensionierung sehr gering und steigt schlagartig wenn man daneben liegt.
ThomasW69
 
Avatar
 
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 18.06.2013 - 08:13  ·  #7
Ich will hier nochmal nachhaken, da ich momentan dabei bin mit dem treiber eine Schaltung aufzubauen. Als Schaltplangrundlage habe ich mir das E-LAB EVAboar L6470 vorgenommen. Debi sind mir einige Dinge aufgefallen.
Auf dem Board ist zum Beispiel der Ausgang OSCIn gegen Masse geschaltet. Ich gehe davon aus, dass dieser nicht beötigt wird, da der Interne Taktgenerator verwendet wird. Laut Datenblatt sollte aber dieser Eingang dann offen gelassen werden. Siehe Note unter Figure 12 auf Seite 28.
Funktioniert die Schaltung auf dem EVABoard problemlos oder gibt es wegen dieser geänderten Beschaltung eventuell Probleme? Warum wurde das so gemacht?
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: uL6470 Treiber Frage

 · 
Posted: 18.06.2013 - 13:20  ·  #8
Hallo Thomas,

ich kann mich nicht mehr erinnern weshalb das so war. Ich vermute dass ich da
einen Schaltplan von ST abgepinselt habe.
Probleme gibt es nur mit der Parametrisierung. Das hat der Teufel gesehen.
Wir konnten das nur für einen einzigen Motor hinbiegen. Für unsere interne
Zwecke (Portal Fräse) ist das Teil deswegen ausgeschieden.

rolf
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   135   149 · Page-Gen-Time: 0.061565s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI