Question: Looking to collect constant terms from an expression

I have a situation

restart:
with(IntegrationTools):
with(PDEtools):
declare(w(r));
assume(delta::constant, R::constant, K:: constant, U::constant):
ODE_1:=diff(w(r),r)+R*(diff(w(r), r))^3-K/r;
 
declare(u(r));
ODE_T_1:=collect(algsubs(w(r)=u(r)+(r-1)*(U-0)/(delta-1), ODE_1),diff(u(r), r)) ;
eq1:=int(phi[i](r)*ODE_T_1,r=1..delta) assuming delta > 1;
eq2:=Expand(eq1);
eq3 := applyop(u->Parts(u,phi[i](r)),{3,4},eq2);
eq4 := [phi[i](delta)=0,phi[i](1)=0, u(1)=0, u(delta)=0];
eq5 := Expand(convert(subs(eq4,eq3),diff));
assume(a[j]::constant):
assume(a[j+1/2]::constant):
assume(a[j+1]::constant):

eq6:=u(r)=a[j]*phi[j](r)+a[j+1/2]*phi[j+1/2](r)+a[j+1]*phi[j+1]:
eq7:=Expand(convert(subs(eq6, eq5), diff));
 
This produces an output that I was expecting, but now I need to move forward and need to
 collect terms that does not include a[j], a[j+1/2], a[j+1].
I have tried converting equation7 into polynomial and then try collecting terms using various
 options but it is  not working.
Any suggestions??
Or I should have to do this manuelly??(though I dont think so, given the powerfull 
computational engine)
My goal is to get system of non-linear algebraic equation for eq7 in a[j], a[j+1/2] 
and a[j+1] by varying phi[i](r). 
Please help.
Please Wait...