TI's Instaspin - I have it working

I want to see how this goes.
 
naijs said:
My plan was to supply the Instaspin with a throttle-signal from an Arduino (Pot-meter wired to the Arduino). If possible, I also want to read out errors on the Arduino. I have figured out that I can probably use I2C-bus from the Arduino to the Instaspin.
Obviously, the low-tech solution would be to desolder the speed control potentiometer and run wires to an analog throttle. But interfacing to the controller digitally is a cool idea, and they obviously had this in mind when they provided SPI, JTAG, and CAN ports.
 
naijs said:
My plan was to supply the Instaspin with a throttle-signal from an Arduino (Pot-meter wired to the Arduino). If possible, I also want to read out errors on the Arduino. I have figured out that I can probably use I2C-bus from the Arduino to the Instaspin.

It doesn't work like that. Instaspin is a PROGRAM that runs on a C2000 DSP that is designed to run it. It's not some stand alone chip that you can wire a bunch of parts up to and have it work. There is no throttle input unless you create one. In order to do that you have to write code for the C2000. If you can write an I2C or CAN communication routines then you can take an extra 5 mins and add the lines of code to do the A/D and read a hall throttle. If you understand coding in C++, adding a throttle is easy. I however had to learn about C++ (It had been 15yrs) and read up on the parts of Instaspin and do the tutorials so adding a throttle took me a while to get to.

I'm not sure if you understand what Instapin is or isn't at this point, but I'd like to hear more on the throught process before I say more. What feature does the arduino have that the $17 Texas Instruments F28027 Launchpad with Instaspin couldn't do?
 
zombiess said:
It doesn't work like that. Instaspin is a PROGRAM that runs on a C2000 DSP that is designed to run it. It's not some stand alone chip that you can wire a bunch of parts up to and have it work. There is no throttle input unless you create one. In order to do that you have to write code for the C2000. If you can write an I2C or CAN communication routines then you can take an extra 5 mins and add the lines of code to do the A/D and read a hall throttle. If you understand coding in C++, adding a throttle is easy. I however had to learn about C++ (It had been 15yrs) and read up on the parts of Instaspin and do the tutorials so adding a throttle took me a while to get to.

I'm not sure if you understand what Instapin is or isn't at this point, but I'd like to hear more on the throught process before I say more. What feature does the arduino have that the $17 Texas Instruments F28027 Launchpad with Instaspin couldn't do?

Okay. Thank you for your replies. It looks like I have underestimated the DSP's capabilities. Like you, I have programmed some C++ many years ago, so I guess I'll have to wipe some dust off my old school-books.

After digging into the DSP and Launchpad and after reading your comments , I now wonder if I could put my throttle signal directly into the C2000? My throttle signal is just a regular pot-meter...

Thanks one more time for your replies, they are highly appreciated! And sorry for all stupid questions, it clearly looks like I have to read more about the Instaspin/C2000 DSP...
 
naijs said:
I now wonder if I could put my throttle signal directly into the C2000? My throttle signal is just a regular pot-meter...
If you don't like my suggestion of removing the on-board pot and wiring to its contacts, I think any other option would involve a much bigger investment of learning, research and time.

The C2000 has 16 ADC channels, but only one of these (A4) is unused, and there doesn't appear to be a way to access it physically. If you can find a way to connect, then you'd probably only need to change the code to read that channel instead of the onboard pot channel.

Otherwise you'd have to figure out a way to repurpose one of the other 15 channels, which would definitely involve coding and probably some hardware work. It looks like there's a lot of redundancy (9 current sense inputs when only 2 are needed) but figuring out how to make one of these a throttle would be a significant task, since you'd have to through all the code to be absolutely certain you're not breaking anything by removing the expected function of whatever channel you choose to use.

Given these obstacles, I think the Arduino-I2C option might actually be less trouble.
 
I have a DRV8312-69M-KIT to develop for a fixture (not a bike).

The motors driven are for cogless infinite positioning motor system. Custom made motors with fixed drag clutches.

The F2806x Piccolo has an active sensorless detection system (TI calls it FAST, Flux/Angle/Speed/Torque) where instead of just reading the "open leg" voltage swing, they also measure reluctance at higher frequency.

Most of the machines I design use steppers for positioning and BLDC's for motion. First one I've designed for precision motion using a BLDC.

Yes we have an encoder, no it's not used for commutation, only position sensing at mind-boggling resolution.
 
Back
Top