Version 2 Crystalyte Controller information

the 7: position C is only place i have seem bmc boards mounted as normal running position,but you can tell very easily when you have the best position, motor just runs much better, very easy to tell where the spot is when moving the board around, I'll do more tests as much as can get for questions on your post, alot of orders to get out at the moment, will do as time permits.
 
points where change in direction occur independent of rpm
sweet spots at c,e,k and m. Not sure if will have time to be changing the phase and hall sensors connections to see if other combinations will work at point D, as you approach D or H or L, from either side, right at middle point is changeover in direction independent of motor rpm, just to the left or right of those points motor will run but pretty rough and amps higher, thats for the hall/motor combination using, can only see one other combination would work and that will just reverse motor direction.
 
Solarbbq2003,
Thanks again for further clarification.
Take good care of your business first.
Don't worry too much about the suggested tests
 
monster said:
calinb said:
fechter said:
OK, T5 looks like a PNP high side driver. On the analog controller, this is a 2n5401.
The surface mount version of this is a MMBT5401: http://www.fairchildsemi.com/ds/MM/MMBT5401.pdf

You can get it from DigiKey: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=MMBT5401FSCT-ND $0.14ea.
The FET control has definitely changed in Ver. 2. I think the pinout of the MMBT5401 might not work. The lone "center" pin of the SMD transistor package is connected to the gate of the FET. This should be the PNP emitter. The lower right pin of the SMD transistor is connected to the source lead of the FET so this should be the PNP collector. Thus, the collector and emitter pins appear to be swapped, compared to the MMBT5401

There's also a 2nd BHD 1F transistor in the circuit (also with BHD 1F markings). I haven't attempted to create a schematic. It's blown on my board too--along with the BJD 1I transistor so I need to replace all three of them.

I could just buy some 2N5551 and 2N5401 transistors in a TO-92 package and solder them to the board's SMD device pads. An NTE288 crosses to the 2N5401 and an NTE194 crosses to the 2N5551. They are available locally.

Has anyone managed to successfully replace any of the gate transistors and get their controller working again?

Thanks,

-Cal

dude i am just about to solder my board back together and now you say that! :D what should i do for T5? your advice clashes with fechters. can we resolve this so i don't have to make a 50/50 guess :? cheers


I hear ya'! I've been holding off on soldering my three transistors in the hope that fechter might take another look at it. If you have an ohmmeter, you'll see what I'm saying. If we assume the "N" and "T" transistors are compatible with the MMBT5401 and MMBT5551, respectively, then the FET gates are connected to the collectors of the transistors ("T" transistors though a 51 ohm resistor), instead of the emitters like Ver. 1. The circuit is totally different than Ver. 1, however. I really need to find time to probe the board more fully and create a schematic of it.

All I can say right now is either these transistors have a different pinout (collector and emitter pins are swapped from the 5401/5551) and, accordingly, they are not compatible, or the Ver. 2 circuit switches the FET gate from the collector side.
 
just a note on sweet spots:
when I rev motor up to max rpm, it sounds good on sweet spots, other places its runs rough or noisier, there has been chat before about advancing sensors etc, I dont think would make any difference, just from testing seems the good spots do the job at high rpm also, its getting pretty fiddly to start testing those spots on different rpms, I dont think worth while.
 
SolarB - I'll get a laugh out of you yet.

Next thing we know you'll mount a rotatable plate with hall sensors on it, and timing points.

Yeah Bubba, hand me that timing light there, she runs best at 15 degrees advanced :lol:

DK
 
monster said:
dude i am just about to solder my board back together and now you say that! :D what should i do for T5? your advice clashes with fechters. can we resolve this so i don't have to make a 50/50 guess :? cheers
Fecter knows way more about controllers than I know about them but this is a Ver. 2 so best to check. I de-soldered two good transistors (NPN and PNP) and tested them with my $4 Harbor Freight special multimeter. I can't remember which one's which and I think I've had my Ts and Ns and BHD 1F and BJD 1I vs. NPN and PNP backwards in past posts. Sorry I don't have my notes with me right now but I think fecter's suggested parts are okay. At any rate, I checked the pinouts on both the NPN and PNP transistors and they are compatible with the MMBT5401 and MMBT5551 SMD component pinouts after all. The hfe was close to 290 on both parts. That and the pinout is all I checked. The circuit is not the same as the FET gate driver in Ver. 1, but I don't have time to figure out a schematic right now.

So I think we should solder them in. I've only found one surface mount part of the pair so I'll need to replace the other side with a TO-92 package.

Good luck!

-Cal
 
85v test bmc ( not sure if motor is 250 or 500watt version) with v2 (adjusted for higher frequency)
max rpm 3398 ( well hit 4,000rpm really) in 26" rim with 5:1 reduction in bmc would be 115km/hr ( no load test of course)
think I might put some blades on this motor and make an aeroplane!! motor appears not to be miss firing at 4k rpm
vid on this link:
http://www.ebike.biz/images/videos/bmc85v3398rpm.3gp
 
