Forum: Mikrocontroller und Digitale Elektronik BLCD Probleme mit A4935-T


von Tobias (Gast)


Lesenswert?

Hi!

Ich bin ein echter Neuling was das programmieren von Hardware angeht und 
ich versuche momentan einen BLCD Motor über den A4935 anzusteuern. 
Programmiert wird ein AT91Sam7x und der Motor ist ein EC 45 flat.
Ich möchte momentan den Motor auf Vollgas laufen lassen was mir in der 
cw Rotation auch gelingt aber bei der ccw Rotation komme ich gerade auf 
ein viertel der cw Rotation.

    CW Kommutierung               CCW Kommutierung
101 A - B HS1 - LS2               B - A HS2 - LS1
001 A - C HS1 - LS3               C - A HS3 - LS1
011 B - C HS2 - LS3               C - B HS3 - LS2
010 B - A HS2 - LS1               A - B HS1 - LS2
110 C - A HS3 - LS1               A - C HS1 - LS3
100 C - B HS3 - LS2               B - C HS2 - LS3

Die Hallsensoren sind als Interrupts programmiert.
Ich komme momentan einfach nicht weiter und habe auch keinen Plan mehr.


LG

Tobias

von Gast0815 (Gast)


Lesenswert?

Zeig am besten mal, wie dein Interrupt aussieht.
Ich denke, dass in der ccw-Reihenfolge was nicht stimmt
(die ist identisch mit der cw-Reihenfolge??)

Gruß

von Gast0815 (Gast)


Lesenswert?

>(die ist identisch mit der cw-Reihenfolge??)

Vergiss es. Hab die Tabelle falsch gelesen.

von Tobias D. (tobiasd)


Lesenswert?

Die Hallsensoreneingänge lösen einen Interrupt aus. Dort manipulier ich 
dann ein int ala

H1 hat ausgelöst und ist aktiv  nhallsensoren = hallsensoren | 001
H2 hat ausgelöst und ist aktiv  nhallsensoren = hallsensoren | 010
H3 hat ausgelöst und ist aktiv  nhallsensoren = hallsensoren | 100


H1 hat ausgelöst und ist inaktiv  nhallsensoren = hallsensoren & 110
H2 hat ausgelöst und ist inaktiv  nhallsensoren = hallsensoren & 101
H3 hat ausgelöst und ist inaktiv  nhallsensoren = hallsensoren & 011

Dann wird die cw oder ccw Rotationsfunktion aufgerufen, welche die 
Spulen dann entsprechend bestromt.


LG

Tobias

von Gast0815 (Gast)


Lesenswert?

Ich hab mal nen alten source-code von mir ausgekramt,
war bldc-regelung ohne Sensoren. Hab mal versucht das
auf hall sensoren zu übertragen.

Probier mal diese Sequenz:

cw bleibt.                        ccw:
101 A - B HS1 - LS2               B - A HS1 - LS3
001 A - C HS1 - LS3               C - A HS2 - LS3
011 B - C HS2 - LS3               C - B HS2 - LS1
010 B - A HS2 - LS1               A - B HS3 - LS1
110 C - A HS3 - LS1               A - C HS3 - LS2
100 C - B HS3 - LS2               B - C HS1 - LS2

Wie gesagt, bei mir wars sensorlos, ich hatte diese Zuordnung zur 
Bitkombination nicht. Von der Reihenfolge her müsste es stimmen,
ist aber ohne Gewähr.

Gruß

von Tobias D. (tobiasd)


Lesenswert?

Vielen Dank!!!!

Motor läuft jetzt beides mal gleich schnell.



LG

Tobias

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.