You are not logged in.

#1 2018-12-14 18:20:57

adam
Member
Registered: 2016-02-18
Posts: 100

Keep peeling until GPIO HIGH

Hi shahin,

long time no activity from me smile
I've recently been printing again and have developed a method of determining when a layer has been peeled off successfully, meaning kind of closed loop control ^^
I would appreciate a way of having some kind of "move up until GPIO state changed" function.
I haven't fond out how to do it with the default set of tools yet.

If nothing like this is possible, i would revert of implementing the movement in an external IC.

Cheers,
Adam

Offline

#2 2018-12-15 05:17:38

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Hi Adam,

To test functionality wire enable pin of the RPi, use GPIOHigh / GPIOLow keywords to enable or disable motor.

Unfortunately adding another check inside pulse generation loop could cause slowdown. Maybe we can change limit functionality so instead of setting height it just  stop movements.

Offline

#3 2018-12-15 16:35:57

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

The Idea with limit switch sounds interesting. I guess this would work. If limit switch is hit during print, cancel move up and go down to next layer.
Would it be possible to implement for one of the switches? For my printer I only use the top switch, so the bottom switch could use the functionality.

Cheers

Offline

#4 2018-12-17 05:09:12

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

OK, will try to implement it asap

Offline

#5 2019-01-02 14:23:45

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Will push the new version in a day or two.

Offline

#6 2019-01-02 16:06:40

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Thanks a lot, will try it as soon as it's there smile

Offline

#7 2019-01-05 21:13:56

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Just as a follow up, here is what I will be doing:
Basically I have a flow sensor below the FEP membrane to monitor membrane movement during separation. This enables the detection of the exact moment of separation to incresae speed and monitor correct peeling. I am planning to feed the data to a neural network to try to predict peeling tiimes based on layer image.

Additionally I will place a IR Camera right next to the projector lens pointing up to the platform. This could be used with some CV algorithm to do other forms of monitoring.

Offline

#8 2019-01-06 05:52:21

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Have you tried latest beta version?

Offline

#9 2019-01-06 10:51:57

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Oh so it's already in? I haven't seen any options for it so i thought it's not in yet. I'll try today.

Offline

#10 2019-01-06 18:50:38

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Hmm..doesn't seem to work for me:

Here's what I tried: build 1946

-tested BCM24 using python, works
ObI9TyR.png

-configured Z Bottom in NanoDLP
I9gY1pb.png

Tried switching manually while travelling up, nothing happens.

Also restarted printer etc.

Any other suggestions?

Cheers,
Adam

Offline

#11 2019-01-07 21:00:32

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Set "Change Reset position on Limit"  (I should change name to something better)  to no.

Offline

#12 2019-01-07 21:20:58

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

I tried both, not working unfortunately. Should there be any Log output?

Offline

#13 2019-01-07 22:04:29

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Another thing I tried is setting the pin as Top Limit Switch, just to make sure that NanoDLP can use it, which works when calibrating zero position, but not while printing..regardless of going up or down.

Offline

#14 2019-01-12 12:50:21

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Here's data from my implemented system. It's easy to see that peeling time strongly correlates to exposed area. However, creating a formula would be difficult due to dependencies on motor speed and material viscosity, so the in situ monitoring could work quite well for a variety of circumstances. Print time could benefit a lot from this smile

X-Axis: Layer Number

awU54tR.png

Last edited by adam (2019-01-12 12:50:56)

Offline

#15 2019-01-14 05:10:55

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Adam,

Looks very interesting/.

I have checked logic again, I do not see any problem. When axis move up and touch limit it stop the movement, change the position (without zeroing) and go to the next step.

Offline

#16 2019-01-14 06:36:16

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Ok i will recheck. Does it work for both limit switches?

Offline

#17 2019-01-14 22:52:36

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

OK, i checked now in the live System with Build 1960:

https://streamable.com/lxa94

In the video you can see:

Bottom: Projector
Middle: Vat with Platform
Right: Blue LED indicates when Bottom Limit Switch is pulled HIGH (Peeling Done)
The Limit switch worked when i moved manually, but not during printing.

As you can see, while moving up, the Blue LED turns on when peel is done but the Axis is still moving up sad

Any Ideas?

Offline

#18 2019-01-15 05:03:38

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Do you receive limit has been touched on each rises after getting blue LED?

Offline

#19 2019-01-15 06:35:34

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Not while printing. Only when i move manually. I have wired it up to the LOWER limit switch. But motor is moving UP, could this be the reason?

Offline

#20 2019-01-17 20:20:00

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

I believe so.

Offline

#21 2019-01-19 17:01:57

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Hi, I've done some more tests. Somehow Endstops only work wenn moving manually via Z-Axis settings, measuring Z-Axis or Startup.

Are the pulsing routines different for some of the movements?

An easy way to reproduce would be:

1. after startup, move down 50mm
2. Move up 50mm
3. while moving, press top endstop manually.
-> endstop works and stops axis


1. after startup, move down say 50mm
2. Click TOP
3 while moving, press top endstop manually.
-> This does nothing in my setup. The axis continues to move.

still build 1960

Offline

#22 2019-01-19 20:29:42

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

No routines are same no matter where they have called. I have found source of the issue for some movements limit is not checked for example when system is sure that axis is far from limit.

Offline

#23 2019-01-21 17:02:39

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Is there any way  you'll work this in? otherwise i will implement all movement externally.

cheers

Offline

#24 2019-01-23 04:42:46

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Keep peeling until GPIO HIGH

Adam,

Try latest beta I have removed constrains on limit. Please, let me know if it works or not.

Offline

#25 2019-01-23 19:18:56

adam
Member
Registered: 2016-02-18
Posts: 100

Re: Keep peeling until GPIO HIGH

Works like a charm! Thank you! smile

Offline

Board footer

Powered by FluxBB