Hi,
Ik ben bezig met een projectje waarbij ik mbv een dsPIC33FJ128MC706A een bldc driver aanstuur.De driver is opgebouwd mbv 3 x de IR2184S met bijbehorende componenten.
Op de PCB heb ik een 15V,5V en 3,3V. Het geheel wordt gevoed vanuit een 36V accu. BLDC motor is 250W sensored.
De 15V krijg ik uit een LM2596HV, de 5 en 3,3V uit een spanningsregelaar achter de 15V.
Er zit wat I/O, een display SSD1306 op en werkt naar behorende. Tevens nog 2 motor drivers (IFX9201) welke ook prime werken.
Ofwel alles werkt, Behalve:(
Zodra ik de een kleine setpoint geef op de PDC en een interrupt genereer vanuit de hall sensoren door de motor een setje te geven start deze soms met draaien en draait dan prima maar meestal reset de pic?
Kortom:
Op het moment dat er een interrupt gegenereerd wordt (IFS0bits_IC2IF 3 en 4 in mijn geval) en het OVDCON register wordt gestuurd reset de pic. Dit resetten gebeurt niet als de 15V er af is.
vb van 1 van de hall interrupts.
pic basic code:
Isr IC3Interrupt 'Hall B
' Inc HallACntr
IFS2bits_IC3IF = 0 'Clear interrupt flag
HallValue = (PORTD >> 9) & 0x0007 'Read halls
If Forward = 1 Then
OVDCONREG1 = CRead (FwdStateTable + HallValue)
OVDCON.8 = OVDCONREG1.0
OVDCON.9 = OVDCONREG1.1
OVDCON.10 = OVDCONREG1.2
OVDCON.11 = OVDCONREG1.3
OVDCON.12 = OVDCONREG1.4
OVDCON.13 = OVDCONREG1.5
Else
OVDCONREG1 = CRead (RevStateTable + HallValue)
OVDCON.8 = OVDCONREG1.0
OVDCON.9 = OVDCONREG1.1
OVDCON.10 = OVDCONREG1.2
OVDCON.11 = OVDCONREG1.3
OVDCON.12 = OVDCONREG1.4
OVDCON.13 = OVDCONREG1.5
EndIf
EndIsr
Ik ben de hele dag al aan het zoeken en heb al ontzettend veel geprobeerd om dit verschijnsel te tackelen.
- 15V vanuit lab voeding ipv de lm2596.
- Extra ontkoppelen met 100nF.
- Buffer elco'op de 15V,5V en 3,3V geplaatst.
- Etc etc..
Heeft iemand misschien een idee waar dit zou kunnen liggen?
Zal dit een software of hardware probleem zijn?
Alvast dankt.