Moin, ich versuche grade einen kleinen BLDC inkl. Hall mit einem DRV8313 anzusteuern. Mit einfachen Halbbrücken habe ich es schon hinbekommen, möchte aber gerne diesen Baustein testen ( Alles in einem IC bla ). Aber es passiert orginal nichts, kein zucken piepen oder sonstwas. Ich steuer den mit einem PIC an 5V..der Code funktioniert mit den halbbrücken und die Anschlüsse stimmen. nSLEEP und nRESET werden auf 5V gezogen, so wie es im DB steht. Hatte jemand schonmal was zu tun mit diesem IC ? Ich habe die Platine durchgepiept und habe keine Kürzschlüsse gefunden und die Verbindungen sind da.
:
Verschoben durch Moderator
Mit einen Duty-Cycle von 50% +/- funktionert es irgendwie . Aber eigentlich sollte man doch mit der Stuerung der PWM zwischn 0-100% die Drehzahl steuern...
Meine Vermutung ist: Es liegt am Code. Leider kann man den nicht sehen.
PWM 32kz
1 | if(PORTAbits.RA0 == 1 && PORTAbits.RA1 == 0 && PORTAbits.RA2 == 1 ) // Hall 1 -3 //Abfolge Entspricht datenblatt |
2 | {
|
3 | LATBbits.LATB5 = 1; //EN1 |
4 | PWM_IN1(x); //IN1 //x= Geschwindigkeit in 10bit Auflösung |
5 | LATBbits.LATB3 = 1; |
6 | PWM_IN2(0); |
7 | LATCbits.LATC7 = 0; |
8 | PWM_IN3(x); |
9 | }
|
10 | |
11 | if(PORTAbits.RA0 == 1 && PORTAbits.RA1 == 0 && PORTAbits.RA2 == 0 ) |
12 | {
|
13 | LATBbits.LATB5 = 1; |
14 | PWM_IN1(x); |
15 | LATBbits.LATB3 = 0; |
16 | PWM_IN2(x); |
17 | LATCbits.LATC7 = 1; |
18 | PWM_IN3(0); |
19 | }
|
20 | |
21 | if(PORTAbits.RA0 == 1 && PORTAbits.RA1 == 1 && PORTAbits.RA2 == 0 ) |
22 | {
|
23 | LATBbits.LATB5 = 0; |
24 | PWM_IN1(x); |
25 | LATBbits.LATB3 = 1; |
26 | PWM_IN2(x); |
27 | LATCbits.LATC7 = 1; |
28 | PWM_IN3(0); |
29 | }
|
30 | |
31 | if(PORTAbits.RA0 == 0 && PORTAbits.RA1 == 1 && PORTAbits.RA2 == 0 ) |
32 | {
|
33 | LATBbits.LATB5 = 1; |
34 | PWM_IN1(0); |
35 | LATBbits.LATB3 = 1; |
36 | PWM_IN2(x); |
37 | LATCbits.LATC7 = 0; |
38 | PWM_IN3(x); |
39 | }
|
40 | |
41 | if(PORTAbits.RA0 == 0 && PORTAbits.RA1 == 1 && PORTAbits.RA2 == 1 ) |
42 | {
|
43 | LATBbits.LATB5 = 1; |
44 | PWM_IN1(0); |
45 | LATBbits.LATB3 = 0; |
46 | PWM_IN2(x); |
47 | LATCbits.LATC7 = 1; |
48 | PWM_IN3(x); |
49 | }
|
50 | |
51 | if(PORTAbits.RA0 == 0 && PORTAbits.RA1 == 0 && PORTAbits.RA2 == 1 ) |
52 | {
|
53 | LATBbits.LATB5 = 0; |
54 | PWM_IN1(x); |
55 | LATBbits.LATB3 = 1; |
56 | PWM_IN2(0); |
57 | LATCbits.LATC7 = 1; |
58 | PWM_IN3(x); |
Hast du mal nachgemessen, ob die Charge-Pump läuft? Die 3V3 vom LDO liegen auch an? Mit freundlichen Grüßen Thorsten Ostermann
:
Bearbeitet durch User
Thorsten O. schrieb: > Hast du mal nachgemessen, ob die Charge-Pump läuft? Die 3V3 vom LDO > liegen auch an? > > Mit freundlichen Grüßen > Thorsten Ostermann Die Pump kommt auf 26,3V bei anliegenden 24,3V, also gemessen zwischen CPL und CPH. Die 3,3V liegen dan V3P3 an:/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.