You haven’t set $post_id
so there is no reason is should display. If you have debugging enabled as you should when you are working, you would have spotted the error immediately.
What you need to do is:
add_action( 'manage_posts_custom_column', 'populate_columns' );
function populate_columns( $column ) {
global $post;
if ($column == 'id'){
echo $post->ID;
}
}