Hi Grog,

I need some help in implementing this in the myrobotlab inmoov service.

I will be able to do the hardware part.

Two limit switches are needed min and max. Logic low for trigger

Max triggered stop and reverse for selectable time interval maybe 50 ms to start with. Set speed to very slow

Min triggered stop and reverse for selectable time interval of 50 ms. Set speed to very slow

Timers used as no real position information available unless you add a potetiometer to axis.This will over complicate things for the moment

I suggest the switches for omoplate,shoulder and bicep axiz on inmoov

Thank you in advance for your assistance,  I am sure this will be off great value for all the inmoov builders out there

Regards Andre

 

 

 

 

 

 

GroG

8 years 4 months ago

Hello and Welcome Andre,

I want to make sure I understand you. 
Please correct any statement I have wrong.

1. You have made an InMoov and on it you have created hardware limit switches.
2. You are suggesting this these switches instead of the Potentiometers?
3. Your suggesting to create a time gradient (of ~50 ms) on each joint, so that the time will be used for absolute positioning...  for example servo.moveTo(850) - this would be milliseconds, and the arm would move for 850 ms then stop.  

Are all these correct?

Hi Grog,

Yes i am building an inmoov,  I am finished up to just above the hips.

Removed first version of head and busy with head mod with new eyes meganism and place for arduino and sound card in the head. I thus will have a number of free digital pins in the head arduino for the limit switches

I am using 40kg servos andy have broken quite a number of parts on the shoulders, omoplates and biceps

I am adding limit switches to these axis. Would like this to work first and then get smarter with hall effect swicthes and small magnets.

The nomal external potentiometers for the joints will still be used.

The limit switches will just be a min and max postion protection for the parts and servos.

The idea is when the shoulder hit max postion and trigger the limit switch the movement will stop and reverse slowly until the limit switch is not triggered.The timer would just be a way to control far to reverse the axis but is not neccesary if you stop and reverse slowly until the switch is now triggered. This will nomally happen is the setting of the servo pots in the begining or when driving the axis pas min and max for some reason

I am good with electronics and mechanics but a newbie with inmoov and myrobotlab

I hope that I answered your questions

Thank  you

Regards

Andre

Thanks for the explanation.   

I still have questions :)

1. Have you been using servo min / max - if so what are the short comings ?

2. Usually in control systems you don't want to mix the safety systems.  What I mean to say is there currently is a "software" control safety system .. the MRL's Servo min & max.  Its implemented in software.  If you want to create another safety system, perhaps you should not be using software.  For example, your limit switches are mechanical, they could use electronics, such as a relay, or transistor to prevent the servo from moving past a certain point, by electrically cutting the power.  Granted, it would not "reverse" the arm from the limit position, but it would probably save the part & servo.  If I understand you, you want software to read the switch position.  Software can be flakey .. and there already are min/max limits.  Are you sure you want software involved in these "new" limits?

3. If you want software to read the limit switches - it must do so at a regular interval, and report that the switch's state has changed.  This would be pretty easy to do in Python.  If you want to do this - what script are you currently using ?  Maybe we can start with that.

 

Do you have links to pictures of your build?  We always like to look at pictures here.  Maybe you can show us your nifty limit switches !

Press the picture button to put a picture reference or upload one

 

How to upload link