Fatti:
A.
Con sentenza del 9 giugno 2016 la Corte delle assise criminali ha dichiarato A._ autore colpevole di infrazione e contravvenzione alla legge federale sugli stupefacenti, coazione ripetuta, estorsione in parte tentata, lesioni semplici e vie di fatto. L'imputato ha commesso i reati nel periodo tra la fine di luglio del 2014 e il 23 settembre 2014 presso il carcere "Lo Stampino", ove era detenuto per l'esecuzione di una precedente condanna. Per questi reati, la Corte delle assise criminali lo ha condannato alla pena detentiva di 30 mesi e alla multa di fr. 200.-- ed ha ordinato il suo internamento giusta l'<ref-law>.
B.
Adita dall'imputato, la Corte di appello e di revisione penale (CARP) ha parzialmente accolto l'appello con sentenza del 20 aprile 2017, prosciogliendolo dall'imputazione di vie di fatto e da quella di coazione limitatamente a determinati fatti. Ha per il resto sostanzialmente confermato le imputazioni addebitategli e lo ha condannato alla pena detentiva di 25 mesi e alla multa di fr. 100.--, commutabile in una pena detentiva sostitutiva di un giorno in caso di mancato pagamento. La CARP ha per contro negato i presupposti per pronunciare un internamento ed ha ordinato nei confronti di A._ un trattamento stazionario ai sensi dell'<ref-law>, disponendo contestualmente la sospensione della pena detentiva per consentire l'esecuzione della misura.
C.
A._ impugna questa sentenza con un ricorso in materia penale al Tribunale federale, chiedendo in via principale di annullarne i dispositivi che ordinano un trattamento stazionario e la sospensione della pena detentiva per consentire l'esecuzione della misura, di dichiarare espiata la pena detentiva di 25 mesi e di ordinare la sua scarcerazione immediata. In via subordinata, chiede di stabilire che la misura del trattamento stazionario decorra dal 23 settembre 2014, quando è stata ordinata la sua carcerazione preventiva, o in subordine dal 17 novembre 2014, quando è iniziata l'esecuzione anticipata della pena detentiva. In ogni caso chiede di accertare una violazione del principio di celerità e di essere esonerato dal pagamento delle spese giudiziarie della sede federale. Il ricorrente postula altresì che gli sia riconosciuta un'indennità ai sensi dell'<ref-law> per le spese di patrocinio relative alla procedura di ricorso dinanzi al Tribunale federale, riservato un eventuale indennizzo per l'ingiusta carcerazione subita.
D.
Con risposta del 14 giugno 2017, la Corte cantonale contesta le argomentazioni ricorsuali e si riconferma nella sua sentenza. Il Ministero pubblico ha comunicato il 20 giugno 2017 di non avere particolari osservazioni da presentare al ricorso. Il ricorrente ha replicato il 3 luglio 2017 confermandosi nelle proprie conclusioni. Il Ministero pubblico e la CARP hanno comunicato l'11 luglio 2017, rispettivamente il 14 luglio 2017, di non avere ulteriori osservazioni.

