curious if a Arduino could be configured to read and serial print raw binary bits from a proprietary serial encoder used on machine tools and robots... if so, might have a lot of other possible uses.

I made up a 120 volt servo drive for manually moving big fanuc machine/robot servos, handy during rebuilding/service to be able to move a axis without a control...but the older drives read 4 gray code channels kinda like a set of halls for brushless commutation...on the serial versions, same drive could move the motor if I could decipher the commutation bits and output graycode to the drive... a tiny Arduino looks like a ideal little thing to try doing this.

Scoped out the signals long ago, kinda know where the bits are, but need to be able to actually print them out thru 90 degrees of shaft rotation to find the 12 steps for commutation required by the drive.

Arduino is new to me, but in the past few days have been quite impressed with its abilities. If anyone can suggest a way for Arduino to read a repeating 77 bit data stream at ~100K baud, I'm all ears... I think a 'serial snoop tool' with easily changed baud rates(including non-standard) and 'word length', then serial print out could be really handy. to prevent overflow in my case, could only do the serial print every X milliseconds, and I could just rotate slow enough to get a decent sample.

  • It should be possible, monitoring the I/O in software if not with the UART block. But there are better tools for such a job, such as a CY7C68013A-based logic analyzer or possibly a bus pirate - the idea there is you stream an excess of data continuously to the PC, and then decode it in PC software. – Chris Stratton Oct 31 '14 at 19:43
  • thanks & I agree, that might be easier tool to read the data- but I also want to use the data to emulate 4 TTL outputs, and put it in the drive cable permanently...not really wanting to add a computer, just a small decoder- all I need is to extract the bits, and drive outputs emulating the old school brushless servo commutation tracks with a small stand-alone device. I truly think finding the signal and manipulating/outputting 4 digital signals will be the easy part- getting a 100K baudrate/77 bit word into the little Arduino (or another similar device with a few outputs) will be the hard part – tc429 Oct 31 '14 at 22:42
  • Note that, for this to work, you'll need to maintain a 5V logic level signal for the UART to operate on. – Anonymous Penguin Nov 1 '14 at 20:19
  • not a problem, the drive has a regulated 5v supply for the encoder – tc429 Nov 2 '14 at 2:21
  • getting 100k baud sorted out is my concern, as i dont know if i can use the serial monitor if using the rx pin to monitor the encoder- dont think so as it looks like the serial monitor will require standard 8 bit/'normal' baud selections...so may still need a logic analyzer to pick apart the bits initially. I'm thinking as a alternative, just to do a 115200 repeat dump of some 77 bit patterns I have already stored from a old laptop. just need to get the arduino to receive it. – tc429 Nov 2 '14 at 2:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.