pushpull feeders actuation

180 views
Skip to first unread message

jdlv...@gmail.com

unread,
Oct 11, 2022, 10:11:55 AM10/11/22
to OpenPnP
Hi,
some of my pushpull feeders freeze for 1 or 2 seconds during the actuation movement and I noticed that this seems to be related to the fact that in the machine.xml file the rotation of the actuation positions of these feeders is not zero. By resetting the rotation to zero the freeze doesn't occur.
So before resetting all rotations I prefer to ask if it is a bad idea or not...

            <hole-1-location units="Millimeters" x="335.54868134" y="384.85091194000006" z="-0.0" rotation="0.0"/>
            <hole-2-location units="Millimeters" x="335.54868134" y="380.85091194000006" z="0.0" rotation="0.0"/>
            <feed-start-location units="Millimeters" x="352.97068134" y="430.34591194000006" z="114.99999999999999" rotation="0.911633235848825"/>
            <feed-mid-1-location units="Millimeters" x="352.97068134" y="430.34591194000006" z="149.0" rotation="0.0"/>
            <feed-mid-2-location units="Millimeters" x="0.0" y="0.0" z="0.0" rotation="0.0"/>
            <feed-mid-3-location units="Millimeters" x="352.97068134" y="433.34591194000006" z="149.0" rotation="0.911633235848825"/>
            <feed-end-location units="Millimeters" x="352.97068134" y="417.34591194000006" z="149.0" rotation="0.911633235848825"/>

Thanks
joël

mark maker

unread,
Oct 12, 2022, 9:51:04 AM10/12/22
to ope...@googlegroups.com

Hi Joël

The rotation should be no problem, so please post a TRACE level log of when this occurs.

If I were to guess wildly, it's an axis Switch Linear ↔ Rotational issue.

If yes: On a Smoothie or Duet controller, you should get a suggestion from Issue & Solutions. Do you? (Make sure to Include Dismissed)

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/0f571129-cf53-4acb-9c73-62691ad49227n%40googlegroups.com.

jdlv

unread,
Oct 12, 2022, 11:34:59 AM10/12/22
to ope...@googlegroups.com

Hi Mark,

yes I'm on Smoothie, Issue & Solutions doesn't make any suggestion about linear rotational and the "Switch Linear Rotational" box is checked for A axis.

The push pull Lever moves up and down with a small SG90 servo, driver is a very basic arduino controller.

Attached is the full log, interesting things comes after line 2700.

Thank you very much!

joël

sftp://pnp/home/moa/.openpnp2/log/OpenPnP.1.log

mark maker

unread,
Oct 12, 2022, 12:00:55 PM10/12/22
to ope...@googlegroups.com

OK. I spoke too soon.

Originally/typically, the push-pull actuator does not have a rotation axis assigned, so the rotation coordinates are ignored.

https://github.com/openpnp/openpnp/wiki/ReferencePushPullFeeder#actuator-axis-mapping

However, I recently added this:

https://github.com/openpnp/openpnp/pull/1390

https://github.com/openpnp/openpnp/wiki/ReferencePushPullFeeder#coordinated-peeling

So, rotation coordinates are evaluated now (in previous versions, they were forced to zero, I believe), so maybe your rotation coordinates are a residue from an older OpenPnP version that you should in-deed clean out.

If such rotations reappear, for instance when cloning feeders, then please report back. That would be a bug.

Notwithstanding the above, I frankly don't understand your feeder design. Why does the push-pull actuator have a rotations axis assigned? And what are you actuating using the SG90 servo?

_Mark

jdlv

unread,
Oct 12, 2022, 3:25:13 PM10/12/22
to ope...@googlegroups.com

push pull feeder is a bit customized design, the short video will explain all. Fisrt feed is with rotation = 0 second one with non zero rotation.
Actually push pull actuator have no rotations axis, only a Z axis to drive the servo.

Thanks
joël

pushpull feeder.mp4

bert shivaan

unread,
Oct 12, 2022, 5:02:23 PM10/12/22
to ope...@googlegroups.com
Very nice design on the actuator


jdlv

unread,
Oct 13, 2022, 9:42:48 AM10/13/22
to ope...@googlegroups.com

Thanks, it works quite well.

joël

mark maker

