Question 1: "Adam, will your Nth statement from right now be truthful, where N is a number I am thinking of in my head ?"
If in response to Question 1, Adam answers "Yes". Adam is a Knight or a Liar.
Question 2a: "Bert, will your Nth statement from right now be truthful ?"
If in response to Question 2a, Bert answers "Yes", then Bert is a Knight or a Liar. Carl is a Knave.
Question 3a: "Adam, if I were to ask you if Bert is a Liar, would you say 'Yes' " ? (An indirect question that gets a truthful answer from a Knight and forces a double negative from a Liar).
If in response to Question 3a, Adam answers "Yes", then Adam is the Knight, Bert is the Liar and Carl is the Knave; if Adam answers "No", then Adam is the Liar, Bert is the Knight and Carl is the Knave.
If in response to Question 2a, Bert answers "I don't know" (a truthful answer from a Knave who just lied) or doesn't answer at all (the only response from a Knave who just told the truth, since "I don't know" would be truthful, and not knowing the value of N, "Yes" and "No" might be truthful too), then Bert is the Knave.
Question 3b: "Adam, if I were to ask you if Carl is a Liar, would you say 'Yes' " ?
If in response to Question 3b, Adam says "Yes", then Adam is the Knight, Bert is the Knave and Carl is the Liar. If Adam says "No", then Adam is the Liar, Bert is the Knave and Carl is the Knight.
If in response to Question 1, Adam answers "I don't know" or doesn't answer at all, then Adam is the Knave.
Question 2b: "Bert, if I were to ask you if Carl is a Liar, would you say 'Yes' " ?
If in response to Question 2b, Bert says "Yes", then Adam is the Knave, Bert the Knight and Carl the Liar. If Bert says "No", then Adam is the Knave, Bert the Liar and Carl the Knight.
So the questions are at most three in number:
1-2a-3a
1-2a-3b
1-2b