Faits :
A.
Le 25 mai 2012, le Ministère public de l'arrondissement de Lausanne a ouvert une instruction pénale à l'encontre de A._ notamment pour escroquerie par métier, usure, contrainte, infractions à la loi sur l'assurance chômage (LACI), à la loi sur les armes (LArm) et à la loi sur les stupéfiants (LStup). Il est reproché au prévenu d'avoir offert ses services de conseiller juridique professionnel indépendant, en l'absence de formation juridique, en donnant faussement l'impression, par une publicité pompeuse, de disposer des qualités professionnelles et des infrastructures nécessaires. Son mode opératoire consistait notamment à user de la fragilité de ses clients pour exiger d'eux des provisions exorbitantes jusqu'à ce qu'ils ne puissent plus y faire face financièrement, puis à tirer prétexte de cette situation pour résilier les mandats, pour lesquels il n'avait le plus souvent déployé qu'une activité réduite, voire inexistante. De plus, le prévenu menaçait ses clients d'engager des poursuites, quand il ne s'agissait pas de saisir le juge pénal pour les amener à poursuivre leurs versements. De nombreuses plaintes pénales ont été déposées pour ces faits.
A._ a été placé en détention provisoire par ordonnance du 31 janvier 2015 du Tribunal des mesures de contrainte du canton de Vaud (Tmc), confirmée par la Chambre des recours pénale du Tribunal cantonal le 12 février 2015. La détention de l'intéressé a ensuite été régulièrement prolongée par le Tmc. Le Tribunal cantonal a, à plusieurs reprises, confirmé sur recours le maintien en détention de A._ en raison du risque de récidive, tout comme le Tribunal fédéral les 23 septembre 2015 (arrêt 1B_292/2015) et 17 mai 2016 (arrêt 1B_147/2016).
Par acte du 22 avril 2016, le Ministère public de l'arrondissement de Lausanne a engagé l'accusation devant le Tribunal correctionnel de l'arrondissement de Lausanne. Les débats devant cette juridiction ont été fixés aux 15, 16 et 17 août 2016.
Par ordonnance du 2 mai 2016, le Tmc a ordonné la prolongation de la détention pour des motifs de sûreté du prévenu jusqu'au 22 août 2016.
Par courrier du 25 mai 2016, A._ a requis sa libération à compter du 29 juillet 2016 pour pouvoir préparer sa défense pour les débats; il proposait de se soumettre à des mesures de substitution, à savoir une interdiction de prendre contact avec les parties à la procédure pénale, une interdiction d'exercer une quelconque activité de conseil juridique et de courtage en assurance, ainsi qu'à toute autre mesure ordonnée par la justice. Le 6 juin 2016, le prévenu a déposé une demande de libération immédiate, au motif que le risque de réitération n'était plus réalisé de manière suffisante et qu'il devait préparer sa défense. Dans deux courriers des 10 et 13 juin 2016, le prévenu a à nouveau requis sa libération immédiate. Entendu en présence de son défenseur d'office le 15 juin 2016 par le Tmc, le prévenu a précisé qu'il souhaitait être libéré quelques jours avant son procès pour préparer sa défense.
B.
Par ordonnance du 15 juin 2016, le Tmc a rejeté la demande de libération de la détention pour des motifs de sûreté de A._ et dit que celui-ci ne pourrait pas déposer de demande de libération de la détention pour des motifs de sûreté durant un mois à compter de son ordonnance, à savoir jusqu'au 15 juillet 2016. Statuant sur recours de l'intéressé, la Chambre des recours pénale du Tribunal cantonal a confirmé l'ordonnance du Tmc par arrêt du 22 juin 2016.
C.
Par acte du 2 juillet 2016 posté le 3 juillet 2016, agissant personnellement, A._ demande au Tribunal fédéral d'annuler l'arrêt cantonal, d'ordonner sa libération immédiate, subsidiairement au 29 juillet 2016, plus subsidiairement encore au 5 août 2016, et d'ordonner les mesures de substitution proposées. Par courrier du 7 juillet 2015, Me Matthieu Genillod, conseil d'office du recourant devant les autorités cantonales, demande à être désigné en qualité de conseil d'office pour la procédure devant le Tribunal fédéral.
La cour cantonale et le Ministère public renoncent à se déterminer et se réfèrent à l'arrêt attaqué. Le recourant se détermine à son tour, personnellement.
Par ordonnance du 5 juillet 2016, le Président de la Ire Cour de droit public a rejeté la requête de mesure superprovisionnelle et provisionnelle formée par le recourant.

