Hedge Hog-

I have been struggling with what appear to be similar issues with the 
general concepts that you have been. I have written some notes to myself 
about what I have discovered at 
[link](https://github.com/bschousek/piphat/blob/master/idiot.md) and 
perhaps they will be useful to you as well.

Brian

On Wednesday, May 3, 2017 at 7:31:52 PM UTC-5, Hedge Hog wrote:
>
>
> On Tuesday, May 2, 2017 at 5:35:33 PM UTC+10, Bas de Bruijn wrote:
>>
>>
>>
>> On 02 May 2017, at 08:18, Hedge Hog <hedgeho...@gmail.com> wrote:
>>
>> Thanks for taking the time to reply Alex,
>>
>> Re Q3 and using HAL to control the stepper motor.  Is there some example 
>> you know of that I could review?
>>
>>
>> Why don't you take the stepgen maxvel and maxaccel pins? You'll have to 
>> set them to a certain value anyway.
>> http://www.machinekit.io/docs/man/man9/hal_pru_generic/ 
>> <http://www.google.com/url?q=http%3A%2F%2Fwww.machinekit.io%2Fdocs%2Fman%2Fman9%2Fhal_pru_generic%2F&sa=D&sntz=1&usg=AFQjCNFwDekP5rJs4HiKcHW7vc8BvSlp9Q>
>>
>
> Thanks for that reference, I'll start there.  Apologies if I appear to be 
> obtuse or needy.
> It strikes me as quite a steep learning curve, and I'm really struggling 
> to wrap my head a round: a) the components b) where they are documented and 
> c) which re relevant to the issue/problem/question I have.
>  
>
>> Will your use case include a user setting these pins in Hal? In not, then 
>> is this "privilege" enough?
>>
>
> I'm sorry I do not know what to say. 
> Are HAL instructions/settings compiled in any way? are they compiled at 
> run time? Are the compiled into the binary that is distributed to the user? 
> Do they just sit there and are interpreted - so the user could edit them?  
> I feel quite embarrassed :) I've been reading for several days and I do 
> not feel I've even managed to get some f the basics straight in my mind.
>  
>
>> If the tp has bigger values then the stepgen has. The stepgen will not be 
>> able to keep up and will be limited to these values. So you won't violate 
>> your hardware specs, but get deviation from the path.
>>
>
> Okay this is great.  
> There are TP settings and stepgen settings.  Rather than pester you with 
> Q's - Where is best to read about these sorts of component hierarchies, and 
> who can stand on whose toes?
>  
>
>> If you don't want that you need to be sure that the limits on the tp are 
>> lower than your stepgen.
>>
>
> Okay this is great too.  
> It sounds like I'm responsible for ensuring that there are no conflicts, 
> i.e. MK does not, by default, ensure the TP path is adhered to by adjusting 
> relevant settings (maybe with warnings) to ensure that TP settings are 
> lower than the stepgen settings.
>
> Again rather than reproduce/rewrite the docs in the mail-list, could you 
> point me to where in the docs this these responsibilities are described/
>
> Best wishes
> Hedge
>
>
>> If not, does this approach employ some sort of Trajectory Planner API, or 
>> would this approach require implementing a TP from scratch.
>>
>> If I understand correctly, that understanding comes mostly from reviewing 
>> some of the issues in GRBL, a TP is a non-trivial undertaking.
>>
>> Best wishes
>> Hedge
>>
>> On Monday, May 1, 2017 at 2:47:22 PM UTC+10, Alexander Rössler wrote:
>>>
>>> I can answer Q3:
>>> You can protect your stepper motor spec on the HAL level. To ensure the 
>>> acceleration and maximum velocity values are never violated one could drive 
>>> the stepper via PID loop tuned with the correct parameters. If you want to 
>>> ensure the user cannot edit or override the values you can compile them 
>>> into a HAL component.
>>>
>>> Am Samstag, 15. April 2017 07:49:33 UTC-5 schrieb Hedge Hog:
>>>>
>>>> Hi,
>>>> I am considering a 3D printing use case, which is likely different from 
>>>> most CNC use cases in that the bed load/inertia is relatively 
>>>> constant/stable.
>>>> That's a generalization, but probably reasonable to say that in 80% of 
>>>> cases the mass and forces will be within a very narrow range.  
>>>> Compared to say a CNC machine carving a cubic foot of wood then a cubic 
>>>> foot of steel.
>>>>
>>>> I have read [1]-[8] and have three questions.  
>>>> From [1]-[8] I can't see that the pull-in/pull-out envelope (or slew 
>>>> range) is identified for a stepper motor. Nor does it appear that inputs 
>>>> are sought that would allow them to be guesstimated.  
>>>>
>>>> Q1) Am I wrong (and there is a set of approximations used to define the 
>>>> slew range given the inputs sought)?
>>>>
>>>> AFAICT:
>>>> a) the trajectory planner might be working with a single point on the 
>>>> pull-out curve of a motor, so you can expect the TP to try change 
>>>> direction 
>>>> in the slew-range of a stepper motor.
>>>> b) The TP does not consider/use the stop-start range where direction 
>>>> can be reversed without deceleration.
>>>>
>>>> Q2) Which of the above possibilities is applicable?
>>>>
>>>> Q3) Is there a way to ensure that an end user cannot get the trajectory 
>>>> planner to violate a stepper motors specs?  
>>>> I suppose these settings would have to be a compiled, or set by 
>>>> privileged user access, and can't be overridden by a configure file 
>>>> settings.
>>>>
>>>> Thanks again for all the effort that has gone into MachineKit
>>>>
>>>> Best wishes 
>>>> Hedgehog
>>>>
>>>> [1]: http://www.machinekit.io/docs/quickstart/stepper_quickstart/
>>>> [2]: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Formulas
>>>> [3]: 
>>>> http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Motor_Speed_Limitations
>>>> [4]: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Mechanical_Spreadsheet
>>>> [5]: http://www.soundproofingforum.co.uk/halitosis/
>>>> [6]*: http://www.machinekit.io/docs/config/stepconf/
>>>> [7]: http://www.machinekit.io/docs/common/Stepper_Diagnostics/
>>>> [8]: http://www.machinekit.io/docs/motion/tweaking_steppers/
>>>>
>>>> -- 
>> website: http://www.machinekit.io blog: http://blog.machinekit.io 
>> github: https://github.com/machinekit
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Machinekit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to machinekit+...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/machinekit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to machinekit+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to