Page 1 of 1

how can I detect limit switch using 1067 ? by currentChange?

Posted: Wed Mar 01, 2017 3:09 pm
by lrakoto
Hi everybody,

i am a newbie ! :(

I just bought a 1067( it is not arrived yet !) to be used with a geared nema23 (2.8A/coil) stepper motor but unfortunately, I just discovered that digital inputs have been removed in 1607 ! How could i manage then the "homing" ? (before I was used to use limit switches via digital inputs)
Inside the user guide , it is written :

"There are several ways of overcoming this drawback. The simplest is to allow the motor load to depress a limit switch (but how to report without any digital inputs ? ) located at a known position. This can be used to fire an event in software to recalibrate the shaft position values. A more elegant solution might involve the mounting of an optical encoder on the shaft and the development of a control system (but how to compute without any digital inputs ? ) ."

Then, my dawback plan is to fix a mechanical limit and then monitoring the StepperCurrentChanged(e) function.
Could someone enlighten me please ?

Thank you in advance,
lrakoto

Re: how can I detect limit switch using 1067 ? by currentCha

Posted: Thu Mar 02, 2017 1:42 am
by lrakoto
Sorry for my bad English,

I meant, the only way that I found to get a " homing " (zero position) as a drawback solution is to place a mechanical stop and monitoring the CurrentChange status.
But, is this working using the 1067 ? ( because I read also that the current sensing on 1067 has been removed ??)

If somebody has another idea, it will be really welcome :)

Thank you,
lrakoto

Re: how can I detect limit switch using 1067 ? by currentCha

Posted: Thu Mar 02, 2017 9:48 am
by mparadis
You are correct, the 1067 on its own cannot support limit switches or an encoder because it does not have digital inputs or an encoder input, respectively. The reason we removed the digital inputs is because our board design philosophy is shifting towards modularity, rather than trying to include everything that may or may not be useful. The hope is that this will keep the cost of the controller down so customers can buy separate boards to read limit switches and encoders only if they need those things. (I realize the 1067 is no cheaper than it's predecessor, the 1063, but that's because it has additional features that make it better at controlling motors)

Current sensing has been removed on the 1067, although I don't think you'd want to intentionally stall the motor as a means of zeroing position anyways, as it can be hard on the controller.

Re: how can I detect limit switch using 1067 ? by currentCha

Posted: Thu Mar 02, 2017 5:40 pm
by lrakoto
Dear mparadis,

First, thank you very much for your response.

I respect very well your choice by eliminating some features for cost reason (i.e. current sensing).

But, on my point of view, having removed all digital inputs means "elimination" of one of the main reasons why choosing the 1067 among many others: its ability to be autonomous to be one of the rare high current stepper motor controller. ( instead of using both an Arduino and an external a4988 circuit drive)
It's a pitty because those GPIOs are already physically present ( just a matter of bringing at least one pin out to a connector to detect a zero position switch) and software function exists already, so just a release of the firmware).
It's a bit hard and sad to think adding a 1011 (50$ on top of 100$ for 1067)just to control one little limit switch (means also using two usb ports !)

I would like to be a beta tester for an eventual firmware release using one of those many Gpio unused pins to monitor a limit switch.
The other big reason to choose 1067 is the richness of the library !!!

KR,
Lrakoto