unread,
Oct 14, 2022, 6:25:33 AM10/14/22
to ope...@googlegroups.com

I see, clever design.

Frankly, if there is no rotation axis mapped, I don't understand how this pause can happen, I also haven't actually found it in the log. Maybe you can point it out?

_Mark

jdlv

unread,
Oct 14, 2022, 7:43:47 AM10/14/22
to ope...@googlegroups.com


first pause of 2.202 seconds

2022-10-11 15:15:08.615 GcodeAsyncDriver$WriterThread TRACE: [serial:///dev/serial/by-id/usb-Uberclock_Smoothieboard_0A00B01DAF1C202759CAD65AF50020C7-if00] >> M114
2022-10-11 15:15:08.618 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-path/pci-0000:00:14.0-usb-0:11:1.0-port0] << G0 Z149.0000 ; move to target
2022-10-11 15:15:08.719 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-path/pci-0000:00:14.0-usb-0:11:1.0-port0] << ok

2022-10-11 15:15:08.719 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-path/pci-0000:00:14.0-usb-0:11:1.0-port0] << ok
2022-10-11 15:15:10.921 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-id/usb-Uberclock_Smoothieboard_0A00B01DAF1C202759CAD65AF50020C7-if00] << ok

2022-10-11 15:15:10.922 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-id/usb-Uberclock_Smoothieboard_0A00B01DAF1C202759CAD65AF50020C7-if00] << ok C: X:369.0403 Y:429.9448 Z:0.0000 A:0.0000 B:0.0000
2022-10-11 15:15:10.922 GcodeDriver TRACE: Position report: ok C: X:369.0403 Y:429.9448 Z:0.0000 A:0.0000 B:0.0000


second pause exactly the same duration

2022-10-11 15:15:12.242 GcodeAsyncDriver$WriterThread TRACE: [serial:///dev/serial/by-id/usb-Uberclock_Smoothieboard_0A00B01DAF1C202759CAD65AF50020C7-if00] >> M114
2022-10-11 15:15:12.244 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-path/pci-0000:00:14.0-usb-0:11:1.0-port0] << G0 Z115.0000 ; move to target
2022-10-11 15:15:12.345 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-path/pci-0000:00:14.0-usb-0:11:1.0-port0] << ok

2022-10-11 15:15:12.346 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-path/pci-0000:00:14.0-usb-0:11:1.0-port0] << ok
2022-10-11 15:15:14.548 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-id/usb-Uberclock_Smoothieboard_0A00B01DAF1C202759CAD65AF50020C7-if00] << ok

2022-10-11 15:15:14.549 GcodeDriver$ReaderThread TRACE: [serial:///dev/serial/by-id/usb-Uberclock_Smoothieboard_0A00B01DAF1C202759CAD65AF50020C7-if00] << ok C: X:369.0403 Y:429.9448 Z:0.0000 A:0.9116 B:0.0000
2022-10-11 15:15:14.549 GcodeDriver TRACE: Position report: ok C: X:369.0403 Y:429.9448 Z:0.0000 A:0.9116 B:0.0000


Thanks,

joël

mark maker

unread,
Oct 14, 2022, 11:16:39 AM10/14/22
to ope...@googlegroups.com

OK, thanks, but I dismissed all those A moves, as you said you have no rotation axis mapped to the push-pull actuator, so I really don't understand anymore.

Please send the machine.xml

_Mark

jdlv

unread,
Oct 14, 2022, 1:01:34 PM10/14/22
to ope...@googlegroups.com

Sorry, looking at the right place the push-pull actuator is actually mapped to the rotation axis, by removing the mapping the pause is no more.

The air valve and pressure sensor are both mapped to X and Y axis. They are located on the head. Does this hurt? Should I remove the mapping?

Thank you !

joël

mark maker

unread,
Oct 15, 2022, 3:58:59 AM10/15/22
to ope...@googlegroups.com

> Sorry, looking at the right place the push-pull actuator is actually mapped to the rotation axis, by removing the mapping the pause is no more.

Good to hear.

> The air valve and pressure sensor are both mapped to X and Y axis. They are located on the head. Does this hurt? Should I remove the mapping?

Better remove them. X and Y don't actually hurt AFAIK, but Z would generate useless Safe Z moves.

_Mark

Reply all
Reply to author
Forward
0 new messages