Gli ingegneri elettrici usano i microcontrollori? [chiuso]


14

Ho sempre amato programmare e recentemente mi sono interessato all'elettronica e alla programmazione dei microcontrollori. È molto divertente, ma mi chiedo se sto imparando qualcosa di utile che può ottenere un lavoro quando invecchierò. Mi chiedo se gli ingegneri elettrici utilizzino i microcontrollori.

So che i lavori in cui è necessario apportare energia a diverse parti di una casa probabilmente non lo farebbero, ma forse un lavoro come questo:

Tue responsabilità:

  • Progetta e sviluppa nuovi prodotti per defibrillatori. L'attenzione principale sarà rivolta alla progettazione di nuovi prodotti e all'attuale supporto dei prodotti nell'area della progettazione analogica e digitale.
  • Modella circuiti analogici utilizzando vari strumenti di simulazione, come PSPICE e MATLAB.
  • Costruisci prototipi e dimostra fattibilità, funzionalità e prestazioni di progettazione.
  • Documentare tutte le fasi del progetto inclusi requisiti, specifiche, piani, revisioni, procedure di prova e rapporti di prova.
  • Supportare i prodotti esistenti. Indagare e determinare la causa principale dei problemi del prodotto riscontrati nella produzione e sul campo. Risolvi i problemi di sistemi, PCB, cavi e firmware. Utilizzare l'apparecchiatura di prova per analizzare e risolvere i problemi.
  • Identificare, valutare e raccomandare i principali fornitori in base alle capacità tecniche elettriche, all'esperienza, alla storia e alle certificazioni.
  • Facilitare e mantenere comunicazioni costanti con i principali fornitori e le parti interessate interne durante lo sviluppo del progetto.
  • Rappresentare il gruppo di sviluppo EE come capo di un team tecnico per i progetti. Ciò include la fornitura di soluzioni tecniche, nonché la pianificazione e la tracciabilità dei progetti.
  • Documentare il progetto per la produzione (ovvero disegni, schemi, esperimenti, modifiche, risultati dei test, dati, layout PCB, ecc.).
  • Collabora con team interfunzionali che includono: Ingegneria meccanica, Ingegneria del software, Applicazioni cliniche, Prodotti per l'apprendimento, Marketing, Ingegneria di supporto, Qualità e regolamentazione e Catena di fornitura. I team sono esperti, ma relativamente piccoli e i membri ricoprono molti ruoli di sviluppo.

Le persone che fanno questo usano microcontrollori o qualcosa di simile?


5
@VladimirCravero - mentre un arduino non è un microcontrollore, è una scheda di sviluppo per microcontrollori, con o senza le librerie e l'IDE offerti.
Chris Stratton,

3
Il nome Arduino indica che il microcontrollore ha una sorta di bootloader che gli consente di essere programmato dal computer. Non sono le librerie o l'IDE che lo rendono un Arduino, è il bootloader. Con il giusto microcontrollore Atmel, Arduino diventa una piattaforma di microcontrollori ben supportata
Funkyguy

5
@Vladimir Cravero. Mentre un Arduino non è un microcontrollore. Conosco EE che usano schede di sviluppo Arduino o schede PIC economiche come schede "breakout" per microcontrollori. In particolare, Nano offre metodi rapidi, economici e facili per svolgere alcuni lavori, ad esempio per creare un sistema di test per garantire che un prodotto o un componente "reale" funzioni.
bagliore

5
Secondo commento di gbulmer. Ho usato un arduino a titolo professionale. Ho realizzato apparecchi di prova con loro per supervisionare a lungo termine / bruciare durante i test. Li ho inseriti in custodie in alluminio dall'aspetto professionale e le ho inviate ai siti dei clienti. Non stavo realizzando volumi di produzione con loro, ma quando avevo bisogno di qualcosa per la mia applicazione e mi serviva velocemente, mi sono rivolto ad un Arduino Mega. Ha lavorato come un campione. Non ho dovuto girare un PCB per raggiungere i miei obiettivi. Inoltre, a basse quantità è più economico usare una tavola prefabbricata piuttosto che far girare la propria scheda uC.
Nick,

4
Osservazione generale, non puntare le dita qui ... Sono solo io o qualcun altro nota che se gli EE passassero tutto il loro tempo a lamentarsi di quanto male sia sviluppato il software Arduino (librerie, IDE, ecc.) Migliorandolo, avremmo hai una libreria di livello industriale che funziona su molti MCU ed è più efficiente e più semplice che scrivere il tuo codice per alcune funzioni? Certo, ci sono alcune cose strane ( booleancontro bool), ma penso che alcune di quelle cose potrebbero essere rimosse in un derivato ...
Pinguino anonimo

