Qualche anno fa lavoravo come ingegnere progettista di PCB per un’azienda nella meravigliosa campagna italiana e progettavo invertitori di potenza per pompe idrauliche. Il lavoro era tanto complesso quanto immensamente appagante con ogni scheda caratterizzata da requisiti severissimi in termini di ECM e affidabilità e dl/dt estremamente netti.
Raggiungere il posto di lavoro ogni giorno, guidando attraverso colline che emergevano lentamente da dietro la strada per rivelare il piccolo puntino che era la nostra azienda, era panoramico ma dispendioso in termini di tempo. Dopo 45 minuti di musica e podcast (che spesso includevano il podcast OnTrack di Altium), raggiungevo finalmente l’ufficio.
Nonostante l’ambiente idilliaco, capitava spesso che, considerato il lungo tragitto casa-lavoro, non riuscissi a dedicarmi ad altro che al lavoro. Molti miei colleghi ed io alla fine abbiamo chiesto di lavorare da casa un giorno alla settimana per alleggerire il nostro equilibrio lavoro/vita privata.
Erano giorni sereni, in cui lavorare da casa era un beneficio da chiedere, non una necessità. Altium è stato il secondo strumento più importante nel mio toolkit dopo penna e carta e all’inizio speravo che avrei potuto portarlo a casa con me.
Le impostazioni di Altium indirizzavano a cartelle di rete condivise tra tutti gli ingegneri. Librerie che si basavano su un frammento di software che avevo sviluppato che si interconnetteva con l’ERP aziendale e numerosi database interni eseguiti su due server diversi. L’intero ufficio aveva una velocità di upload di meno di 10 Mbit per almeno 40 persone e si trovava in un ambiente rurale. Le VPN erano quindi una soluzione completamente impraticabile per la collaborazione remota.
La verità è che considerati i limiti dell’infrastruttura di rete lavorare da casa non sarebbe stato fattibile all’epoca. Altium 365 era appena stato anticipato allora e una soluzione centralizzata per lo sviluppo elettronico sembrava un sogno lontano e impossibile.
I tempi sono cambianti e ciò che Altium 365 ci consente di fare adesso non ha paragoni: centralizzare tutti i dati ECAD, accedervi da ovunque, consentire la condivisione e rivedere le progettazioni da un browser web.
Nessuna VPN, nessun invio di screenshot a tutti solo per perdere traccia delle modifiche dopo un paio di settimane, nessuna nota senza contesto.
Di recente, stavo lavorando a una famiglia di prodotti chiamata Microwave Optics Platform, il cui obiettivo era aiutare i giovani studenti di ingegneria ad apprendere le basi dell’ottica attraverso la sperimentazione con le microonde invece che con la luce visibile.
Un cliente chiese di sviluppare un accessorio per la visualizzazione di LED che potesse essere prodotto in quantità elevate a basso costo ed è stato sviluppato un primo prototipo.
Il prodotto è semplice: prende due ingressi CA con livelli audio di tipo consumer tipici (max 1 Vpp) facendoli passare attraverso due jack mono da 3,5 mm, li rettifica mediante un rilevatore di picco ad alta precisione, li filtra, quindi visualizza il valore attraverso una barra analogica lineare di circa 20 LED. È dotato di un paio di funzioni aggiuntive, come un connettore USB di sola alimentazione, uscite audio e banana, ma richiedono l’implementazione di non più di un paio di opamp e passivi.
Persino con un progetto così elementare, lavorare su prodotti diversi in parallelo e rivederli con i clienti può rendere complesse le operazioni di monitoraggio delle modifiche e di mantenimento di un feedback contestualizzato in maniera appropriata.
Per esempio, di recente abbiamo perso traccia di una correzione di bug su un capacitore che avrebbe dovuto essere 22 uF, ma che invece era stato lasciato a 10 uF; una piccola svista che ha impedito al dispositivo di filtrare il rumore in maniera appropriata, gettando una cattiva luce sulle prestazioni dell’intera gamma di prodotti. Ma possiamo lasciarci alle spalle tutte queste cose.
Voglio spiegarvi come potete migrare i vostri progetti in Altium Concord Pro con host in Altium 365 per sfruttare tutte le funzioni di collaborazione remota e poter lavorare da casa tenendo traccia delle modifiche nel modo migliore ed evitando di ripetere i nostri errori.
Iniziamo dando un’occhiata alla struttura del progetto: vediamo che ricorre in molti progetti Altium. Abbiamo qualche foglio dello schematico organizzato in una struttura gerarchica a tre livelli, un file PCB, due documenti DraftsMan (Produzione di PCB, Assemblaggio di PCB e un riferimento per l’ingegnere meccanico), un BomDoc e alcuni file Output Jobs.
Cosa andremo a eseguire archiviando il nostro progetto nell’ambiente Altium 365 è la migrazione de facto del progetto in un repository Git, per renderlo disponibile alla collaborazione remota.
Git è stato rilasciato nel 2005 da niente di meno che Linus Torvalds, l’uomo, la leggenda, dietro il sistema operativo Linux. L’invenzione e l’adozione di Git nel mondo dello sviluppo di software punta un occhio critico su come noi ingegneri elettronici abbiamo gestito i progetti fino a poco tempo fa.
Fin dalla sua nascita, Linux è emerso tra le fila dei progetti distribuiti più significativi nel mondo, condividendo il titolo con nomi del calibro di Wikipedia. Nei suoi primi anni di vita (dal 1991 al 2002), le modifiche al codice erano gestite mediante scambi di e-mail, note e patch del codice, in maniera molto simile al modo in cui una persona potrebbe condividere un singolo SchDoc con annotazioni con alcuni sottocircuiti di copia-incolla tramite e-mail. In questo modo i dati condivisi erano privi di contesto e ciò rendeva quasi impossibile riuscire a tenere traccia delle modifiche creando un enorme fardello amministrativo.
I VCS o Sistemi di controllo delle versioni erano stati creati per migliorare il processo di collaborazione poiché numerosi ingegneri potevano lavorare su un unico repository. Altium Designer supporta la tecnologia SVN, uno di questi sistemi, da molto più tempo di quanto io sia in grado di ricordare.
Tra il 2002 e il 2005, il progetto Linux è passato a un Sistema di controllo delle versioni proprietario e infine nel 2005 a Git, che Linux Torvald aveva scritto traendo ispirazione da un software che era stato leader nel settore chiamato Bitkeeper.
Git è stato creato per essere completamente distribuito. Quando lavorate usando Git, i dati vengono copiati localmente sul vostro computer, dove potete lavorare su di essi come se fossero una qualsiasi cartella standard. Le modifiche possono quindi essere salvate in “commit” e successivamente “inviate” al server. Questo ha consentito a team composti da decine di centinaia di sviluppatori di portare avanti una collaborazione remota in maniera efficiente.
Quando abbinate la robustezza di Git con le funzioni avanzate di Altium Designer e Altium Concord Pro, ciò che ottenete è un sistema in grado di gestire team di qualsiasi dimensione continuando a mantenere livelli elevati di prestazioni anche in ambienti con rete lenta.
Se li conoscete, i repository Git funzionano al meglio quando la struttura del file è mantenuta il più possibile statica, poiché operazioni come la rinomina o lo spostamento dei file complicano il monitoraggio delle modifiche. Per questo motivo, sto sfruttando uno strumento che è disponibile in Altium Designer fin dalla notte dei tempi: Storage Manager.
Storage Manager mi consente di eliminare i file inutili e rinominarli in una struttura coerente. Questo passaggio è opzionale ma consigliato se il progetto non è ancora ben organizzato.
Le progettazioni che includono Simboli del foglio possono, tuttavia, risultare danneggiate dopo che i file sono stati rinominati. Possiamo semplicemente andare allo schematico e aggiornare i Simboli del foglio a seconda delle necessità.
Dovremmo presto trovarci con una struttura pulita. Possiamo andare avanti e validare il nostro progetto (operazione che una volta veniva chiamata compilazione) selezionando Validate PCB project (Valida progetto PCB) nel menu Project (Progetto), se abbiamo lavorato bene non dovremmo vedere errori nei riquadri dei messaggi, ma solo avvisi e messaggi informativi.
Se è la prima volta che eseguite il comando in Altium 20, dovreste trovarlo molto più veloce che nelle versioni precedenti, grazie al compiler dinamico che viene eseguito nello sfondo.
Non esistono limiti ai contenuti dei design PCB online con host in Altium 365 e siete liberi di caricare i progetti non completati che non sono ancora stati validati.
La migrazione di un progetto in Altium Concord Pro su Altium 365 è estremamente semplice. Dopo aver effettuato l’accesso nella nostra piattaforma, possiamo cliccare con il tasto destro del mouse sul file del progetto e selezionare “Make Project Available Online...” (Rendi disponibile il progetto online...).
Altium will proceed to create a Git repository where our project resides, migrate all the data in it, and set up everything needed on the server-side so that we can start collaborating right away.
Due clic sono tutto ciò che serve per eseguire la migrazione di un progetto da una cartella locale ad Altium Concord Pro.
Accesso dal web
Una volta che il nostro progetto è stato caricato, possiamo accedervi sul web. Ci sono molti modi per farlo, come accedervi dallo spazio di lavoro Altium 365 o dalla pagina del profilo dell’account Altium Live. Poiché ci troviamo all’interno di Altium Designer, possiamo anche approfittare del pulsante “Show in Web Browser” (Mostra nel browser web), che aprirà direttamente la nostra progettazione.
Ciò che trovo assolutamente entusiasmante di Altium 365 è la capacità di condividere il progetto e di lasciare dei commenti, specialmente sugli schematici. Attraverso questa semplice funzione, i team di qualsiasi dimensione possono usufruire di una flessibilità senza precedenti nel processo revisionale. Cosa sono le revisioni delle progettazione se non un gruppo di persone che commentano su dei disegni?
Possiamo condividere il nostro progetto Altium tramite Altium 365 con niente di più che un paio di clic, inviandolo ad altri utenti, inclusi utenti senza una sottoscrizione Altium, e da qualsiasi dispositivo.
Primi passi con la versione 20.1 Altium Designer presenta un pulsante di condivisione rapida che consente di invitare i collaboratori nei vostri progetti di design PCB online senza dover fare avanti e indietro tra ECAD e browser web.
Altium 365 consente di lasciare commenti su qualsiasi parte dello schematico e del PCB usando una serie di strumenti. Potete commentare a mano libera su qualsiasi oggetto, area del documento o disegno.
Nell’esempio seguente, potete vedere che ho applicato un commento a mano libera su due resistori, chiedendo ai miei colleghi di finalizzare quella sezione della progettazione dopo aver testato il prototipo.
I commenti vengono immediatamente risincronizzati su Altium Designer; non dovete quindi uscire dal software ECAD per gestirli. Selezionando un commento, accessibile tramite il riquadro dei commenti, Altium Designer aprirà automaticamente il documento corrispondente e ingrandirà l’area pertinente.
È anche possibile posizionare i commenti direttamente all’interno di Altium Designer tramite il menu apposito come se si trattasse di qualsiasi altro schematico od oggetto PCB.
Ogni commento resterà sullo schematico/PCB finché non sarà dotato del flag “risolto” sia attraverso l’interfaccia web che mediante Altium Designer. In questo modo, le modifiche possono essere eseguite a livello atomico, riducendo il rischio di dimenticarsi di ruotare un capacitore elettrolitico nel modo corretto.
Se avete eseguito un Controllo delle regole di progettazione di recente all’interno dell’editor di PCB, le violazioni saranno sempre accessibili da Altium 365.
Altium Concord Pro su Altium 365 sta introducendo un livello di integrazione senza precedenti nel settore dell’elettronica che fino a oggi è stato relegato al mondo dello sviluppo software, consentendo ai designer di lavorare da casa e raggiungere livelli impareggiabili di efficienza grazie alla collaborazione remota.
Abbiamo solo scalfito la superficie di ciò che è possibile fare con Altium Concord Pro su Altium 365. Per una descrizione più approfondita della funzione potete dare un’occhiata alla pagina del prodotto o partecipare a uno dei Webinar on-demand.