Cosa vorresti aver saputo prima di iniziare con i microcontrollori?


17

Quando si lavora con microcontrollori AVR o Arduinos, che cosa se avessi saputo prima ti avrebbe risparmiato molto tempo o frustrazione?


Perché questo qui ora ho chiesto. sembra. Ah, Kortuk ha giocato con i suoi tag. Grazie molto :-).
Russell McMahon,

@RussellMcMahon, sbatto messaggi casuali per tenere le persone in punta di piedi. Stavo postando un commento su overflow dello stack e questa era la domanda arduino più votata. Volevo cambiarlo da una domanda di discussione in CW di molto tempo fa.
Kortuk,

1
@Kortuk - (1) Spero ti piaccia la mia risposta :-). (2) Penso sia divertente che sia stato collocato in quest'area in modo efficace da un'azione consapevole e poi prontamente chiuso - con il promotore che è uno dei chiuditori :-). (3) Il fatto che fosse la domanda Arduino più votata dice qualcosa su ciò che la gente vuole sentire. e, forse, suggerisce che non lo stiamo affrontando abbastanza bene. (4) FWIW un principiante che lavora e dà un senso ai molti frammenti che ho raccolto migliorerebbe notevolmente la loro base di conoscenza e la comprensione del mondo reale. Roba pericolosa !.
Russell McMahon,

La mia risposta è stata quasi il 100% di "competenze specifiche", anche se in forma sintetica. Espandi tutto e avrai un libro.
Russell McMahon,

@RussellMcMahon, Non era una domanda arduino in alto, era solo una domanda molto vecchia che aveva un tag arduino. L'ho superato con una modifica, seguendo il mio metodo standard per evitare azioni senza flag di comunità e poi perché è stato urtato ha ricevuto flag. Spesso non abbiamo intrapreso azioni su molte delle vecchie domande fino a quando qualcuno non le segnala o le porta avanti come prova del perché un'altra domanda negativa dovrebbe rimanere. Posso bloccarlo invece, che potrebbe essere una scelta migliore.
Kortuk,

Risposte:


18

Per me è il contrario: vorrei sapere di Arduino e AVR prima che cercassero di insegnarmi l'elettronica nella scuola secondaria. Imparare la legge di Ohm senza aver mai visto o usato un resistore reale non è stato un bel esercizio. Allora sarebbe l'ideale avere un Arduino con cui giocare.

Per questo motivo, vorrei sapere di più sull'elettronica di base. Domande semplici come: perché dovrei preoccuparmi dell'attuale? (perché le cose esplodono se non lo fai) Perché dovrei preoccuparmi dei resistori? (stesso qui e altre cose) Perché dovrei preoccuparmi dei cappellini? (tutti i tipi di motivi)

Avere la capacità di giocare con i micro (e friggerli nel processo) mi ha insegnato la maggior parte di queste cose, ma vorrei averle imparate prima. (Immagino un classico problema con pollo e uova)


Molto bene, ho visto molti studenti che parlano correntemente la teoria di come funziona un diodo ma non riescono a identificarne uno da un gruppo di componenti
Rick_2047

Wow ... provano a insegnarti l'elettronica di base senza farti giocare con resistori e condensatori? Hanno usato almeno l'analogia dell'acqua?
akohlsmith il

Probabilmente ci hanno permesso di suonare con parti elettroniche ma non con quelle acquistate ma con le speciali versioni "educative". Ricordo di aver lavorato con una scheda educativa di "logica binaria". Tutti i componenti erano visibili solo come simboli con connettori per cavi patch. Il valore educativo di questo non era altro che una simulazione al computer. Sarebbe stato divertente poter giocare con componenti reali e almeno avere l'idea che tutte le cose che hai imparato avessero qualche vera applicazione da qualche parte. E quei componenti sono abbastanza economici e prontamente disponibili invece di "speciali e costosi".
bpijls,

12

Vorrei aver saputo che ogni classe di matematica che avrei mai preso lo avrei usato di nuovo, e più di una volta, e sono sicuro che avrei prestato un po 'più di attenzione.

