Faits :
A.
Le 15 novembre 2017, le Ministère public de l'arrondissement du Nord vaudois a ouvert une instruction pénale contre A._, ressortissant de Serbie-Monténégro né en 1985, pour tentative de meurtre, séquestration et enlèvement, contrainte sexuelle, lésions corporelles simples, recel, violation du domaine secret ou du domaine privé au moyen d'un appareil de prise de vues, menaces, contrainte et injure. Il lui est en substance reproché d'avoir passé à tabac son amie B._ en la frappant avec les pieds et les poings sur tout le corps, lui causant de nombreux hématomes, de lui avoir à plusieurs reprises plongé la tête sous l'eau dans la baignoire, occasionnant des pertes de connaissance, de l'avoir menacée de la tuer ou de la blesser et d'avoir commis des actes de contrainte sexuelle avant que la victime ne s'enfuie, nue, pour se réfugier chez le concierge de son immeuble. Le prévenu a été placé en détention provisoire par décision du Tribunal des mesures de contrainte du canton de Vaud (Tmc) du 18 novembre 2017 en raison des risques de réitération et de passage à l'acte ainsi que de collusion.
La détention provisoire a ensuite été prolongée par décisions du Tmc des 9 février, 15 mai, 7 août et 7 novembre 2018, 5 février, 6 mai et 13 août 2019 en substance pour les mêmes motifs, auxquels s'est ajouté le risque de fuite. Cette dernière décision a été confirmée par arrêt du 30 août 2019 de la Chambre des recours pénale du Tribunal cantonal vaudois; la prévention avait été étendue à des vols d'importance mineure, violation de domicile avec dommages à la propriété, dénonciation calomnieuse, détournement de cotisations AVS, ainsi que contrainte sexuelle, actes d'ordre sexuel avec des enfants et viol. S'agissant des infractions commises au préjudice de B._, la version de la plaignante était accréditée par la présence de nombreux hématomes, ecchymoses et dermabrasions constatées quelques heures après les faits; du sang avait été retrouvé sur les lieux. Un rapport d'expertise, réalisé sans examen du prévenu (celui-ci s'y étant opposé) concluait, sur la base du dossier, à un risque de récidive élevé. Le risque de fuite devait aussi être retenu. La détention restait proportionnée étant précisé que le 15 novembre 2019, l'enquête devrait être clôturée.
B.
Le 6 novembre 2019, le Ministère public a demandé une nouvelle prolongation de la détention en relevant que le dévérouillage du téléphone du prévenu avait pris plusieurs mois et nécessitait l'examen d'une quantité énorme de données, dont une bonne partie de fichiers en langue étrangère. Par ordonnance du 14 novembre 2019, le Tmc a fait droit à cette demande, malgré l'opposition du prévenu. Cette décision a été confirmée par arrêt du 29 novembre 2019 de la Chambre des recours pénale. Les éléments à charge étaient suffisants. Le prévenu était arrivé de Serbie à l'âge de 10 ans et avait gardé de la famille dans ce pays. On pouvait donc craindre qu'il cherche à se soustraire à la poursuite. S'agissant du risque de récidive, le recourant avait des antécédents et était déjà poursuivi pour séquestration, voies de fait et menace contre la même plaignante; il s'était engagé dans ce cadre à ne plus prendre contact avec celle-ci. L'expertise psychiatrique - à laquelle le prévenu avait refusé de se soumettre - considérait le risque de réitération comme élevé et le prévenu avait également adopté un comportement menaçant en prison. La détention restait proportionnée, même si l'arrêt précédent considérait que l'enquête devait être clôturée. L'enquête n'avait pas connu de retard inadmissible, le recourant ne collaborant pas à l'instruction. Aucune mesure de substitution n'entrait en considération.
C.
A._ forme un recours en matière pénale par lequel il conclut à la réforme de l'arrêt cantonal en ce sens qu'il est immédiatement mis en liberté, le cas échéant moyennant des mesures de substitution lui interdisant d'approcher les victimes " à plus de 100 m ". Il demande l'assistance judiciaire.
La Chambre des recours pénale renonce à se déterminer et se réfère aux considérants de son arrêt. Le Ministère public renonce également à se déterminer et se réfère à l'arrêt attaqué.

