I think the problem is a lot easier if you think of it as 30 teams with exactly 3 teams per venue per day. So here is a solution to the 30 team problem:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
(1 12 25) (21 4 7) (18 8 19) (20 26 10) (30 22 17) (13 3 11) (2 28 23) (6 24 14) (29 15 9) (16 27 5)
(2 7 26) (22 5 8) (13 9 20) (21 27 11) (25 23 18) (14 4 12) (3 29 24) (1 19 15) (30 16 10) (17 28 6)
(3 8 27) (23 6 9) (14 10 21) (22 28 12) (26 24 13) (15 5 7) (4 30 19) (2 20 16) (25 17 11) (18 29 1)
(4 9 28) (24 1 10) (15 11 22) (23 29 7) (27 19 14) (16 6 8) (5 25 20) (3 21 17) (26 18 12) (13 30 2)
(5 10 29) (19 2 11) (16 12 23) (24 30 8) (28 20 15) (17 1 9) (6 26 21) (4 22 18) (27 13 7) (14 25 3)
(6 11 30) (20 3 12) (17 7 24) (19 25 9) (29 21 16) (18 2 10) (1 27 22) (5 23 13) (28 14 8) (15 26 4)
Then team 30 can be assigned as the non-existent 'ghost' team. So the 6 occasions where 30 is scheduled to play are the times when only two teams meet at a venue. The 12 teams who play the ghost, will of course only have 11 opponents in total, while the other 17 teams will have 12 opponents.
The schedule is also arranged so that no team plays more than once at a venue, or equivalently that each team plays at six different venues. If the teams are assigned in sequence to home venues, so 1,2 & 3 are home teams at venue 1, teams 4,5 & 6 at venue 2, etc., then every team will have one meet at their home venue, and 5 meets at away venues.
I hope that is useful.