Vorrei avere molte mani sull'esperienza di programmazione e utilizzo di FPGA. Sono la nuova ondata di sviluppo di sistemi embedded e ho solo un'esperienza di classe di base con loro.

Vorrei che mi fosse stato insegnato come usare tutti i moduli di microcontrollori in classe prima che il mio capo si aspettasse che li usassi tutti.

Spero davvero che il dipartimento di ingegneria elettrica della mia università abbia iniziato le lezioni di progettazione prima dell'ultimo anno.


2
+1 per le "lezioni di design prima dell'ultimo anno" - a posteriori, un progetto ogni anno non sarebbe stato un male.
JustJeff

sì, mi avrebbe fatto meraviglie. Ho imparato di più in un progetto rispetto a qualsiasi altra classe.
Kortuk,

2
Trovo che la matematica e altri "problemi" che erano al di là di me siano ora comprensibili o fattibili o persino facili. Questo è incoraggiante quando molto altro nel meccanismo sembra degradare :-).
Russell McMahon,

11

Vorrei aver saputo quanto DIVERTENTE fosse :) Se avessi avuto avrei iniziato a giocare con queste cose molto prima!


7

Avrei voluto avere una comprensione più chiara dei frammenti di Fuse. Ho trascorso metà del mio tempo in anticipo per il terrore che avrei fatto il mio mega32. Oh e idem per quanto riguarda l'IO seriale.


4
Come qualcuno che attualmente trascorre metà del suo tempo terrorizzato dall'idea di murare il suo mega32, apprezzerei se tu potessi approfondire questo. : P
Grigio,

6

Vorrei aver saputo quanto sarebbe utile una morsa da tavolo e un ottimo saldatore. Le mie stazioni di saldatura Panavise Jr e Aoyue costano <$ 100 insieme, ma le hanno ripagate molte volte rendendo la costruzione molto più piacevole.

Non ne hai assolutamente bisogno, ma sono molto meglio dell'aiuto delle mani e dei ferri da saldatura cheapo da $ 15.


6

Penso al loop come al sottostutue dell'arduino per main in C. Quindi ho dichiarato alcune variabili all'inizio del loop. Cattiva idea, vengono reinizializzati ogni volta intorno al ciclo. Dichiarare invece come globali prima di qualsiasi subroutine. Non è un grosso problema, ma ci sono voluti alcuni minuti per capire cosa stava succedendo.



4

Sono con Kortuk. Vorrei che avessimo iniziato semplici lezioni di design prima dell'ultimo anno di università, ma in particolare avrei voluto usare una tavola Arduino nelle mie lezioni!

Abbiamo usato una scheda appositamente progettata progettata all'Università di Wollongong sulla base di un vecchio chip Motorola, tutto programmato in assemblatore tramite un'applicazione di monitoraggio. Dolore nel culo!

Certo, ora cerco il contenuto del corso per il design digitale e tutti usano i chip Atmel AVR. sospiro

Vorrei anche avere più tempo per armeggiare con loro, perché è il modo migliore per imparare!


3
Sì, abbiamo fatto lo stesso lavoro con Motorola. C'è un grande spostamento verso ACVR all'interno della comunità di armeggi / educatori in molte scuole, ma penso che i PIC di Microchip siano un prodotto di partenza migliore personalmente. Penso che abbiano una gamma più ampia di applicazioni, ma lo ammetterò nelle app a basso consumo utilizzo MSP430 create da TI.
Kortuk,

Per il nostro progetto di gruppo del terzo anno, abbiamo creato un rig wireless per elettrocardiogramma basato su un chip PIC per la raccolta dei dati e il reporting RS-232 su un computer che esegue l'applicazione host. Quello che abbiamo usato era una piccola unità eccezionale (non ricordo le specifiche ora, è passato un po 'di tempo) e mi ha davvero dato un apprezzamento adeguato per i Micro in dispositivi logici piccoli e complessi. : D
Sketchy Fletchy,