Risposte:


26

D: Gli ingegneri elettrici utilizzano i microcontrollori?

Sì. Assolutamente. Dai semplici giocattoli ai complessi processi di produzione e robot. Non è un'abilità che ti farà del male sapere. Scopri quanto più puoi su di loro.


1
come per tutto ciò che riguarda l'ingegneria elettrica, dipende dalle specifiche di ciò che stai facendo.
Jeff Wurz,

chissà forse creerai il tuo lavoro nel processo. Alcuni esoscheletri e cose stanno iniziando a usare Arduino su PIC. Inoltre, affina altre abilità come la robotica come detto e i circuiti e le abilità matematiche di base per loro.
Andrew Scott Evans,

2
Concordato @JeffWurz. Ma averlo nella cassetta degli attrezzi per quando è il momento non è mai una brutta cosa. Molte persone usano un uC quando un amplificatore operazionale funzionerebbe ancora meglio! Quindi, durante la fase di progettazione, hai ragione al 100%. Ci sono molti che "sovrastegnano" i circuiti. Bob Pease ha dichiarato: "Il mio linguaggio di programmazione preferito è saldato!"
Enemy Of the State Machine,

1
@EnemyOftheStateMachine Solder può sicuramente essere utile ma, per quanto mi riguarda, in un ambiente professionale preferisco sempre una soluzione che si basa su parti pronte all'uso. Di solito per me questo è un PLC piuttosto che un uC, ma in rare occasioni un uC è particolarmente adatto al compito. Il vantaggio principale è la facilità di sostituzione - qualcosa che diventa evidente quando la tua soluzione di saldatura unica nel suo genere muore e sei costretto a trascorrere una giornata a fare diagnosi a livello di scheda o due giorni a ricostruirne una nuova. Se un uC o un PLC muore, lo si scambia, si riprogramma e si riprende a fare soldi immediatamente.
J ...

12

Questo particolare lavoro potrebbe non esserlo, ma il prodotto dovrebbe probabilmente includere un microcontrollore e forse essere controllato da un sistema incorporato più potente.

Si noti che menziona "risoluzione dei problemi" (ma non la scrittura) "firmware".

È anche possibile che questa descrizione del lavoro sia stata scritta da qualcuno (ad esempio, una persona delle risorse umane) che non capisce veramente il processo di ingegneria.

Nelle aziende più grandi le persone tendono a specializzarsi e potresti avere una persona analogica che fa il design ad alta tensione e il design di controllo e una persona del firmware che fa il firmware di controllo di basso livello, e forse un team completamente diverso che sviluppa una GUI e un controller touch panel. Su un dispositivo regolamentato critico per la sicurezza come un defibrillatore, probabilmente avresti un ingegnere di sistema che definisce le specifiche da soddisfare e le interfacce tra le aree di responsabilità.


8

Per velocità più bassa, basso costo, pacchetti più piccoli, maggiore affidabilità (a causa di un minor numero di connessioni) e soluzioni più facilmente gestibili, il microcontrollore è spesso la soluzione goto. Anche se si esegue la scansione di questo sito Web, verranno visualizzate molte domande in cui qualcuno è eccessivamente complesso, alcune persone chiedono automaticamente il poster "perché non si utilizza un microcontrollore)?


7

La definizione di EE è alquanto flessibile. Se hai una laurea EE presso una grande università, potresti avere o meno esperienza con la programmazione e i microcontrollori. Molti programmi EE non richiedono corsi di programmazione. Questo è il motivo per cui molti ingegneri scelgono Ingegneria Informatica piuttosto che EE perché si trovano a cavallo tra la progettazione hardware e la progettazione software.

I microcontrollori possono consentire costi di progettazione più brevi e cicli più brevi per la stessa funzionalità per molti progetti. Ci sono alcune cose che devono essere fatte nel mondo analogico, e alcune che devono essere fatte nel digitale, ma generalmente quando si tratta di microcontrollori la decisione non è se si può fare, ma se può essere fatto meglio, più economico , più veloce o offrono più funzionalità e prestazioni rispetto a un design senza microcontrollore.

Un EE che non ha familiarità e che non utilizza i microcontrollori si limiterà, ma se hanno una grande profondità nel mondo analogico, o preferiscono lavorare in grandi team in cui le micro cose possono essere fatte da altri, faranno molto bene dove è necessaria la loro competenza e attenzione.


