Forum: Analoge Elektronik und Schaltungstechnik DRV8313 funktioniert nicht


von Franz (kubawu)


Angehängte Dateien:

Lesenswert?

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
von Franz (kubawu)


Lesenswert?

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...

von Christoph M. (mchris)


Lesenswert?

Meine Vermutung ist: Es liegt am Code. Leider kann man den nicht sehen.

von Franz (kubawu)


Lesenswert?

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);

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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
von Franz (kubawu)


Lesenswert?

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
Noch kein Account? Hier anmelden.