I have been assigned a project (my first real design project as an engineer in industry ;D) by my company which requires me to program a G30 and assimilate it into a system which I am redesigning. I am completely new to embedded design but am a decent programmer with C# being my strong point (hence why I chose the GHI chips instead of a micro-controller which uses C).
Here is a basic overview of the project. What I need to do is program a G30 to take input from a hall effect sensor and control a DC stepper motor (capable of 0.1 degree steps) based on the hall effect sensors input. The G30 must also interface with a display (it only needs to send basic text over the SPI interface). The motor also needs to be controlled by a rocker switch. A calibration mode and switch will also be present.
I am starting with a G30 development board in order to familiarize myself with programming micro-controllers. Currently my program can turn the display back-light on and I can control both the display and the LED located at pin PC7 with one of the buttons. Next I would like to send basic text to the display. I have the brainpad display classes in my code but am not sure how to implement them. This is the first part I need help with.
The next part I will need help with is DC stepper motor control. I currently have an IMSPlus motor controller and a Scheiner M-1713-1.5S motor to control (I will be replacing these with cheaper alternatives in the final design but this is what I have to begin learning the motor control aspects of my program)
Thank you in advance for the help, I greatly appreciate it.
@ Justin - I think your code is using the GHI display class which is not supported by the G30 a custom display class must be used which comes from the brainpad.cs driver.
@ Mr. John Smith - The hall effect sensor being used is an Allegro A1101LUA-T. This sensor has been used in production of this device for 20 years. I am tasked with hardware and software redesign (The original software is so old that the C syntax is even outdated so that is why I am not even bothering with C and going with my most comfortable language). You are correct by saying that I need 3600 steps per rotation. Currently a 1.8 degree stepper motor is used with an IMSPLUS controller and a worm/spur gear combination to achieve such high resolution. I am open to new motor and motor controller suggestions as the IMSPLUS is almost $100 per unit and we sell hundreds of these devices. I need to cut down costs as much as possible. The Scheider M-1713-1.5S motor being currently used is also very heavy/bulky, and from what I have heard, it is quite hard to control. Maybe that is why the original design included such an expensive motor controller?
YES I figured out the display ! The dev board display config says RS: PB0 but does not detail what RS is. I figured out that needs to be set as the control pin in the peripherals class from the brainpad code. What exactly does RS stand for? This is very unclear and there is no documentation describing it.
Now on to the motor control. How can I hook up a stepper motor controller and a motor to the dev board? I have bread board material to connect motor and controller together but am not sure how to attach this to the dev board. I currently have an IMSPLUS but they are very overpriced. Thinking I will replace with one of these TI controllers:
I am not sure which controller is best or which motor I should be matching it with. Need recommendations please!
I am reading the writing on the development board next to the display. It says:
Display: SPI2
CS: PB1
RS: PB0
RESET: PB12
BL: PA7
Is registry select equivalent to the control pin? Nothing worked until I set the control pin to PB0 now I have full display control. Wondering how I change the color of the display background from black to white now.
Here is a potential motor controller, will this suffice for my high resolution / microstep stepper motor needs? I do not know a whole lot about motor controllers.
@ Justin - Both the products you linked me to are discontinued. Are you saying I should use the dSPIN L6470 controller from that module? Keep price in mind as I am manufacturing thousands of these devices over the coming years. Those TI chips are only a couple bucks and the price of a module like you suggested is ~$30
EDIT: Approximately how many flim flams are in a spiders doodle?
@ Gus - Ok thank you. While you piece together a demo, also write down display options for what we can order with our G30 orders when we start production and shoot me an email please.
@ Justin - The cheaper the better, even $3 difference saves my company a few thousand off a year’s worth of production. What is the easiest interface method? Will the ST controller be just as easy to control as a TI one? Which is more reliable?
I wish I was working in New Zealand I applied for a work VISA but couldn’t line a job up even though the government is looking for mechanical engineers. Although, microwave engineering in Florida turned out to be pretty damn badass.
I heard they are world renowned. I need a motor that is very reliable so customers do not come back complaining that their missile hit the wrong target or their satellite fell out of orbit after 5 years because I selected a motor with internal plastic parts.
@ hwalker_MIWV - Don’t you need a RAD hardened motor for Space and Military use? Also, you just need to open up the motor yourself to see what’s inside. For step motors you just need to know what the angular accuracy is(5% etc) and the number of steps per revolution. I like oriental motor personally; but my experience is limited. Lastly, your TI is easier to control, but you will have to write your program control motor acceleration, wheas the ST L6470 has a co-processor that does this for you.