Would you know what I could use?

Discussion in 'OnBoard Electronics & Controls' started by BertKu, Aug 11, 2015.

  1. BertKu
    Joined: May 2009
    Posts: 2,521
    Likes: 47, Points: 58, Legacy Rep: 223
    Location: South Africa Little Brak River

    BertKu Senior Member

    Hi all,
    When I was testing my boat on the water for a few times ( luckily not on the sea), I noticed already that the Ampere meter was jittering, although the motor was running quite normal. First I thought that the very large capacitor 68000uF/100Volt coursed the problem. But when I checked my controller for the brushless motor, I noticed that the MOSfets have been sparking. Checking further I came to the conclusion that the supplier had fooled me and supplied the wrong mica insulators for those IRFP064N MOSfets, although he assured me that those were the correct ones when I mentioned that it was not covering the drain-cooling plate completely. From the attached photo’s you can see where it has been sparking right around the edges. I had some other types which I also used and they are perfect, but of a material which looks like plastic. They are larger.

    Here is my question.

    What material could I use for making my own insulators, as I can only get those small mica ones from the supplier. I thought I use shrink sleeving and heat it up at 180 degrees C, so that they are shrunk and then cut to size. However they shrink and get thicker, also I tried to see whether the heat is transferring, but very poorly.

    Any suggestions?

    Attached some photo’s of the problem and the very good performing high efficiency and low cost controller with the very nice running brushless motor. Very powerful 12 mm shaft, inexpensive and 130 rpm per Volt. i.e. at 12 Volt 1560 rpm, at 24 Volt 3120 and at 72 Volt (90 Ampere) 9360 rpm. However at that speed, I am worried that the magnets will come loose and the screws will start vibrating loose.
    Total cost: 100 dollar for the motor + importation cost of 23 dollars. 3 sensors for 5 dollars. The pc board you can make yourself from either vera board or just cutting with a grinder to the correct copper lanes, or just make it with positive film layer /UV light and some acid water. The electronics is approx 40 dollar, components included the Microchip Microcontroller PIC18F2431.

    I enclose some information like the software for those who would like to give it a try themselves.

    The advantage is when you make it yourself, you can repair it. You can make it for higher power and Voltage, thus more powerful motors or motors in tandem. Most of the controllers on the market are not for brush-less motors with sensors. The motors with sensors are running quieter in my view. You can run the motor at 1rpm and also at lower voltage i.e. as from 1 Volt onwards to whatever voltage you need for your motor, 72 Volt etc. I selected maximum 36 Volt and 55 Volt MOSfets. (not applicable to the controller, that is a fixed 12 Volt.)
    Material list.
    3 x sensors Alegro Open Collector output (3197L ??)
    3 x B1212LS-B , DC 12 Volt to DC 12 Volt 1 watt Mornsun DC converter secondary isolated
    1 x PIC18F2431 Microchip, microcontroller
    1 x 7805 , 5 Volt regulator ( make your own heatsink from a piece of aluminium)
    1 x 20 Mhz crystal
    2 x 27 pf ceramic capacitors
    1 x MOSfet driver TC4469
    3 x 2N35 Opto fast speed isolator
    3 x 1 watt 12 Volt DC to 12 Volt DC isolated inverters
    1 x 5 amp diode
    1 x 470 uF/35 Volt single ended
    5 x 470 uF/16 Volt single ended
    3 x BC 327-40 transistor
    7 x 270 Ohm resistor ½ watt
    3 x 470 Ohm resistor ¼ watt
    6 x 390 Ohm resistor ¼ watt
    1 x 2K4 Ohm 2% resistor ¼ watt
    1 x 290 Ohm 2% resistor ¼ watt
    4 x 10 KOhm resistor ¼ watt
    7 x 5K6 Ohm resistor ¼ watt
    4 x 1K Ohm resistor ¼ watt
    6 x 1K2 Ohm resistor ¼ watt
    3 x 15 Ohm resistor ¼ watt
    6 x ceramic capacitors 100nF/ > 16 Volt, 25,63,100 Volt
    6 x IRFP064N MOSfets
    1 x Polycab capacitor 220nF >16 Volt, 25,63,100 Volt
    1 x heatsink for 7805 (can be made by yourself)
    1 x M3 bolt + nut + springwasher
    1 x pc board as per example
    1 x brush-less motor.

    Software program for a sensored motor.

    include "P18F2431.INC"
    list P=18F2431

    ; file name TestPic18.asm
    ; Date 28/2/2015
    ; Author Bert Kuijpers and Microchip,converted to PIC18 by Bert Kuijpers. Added;
    ; overcurrent and overheating protocol to stop the motor.
    ; company none, private

    ; This controller uses the 3 bit sensor B port inputs 1,2,3 pin 22,23,24
    ; This controller uses 0 bit B port for direction.pin 21
    ; The Analogue to Digital converter is 1st bit port A,AN0. pin 2
    ; The overcurrent sensing and shutdown 2nd bit port A,AN1. pin 3
    ; The temperature sensing and shutdown 3rd bit port A,AN2. pin 4
    ; The driver to the motor coil drivers are from port C. pin 11,12,13,14,15,16

    CBLOCK 0x20

    ADC ; PWM threshold is ADC result
    LastSensor ; last read motor sensor data
    DriveWord ; six bit motor drive data

    ENDC

    #define OffMask B'11101010'
    #define DrivePort PORTC
    #define DrivePortTris TRISC
    #define SensorMask B'00001110'
    #define SensorPort PORTB
    #define DirectionBit PORTB,0
    #define LED1 PORTA,4
    #define LED2 PORTB,5
    #define LED3 PORTB,4
    #define BUZZER PORTA,3

    TEMP1 equ 40h
    TEMP2 equ 41h
    TEMP3 equ 42h
    TEMP4 equ 43h
    ; ------------------------------------------------------------------------------
    org 0x000 ; startup vector
    nop ; required for ADC operation
    clrf PCLATH ; ensure page bits are cleared
    goto Initialize ; go to beginning of program
    org 0x008 ; interrupt vector location
    retfie ; return from interrupt
    org 0x018 ; interrupt vector location
    retfie
    Initialize
    clrf DrivePort ; all drivers off
    banksel TRISA
    clrf DrivePortTris ; set motor drivers as outputs
    movlw B'00000111' ; A/D on RA0, RA1, RA2
    movwf TRISA
    movlw b'00001111' ; motorsensors on RB,<2:0>
    movwf TRISB
    bcf LED2 ; ensure overheating is reset
    bcf LED3 ; ensure overcurrent is reset
    bcf BUZZER ; ensure buzzer is switched off
    movlw B'11000000'
    movwf T0CON ; timer0 = on ; timer0 = 8bit 1;2
    movlw B'00010000'
    movwf ADCON1
    movlw B'00000000' ;b '00111000'
    movwf ADCON2
    movlw B'11000000'
    movwf ADCON3
    movlw B'00000000'
    movwf ADCHS
    movlw B'00000111'
    movwf ANSEL0 ; ensure AN0,1,2 ADC input is analogue
    movlw B'00010101' ; AN0, AN1, AN2
    movwf ADCON0
    bsf ADCON0,GO ; start ADC
    clrf TEMP1
    clrf TEMP2
    clrf TEMP3
    clrf TEMP4
    clrf LastSensor ; initialize last sensor reading
    call Commutate ; determine present motor position
    clrf ADC ; start speed control threshold at zero until first ADC
    bsf LED1 ; display program running
    Loop
    call ReadADC ; get the speed control from the ADC
    incfsz ADC,w ; if ADC is 0xFF we're at full speed - skip timer add
    goto PWM
    movf DriveWord,w ; force on condition
    goto Drive ; continue
    PWM
    movf ADC,w ; restore ADC reading
    addwf TMR0L,w ; add it o current timer0 (Lower 8 bits)
    movf DriveWord,w ; restore commutation drive data
    btfss STATUS,C ; test if ADC + Timer0 resulted in carry
    andlw OffMask ; no carry - suppress high drivers
    Drive
    movwf DrivePort ; enable motor drivers
    call Commutate ; test for commutation change
    goto Loop
    ReadADC
    btfsc ADCON0, NOT_DONE ; is ADC ready?
    return ; no - return
    movf ADRESH,w ; get ADC result
    movwf ADC ; save result in speed control threshold
    movwf TEMP1
    movf ADRESH,w ; get ADC result
    movwf TEMP2
    movf ADRESH,w ; get ADC result
    movwf TEMP3
    movf ADRESH,w ; get ADC result
    movwf TEMP4
    clrf STATUS,N
    movf TEMP2,w
    sublw B'11110010' ; if nil or negativ > stop motor
    btfsc STATUS,N
    goto overcrntloop
    movf TEMP3,w
    sublw B'11001101' ; if nil or positiv > stop motor
    btfsc STATUS,2 ; if zero stop motor
    goto overhtngloop
    btfss STATUS,0 ; test if ADC negativ or positiv
    goto overhtngloop
    bsf ADCON0,GO ; restart ADC
    return
    Commutate
    movlw SensorMask ; retain only the sensor bits
    andwf SensorPort,w ; get sensor data
    xorwf LastSensor, w ; test if motion sensed
    btfsc STATUS,Z ; zero if no change
    return
    xorwf LastSensor,f ; replace last sensor data with current
    btfss DirectionBit ; test direction bit
    goto FwdCom ; bit is zero - do forward commutation

    ; reverse commutation
    movlw HIGH RevTable ; get MS byte of table
    movwf PCLATH ; Prepare for computed GOTO
    movlw LOW RevTable ; get LS byte of table
    goto Com2
    FwdCom ; forward commutation
    movlw HIGH FwdTable ; get MS byte of table
    movwf PCLATH ; Prepare for computed GOTO
    movlw LOW FwdTable ; Get LS byte of table
    Com2
    addwf LastSensor,w ; add sensor offset
    btfsc STATUS,C ; page change in table ?
    incf PCLATH,f ; yes - adjust MS byte
    call GetDrive ; get drive word from table
    movwf DriveWord ; save as current drive word
    return
    overcrntloop
    clrf DrivePort ; set motor drivers off
    bsf LED2 ; put blue LED on
    bsf BUZZER ; switch tweeter on
    goto overcrntloop
    overhtngloop
    clrf DrivePort ; set motor drivers off
    bsf LED3 ; put Red LED on
    bsf BUZZER ; switch tweeter on
    goto overhtngloop
    GetDrive
    movwf PCL

    FwdTable
    retlw B'00000000' ; invalid
    retlw B'00010010' ; phase 6
    retlw B'00001001' ; phase 4
    retlw B'00011000' ; phase 5
    retlw B'00100100' ; phase 2
    retlw B'00000110' ; phase 1
    retlw B'00100001' ; phase 3
    retlw B'00000000' ; invalid

    RevTable
    retlw B'00000000' ; invalid
    retlw B'00100001' ; phase /3
    retlw B'00000110' ; phase /1
    retlw B'00100100' ; phase /2
    retlw B'00011000' ; phase /5
    retlw B'00001001' ; phase /4
    retlw B'00010010' ; phase /6
    retlw B'00000000' ; invalid
    END
     

    Attached Files:

  2. BertKu
    Joined: May 2009
    Posts: 2,521
    Likes: 47, Points: 58, Legacy Rep: 223
    Location: South Africa Little Brak River

    BertKu Senior Member

    Well, nobody answered, thus I did some search on the Internet and found the TO3-P silicone-rubber pads 20 by 25 mm special for up to 6000 Volt insulation between MOSfet and heatsink. Will order a 100. Bert
     
  3. CDK
    Joined: Aug 2007
    Posts: 3,324
    Likes: 148, Points: 63, Legacy Rep: 1819
    Location: Adriatic sea

    CDK retired engineer

    You cannot expect answers that fast Bert. Some of us are asleep, others have urgent business.

    I have lots of TO-3 mica insulator washers intended for high voltage transistors, far larger than the TO-3 outline. I will gladly send you a handful.
    My experiences with the silicone pads are a bit ambivalent, the Chinese use nothing else but I once had a short circuit on the edge of a TO-220 when the pad was compressed too much.
     
  4. BertKu
    Joined: May 2009
    Posts: 2,521
    Likes: 47, Points: 58, Legacy Rep: 223
    Location: South Africa Little Brak River

    BertKu Senior Member

    I agree with you, but I was in the hurry and like to get the boat back into the water as soon as possible.

    Much appreciated for your offer, I would have taken it up with open arms, but I phoned around and found "Rubber Man" a small company in a town 60 Km away from me and he had a piece of silicone rubber 0.4 mm, 30 cm x 5 cm and I was able to cut 30 pads out of them.
    With a horse tool, for making holes in leather items for my horse, I made the perfect holes in them. I truly appreciate your offer and will take your experience at heart and check every MOSfet device for possible rough manufacturing edges before putting the ESC controller back again. The supplier stated that voltages of up to 5000 Volt would be acceptable. I checked in the Internet and found the following specs, which has the same type of material as I received from this supplier. All small electronic device shops in this part of the world, had nothing for me. I have been lucky, but thanks for your generous offer. Bert
     

    Attached Files:

  5. Jim Caldwell
    Joined: Aug 2013
    Posts: 267
    Likes: 8, Points: 18, Legacy Rep: 48
    Location: Cleveland, Ohio

    Jim Caldwell Senior Member

    What about heat transfer to the cooling plates?
     
  6. BertKu
    Joined: May 2009
    Posts: 2,521
    Likes: 47, Points: 58, Legacy Rep: 223
    Location: South Africa Little Brak River

    BertKu Senior Member

    Mica is very well know for high electrical insulation and high heat transfer. However we always used silicone paste between the mica and the to be cooled product, like transistors, Mosfet etc. Now somebody got clever and makes very thin silicone rubber sheets with excellent heat transfer. The sheets vary from 0.2 mm thickness to 0.5 mm. The 0.5 mm specs state up to 6000 Volt AC, which means according to me up to 8000 Volt DC. Thus the 0.2 mm I am using now, should be good enough for the 55 Volt DC I am applying. Bert
     
    Last edited: Aug 13, 2015
  7. BertKu
    Joined: May 2009
    Posts: 2,521
    Likes: 47, Points: 58, Legacy Rep: 223
    Location: South Africa Little Brak River

    BertKu Senior Member

    Sorry Jim, in thread No 4, I mentioned 0.4 mm, but I measured it and it is 0.2 mm. which is even better. Bert
     
  8. Jim Caldwell
    Joined: Aug 2013
    Posts: 267
    Likes: 8, Points: 18, Legacy Rep: 48
    Location: Cleveland, Ohio

    Jim Caldwell Senior Member

    Wow, half as thin as i was using 10 years ago, I had the same type of experience as CDK. Now I just buy 14s (58 volt) 300amp water cooled ESC and run them at 180 amps continuous,240 peak for $289.00 US.
     

  9. BertKu
    Joined: May 2009
    Posts: 2,521
    Likes: 47, Points: 58, Legacy Rep: 223
    Location: South Africa Little Brak River

    BertKu Senior Member

    Hi Jim, because nobody could tell me what to expect in power for a 5 meter long boat, I overdid it and made a 400 Amp (peak 1200 Amp) controller. However I figured now out that I only need up to 45 Amps and actual at low speed up to 20 Amps. The mechanical construction I made too complex and very difficult to take apart and rebuild. I have started to make one for low current again. Bert
     
Forum posts represent the experience, opinion, and view of individual users. Boat Design Net does not necessarily endorse nor share the view of each individual post.
When making potentially dangerous or financial decisions, always employ and consult appropriate professionals. Your circumstances or experience may be different.