1
Sembra un grande progetto per il design senior. Mi sto preparando a cambiare il modo in cui la mia scuola insegna PIC. Ho alcune schede di sviluppo professionale e insegnerò agli studenti come gestire più interfacce.
Kortuk,

4

Lo schema di comunicazione CAN bus e CANOpen.


Hai qualche buon link?
Johan,

@Johan - Dalla mia risposta, puoi dire che non ne so molto. Al lavoro abbiamo un libro su CANOpen che usiamo da canopenbook.com . Le pagine di Wikipedia non sembrano male. Se stai scrivendo principalmente software di livello superiore, l'importante è realizzare un messaggio con un ID a 11 bit e un segmento di dati a 8 byte. Lavorerò su un progetto CANOpen nei prossimi giorni / mesi, forse potrò fornire più link in seguito.
J. Polfer,

In realtà sto lentamente lavorando a un progetto con i mezzi per impararlo .... questo sarebbe molto utile (specialmente i progetti di auto)
onaclov2000

4

Vorrei sapere che avrei potuto ottenere campioni gratuiti da molti negozi online. Quindi non sarei stato costretto a scegliere da quale progetto iniziare in base al costo. E non avrei avuto paura di acquistare componenti che non ero sicuro al 100% di poter lavorare.


Di che tipo di cose puoi ottenere campioni gratuiti? Qualche esempio di parti che hai ricevuto da negozi particolari?
Grigio,

@Grey: ho appena ricevuto un LCD 2X40 da Purdy Electronics gratuito. Ho scoperto di recente tutto questo campione. Ecco un posto in cui sono elencati alcuni fornitori che hanno programmi di esempio: instructables.com/id/Free_Electronic_Samples
Ponkadoodle

3

Ho usato Arduino un bel po 'e vorrei aver saputo quanto fosse difficile l'IO seriale su pin arbitrari. Alla fine ho optato per una biblioteca di terze parti, ma ci sono volute settimane per arrivare a quel punto e anche allora non era affidabile come una roccia.


3

Una cosa che vorrei sapere meglio è la teoria dei circuiti analogici. 1 e 0 sono facili ... agganciare il pin 1 del dispositivo A al pin 2 del dispositivo B.

Un filtro di feedback multiplo Butterworth passa-banda di secondo ordine ... non così tanto. E poi devi preoccuparti delle caratteristiche dell'amplificatore operazionale, come se il carico capacitivo sull'uscita combinato con l'impedenza di uscita dell'amplificatore operazionale crei un polo che fa oscillare l'uscita.

Oppure supponiamo che tu voglia inviare un segnale audio alle cuffie. È necessario scegliere con cura un cappuccio di blocco CC, poiché si combina con l'impedenza delle cuffie per formare un filtro passa-basso unipolare. Scegli il cappuccio sbagliato e castrerai le frequenze dei bassi.


2

Simile alla risposta accettata, vorrei aver saputo prima di Arduino. C'erano alcuni progetti che stavo guardando fare in casa. Non ho problemi a progettare le mie schede con gli UC, ma al momento non volevo pagare i costi del PCB e quindi montare i chip SMT. Quindi, quei progetti sono caduti a margine. Tuttavia, ora che conosco Arduino e tutti gli scudi per questo, li sto considerando di nuovo.


2

Questa risposta si allontana dalla domanda rigorosa ma è in linea con la maggior parte delle altre risposte e dovrebbe essere divertente e utile:

RS232 è sottosopra

La maggior parte di tutto ciò di cui avrai problemi sarà causata da "condizioni al contorno" - cose che accadono mentre le cose vanno avanti o iniziano a fermarsi.

Inizializza sempre le tue variabili. SEMPRE.
E i tuoi vettori di interruzione.

Piccolo endiano.
Big Endian.
Primo byte alto / basso.
Regolare a sinistra N bit.

I flag lasciati sono ancora impostati al termine del lavoro (ad es. Flag IRQ).

Stack overf
ck underflow.

RTS contro RTI

Cane da guardia cosa?