Il mio diploma dice: "Lauree in ingegneria elettrica" ​​e poi nella riga successiva "Opzione computer".
Nick,

5

Molti EE usano microcontrollori, ma ce ne sono molti che non lo sono, come quelli specializzati in progettazione analogica, ingegneria RF, ingegneria energetica ecc.

Ma penso che la maggior parte degli EE che eseguono la progettazione digitale oggigiorno incorporano anche microcontrollori nei loro progetti, solo perché nella maggior parte dei casi consente di risparmiare molto hardware e rendere il design più flessibile. (Un altro modo per ridurre al minimo le parti e rendere più semplice la modifica di un progetto è utilizzare FPGA, che richiede un diverso tipo di programmazione chiamato VHDL.) Come vedremo di seguito, dipenderà dal fatto che siano coinvolti o meno nella programmazione di questi mirocontroller sulla dimensione dell'azienda e della sua organizzazione.

Idealmente, un EE che ha conseguito una laurea in EE ha frequentato almeno alcuni corsi di programmazione. Molto probabilmente uno o più di questi hanno incluso C, che viene utilizzato per la maggior parte della programmazione integrata su microcontrollori. Altrimenti, è relativamente facile raccogliere C da soli, anche se se non hai mai fatto alcuna programmazione ci saranno alcuni ostacoli da superare.

Tuttavia, IMO è molto più facile per un EE imparare a programmare piuttosto che per un programmatore imparare a lavorare con l'hardware. In quest'ultimo caso, non penserei che la maggior parte delle major CS sarebbe in grado di imparare il design digitale o analogico da solo senza corsi formali, ma dovrebbero essere in grado di imparare a leggere schemi, usare un multimetro e un oscilloscopio e forse un analizzatore logico.

Come altri hanno già detto, se uno sa di essere interessato a dedicarsi alla programmazione e alla progettazione integrate, una laurea in CE potrebbe essere una buona scelta. Dubito che otterrai tutta la teoria EE di base di quanto si potrebbe prendere solo una EE major, ad esempio ci sarebbe meno enfasi sul design analogico. Quando ho ottenuto il mio BSEE, i titoli CE non esistevano ancora, quindi sono andato avanti e ho ottenuto un diploma MSCS di notte mentre lavoravo il mio primo lavoro (e ho lasciato che la società pagasse le mie tasse e libri).

Sorprendentemente, lavorare con dispositivi embedded comporta un bel po 'di circuiti analogici, al fine di interfacciarsi con il mondo esterno. Anche uno viene coinvolto nella progettazione dell'alimentazione. Uno dei prodotti a cui sono stato coinvolto aveva 9 diversi binari di tensione (-6,1, 1,8, 2,5, 3,3, 3,6, 4,1, 5,0, 9,6 e 12), molti dei quali per un display LCD.

Per quanto riguarda la tua ipotetica descrizione del lavoro, in aziende più piccole come una start-up, come ingegnere solitario ho ricoperto tutti questi ruoli per un singolo progetto: ho scritto le specifiche, progettato il circuito, sia digitale che analogico, creato una DBA (distinta materiali), ordinò parti da Digi-Key e Mouser, stese il PCB con Eagle, ordinò PCB, eseguì il debug dell'hardware quando tornò dalla casa di assemblaggio, scrisse il firmware in C per testare ulteriormente la scheda, e poi ho scritto il firmware di produzione in C. Ho anche scritto la documentazione necessaria per la FDA (questo era un dispositivo medico) e fornito supporto per il campo. Quindi, in questo caso, mi è stato molto utile avere un background sia in EE che in CS.

Ma in molte aziende, questi ruoli potrebbero essere suddivisi tra più ingegneri: molto probabilmente il design dell'hardware sarebbe svolto da uno o più ingegneri, il layout del PCB da un altro e la programmazione e il test da un terzo gruppo. In quest'ultimo caso, come menzionato sopra, il programmatore, al fine di testare il proprio firmware, dovrebbe avere una messa a terra di base nell'elettronica. Ma il progettista hardware, oltre a sapere come incorporare il microcontrollore nella progettazione (che non è un compito banale - la maggior parte dei fogli di dati del microcontrollore ha una lunghezza di centinaia di pagine), potrebbe non essere coinvolto nel firmware. Tuttavia all'inizio del design,


