Wenn Aref unbeschaltet bleibt, dann musst du das REFS0 Bit in ADMUX noch setzen.
Dazu kannst du z.b. in der adc_Init() einfach folgende Zeile einfügen:

ADMUX |= (1 << REFS0);

Dann wird AVCC auch als Aref verwendet.

Achja im adc_Get() musst du dann auch noch folgende Zeile ändern:

ADMUX = channel;
wird zu:
ADMUX = (ADMUX & 0xF0) | (channel & 0x0F);