Semplice programmatore round robin in tempo reale basato su interrupt che assomiglia a un RTOS completo ma che può essere compreso e scritto mentre si procede. Triviale e sorprendente.

Specifiche dei pin del microcontrollore: relazioni Vout / Iout. Limiti del Vin. Perni di tenuta vicino al binario centrale.

Definire sempre tutti gli stati dei pin in tutte le condizioni.

Resistenza termica.

Non lasciare mai che un diodo corporeo conduca (o potresti modificare alcuni uA se davvero devi) che la tua vita sarà lunga sulla faccia della terra - anche quando verranno i grandi satana e ti diranno che andrà bene e che PUOI tranquillamente usare loro per il bloccaggio degli input.

I parametri assoluti e i parametri operativi nelle schede tecniche significano cose totalmente diverse che NON devono MAI essere utilizzate in modo intercambiabile (o almeno non la prima per quest'ultima) che i tuoi giorni potrebbero essere lunghi ... ecc.

V = I x R. La V non accade se l'io non sta accadendo, quindi trarre conclusioni su V senza I è inutile o peggio.

Inverter Schmitt Hex !!!! Dono di Dio all'elettronica digitale e analogica fai-da-te. (74xx14, CD40106, ...).

Logica CMOS !!!

Gamma di modalità comune Opamp.

Altezza libera di uscita Opamp: alta e bassa.

Caduta del regolatore di tensione - IN ALTO Vout min.

Regolatore di tensione Iput min se pertinente.

Solfatazione della batteria al piombo acido. Non lasciarlo !!!

La magia assoluta delle batterie LiIon, nonostante i loro svantaggi.

Le brutte e brutte chicanerie di batterie NimH, nonostante le loro bellezze.

LSD NimH (no, non lisergico ...)

Alimentatori di tensione regolabili con limite di corrente regolabile per la manutenzione del prototipo.

MOSFET !!!!!!!!!!!!!!!!!!! Sì ah

MOFET Vgsth bassi ed elettronica digitale e grandi carichi. Yee Ha.

Driver di gate MOSFET, 2-jellybean-transistor.
Perché hai BISOGNO di un gate driver.

I condensatori al tantalio muoiono muoiono muoiono !!! (e lo fanno)

Ingresso corrente di dispersione. Cos'è quello?
Spegnere cosa?

Precisione / risoluzione / linearità / monotonicità / ...

Isocrono.
Asincrono?
No, isocrono.

Asincrono. 1 bit 2 bit 1.5 bit in più.
Prima LSB !. Primo? SÌ! Inizia bit, stop bit, bit di parità, parità forzata, nessuna parità, sai se la parità è attiva?
Campionamento dei bit - metà del bit, campioni per bit.
Precisione con RC - errore assoluto per estremità, deriva condivisa (temperatura), risonatore, orologio interno in cristallo - vecchio e nuovo.
Sempre di più !!!

I cristalli si frantumano in alto g. / O semplicemente vanno alla deriva e saltano.
O in frantumi.

La colla a caldo non funziona. Sempre. Sempre ? Sempre ! Da settimane a mesi, forse solo anni.
La gomma siliconica a polimerizzazione acida è un no no no no.
L'epossidico termicamente o elettricamente conduttivo è riempito con X - puoi anche riempirlo.

Gomma siliconica e fiordaliso dicono 50-50 per iniziare. Provalo, ti piacerà.

Riscaldare un grosso vasetto di resina di fibra di vetro in una fredda mattina può farlo esplodere più velocemente ma QUELLO veloce ??? !!!!

Baffi di latta.

Se dicono ROHS, la loro macchina magica individuerà immediatamente la tua non conformità.

Guadagna per saldare. Bene.
Si noti che la saldabilità può variare molto molto.
La cattiva saldatura è uno spreco di calorie e non vale la pena condividere la tua vita.
Pulisci / annulla SEMPRE una tavola spoglia che è rimasta ferma un po 'prima di saldare - il tempo e lo stress risparmiati possono essere monumentali.
Impara a NON catturare i ferri da saldatura che cadono.
Impara a calciare i ferri da saldatura che cadono mentre afferri le loro corde, se ne hanno uno.
Impara a non far cadere i saldatori.

I magneti Nd2Fe14B sono molto divertenti MA -
Possono ferirti molto seriamente.
Un buono può estrarre un portafoglio di carte magnetiche ad un unico limite. Distruggono il chip e si rompono facilmente.
Quelli di processo statunitensi sono significativamente inferiori nella forza di campo rispetto a quelli di processo giapponesi.
Fornire fino a circa 0,5 Tesla attraverso uno spazio vuoto di circa metà spessore del materiale.
Il campo magnetico scende come QUADRATO inverso di distanza da un polo ma due poli sono sempre coinvolti, quindi sembra 1 / d ^ 3 a distanza.

Molto di piu ... :-)