2
Dato che un tizio del software lavora nell'automazione industriale, una cosa che ho scoperto è che gli EE che comprendono il software a un certo livello sono molto più facili da comunicare rispetto a quelli che operano puramente nel regno dei circuiti. Allo stesso modo, cerco di imparare abbastanza sui sistemi elettrici di base per diagnosticare almeno semplici problemi di cablaggio senza dover chiamare l'EE. L'ingegneria è molto spesso uno sforzo interdisciplinare, quindi è molto utile avere una sovrapposizione tecnica sufficiente per discutere e cooperare efficacemente quando arriva il momento di integrarsi.
Dan Bryant,

3

Sì, gli EE utilizzano microcontrollori.

La razza umana produce oltre 20.000.000.000 / anno [1], circa 40 volte più dei microprocessori. Qualcuno sta progettando, testando, eseguendo il debug e migliorando sistemi e prodotti utilizzando tali MCU; molti sono utilizzati in prodotti progettati da team tra cui EE.

AFAICT nel Regno Unito una tendenza è che gli EE diventino sviluppatori di software embedded o ricevano una formazione per diventare anche sviluppatori di software embedded. Quindi potresti comunque essere in anticipo su quella tendenza EE. Potresti prendere in considerazione la possibilità di specializzarti nello sviluppo integrato se stai guardando l'università o se stai cercando lavoro nel reclutamento di "Sviluppatori di software integrati", per avere una migliore idea di quali abilità siano utili.

Almeno una grande e famosa azienda britannica ha affermato che il ciclo di vita dello sviluppo del prodotto sarebbe migliorato con un numero maggiore, anche migliore, di sviluppatori software integrati. Sospetto che sia vero per molte altre aziende in tutto il mondo.

[1] IIRC erano una cifra per il 2011. Cercherò di trovare il mio riferimento alla fonte originale. È stato molto difficile ottenere numeri aggiornati, ed è stato il più aggiornato che abbia mai trovato. Penso che sia stato un valore da un'indagine di settore condotta da uno degli analisti di mercato. In quel caso, potrebbe essere stato approssimativo, forse derivato prendendo, diciamo, i primi 10 produttori, leggendo e interpretando le loro relazioni annuali e ridimensionando per le stime complessive dei ricavi del settore.

In alternativa, potrebbe essere stato derivato guardando i prodotti spediti in diversi settori ed estrapolando. Ad esempio, AFAIK, ogni telefono cellulare contiene almeno un MCU, le fotocamere digitali ne hanno uno, i lettori musicali ne hanno uno, i televisori ne hanno uno, i giochi di aiuto manuale ne hanno uno, i router wireless ne hanno uno, le automobili in media 17 (IIRC), ecc. Quindi se esiste una cifra per i volumi di prodotti in grandi settori, potrebbe essere "triangolata" in quel modo.

Credo che la ST abbia rivendicato oltre 1B MCU ARM o 2B MCU, e non sono le più grandi, e ci sono molti grandi giocatori, quindi penso che il valore sia probabilmente realistico ora. Credo anche di sembrare che alcuni comunicati stampa per singoli produttori richiedano oltre 1 miliardi di pezzi all'anno, quindi penso che sia plausibile.


Hai una fonte per quel numero? 20 miliardi?
Funkyguy,

@Funkyguy - Avevo una fonte, quindi per favore fammi guardare in giro. Ho spostato il mio commento nella mia risposta in modo da poterlo aggiornare se trovo il riferimento.
bagliore

Sono anche interessato alla tua fonte. I miei numeri di volume del microcontrollore più recenti provengono da fonti 2006.
davidcary,

Vedo un comunicato stampa di Microchip del 2011 che dice "La tecnologia Microchip offre 10 miliardi di microcontrollori PIC ... Microchip ha consegnato questo 10 miliardesimo microcontrollore ... circa 10 mesi dopo aver consegnato il suo nove miliardesimo". quindi sono oltre 1 B parti / anno nel 2011. Quindi 20 B in totale nel 2011 su tutti i produttori è plausibile.
davidcary,

3

Sì!

La programmazione e l'interazione con i microcontrollori può essere una delle responsabilità principali di un ingegnere elettrico.

I microcontrollori rappresentano in qualche modo una via di mezzo per ingegneri e programmatori. La creazione di un firmware adeguato richiede non solo una buona conoscenza della programmazione, ma anche una conoscenza pratica dell'elettronica che interagirà con il programma nel microcontrollore.

La descrizione del lavoro che hai pubblicato non sembra riguardare il design, in particolare. Sembra più che ti metterebbero in una posizione di test e risoluzione dei problemi. Questo è ancora un compito che farebbe un ingegnere elettrico.


