Sachverhalt: A. B.A._ (geboren 1964) ist Staatsangehörige von Serbien und Kroatien. Sie reiste im September 2011 von Serbien in die Schweiz ein und heiratete am 17. November 2011 den hier niedergelassenen deutschen Staatsangehörigen A.A._ (geboren 1965). In der Folge erhielt sie eine Aufenthaltsbewilligung EU/EFTA, die bis zum 19. August 2017 verlängert wurde. Infolge eines handgreiflichen Streits zwischen den Ehegatten vom 9. Juli 2014 wurde B.A._ mit Verfügung der Kantonspolizei Zürich vom 10. August 2014 aus der ehelichen Wohnung weggewiesen, und es wurde ein Betret- und Kontaktverbot ausgesprochen. Mit Verfügung des Zwangsmassnahmengerichts Pfäffikon vom 18. August 2014 wurde das Verbot bis zum 24. November 2014 verlängert. B.A._ begab sich nach dem Vorfall vom 9. August 2014 in die Clienia Privatklinik für Psychiatrie und Psychotherapie in Oetwil am See und später in die Psychiatrische Universitätsklinik Zürich (PUK) in Rheinau, wo sie bis zum 23. Dezember 2014 in stationärer psychiatrischer Behandlung war. Am 23. Dezember 2014 zog B.A._ wieder zu ihrem Ehemann. Mit Urteil des Bezirksgerichts Pfäffikon vom 11. März 2015 wurde den Eheleuten das Getrenntleben gestattet und die eheliche Wohnung dem Ehemann zugewiesen. Das Migrationsamt des Kantons Zürich widerrief mit Verfügung vom 26. Oktober 2015 die Aufenthaltsbewilligung EU/EFTA von B.A._, wies sie aus der Schweiz weg und setzte ihr eine Ausreisefrist bis 28. Dezember 2015. B. Die dagegen erhobenen kantonalen Rechtsmittel blieben ohne Erfolg (Rekursentscheid der Sicherheitsdirektion vom 17. November 2016; Urteil des Verwaltungsgerichts des Kantons Zürich vom 5. April 2017). C. Mit Eingabe vom 22. Mai 2017 erhebt B.A._ Beschwerde in öffentlich-rechtlichen Angelegenheiten an das Bundesgericht. Sie beantragt, die Aufenthaltsbewilligung sei nicht zu widerrufen, eventualiter sei von der Wegweisung abzusehen, subeventualiter sei die Sache an die Vorinstanz zurückzuweisen. Mit Verfügung vom 24. Mai 2017 hat der Präsident der II. öffentlich-rechtlichen Abteilung des Bundesgerichts der Beschwerde die aufschiebende Wirkung zuerkannt. Die Sicherheitsdirektion des Kantons Zürich und das Verwaltungsgericht des Kantons Zürich verzichten auf Vernehmlassung. Das Staatssekretariat für Migration (SEM) lässt sich nicht vernehmen. B.A._ ersucht mit Eingabe vom 19. Juni 2017 um Gewährung der unentgeltlichen Rechtspflege. Am 26. Juni 2017 teilt sie mit, sie werde eine Invalidenrente erhalten und die Wegweisung sei ihr nicht zumutbar.