The answer to the revised version of the question is **Yes**. In fact, there is no need to assume that B is atomless, but rather, only that it is infinite.

Suppose that B is any infinite Boolean algebra. It follows that there is a countable maximal antichain A subset B. The idea of the proof is to map A arbitrarily into your countable atomless Boolean algebra Q, and then extend to B in a way I will describe. Enumerate the maximal antichain A = { a_{n} | n in ω } and the nonzero elements of Q as { q_{n} | n in ω}. We will associate a_{n} with q_{n}. In order to define f, suppose that b is any element of B. Let A_{b} = { q_{n} | b ∧ a_{n} not = 0 } be the associated set in Q. Define the function f:B to Q by f(b) = ∨ A_{b}, if A_{b} is finite, and otherwise f(b)=1.

We now make several observations about this function f. First, the function is clearly onto, since f(a_{n})=q_{n}. Also, f(1)=1, since 1 meets every element of A, and f(0)=0 since 0 meets no elements of A. Moreover, f(b)=0 iff b=0, since no nonzero element of B has zero meet with every element of A, as A was a *maximal* antichain.

Because (b ∨ c) ∧ a = (b ∧ a) ∨ (c ∧ a), it follows that A_{b ∨ c} = A_{b} union A_{c}. From this, it follows that f(b ∨ c) = f(b) ∨ f(c), since if either set is infinite, then the answer is 1, and if they are finite, we are taking the join of two finite joins. Thus, f is join-preserving.

It follows that f is an order-homomorphism, since b <= c implies b ∨ c = c implies f(b) ∨ f(c) = f(b ∨ c) = f(c) implies f(b) <= f(c).

So f has all the desired properties.

Note that f definitely does not respect negation, since f(neg a_{n}) = 1 for every n. And f definitely does not respect meet, since any two elements of A have meet 0, but the corresponding q_{n} must sometimes be nonzero.

This construction has some affinity with your example. Namely, if you take the various half-open unit characteristic functions as the elements of the maximal antichain (and use the corresponding q_{n}'s), then your f and my construction are the same.