3
Ci sono anche molti EE che non hanno mai a che fare con un microcontrollore. Dipende dal percorso professionale, dal lavoro, dall'industria, ecc.
ACD

È vero, anche se questo sembra diventare sempre più raro. Anche se non sono il più grande fan di Arduino, molti EE che sono stati sul campo per un bel po 'di tempo lo stanno raccogliendo poiché è molto semplice da usare.
Funkyguy,

Ho lavorato come EE per circa 5 anni e mentre ho visto microcontrollori in 3 diversi lavori, non sono mai stata una delle mie principali responsabilità o addirittura vicino. Ho anche amici che lavorano come ingegneri di potenza e non toccano mai un PCB e tanto meno un micro. Volevo solo sottolineare che la tua seconda frase è stata molto fuorviante e che può essere una responsabilità principale per alcuni, ma non è tutto compreso.
ACD

1
@ACD Vedo il tuo punto. È vero, come progettista di alimentatori, non tocco mai i microcontrollori, solo nel mio tempo libero. Ho modificato il post per "può essere" piuttosto che verso l'alto è
Funkyguy

1

Sì e sì! Ho svolto il lavoro descritto dai tuoi post (quasi certamente non per lo stesso cliente) e molti altri simili. Faresti meglio a credere che il defib contenesse un microcomputer (pedanti: sono totalmente consapevole della differenza; semplicemente non lo dò molto significato in questo contesto).

Sono un SWE con un piede in EE; ci sono altrettanti EE con un piede in SWE. Siediti ovunque su quello spettro che ti si addice. Qualsiasi prodotto più intelligente di un martello (e forse alcuni di quelli!) Ha un controller programmabile. Potrebbe essere una MCU, un microcomputer o una scheda madre desktop completa, a seconda di cosa / quanto deve fare. Alcuni strumenti di laboratorio come gli HPLC che gestiscono e riducono molti dati e devono presentare all'utente una GUI complessa (ognuna delle quali attività possono essere ad alta intensità di calcolo) rientrerebbero in quest'ultima categoria. Il defibrillatore portatile utilizzato da un equipaggio o di un dipartimento di emergenza cadrebbe da qualche parte nel mezzo. Una serie di luci natalizie potrebbe avere l'MCU più economico e più piccolo, se ne ha affatto.

Le tue capacità di programmazione non andranno sprecate se è così che vuoi trascorrere la tua carriera. Tieni presente, tuttavia, che mentre un set completo di EE, SWE e qualsiasi abilità xxxE ti sarà molto utile, quasi sicuramente ti specializzerai o sarai inscatolato in :-( - uno di quelli come primario.

Mi sono laureato in Ingegneria Gestionale (perché era il più vicino (suggerimento: non vicino!) Adatto a SWE che avevo a mia disposizione in quel momento) sapendo benissimo che avrei succhiato pietre nel gestire le persone, l'avrei odiato e avrei corso urlando da qualsiasi tentativo di mettermi sulla sedia di un manager. Ma! (e c'è sempre "ma", non è vero?) un BS in EM è arrivato con almeno un corso di 101 livelli in Fisica, Meccanica, Chimica, Matematica (molto più di un 101, ovviamente), Programmazione (un alcuni dei quali ho insegnato o insegnato o semplicemente risolto con), elettronica, calcolo analogico e altro ancora. Sarei stato ben servito anche con un paio di corsi di scienze della vita, se fossero stati offerti, anche se non sono sicuro che io o l'università lo sapessimo allora.

Ma la linea di fondo - e, infine, il mio punto - è che un'istruzione ad ampio spettro può portarti in molti posti che uno altamente specializzato potrebbe non (e, sì, viceversa). I miei 101 livelli mi hanno messo in grado di sapere cosa non sapevo ma di cui avevo bisogno e di porre domande utili ai brillanti specialisti il ​​cui lavoro io e i miei colleghi stavamo incorporando in prodotti sempre più intelligenti, e talvolta inimmaginabili, .


0

Di solito l'apprendimento di un microcontrollore non è sufficiente e un microcontrollore non è adatto a tutte le applicazioni (industriale, didattica, ...). L'apprendimento di un microcontrollore potrebbe richiedere molto tempo e forse il suo microcontrollore non si genera dopo alcuni anni. Tuttavia è solo un'abilità e non è il principale di EE. ma questa abilità è necessaria per ogni ingegnere elettronico.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.