Considérant en droit :
1.
Le recours en matière pénale (<ref-law>) est ouvert contre une décision relative à la détention provisoire. Le recourant, prévenu détenu, dispose d'un intérêt juridique à la réforme de la décision attaquée qui confirme la prolongation de sa détention provisoire (art. 81 al. 1 let. a et b ch. 1 LTF). Au surplus, le recours a été formé en temps utile (<ref-law>) contre une décision rendue par une autorité statuant en tant que dernière instance cantonale (<ref-law>) et les conclusions présentées sont recevables au regard de l'<ref-law>. Il y a donc lieu d'entrer en matière.
2.
Une mesure de détention provisoire n'est compatible avec la liberté personnelle garantie aux art. 10 al. 2 Cst. et 5 CEDH que si elle repose sur une base légale (art. 31 al. 1 et art. 36 al. 1 Cst.), soit en l'espèce l'<ref-law>. Elle doit en outre correspondre à un intérêt public et respecter le principe de la proportionnalité (art. 36 al. 2 et 3 Cst.). Pour que tel soit le cas, la privation de liberté doit être justifiée par un risque de fuite ou par un danger de collusion ou de réitération (art. 221 al. 1 let. a, b et c CPP). Préalablement à ces conditions, il doit exister des charges suffisantes, soit de sérieux soupçons de culpabilité, à l'égard de l'intéressé (<ref-law>). En tout état de cause, la détention avant jugement ne doit pas durer plus longtemps que la peine privative de liberté prévisible (<ref-law>).
3.
Le recourant conteste l'existence de soupçons suffisants à son encontre. Il relève que les lésions constatées sur la victime seraient peu spécifiques et compatibles avec une auto-agression. Le recourant soutient que la victime saignait du nez après être tombée de la baignoire, ce qui expliquerait le sang retrouvé sur les lieux, le concierge ayant simplement constaté un oeil gonflé, compatible avec sa thèse. Le fait qu'il a pris la fuite à l'arrivée de la police ne constituerait pas un indice de culpabilité. La plaignante aurait précédemment subi un choc post-traumatique et aurait tendance à inventer les faits et à adopter des réactions " bizzares ", un témoin ayant déclaré qu'il la voyait bien dénoncer quelqu'un à tort. Le recourant relève les contradictions dans les déclarations initiales de la plaignante (qui évoque, s'agissant des tentatives de noyade, une première fois la cuvette des toilettes, puis la baignoire). S'agissant de l'enquête ouverte en mai 2017, la plaignante aurait retiré sa plainte. En définitive, les éléments à décharge seraient aussi, voire plus nombreux que les indices à charge.
3.1. Selon la jurisprudence, il n'appartient pas au juge de la détention de procéder à une pesée complète des éléments à charge et à décharge et d'apprécier la crédibilité des personnes qui mettent en cause le prévenu. Il doit uniquement examiner s'il existe des indices sérieux de culpabilité justifiant une telle mesure. L'intensité des charges propres à motiver un maintien en détention préventive n'est pas la même aux divers stades de l'instruction pénale; si des soupçons, même encore peu précis, peuvent être suffisants dans les premiers temps de l'enquête, la perspective d'une condamnation doit apparaître avec une certaine vraisemblance après l'accomplissement des actes d'instruction envisageables (<ref-ruling> consid. 2.1 p. 333 s.; <ref-ruling> consid. 3.1 et 3.2 p. 318 s.). En d'autres termes, les soupçons doivent se renforcer plus l'instruction avance et plus l'issue du jugement au fond approche. Si des raisons plausibles de soupçonner une personne d'avoir commis une infraction suffisent au début de l'enquête, ces motifs objectifs doivent passer de plausibles à vraisemblables (arrêt 1B_219/2019 du 4 juin 2019 consid. 2.1).
3.2. En l'espèce, les déclarations de la plaignante constituent des éléments à charge importants concernant les faits du 14 novembre 2017. Elles se trouvent en outre corroborées par les constatations médicales faites quelques heures après les faits: de nombreux hématomes, des ecchymoses et dermabrasions peu compatibles avec une auto-agression, la présence de sang sur les lieux. La fuite de la plaignante entièrement nue alors que le recourant était enfermé dans la salle de bains accrédite la thèse d'une agression. Il existe en outre au dossier plusieurs déclarations selon lesquelles le recourant aurait menacé et violenté la plaignante. Les accusations d'attouchements et de viol de la seconde plaignante reposent également sur les déclarations de celle-ci, mais la cour cantonale relève pertinemment que l'on ne discerne pas de raisons pour lesquelles elle aurait menti, se mettant ainsi en opposition avec son père et sa soeur.
Il faut ainsi admettre que ces différents éléments permettent de fonder des charges suffisantes à l'égard du recourant et que l'argumentation à décharge présentée par celui-ci - et qu'il appartiendra au juge du fond d'examiner - ne permet pas en l'état de les remettre en cause. Le grief doit être écarté.
4.
Le recourant conteste ensuite l'existence des risques de fuite et de récidive. Arrivé en Suisse à 10 ans, il aurait passé la plus grande partie de sa scolarité dans ce pays où il a deux enfants auxquels il est très attaché. Le risque de se voir infliger une longue peine de détention ne serait pas démontré et il affirme vouloir rester en Suisse pour se défendre. S'agissant du risque de récidive, le recourant dit n'avoir aucun antécédent, la plaignante ayant retiré ses précédentes plaintes; l'expertise psychiatrique a été réalisée sans aucun examen clinique et serait inexploitable. Son comportement en prison serait irrelevant sous l'angle du risque de récidive.
4.1. Contrairement à ce que soutient le recourant, le risque de fuite apparaît indéniable. Le recourant est ressortissant de Serbie-Monténégro, dont il parle et écrit la langue. Il est arrivé en Suisse à l'âge de dix ans et ne conteste pas avoir encore de la famille dans son pays d'origine. Il a certes deux enfants en Suisse, mais ne les voit, selon l'arrêt attaqué, que de manière irrégulière. Il est célibataire, sans formation et, même s'il a créé une petite entreprise de peinture (dont on ignore le sort actuel), sa situation financière paraît compromise. On peut donc sérieusement craindre, compte tenu des très lourdes charges qui pèsent sur lui, qu'il tente de se soustraire à la poursuite pénale en se réfugiant dans son pays d'origine.
4.2. Le risque de réitération peut également être retenu. Déjà sous le coup d'une enquête pour séquestration, voies de fait, menaces et injure contre son ex-amie, pour des faits similaires commis à Onex et Renens, le recourant s'était engagé devant le ministère public à ne plus prendre contact avec la plaignante faute de quoi il serait immédiatement placé en détention provisoire. Les faits qui lui sont actuellement reprochés ont été commis quatre mois plus tard. Le retrait de plainte dont se prévaut le recourant est sans incidence, l'art. 221 al. 1 let. c CPP n'exigeant pas une condamnation à raison d'infractions du même genre (<ref-ruling> consid. 4 p. 19).
L'expertise psychiatrique a certes été réalisée sans que le prévenu n'ait été examiné, celui-ci l'ayant refusé. Il appartiendra au juge du fond de décider si une telle pièce peut être utilisée dans le cadre du jugement. Le juge de la détention doit pour sa part fonder sa décision sur l'ensemble des renseignements figurant au dossier, y compris une expertise psychiatrique; lorsqu'une telle expertise fait défaut, un pré-rapport peut suffire (<ref-ruling> consid. 2.8 p. 16-17). L'expertise figurant au dossier peut à tout le moins être considérée comme un tel document. L'expert n'a pas manqué de relever l'impossibilité d'établir une anamnèse et la difficulté de poser un diagnostic. Il s'est donc fondé sur les pièces du dossier et précise que ses conclusions sont des "diagnostics probables, sous réserve d'un examen ultérieur". L'expert relève ainsi des troubles mentaux et du comportement liés à l'utilisation continue de cocaïne et de médicament opiacé avec syndrome de dépendance, ainsi que des troubles liés à l'utilisation épisodique d'alcool. Il pose (toujours avec réserve) le diagnostic d'un trouble de la personnalité de type personnalité dyssociale. L'absence de tout sentiment de culpabilité ou de reconnaissance de ses actes empêcherait un travail thérapeutique propre à diminuer le risque de récidive; celui-ci est qualifié de vraisemblablement élevé.
Enfin, le comportement du recourant en prison et les nombreuses sanctions disciplinaires prononcées à son encontre font clairement ressortir une agressivité et un mépris des normes et des injonctions qui lui sont faites. Le recourant n'explique pas en quoi ces éléments seraient dénués de pertinence. Il en résulte au contraire clairement que les conditions posées à l'art. 221 al. 1 let. c CPP sont réunies. Le grief doit être écarté.
5.
Le recourant soutient encore que le principe de la célérité serait violé, l'enquête n'avançant pas depuis le délai de prochaine clôture fixé en janvier 2019. L'examen de son téléphone aurait pu être ordonné il y a longtemps. Son absence de collaboration ne saurait justifier cette prolongation, portant la durée de l'instruction à plus de deux ans.
La durée de la détention apparaît manifestement compatible avec celle d'une éventuelle peine privative de liberté, le recourant étant notamment mis en prévention de tentative de meurtre, séquestration, enlèvement et contrainte sexuelle d'une part, actes d'ordre sexuel sur des enfants et viol d'autre part. S'agissant du déroulement de l'enquête, la cour cantonale rappelle qu'après le dépôt du rapport d'expertise psychiatrique en juillet 2019, le téléphone du prévenu n'avait pu être déverrouillé que le 12 août 2019, le recourant ayant prétendu qu'il ne pouvait déverrouiller l'appareil ni avec son empreinte digitale ni avec le code, déclarant ensuite qu'il avait oublié le code. Un nombre très important de données ont ensuite dû être analysées, notamment de nombreux fichiers en langue étrangère. Le recourant se prévaut à tort de l'arrêt du 30 août 2019 de la Chambre des recours pénale qui indique que l'enquête devra être clôturée le 15 novembre 2019. En effet, la cour cantonale n'a pas retenu que le recourant devrait nécessairement être libéré après cette date. Quand bien même le recourant n'a pas d'obligation de collaborer à l'enquête, son attitude, en particulier son refus de se soumettre à l'expertise psychiatrique (qui a nécessité la nomination d'un nouvel expert) et son refus de déverrouiller son téléphone, ne sont pas étrangers aux difficultés rencontrées durant l'instruction. On ne discerne dès lors à ce stade aucune violation des principes de célérité et de proportionnalité, la direction de la procédure étant toutefois invitée à clore son enquête dans les meilleurs délais.
6.
Le recourant estime enfin que sa libération devrait être ordonnée moyennant des mesures de substitution. Il soutient que le port d'un bracelet électronique permettrait de garantir le respect d'une interdiction d'approcher les plaignantes ou d'une interdiction de périmètre.
6.1. La jurisprudence considère qu'en l'absence d'un système garantissant un contrôle en temps réel ainsi qu'une intervention immédiate, la surveillance électronique ne permet pas de prévenir une fuite mais uniquement de la constater a posteriori. L'adéquation d'une telle mesure de substitution doit donc être évaluée en fonction de toutes les circonstances de la cause, en particulier l'intensité du risque de fuite, la gravité des infractions retenues, la nécessité de garantir la présence des parties dans la procédure et la durée de la détention provisoire ou pour des motifs de sûreté déjà subie (arrêt 1B_362/2019 du 17 septembre 2019 destiné à la publication, consid. 3.3).
6.2. En l'occurrence, le risque fuite doit comme on l'a vu être qualifié d'évident, tout comme le risque de récidive. Sur ce dernier point, le recourant a démontré qu'il ne respectait pas les injonctions judiciaires lui interdisant d'entrer en contact avec une plaignante. On ne voit dès lors pas qu'un bracelet électronique puisse empêcher une fuite ou une récidive de manière suffisamment efficace.
7.
Sur le vu de ce qui précède, le recours (dans une large mesure appellatoire et à la limite de la témérité) est rejeté. Le recourant a demandé l'assistance judiciaire et les conditions posées à l'<ref-law> sont réunies. Me Kathrin Gruber est désignée comme avocate d'office et il lui est alloué une indemnité à titre d'honoraires, qui sera fixée forfaitairement et supportée par la caisse du Tribunal fédéral. Il n'est pas perçu de frais judiciaires (art. 64 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est admise; Me Kathrin Gruber est désignée comme avocate d'office du recourant et une indemnité de 1'500 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral. Il n'est pas perçu de frais judiciaires.
3.
Le présent arrêt est communiqué à la mandataire du recourant, au Ministère public de l'arrondissement du Nord vaudois et au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 24 janvier 2020
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Chaix
Le Greffier : Kurz