0

Vorrei aver saputo quanto sia facile creare un programmatore BSD e iniziare. Ciò avrebbe risparmiato molto tempo nella caccia agli utensili. Ovviamente vorrei anche avere il Bus Pirate prima :)

E vorrei ancora sapere dove ottenere più gettoni a buon mercato ( compresa la consegna ).


0

Ciò che desidero che molti dei miei stagisti sappiano quanto sia difficile e demoralizzante l'elettronica. Vedo che molti tipi non ingegneri provano ad aggiungere alcune luci lampeggianti e sensori a un progetto di moda o qualcosa del genere, senza rendersi conto che si stanno dirigendo verso un incubo di debug.

Se dovessi scrivere un libro sull'elettronica, farei del mio meglio per spaventare le persone nel capitolo 1. Chiunque fosse rimasto sarebbe probabilmente in grado di sopportare il debug.


2
Non sono abbastanza d'accordo con questo. L'elettronica non è più demoralizzante che imparare a lavorare a maglia o come suonare uno strumento musicale. Se vuoi qualcosa di personalizzato e non hai la pazienza e lo stato d'animo di IMPARARE invece di applicare una soluzione di cookie-cutter, allora sì, ti aspetta un po 'di brusco risveglio. Vai su SparkFun e prendi alcuni moduli lampeggiatori se è tutto ciò di cui hai bisogno, ma preparati a rimanere nei limiti di ciò che forniscono. Non puoi avere entrambi. :-) È come se lo avessi detto ai miei figli ... la maggior parte delle cose che vale la pena imparare sono necessarie per esercitarsi e pazienza.
akohlsmith il

No, l'elettronica è molto diversa dalla maglieria. Entrambi questi argomenti sono difficili perché richiedono pratica per diventare bravi, ma un maglione lanoso non smette mai misteriosamente di funzionare quando ci si avvicina la mano. L'elettronica ha un'intera 'altra arena di' divertimento 'che ti aspetta, anche se sei molto esperto. Sono stato nel settore per 17 anni e le cose mi mordono ancora.
Rocketmagnet

Ho una certa simpatia per il primo paragrafo, come hobbista non posso permettermi i componenti di qualità e le apparecchiature di prova che farebbero scomparire alcuni dei miei molti mal di testa. Ma il secondo paragrafo è semplicemente sbagliato
David Sykes,

Prova ad aiutare un gruppo di studenti di moda con un progetto di elettronica un giorno. Allora vedrai.
Rocketmagnet,

L'elettronica è facile se si è pronti a lavorarci passo dopo passo. Facile se sei pronto ad applicare la logica per scoprire come stanno le cose e non provare invece a desiderare che diventino come vuoi. Il debug è semplice. Veramente. Basta togliere tutte le gambe di iwngs, le parti del corpo ecc., Quindi ricostruire un po 'l'animale a poco a poco e vedere cosa succede. Difficile succede solo quando si tratta di un tutto indivisibile, ad esempio un smps ad alta tensione con feedback in cui tutti devono volare in una volta per farli volare. Generare un bagliore di maglia o un segnale acustico di solito non richiede tali circuiti chiusi. Abbattilo passo dopo passo e tutto va bene.
Russell McMahon,
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.