Considérant en droit :
1.
Le recours en matière pénale (<ref-law>) est ouvert contre les décisions relatives à la détention provisoire ou pour des motifs de sûreté au sens des <ref-law>. Le recours a été formé dans le délai fixé à l'<ref-law> contre une décision prise en dernière instance cantonale (<ref-law> et 80 LTF). L'arrêt cantonal confirme le maintien en détention pour des motifs de sûreté du recourant, de sorte que celui-ci a qualité pour agir (art. 81 al. 1 let. a et b ch. 1 LTF). Les conclusions présentées sont recevables au regard de l'<ref-law>. Il y a ainsi lieu d'entrer en matière sur le recours.
2.
Le recourant produit une proposition d'arrangement, comprenant un retrait de plainte, faite par deux des plaignants de la procédure. Nouvelle, cette pièce est irrecevable (<ref-law>).
3.
Une mesure de détention provisoire ou pour des motifs de sûreté n'est compatible avec la liberté personnelle (art. 10 al. 2 Cst. et 5 CEDH) que si elle repose sur une base légale (art. 31 al. 1 et 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.; <ref-ruling> consid. 2c p. 270). Pour que tel soit le cas, la privation de liberté doit être justifiée par les besoins de l'instruction, un risque de fuite ou un danger de collusion ou de réitération (cf. art. 221 al. 1 let. a, b et c CPP). Préalablement à ces conditions, il doit exister à l'égard de l'intéressé des charges suffisantes, soit de sérieux soupçons de culpabilité (<ref-law>; art. 5 par. 1 let. c CEDH). Le Tribunal fédéral examine librement ces questions, sous réserve toutefois de l'appréciation des faits, revue sous l'angle restreint des art. 97 al. 1 et 105 al. 2 LTF (<ref-ruling> consid. 2.5 p. 73).
4.
Le recourant conteste que le risque de récidive soit toujours réalisé.
A teneur de l'art. 221 al. 1 let. c CPP, la détention pour des motifs de sûreté peut être ordonnée lorsqu'il y a lieu de craindre que le prévenu compromette sérieusement la sécurité d'autrui par des crimes ou des délits graves après avoir déjà commis des infractions du même genre.
Par arrêt du 17 mai 2016, le Tribunal fédéral a confirmé l'existence d'un risque de récidive de la part du recourant (arrêt 1B_147/2016). Or, celui-ci ne fait valoir aucun argument nouveau depuis ce dernier examen de sa situation. En particulier, l'allégation selon laquelle il n'aurait désormais plus les moyens techniques de déployer une activité délictueuse ne repose sur aucun changement de circonstances; elle n'est au demeurant pas pertinente, l'équipement dont fait état le recourant (téléphone ou site internet) pouvant rapidement être mis en place. De même, le recourant revient sur la crédibilité de l'expertise, déjà mise en cause et validée dans la précédente procédure. Enfin, la seule prise de conscience, en toute fin d'instruction, du caractère répréhensible de ses actes ne saurait suffire à retenir un changement des éléments d'appréciation du risque de récidive. L'argumentation du recourant doit dès lors être écartée.
5.
Le recourant conteste ensuite le caractère proportionné de sa détention.
En vertu des art. 31 al. 3 Cst. et 5 § 3 CEDH, toute personne qui est mise en détention préventive a le droit d'être jugée dans un délai raisonnable ou d'être libérée pendant la procédure pénale. Une durée excessive de la détention constitue une limitation disproportionnée de ce droit fondamental, qui est notamment violé lorsque la durée de la détention préventive dépasse la durée probable de la peine privative de liberté à laquelle il faut s'attendre. L'<ref-law> prévoit ainsi que la détention provisoire ou pour des motifs de sûreté ne doit pas durer plus longtemps que la peine privative de liberté prévisible. Le juge peut dès lors maintenir la détention préventive aussi longtemps qu'elle n'est pas très proche de la durée de la peine privative de liberté à laquelle il faut s'attendre concrètement en cas de condamnation. Il convient d'accorder une attention particulière à cette limite, car le juge - de première instance ou d'appel - pourrait être enclin à prendre en considération dans la fixation de la peine la durée de la détention préventive à imputer selon l'<ref-law> (<ref-ruling> consid. 3.1 p. 275 et les arrêts cités).
Le recourant soutient sans fondement que l'arrêt du 17 mai 2016 indiquerait que la détention provisoire ne devait pas dépasser 18 mois. Cet arrêt indique que, compte tenu de la gravité des faits reprochés au recourant, la durée de la détention avant jugement restait alors encore compatible avec la peine encourue concrètement en cas de condamnation, la peine encourue pour les infractions pour lesquelles il est poursuivi étant de dix ans au plus (<ref-law>). A cette occasion, le Tribunal fédéral invitait par ailleurs le Tribunal correctionnel à faire en sorte que le recourant soit jugé dans les meilleurs délais. L'audience des débats a dans l'intervalle été fixée aux 15, 16 et 17 août 2016, la lecture du jugement étant prévue le 19 août 2016. Une telle échéance ne heurte pas les règles en matière de célérité. De manière plus générale, la durée de la détention, qui s'élèvera à moins de 19 mois au jour du jugement, demeure conforme au principe de proportionnalité. Enfin, l'éventuelle réduction de peine de huit jours dont le recourant allègue pouvoir bénéficier en raison de conditions de détention illicites (non établies à ce jour, cf. arrêt de renvoi 1B_70/2016 du 24 juin 2016) ne saurait, pour le juge de la détention, être d'un ordre de grandeur décisif, vu la peine encoure.
6.
Sans prendre de conclusion formelle sur ce point, le recourant conteste encore l'interdiction qui lui a été faite de déposer une nouvelle demande de mise en liberté. Or, ce faisant, il se borne à exposer en quoi sa demande actuelle serait selon lui justifiée. Son argumentation n'est pas dirigée contre les considérants de l'arrêt cantonal. À supposer qu'elle soit suffisante - ce qui est douteux (<ref-law>) -, elle est ainsi quoi qu'il en soit sans pertinence.
7.
Il résulte de ce qui précède que le recours doit être rejeté.
Le recours paraissait d'emblée voué à l'échec vu l'absence d'éléments nouveaux depuis le très récent arrêt statuant sur la détention provisoire du recourant (arrêt 1B_147/2016 du 7 mai 2016), de sorte que l'assistance judiciaire ne peut être accordée pour la procédure devant le Tribunal fédéral (art. 64 al. 1 et 2 LTF). Il convient cependant, dans les circonstances données, de renoncer à percevoir des frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué au mandataire du recourant et au recourant, au Ministère public de l'arrondissement de Lausanne et au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 25 juillet 2016
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Juge présidant : Eusebio
La Greffière : Sidi-Ali