solarbbq2003 said:
85v test bmc ( not sure if motor is 250 or 500watt version) with v2 (adjusted for higher frequency)
max rpm 3398 ( well hit 4,000rpm really) in 26" rim with 5:1 reduction in bmc would be 115km/hr ( no load test of course)
Ooh 3398 rpm !! It gives a frequency of 906 Hz.
Seems your V2 has no frequency limit!!

If 4000 rpm, it will be 1067Hz (over 1000 Hz) with 100V supply.
 
i think the chip has 24 and 48mhz, i'm guessing its set on 48mhz, it would have to have some limit, but seems to run ok at 4,000rpm, cant see anyone wanting to go over that, so looks like v2 will be good for bmc when chip is adjusted for higher freq, I got someone in china to adjust the chip freq so not sure how its done, will try to get info on it.
 
i've soldered my FET's and trans and my board is ready to test!

i'll let you know when i have tried it. i need a connector for the hall cable. soz to leave you on tender hooks.
 
to the7:
what would be the freq the chip is running on for 4,000rpm?
would it be over 48Mhz? ( or khz sorry not sure which units it is)
 
solarbbq2003 said:
to the7:
what would be the freq the chip is running on for 4,000rpm?
would it be over 48Mhz? ( or khz sorry not sure which units it is)


