Faits :
A.
A._ a obtenu un CFC de couturière en 1982 puis un CFC de secrétaire en 1984, profession qu'elle a exercée jusqu'en 1996. En 1998, elle a obtenu un brevet fédéral de monitrice d'auto-école; aux côtés de son époux, également moniteur, elle a pratiqué cette profession à titre indépendant, à temps très partiel. Cette activité lui a rapporté un revenu de 3'595 fr. en 2000, 5'844 fr. en 2001 et 14'660 fr. en 2002.
Le 16 octobre 2002, A._ a été victime d'un accident de la circulation qui a entraîné un traumatisme de la ceinture scapulaire droite et plusieurs fractures de côtes. A la suite de cet événement, elle a mis fin à son activité de monitrice d'auto-école. Le 17 novembre 2003, A._ a présenté une demande de prestations de l'assurance-invalidité, indiquant notamment qu'elle exerçait la profession de monitrice d'auto-école indépendante, à un tarif horaire de 75 fr., à raison de 31 heures par mois. Dans un questionnaire du 2 décembre 2003, l'assurée a précisé qu'elle aurait travaillé à 100 % en qualité de monitrice d'auto-école sans l'atteinte à la santé, pour des raisons financières (soutien de famille).
Par décision du 15 février 2005, confirmée sur opposition le 23 mai 2006, l'Office de l'assurance-invalidité du canton de Fribourg (l'office AI) lui a alloué une demi-rente d'invalidité à compter du 1 er octobre 2003, fondée sur un degré d'invalidité de 51 %. Par jugement du 12 juin 2008, la Cour des assurances sociales du Tribunal cantonal du canton de Fribourg a annulé la décision du 23 mai 2006 et renvoyé la cause à l'office AI pour instruction complémentaire.
A l'issue de celle-ci, l'office AI a estimé que l'assurée serait en mesure d'exercer une activité adaptée légère, par exemple dans le domaine du bureau, ou réceptionniste, ou caissière en kiosque ou en station service, à 100 % avec un rendement réduit de 15 %. Sans l'atteinte à la santé, l'office AI a admis que l'assurée aurait continué d'exercer son activité de monitrice d'auto-école indépendante, dont elle aurait retiré un revenu de 50'000 fr. en 2002. En ce qui concerne le revenu d'invalide, l'office AI l'a fixé à 41'291 fr. sur la base des statistiques de l'Enquête suisse sur la structure des salaires 2002 (table TA1, divers 72/74, catégorie 4). Dès lors que le taux d'invalidité s'élevait à 17,4 %, l'office AI a "annulé et remplacé" sa décision sur opposition du 23 mai 2006 et "supprimé" la rente d'invalidité versée jusque-là, par décision du 25 janvier 2012.
B.
A._ a déféré cette décision au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, en concluant principalement à l'octroi d'une rente entière, subsidiairement à la mise en oeuvre d'une expertise pluridisciplinaire. Son recours a été rejeté par jugement du 23 mai 2014. Ce jugement a été annulé par le Tribunal fédéral (arrêt du 5 septembre 2014, 9C_502/2014) qui a renvoyé la cause à l'autorité judiciaire cantonale afin qu'elle détermine à nouveau le revenu sans invalidité de l'assurée et rende une nouvelle décision.
A la suite de cet arrêt, la juridiction cantonale a requis de l'office AI la production d'éléments chiffrés pour fixer le revenu d'indépendante de l'assurée en 2003, le cas échéant sur la base des revenus ou des résultats d'exploitation moyens d'entreprises semblables (cf. lettre du 23 mars 2015). Le 30 juin 2015, l'office AI a répondu qu'il avait abordé l'Association suisse des moniteurs de conduite (ASMC) afin d'être renseigné sur le revenu moyen d'un moniteur de conduite qui travaille de façon indépendante, sans employé, dans la région de Fribourg. L'ASMC lui a indiqué ne pas détenir ces informations, dans la mesure où il n'existe aucune enquête faite à ce sujet. Par lettre du 6 juillet 2015, l'assurée a proposé au tribunal cantonal de déterminer le degré d'invalidité en appliquant la méthode extraordinaire d'évaluation de l'invalidité. Par écritures des 9 septembre et 6 novembre 2015, l'office AI a proposé de se référer à la statistique des résultats comptables des entreprises des arts et métiers, fournie par l'USAM (voir la "Statistique des résultats comptables des entreprises des arts et métiers"); il s'est opposé à l'application de la méthode extraordinaire. Selon les documents produits, la majorité des entreprises du type de celle des époux présentaient un revenu (bénéfice net) oscillant entre 49'200 fr. et 37'900 fr. (années 2012 et 2013), ce qui confirmait que le revenu sans atteinte à la santé retenu (50'000 fr.) était adéquat.
Dans ses déterminations du 18 décembre 2015, l'assurée a observé que la statistique produite se basait uniquement sur des chiffres comptables. Elle a soutenu que ces données ne représentaient pas forcément les revenus effectivement réalisés par les entreprises concernées, compte tenu notamment des possibilités comptables dont elles disposent pour présenter leurs résultats, s'agissant notamment de la constitution de réserves ou d'amortissements. La statistique ne permettait donc pas d'établir de façon fiable le revenu sans invalidité. De surcroît, l'auteur des données statistiques précisait que les statistiques n'étaient valables que pour ces entreprises sans aucune prétention à représenter la branche concernée. L'assurée ajoutait que le Tribunal fédéral ne se référait jamais aux statistiques de l'USAM, mais à celles de l'Office fédéral de la statistique (Enquête suisse sur la structure des salaires). Dès lors, elle maintenait sa proposition de fixer son degré d'invalidité en appliquant la méthode extraordinaire.
La juridiction cantonale a fixé le revenu sans invalidité à 50'000 fr. Elle a rejeté le recours par jugement du 30 mai 2016.
C.
A._ interjette un recours en matière de droit public contre ce jugement dont elle demande l'annulation en concluant principalement à l'octroi d'une rente entière d'invalidité à partir du 1er mars 2012, subsidiairement au renvoi du dossier à l'office AI.
Considérant en droit :
1.
Saisi d'un recours en matière de droit public (art. 82 ss LTF), le Tribunal fédéral exerce un pouvoir d'examen limité. Il applique le droit d'office (art. 106 al. 1 LTF) et statue sur la base des faits retenus par l'autorité précédente (art. 105 al. 1 LTF). Il peut néanmoins rectifier ou compléter d'office l'état de fait du jugement entrepris si des lacunes ou des erreurs manifestes lui apparaissent aussitôt (art. 105 al. 2 LTF). Il examine en principe seulement les griefs motivés (art. 42 al. 2 LTF) et ne peut pas aller au-delà des conclusions des parties (art. 107 al. 1 LTF). Le recourant ne peut critiquer la constatation des faits importants pour le sort de l'affaire que si ceux-ci ont été établis en violation du droit ou de façon manifestement inexacte (art. 97 al. 1 LTF).
2.
Le litige porte sur le droit de la recourante à une rente entière d'invalidité depuis le 1er mars 2012; pour la période antérieure à cette date, le principe du droit à la demi-rente n'est pas remis en question. Dans ce contexte, la recourante conteste le revenu sans invalidité de 50'000 fr. qui a été pris en compte dans la comparaison des revenus (art. 16 LPGA).
La méthode d'évaluation de l'invalidité (comparaison des revenus) a été fixée dans l'arrêt 9C_502/2014. Il n'y a pas lieu d'y revenir.
3.
Comme en première instance, la recourante soutient que son revenu sans invalidité a été établi de façon manifestement inexacte en tirant des constatations insoutenables de la "Statistique des résultats comptables des entreprises des arts et métiers" de l'USAM. Elle est d'avis que ces données ne permettent pas d'évaluer de manière fiable le revenu d'une monitrice d'auto-école travaillant à plein temps comme indépendante dans le canton de Fribourg.
A l'appui de ses griefs, la recourante observe qu'il ressort du fascicule de l'USAM que les entreprises saisies dans la statistique n'ont pas été choisies au hasard. De plus, il y est indiqué que les chiffres sont seulement valables pour ces entreprises sans aucune prétention à représenter la branche concernée. Elle en déduit que la statistique litigieuse n'est, contrairement à l'Enquête suisse sur la structure des salaires (ESS), pas établie à partir de données représentatives et que rien ne prouve que les chiffres tirés de cette statistique correspondent au niveau annuel d'une monitrice d'auto-école indépendante travaillant à plein temps dans le canton de Fribourg.
La recourante ajoute que la statistique ne se fonde que sur 31 écoles de conduite en 2012 et 29 écoles en 2013, alors que la Suisse en compte plus d'un millier. La baisse de revenu observée entre 2012 et 2013 démontrerait l'absence de fiabilité des résultats et ne permettrait pas de retenir que le revenu sans invalidité n'aurait pas dépassé 50'000 fr.
En outre, aucun renseignement n'est donné sur la manière dont la statistique a été établie. Ainsi, on ignore si la statistique s'applique à une région du pays ou à toute la Suisse, si des salariés travaillent dans les écoles de conduite, de même que les taux d'occupation (temps pleins ou partiels). Dans ces circonstances, aucune valeur probante ne peut être conférée à ces données.
4.
4.1. Les valeurs contestées proviennent de la "Statistique des résultats comptables des entreprises des arts et métiers" 2013/2014 de l'USAM. Pour la branche professionnelle "505: école de conduite", le revenu d'exploitation tient compte du chiffre d'affaires résultant des ventes et des prestations de services, des charges de matières, de marchandises et de service, de personnel, de locaux, d'entretien, réparations et remplacement, des charges de véhicules et de transport, des assurances-choses, droits, taxes, autorisations et patentes, des charges d'énergie et d'évacuation des déchets, des charges d'administration, d'informatique et de publicité, d'autres charges d'exploitation, du résultat financier ainsi que des amortissements; de plus, une distinction est opérée suivant le chiffre d'affaires de l'entreprise (de 1 à 199'999 fr., de 200'000 à 499'999 fr.). Pour l'année 2012, le revenu de l'exploitation s'élève à 49'200 fr. pour les entreprises dont le chiffre d'affaires n'excède pas 199'999 fr., et à 60'300 fr. pour celles qui ont un chiffre d'affaires allant jusqu'à 499'999 fr. Pour l'année 2013, les valeurs respectives sont de 37'900 fr. et de 57'700 fr.
Le site internet http://gewerbestatistik.ch/statistique de l'USAM indique la manière dont les statistiques en cause sont réalisées. Sous la rubrique "Statistique", il est notamment précisé que la saisie et l'exploitation des données se font à l'aide de la structure du plan de comptes des PME. Sont saisis les chiffres du bilan final et du compte de profits et charges correspondant. D'autre part des valeurs de référence sélectionnées (nombres d'employés, forme juridique) sont également demandées. La saisie et l'analyse des clôtures de comptabilité se font du point de vue de l'entreprise individuelle.
Compte tenu des explications ressortant du site internet de l'USAM sur la manière dont les statistiques sont élaborées, on doit admettre, contrairement au point de vue que défend la recourante, que les données statistiques recueillies au cours du complément d'instruction permettent de connaître les résultats d'exploitation moyens des écoles de conduite en Suisse. Il n'est donc pas arbitraire de se fonder sur celles-ci pour évaluer le revenu hypothétique de la recourante (cf. arrêt 9C_502/2014 précité, consid. 3 in fine). A cet égard, on relèvera que les statistiques de l'ESS auxquelles la recourante se réfère concernent des activités salariées, de sorte qu'elles ne sauraient être utilisées pour déterminer un revenu d'indépendant.
4.2. Les données statistiques en cause ne concernent que les années 2012 et 2013. En procédure cantonale, la recourante n'a pas requis la production des statistiques de l'USAM afférentes à l'année 2003, se contentant d'emblée de nier, par principe, toute valeur à de telles statistiques pour statuer dans son cas. Devant le Tribunal fédéral, elle ne demande pas non plus l'édition des statistiques 2003, mais renouvelle les mêmes critiques à l'égard des tables de l'USAM.
Dans ces conditions, il n'est pas arbitraire de déduire que les résultats d'exploitation moyens des écoles de conduite suisses n'ont pas évolué lors des dix dernières années dans une mesure qui permettrait d'admettre que le revenu sans invalidité litigieux de 50'000 fr. serait très en deçà de la réalité. La recourante l'admet implicitement et conteste la pertinence des statistiques de l'USAM en raison du fait, notamment, qu' "il paraît évident que le revenu effectif des écoles de conduite n'a pas diminué de près de 30 % entre 2012 et 2013". A cet égard, on observera que le revenu sans invalidité aurait dû atteindre 68'250 fr. en 2003 pour que sa comparaison avec le gain d'invalide de 41'291 fr. puisse aboutir au taux d'invalidité de 39,5 % ouvrant droit à un quart de rente.
4.3. Par surabondance, le résultat ne serait pas différent s'il fallait comparer les revenus en 2012, année au cours de laquelle l'intimé a cessé de verser la demi-rente. En effet, si l'on prenait en compte le résultat d'exploitation de 60'300 fr. d'une auto-école dont le chiffre d'affaires annuel était inférieur à 500'000 fr. en 2012, et que l'on comparait ce revenu sans invalidité au gain d'invalide qui pourrait être fixé suivant les tables de l'ESS 2012 (TA1_skill_level niveau de compétences 1, postes 77, 79-82, pour une femme: 3'642 fr.), soit 3'227 fr. ou annuellement 38'727 fr. compte tenu d'un horaire de travail hebdomadaire ajusté à 41,7 heures (cf. La Vie économique 6/2014, p. 84, table B9.2) et d'une réduction de 15 % sur le revenu statistique, le taux d'invalidité se monterait à 36 %.
Vu ce qui précède, le recours est infondé.
5.
La recourante, qui succombe, supportera les frais de la procédure fédérale (art. 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 8 février 2017
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
La Présidente : Pfiffner
Le Greffier : Berthoud