Diritto:
1.
1.1. Presentato dall'imputato, che ha partecipato alla procedura dinanzi alla precedente istanza, le cui conclusioni sono state parzialmente disattese (art. 81 cpv. 1 lett. a e b n. 1 LTF), e diretto contro una decisione finale (<ref-law>) resa in materia penale (<ref-law>) da un'autorità di ultima istanza cantonale (<ref-law>), il ricorso in materia penale è tempestivo (<ref-law>) e sotto i citati aspetti ammissibile.
1.2. Il Tribunale federale non può essere adito per fare esaminare questioni giuridiche astratte e non è quindi tenuto ad esprimersi su quesiti teorici, anche se di natura formale (cfr. <ref-ruling> consid. 1.2; <ref-ruling> consid. 1c).
2.
2.1. Il ricorrente rimprovera alla Corte cantonale di avere violato l'<ref-law> poiché, quando con la sentenza del 20 aprile 2017 ha ordinato la misura del trattamento stazionario, egli avrebbe già espiato l'intera pena detentiva di 25 mesi alla quale è stato condannato. Rileva che al momento in cui ha commesso i fatti oggetto del procedimento penale in esame, egli si trovava in detenzione presso il carcere "Lo Stampino" per eseguire una precedente condanna ad una pena detentiva di 4 anni e 6 mesi, che sarebbe terminata il 22 maggio 2015. Adduce che a seguito dei nuovi reati egli sarebbe stato sottoposto dapprima a detenzione preventiva dal 23 settembre 2014 e in seguito, a partire dal 17 novembre 2014, all'esecuzione anticipata della pena. Sostiene che l'esecuzione della pena detentiva residua di 8 mesi concernente la precedente condanna sarebbe stata conseguentemente sospesa, sicché la nuova pena detentiva di 25 mesi inflittagli dalla CARP sarebbe stata completamente espiata già nell'ottobre 2016 e quindi prima del dibattimento d'appello. Il ricorrente rimprovera alla Corte cantonale di avere dato per scontato il fatto che la pena detentiva non era stata completamente eseguita e di avere pertanto ordinato a torto la sospensione della stessa per consentire l'esecuzione della misura.
2.2. Nella risposta al ricorso, la precedente istanza rileva che l'<ref-law> stabilisce unicamente il principio della priorità della misura rispetto alla pena: ciò non significherebbe però ancora che una misura rispettosa delle esigenze legali non possa essere eseguita dopo la fine dell'esecuzione della pena. Osserva comunque che nella fattispecie la pena detentiva di 25 mesi pronunciata con la sentenza del 20 aprile 2017 non era ancora stata interamente scontata. Precisa di avere interpellato al riguardo, durante il procedimento di appello, l'Ufficio del Giudice dei provvedimenti coercitivi, quale giudice dell'applicazione della pena, che ha indicato come la fine della pena sarebbe stata raggiunta il 22 novembre 2017 considerando la pena residua relativa alla precedente condanna e la nuova pena detentiva di 30 mesi inflitta in primo grado. Secondo la CARP, tenendo conto della riduzione della pena decisa in sede di appello, l'espiazione della pena sarebbe quindi terminata il 22 giugno 2017. Rileva al proposito che l'esecuzione della precedente pena non è mai stata sospesa e doveva essere scontata prima di quella inflittagli successivamente. Evidenzia inoltre che la patrocinatrice del ricorrente non ha presentato alcuna richiesta di scarcerazione nell'ambito del procedimento di appello.
2.3. Con osservazioni del 3 luglio 2017, il ricorrente rileva che secondo la risposta della Corte cantonale ora la pena detentiva sarebbe in ogni caso integralmente espiata. Sostiene che, nonostante la mancanza di una decisione formale di sospensione, la pena detentiva rimanente relativa alla precedente condanna sarebbe stata di fatto sospesa quando è sottoposto alla carcerazione preventiva e quindi in esecuzione anticipata della pena nell'ambito del nuovo procedimento. Il ricorrente riconosce di non avere presentato una domanda di scarcerazione nella procedura di appello, rilevando che si trovava allora confrontato con una sentenza di primo grado che ordinava la misura dell'internamento oltre ad una pena detentiva di 30 mesi.
2.4. Giusta l'<ref-law>, le misure di cui agli art. 59-61 vanno eseguite prima della pena detentiva pronunciata contemporaneamente o divenuta esecutiva in seguito a revoca della sospensione condizionale o della liberazione condizionale. Parimenti, le misure ripristinate secondo l'art. 62a vanno eseguite prima della pena unica pronunciata congiuntamente.
Come rettamente rilevato dalla Corte cantonale, questa norma stabilisce nell'ambito dell'esecuzione la preminenza della misura sulla pena (cfr. ROTH/THALMANN, in: Commentaire romand, Code pénal I, 2009, n. 10 all'art. 57). Non disciplina quindi il termine entro il quale il giudice può ordinare la misura. Il ricorrente riconosce che la pena detentiva residua concernente la precedente condanna non è stata formalmente sospesa e, nelle sue osservazioni del 3 luglio 2017 alla risposta della CARP, fa riferimento al termine di "fine pena" del 22 giugno 2017 considerato dai giudici cantonali, per addurre che a quella data egli aveva completamente espiato le pene detentive alle quali è stato condannato. In tali circostanze, il ricorrente riconosce quindi, perlomeno implicitamente, che quando la Corte cantonale il 20 aprile 2017 ha deciso di ordinare la misura del trattamento stazionario, le pene non erano ancora state interamente scontate.
2.5. Risulta che il ricorrente, dopo essere stato sottoposto alla carcerazione preventiva dal 23 settembre 2014, è stato autorizzato dal Procuratore pubblico a scontare anticipatamente la pena detentiva a partire dal 17 novembre 2014. Secondo l'<ref-law>, chi dirige il procedimento può infatti autorizzare l'imputato a scontare anticipatamente pene detentive o misure privative della libertà, sempre che lo stato del procedimento lo consenta. Con l'entrata nello stabilimento d'esecuzione l'imputato inizia a scontare la pena o la misura; da quel momento sottostà al regime d'esecuzione, eccetto che lo scopo della carcerazione preventiva o di sicurezza vi si opponga (cpv. 4). L'esecuzione anticipata della pena costituisce una forma di carcerazione del diritto processuale penale. Perché la stessa possa proseguire, occorre quindi che continui a sussistere un motivo di carcerazione preventiva o di sicurezza, analogamente a quanto prevede l'<ref-law>. L'esecuzione anticipata della pena deve inoltre rispettare il principio della proporzionalità (cfr. sentenza 6B_73/2017 del 16 febbraio 2017 consid. 2.1, destinata a pubblicazione). Se l'imputato che beneficia dell'esecuzione anticipata della pena inoltra successivamente una domanda di scarcerazione, il proseguimento della privazione della libertà è giustificato soltanto se, sulla base delle pertinenti disposizioni del diritto processuale penale, sono dati i presupposti legali per ordinare la carcerazione preventiva o di sicurezza (cfr. sentenza 6B_73/2017, citata, consid. 2.1). L'adempimento di queste condizioni deve essere esaminato dall'autorità competente per statuire sulla domanda di scarcerazione, rispettando le garanzie procedurali dell'imputato. Durante la procedura dinanzi al Tribunale d'appello, spetta alla direzione pronunciarsi su un'eventuale domanda di scarcerazione (cfr. <ref-law>; sentenza 6B_73/2017, citata, consid. 2.3 e 3).
In concreto, il ricorrente nell'ambito della procedura di appello non ha tuttavia presentato una domanda di scarcerazione. Adduce al proposito che in quel momento si trovava confrontato con una sentenza di primo grado che lo condannava alla pena detentiva di 30 mesi e ordinava la misura dell'internamento giusta l'<ref-law>. Risulta però che in sede di appello egli ha chiesto in particolare la sua condanna a una pena detentiva non superiore ai 24 mesi, nonché l'annullamento della misura dell'internamento. In tali circostanze, se riteneva che la pena prospettata fosse già stata interamente scontata, nulla gli impediva di chiedere la scarcerazione immediata nell'ambito della procedura di appello. Ciò a maggior ragione, ove si consideri che nel ricorso in esame egli sostiene che pure la pena detentiva di 25 mesi inflittagli dalla CARP sarebbe stata completamente espiata prima dell'inizio del dibattimento d'appello.
2.6. Giusta l'<ref-law>, la durata della carcerazione preventiva o di sicurezza non può superare quella della pena detentiva presumibile (<ref-ruling> consid. 3.1). Qualora sia già stata pronunciata una decisione giudiziaria di prima istanza con la commisurazione della pena, essa costituisce un indizio importante sulla durata presumibile della sanzione (sentenza 6B_73/2017, citata, consid. 4.1 e riferimenti). La Corte di primo grado ha condannato il ricorrente alla pena detentiva di 30 mesi, ridotta dalla CARP a 25 mesi. Quest'ultima pena non è contestata dal ricorrente che in sede di appello aveva prospettato una pena detentiva massima di 24 mesi. Come visto, nelle osservazioni del 3 luglio 2017 al Tribunale federale il ricorrente aderisce in sostanza alla presa di posizione della Corte cantonale, secondo cui, tenendo conto della pena detentiva rimanente relativa alla precedente condanna, l'espiazione sarebbe terminata il 22 giugno 2017. Dinanzi alla precedente istanza, la carcerazione cui era sottoposto il ricorrente era quindi ancora proporzionata alla durata della presumibile pena detentiva alla quale egli avrebbe potuto essere condannato.
Alla luce di quanto esposto risulta quindi che la privazione della libertà del ricorrente era coperta da un valido titolo giuridico di carcerazione del diritto processuale penale, quando il 20 aprile 2017 la Corte cantonale ha statuito sull'appello. In concreto la censura ricorsuale, secondo cui la misura del trattamento stazionario non potrebbe essere ordinata dopo che l'imputato ha interamente espiato la pena detentiva, concerne quindi una questione teorica, che non deve pertanto essere vagliata in questa sede.
2.7. Facendo in particolare riferimento alla suddetta data del 22 giugno 2017, alla quale l'espiazione della pena detentiva sarebbe in ogni caso terminata, il ricorrente chiede che la sua scarcerazione sia ordinata in questa sede. Con la sentenza impugnata, la Corte cantonale ha tuttavia sospeso l'esecuzione della pena e ordinato nei suoi confronti la misura del trattamento stazionario ai sensi dell'<ref-law>. Secondo il cpv. 4 di questa disposizione, la privazione della libertà connessa al trattamento stazionario non supera di regola i cinque anni. Se, dopo cinque anni, i presupposti per la liberazione condizionale non sono ancora adempiuti e vi è da attendersi che la prosecuzione della misura permetterà di ovviare al rischio che l'autore commetta nuovi crimini e delitti in connessione con la sua turba psichica, il giudice, su proposta dell'autorità di esecuzione, può ordinare la protrazione della misura, di volta in volta per un periodo non superiore a cinque anni.
Il ricorrente non contesta nel merito la misura terapeutica stazionaria ordinata dalla CARP, in particolare non nega che in concreto siano adempiuti i presupposti per la sua adozione. Richiamata la necessità di procedere con l'esecuzione della misura nei suoi confronti, allo stadio attuale la scarcerazione deve essere negata. La continuazione della permanenza del ricorrente nello stabilimento di esecuzione prima dell'effettivo inizio del trattamento costituisce una privazione della libertà personale di cui occorrerà semmai tenere conto nell'ambito della durata della misura (cfr. <ref-ruling> consid. 5.6; <ref-ruling> consid. 3.7 e 3.8; sentenza 6B_1213/2016 dell'8 marzo 2017 consid. 2.2). In mancanza di accertamenti sulla durata del trattamento stazionario che sarà eseguito, non vi sono elementi per ritenere in questa fase della procedura che la carcerazione del diritto processuale penale cui è stato sottoposto il ricorrente sia eccessiva secondo l'<ref-law>.
3.
3.1. Il ricorrente lamenta una violazione del principio di celerità, ritenendo eccessiva la durata del periodo tra l'emanazione dell'atto di accusa, il 3 aprile 2015, e la sentenza di primo grado, la cui motivazione scritta è stata intimata il 18 agosto 2016. Critica al riguardo pure il fatto che il dispositivo di tale sentenza sia stato intimato 43 giorni dopo la chiusura del dibattimento e che la motivazione sia stata intimata 65 giorni dopo l'annuncio di appello. Riconosce per contro esplicitamente che lo svolgimento del procedimento d'appello ha rispettato l'imperativo di celerità.
3.2. Secondo l'<ref-law>, in procedimenti dinanzi ad autorità giudiziarie o amministrative, ognuno ha diritto ad essere giudicato entro un termine ragionevole. Lo stesso ordinamento è previsto dall'art. 6 n. 1 CEDU in contestazioni di carattere civile e in materia penale. L'<ref-law> concretizza inoltre il principio di celerità della procedura penale, disponendo che le autorità penali avviano senza indugio i procedimenti penali e li portano a termine senza ritardi ingiustificati (cfr. <ref-law>). Questo principio vale sia per le autorità di perseguimento penale (art. 12 e 15 segg. CPP) sia per le autorità giudicanti (art. 13 e 18 segg. CPP). L'esame della durata del procedimento non è soggetta a regole rigide, ma deve essere valutata in ogni singolo caso sulla base delle circostanze concrete. L'obbligo di pronunciarsi entro una scadenza ragionevole impone all'autorità competente di statuire entro un termine che risulti essere giustificato dalla natura del litigio e dall'insieme delle circostanze del caso, generalmente sulla base di una valutazione globale. Devono in particolare essere considerati la portata e le difficoltà della causa, il modo con il quale è stata trattata dall'autorità, l'interesse delle parti e il loro comportamento nella procedura (<ref-ruling> consid. 4.4; <ref-ruling> consid. 3.3.3; <ref-ruling> consid. 3.1, 312 consid. 5.1 e 5.2). L'interessato deve di principio fare valere nel corso della procedura un eventuale ritardo dell'autorità a statuire, perdendo di massima un interesse giuridico a farlo constatare al termine del procedimento, dopo l'emanazione del giudizio da parte dell'autorità (cfr. sentenze 4A_271/2015 del 29 settembre 2015 consid. 4 e 2C_1014/2013 del 22 agosto 2014 consid. 7.1).
3.3. Non risulta, né è sostenuto dal ricorrente, ch'egli abbia invocato nel procedimento d'appello dinanzi alla Corte cantonale una violazione del principio di celerità da parte delle autorità inferiori. Non emerge in particolare che abbia chiesto alla CARP di accertare una simile violazione e di tenerne conto nel suo giudizio, segnatamente nella commisurazione della pena (cfr. <ref-ruling> consid. 8 pag. 170 e rinvio). Insistendo essenzialmente sul ritardo della Corte di primo grado a notificare la motivazione scritta della sentenza, il ricorrente disattende poi che è determinante una valutazione globale della durata del procedimento penale e non singoli periodi di inattività legati allo svolgimento di specifici atti (DTF <ref-ruling> consid. 3.3.3). Non sostiene quindi, in particolare, che il periodo di due anni e sette mesi intercorso dall'apertura dell'inchiesta, il 23 settembre 2014, al giudizio finale della CARP, del 20 aprile 2017, sarebbe incompatibile con l'imperativo di celerità. Il ricorrente fa essenzialmente riferimento al lasso di tempo intercorso tra l'emanazione dell'atto di accusa del 3 aprile 2015 e l'intimazione della motivazione scritta del giudizio di primo grado, il 18 agosto 2016. Risulta tuttavia che la procedura in relazione a questo processo è stata laboriosa e caratterizzata da diversi atti procedurali, quali una prima udienza preliminare tenutasi il 1° giugno 2015, che ha comportato il rinvio degli atti al Procuratore pubblico, l'allestimento di un nuovo atto di accusa il 30 settembre 2015, cui è seguito un primo dibattimento il 6 novembre 2015, nonché l'esperimento di una nuova perizia psichiatrica (trasmessa il 20 gennaio 2016 al Tribunale penale cantonale) e la conseguente citazione per un ulteriore dibattimento svoltosi il 28 aprile 2016. Il ricorrente non sostanzia una violazione del principio di celerità con una motivazione conforme alle esigenze dell'<ref-law>, tenendo conto dell'insieme di queste circostanze.
4.
4.1. Il ricorrente precisa di rinunciare a chiedere il gratuito patrocinio per le spese legali sostenute in questa sede, ma postula per il loro risarcimento il riconoscimento di un'indennità giusta l'<ref-law>.
4.2. Questa disposizione si applica alle vie di ricorso della procedura cantonale in virtù dell'<ref-law>. Il risarcimento delle spese per la difesa nella procedura ricorsuale dinanzi al Tribunale federale è per contro retto dall'<ref-law> e dal relativo regolamento (cfr. sentenza 6B_436/2015 del 22 dicembre 2015 consid. 2 e 3). Poiché in concreto il ricorrente è interamente soccombente in questa sede, non possono essergli riconosciute ripetibili in applicazione dell'<ref-law>.
5.
5.1. Ne segue che il ricorso deve essere respinto nella misura della sua ammissibilità.
5.2. La domanda di assistenza giudiziaria, limitata espressamente dal ricorrente all'esonero dal pagamento delle spese giudiziarie, non può essere accolta essendo il gravame fin dall'inizio privo di possibilità di successo (<ref-law>). In considerazione della sua situazione finanziaria si rinuncia comunque a prelevare una tassa di giustizia (<ref-law>).

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
Non si prelevano spese giudiziarie.
3.
Comunicazione alla patrocinatrice del ricorrente, al Ministero pubblico e alla Corte di appello e di revisione penale del Cantone Ticino.