The PWM frequency for C-controller is usually about 17kHz (I don't have V2 to confirm its exact value).
The PWM frequecncy is scaled down from the MCU clock frequency with a fixed ratio.
It is better to restrict the maximun motor frequecncy to less than 1/20 of the PWM frequency.
So the maximun motor phase frequency is restricted to 850 Hz.
Analog LP filter for Hall signal could be also designed on this motor frequency.
The motor frequency is NOT related to the MCU clock frequency but to rpm of the rotor.

What happen iIf the MCU clock frequency is up-clocked twice (say from 24 MHz to 48 MHz) and assume the MCU still works?

(1) The PWM freq will be also twice (say 17 kHz to 34 kHz).
The PWM switching loss in FET will be twice. FET will be hotter.
May be it will allow a higher "maximum motor frequency" (say from 850 Hz to 1700 Hz).
But don't think it is adviceable to operate motor at such high frequency.
The LP filter of Hall signal may not allow for such high frequency.

(2) The rate of excuting programming instruction will be twice.
The MCU will run hotter.
Time deriving from the clock frequency will be "wrong".

Edited: (1) and (2) may not applicable to V2. Please read rkosiorek's post for the operation of the MCU in V2.
 
the CPU used in the V2 controller is the Cypress Semiconductor CY8C24423A. Datasheet is in the enclosed PDF file.

the chip has an internal 24MHZ clock. the internal 24Mhz clock is always used during boot up. the first stage of the boot up reads from the flash memory and uses this information to write to the configuration registers. these configuration registers then set which of the chip pins are used for I/O A/D etc. one of these registers is also used to select what type of system clock is used.

bootup or reset the chip will always default to the internal 24mhz system clock.

the setup can also set the clock driving the cpu to be 24mhz or 24/n mhz where n= an integer between 1 and 8. acpu speed as slow as 3mhz is possible to conserve power. this can be configured either in the initial setup or under software control.

there is also a SYSCLOCK X2 or 48Mhzsignal . the 48Mhz cannot be used as the cpu clock it can only be used as a digital signal for some of the internal digital functions.

two pins are provided for an external 32.768khz clock crystal. this crystal is used as part of a PPL to adjust the accuracy of the internal 24mhz clock. you can only activate this synchonization as part of the setup or under program control. the two pins used for the crystal are not available for use with the crystal as they are already wired to be used as the highside and lowside drivers for Phase C.

there is also an external clock input pin. it can be clocked at up to 24mhz. but the catch is that the external clock can only be turned on either during setup or later under program control. the 48mhz SYSCLCKX2 signal cannot be used to clock the cpu but only as part of the digital signal functions.

this is explained on page 445 of the Cypress Mixed Signal Array Technical Reference Manual.

"25.1.4 External Clock

The ability to replace the 24 MHz internal main oscillator
(IMO), as the device master system clock (SYSCLK) with an
externally supplied clock, is a feature in the PSoC mixedsignal
array (see Figure 25-1).
Pin P1[4] is the input pin for the external clock. This pin was
chosen because it is not associated with any special features
such as analog IO, crystal, or In System Serial Programming
(ISSP). It is also not physically close to either the
P1[0] and P1[1] crystal pins. If P1[4] is selected as the external
clock source, the drive mode of the pin must be set to
High-Z (not High-Z analog).
The user is able to supply an external clock with a frequency
between 1 MHz and 24 MHz. The reset state of the EXTCLKEN
bit is ‘0’; and therefore, the device always boots up
under the control of the IMO. There is no way to start the
system from a reset state with the external clock.

When the EXTCLKEN bit is set, the external clock becomes
the source for the internal clock tree, SYSCLK, which drives
most PSoC device clocking functions. All external and internal
signals, including the 32 kHz clock, whether derived
from the internal low speed oscillator (ILO) or the crystal
oscillator, are synchronized to this clock source."


Note: IMO= Internal Main Oscillator.

so the only way to change the speed of operation would be to access the program code and change the chip configuration. and then only if the configuration used is for less than the maximum 24mhz.

on the V2 Board just above where the Hall sensors are connected there are 5 blank pads. these can connect to an ISSP (In Circuit Serial Programmer) to gain access to the internal code. i have one of these that i have used on other projects using other Cypress chips. i have tried to use this to dump the chip. i have been unable to. Cypress includes a security feature that allows memory locations to be locked to prevent reverse engineering. at least on the chip and board that i have this security feature has been enabled. i know that it is working because it does identify the cpu correctly.

Brett, I think that your friend has access to either a V2 board where this security was not enabled or the original code and he was able to reprogram the system clock.

i wonder if he remembered to reactivate this security feature after he sent the modified board to you? i wonder if yours is open to being read. or he could be very creative and has he found some way to fool the chip into accepting a faster clock. does your board have any parts tacked onto the board in close proximity to the CPU?

rick
 

Attachments

  • cy8c24423a_8.pdf
    1.4 MB · Views: 126
  • psoc_r__mixed_signal_array_technical_reference_manual__trm__14.pdf
    5.1 MB · Views: 288
wish i could get my hands on Brett's souped up controller to see what has been changed. unfortunately he is half a world away.

rick
 
rkosiorek said:
wish i could get my hands on Brett's souped up controller to see what has been changed. unfortunately he is half a world away.

rick

It would be great if you could do it!
 
HI Rick
I'll have a look see what can find re: how freq is increased , I just did another test at 97volt ( first run I had 63v caps in place, one of those went 'pop' and did a nice impression of a smoke bomb), put in some 100v caps and max rpm was 3,670rpm, could notice a little roughness at this speed so must be close to max freq.......not going any higher in voltage!!!
I dont have a spare board to send but at a later date might be able to arrange for another one but will see if can locate anything unusual that might give some clue as to how its done.
At 3,670rpm in 26" rim ( no load ) with 5:1 reduction would be 121km/hr ( will never get that speed in reality of course),
interestingly for a gearless motor with same pole number should give a top speed of about 600km/hr.
put a vid on last test here
http://www.ebike.biz/images/videos/bmctest97v3670rpm.3gp
 
85v test bmc ( not sure if motor is 250 or 500watt version) with v2 (adjusted for higher frequency)
max rpm 3398 ( well hit 4,000rpm really) in 26" rim with 5:1 reduction in bmc would be 115km/hr ( no load test of course)

i meant to say " well hit 3,400rpm really"........not 4,000rpm!!! but 3,670rpm aint to bad.......
 
that 600km/hr figure, would i guess depend on winding pattern, but i guess theoretically its possible at that rpm
 
monster said:
i've soldered my FET's and trans and my board is ready to test!

i'll let you know when i have tried it. i need a connector for the hall cable. soz to leave you on tender hooks.
I hope you get better results than I saw--three lights:

http://www.endless-sphere.com/forums/viewtopic.php?f=2&t=3896#p57235

Which means FET problems. Could be some other failures I've not found on the board too, I guess. I hear the motor energize (brrgnn sound ;)) but no movement.

Also, I replaced all 6 FETs with 4110s. Could the board not like them? Seems unlikely.

-Cal
 
it works! wo mumma ! :mrgreen: yahoo.

cheers fechter and every one for all your help!

V2 crystalyte fixed, FETs and transistor replaced replaced.
 
if i was a betting man i would not have put money on me getting that to work!
 
monster said:
it works! wo mumma ! :mrgreen: yahoo.

cheers fechter and every one for all your help!

V2 crystalyte fixed, FETs and transistor replaced replaced.

That's great news, monster! I might order the exact transistors you used, instead of the locally available NTE parts that I put in my board. I measured the hfe (Ibe to Ice current gain) on my NTE parts at 65, which is a bit lower than the spec for your parts (hfe 100 min, as I recall). Well-designed circuits should not be terribly sensitive to hfe, but my NTE transistor is pretty low and much lower than the 270 that I measured on the good parts I removed from my board.

Also, did you replace the FETs with the standard 4310s? I guess I could remove my 4110s and put 4310s back in the board, but I think it's unlikely to make a difference. More likely, there's still a fault in my board. It was pretty well toasted in a few places (copper vias and traces vaporized, etc.) It may be beyond reasonable resuscitation. I'm hoping Knuckles will email me with good news about the availability of his new controller.

-Cal
 
Back
Top