- Posts: 19311
- Thank you received: 4655
OK, that sounds quite interesting. You'd have to move the motor up to oneIt's not a great or preferred solution, but there is an alignment routine built in to bldc which blindly energises the poles in a particular pattern and takes note of the resulting encoder counts.
full turn to reach the index position,
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Yes, well, that is the downside of serial encoders. The count rate can be insane, but you get large"The data rate is 1.024 MBits/second, and you get a 77-bit asynchronous stream of bits with no clock after the start bit. So, the clock rate has to be pretty well-matched to stay in sync.
Jon"
This sounds like our normal UART with the data length extended to 77 bits would work.
This UART uses a DDS started synchronously by the start bit to generate the sample clock.
This scheme has the advantage that it allows high resolution setting of high baud rates (rather than the more normal programmable divider baud rate generator that has high resolution settability only at low baud rates)
Currently this uses a 20 bit DDS so at 50 MHz and with some back of a napkin calculations, I get less then 5 % of bit cell timing error max at the last bit.
Its a bit obnoxious that it takes ~77 usec to get the data however.
Please Log in or Create an account to join the conversation.
Yes, this is exactly how my Fanuc encoder converter works, and the motor runs with some vibration untiljmelson wrote:
OK, that sounds quite interesting. You'd have to move the motor up to oneIt's not a great or preferred solution, but there is an alignment routine built in to bldc which blindly energises the poles in a particular pattern and takes note of the resulting encoder counts.
full turn to reach the index position,
it's not actually that complicated. The point is that all that matters for commutation is the motor magnetic positon. bldc simply takes the position with A at +V and B,C at -V as commutation angle zero (it's as good a choice as any). All the commutation inputs and outputs use this same convention internally, and it doesn't actually matter if this doesn't match the motor or drive assumptions because it all eventually cancels out.
The magnetic alignment process just wiggles the phases clockwise and anticlockwise, converging on the A+ B- C- position (an attempt to shake stiction free)
There are far cleverer ways to do it based on back-emf etc, and sensorless drives do exactly that, but AFAIK there is no way to get that data in to HAL, so it can't be used.
if anyone comes up with a scheme, I am happy to integrate it into bldc. ditto for any encoder schemes, I have already included the Fanuc 16 position commutation as both input and output modes, so for example you can (badly) translate Fanuc Gray code into Hall signals for a non-Fanuc drive. it's not a good solution, as 6 into 16 doesn't go, but it is enough to spin a motor until an index is seen and the component can start commutating sinusoidally.
Please Log in or Create an account to join the conversation.
I can't quite match this motor up with my data, but the B031 seems to indicate a taper
The one servo motor is a model 5 part number A06b-0512-b031 and is marked "pulse coder".
Please Log in or Create an account to join the conversation.