Was hätten Sie gerne gewusst, bevor Sie mit Microcontrollern angefangen haben?

17

Was hätte Ihnen bei der Arbeit mit AVR-Mikrocontrollern oder Arduinos viel Zeit oder Frust erspart, wenn Sie es früher gewusst hätten?

NeedTungsten
quelle
Warum ist das hier jetzt, fragte ich. sieht aus. Ah, Kortuk hat mit seinen Tags gespielt. Danke vielmals :-).
Russell McMahon
@RussellMcMahon, ich stoße auf zufällige Nachrichten, um die Leute auf Trab zu halten. Ich habe einen Kommentar zum Stapelüberlauf gepostet und dies war die am besten bewertete Arduino-Frage. Ich wollte es von einer CW-Diskussionsfrage von vor langer Zeit ändern.
Kortuk
1
@Kortuk - (1) Ich hoffe dir gefällt meine Antwort :-). (2) Ich finde es lustig, dass es durch bewusstes Handeln effektiv in diesem Bereich platziert und dann prompt geschlossen wurde - wobei der Promoter einer der Closer ist :-). (3) Die Tatsache, dass es sich um die am besten bewertete Arduino-Frage handelte, sagt etwas darüber aus, was die Leute hören wollen. und vielleicht deutet dies darauf hin, dass wir nicht gut genug darauf eingehen. (4) FWIW ein Anfänger, der die vielen Schnipsel, die ich angesprochen habe, durchgreift und ihnen einen Sinn verleiht, würde seine Wissensbasis und sein Verständnis für die reale Welt erheblich verbessern. Gefährliches Zeug !.
Russell McMahon
Meine Antwort war fast 100% "spezifisches Fachwissen", wenn auch in zusammengefasster Form. Erweitern Sie alles und Sie hätten ein Buch.
Russell McMahon
@RussellMcMahon, Es war keine Top-Arduino-Frage, es war nur eine sehr alte Frage, die ein Arduino-Tag hatte. Ich habe es mit einer Bearbeitung gestoßen, indem ich meine Standardmethode befolgt habe, Aktionen ohne Community-Flags zu vermeiden, und dann, weil es gestoßen wurde, empfangene Flags. Wir haben viele der alten Fragen oft erst dann beantwortet, wenn jemand sie markiert oder vorbringt, um zu beweisen, warum eine andere schlechte Frage bestehen bleiben sollte. Ich kann es stattdessen sperren, was eine bessere Wahl sein könnte.
Kortuk

Antworten:

18

Für mich ist es umgekehrt: Ich wünschte, ich wüsste etwas über Arduino und AVR, bevor sie versuchten, mir in der Sekundarschule Elektronik beizubringen. Das Erlernen des Ohmschen Gesetzes, ohne jemals einen tatsächlichen Widerstand gesehen oder benutzt zu haben, war keine schöne Übung. Damals wäre es ideal, einen Arduino zum Herumspielen zu haben.

Aus diesem Grund hätte ich gerne mehr über die Grundelektronik gewusst. Einfache Fragen wie: Warum sollte ich mich für Strom interessieren? (weil die Dinge explodieren, wenn Sie dies nicht tun) Warum sollte ich mich um Widerstände kümmern? (hier und so) Warum sollte ich mich für Caps interessieren? (alle möglichen Gründe)

Die Fähigkeit, mit Mikros zu spielen (und sie dabei zu braten), hat mir die meisten dieser Dinge beigebracht, aber ich wünschte, ich hätte sie früher gelernt. (Klassisches Henne-Ei-Problem, denke ich)

bpijls
quelle
Sehr gut ausgedrückt, ich habe viele viele Studenten gesehen, die die Theorie der Funktionsweise einer Diode fließend
beherrschen,
Wow ... sie versuchen dir grundlegende Elektronik beizubringen, ohne dich mit Widerständen und Kondensatoren spielen zu lassen? Haben sie zumindest die Wasseranalogie angewendet?
Akohlsmith
Sie ließen uns wahrscheinlich mit elektronischen Teilen spielen, aber nicht mit den von Ihnen gekauften, sondern mit den speziellen "pädagogischen" Versionen. Ich erinnere mich, dass ich mit einer pädagogischen "Binärlogik" -Karte gearbeitet habe. Alle Komponenten waren nur als Symbole mit Anschlüssen für Patchkabel sichtbar. Der pädagogische Wert davon war nicht mehr als eine Computersimulation. Es hätte Spaß gemacht, mit echten Komponenten zu spielen und zumindest auf die Idee zu kommen, dass all das, was Sie gelernt haben, irgendwo eine echte Anwendung hatte. Und diese Komponenten sind ziemlich billig und leicht verfügbar, anstatt "speziell und teuer".
bpijls
12

Ich wünschte, ich hätte gewusst, dass ich jede Matheklasse, die ich jemals besuchen würde, wieder und mehr als einmal benutzen würde, und ich wünschte, ich hätte ein bisschen mehr Aufmerksamkeit geschenkt.

Ich wünschte, ich hätte viel Erfahrung in der Programmierung und Verwendung von FPGAs. Sie sind die neue Welle der Entwicklung eingebetteter Systeme und ich habe nur grundlegende Klassenerfahrung mit ihnen.

Ich wünschte, ich hätte gelernt, wie man alle Module von Microcontrollern im Unterricht einsetzt, bevor mein Chef von mir erwartet hätte, dass ich sie alle einsetze.

Ich wünschte, die Abteilung für Elektrotechnik meiner Universität hätte vor dem Abschluss des letzten Jahres mit dem Designunterricht begonnen.

Kortuk
quelle
2
+1 für die "Designklassen vor dem Seniorenjahr" - im Nachhinein wäre ein Projekt jedes Jahr keine schlechte Sache gewesen.
JustJeff
Ja, es hätte mir Wunder getan. In einem Projekt habe ich mehr gelernt als in jeder anderen Klasse.
Kortuk
2
Ich finde, dass Mathe und andere „Probleme“, die ich nicht kenne, jetzt verständlich oder machbar oder sogar einfach sind. Dies ist ermutigend, wenn so viel anderes im Mechanismus sich zu verschlechtern scheint :-).
Russell McMahon
11

Ich wünschte, ich hätte gewusst, wie viel Spaß es macht :) Wenn ich das getan hätte, hätte ich viel früher damit angefangen!

Len Holgate
quelle
7

Ich wünschte, ich hätte ein klareres Verständnis für Fuse-Bits. Ich verbrachte die Hälfte meiner Zeit früh in der Angst, meinen Mega32 zu ziegeln. Oh und ebenso in Bezug auf serielle E / A.

Bitshuffler
quelle
4
Als jemand, der derzeit die Hälfte seiner Zeit damit verbringt, seinen Mega32 zu mauern, würde ich es begrüßen, wenn Sie dies näher erläutern könnten. : P
Grey
6

Ich wünschte, ich hätte gewusst, wie nützlich ein Schraubstock und ein wirklich guter Lötkolben wären. Meine Lötstation Panavise Jr und Aoyue kosten zusammen weniger als 100 US-Dollar, aber sie haben das vielfach zurückgezahlt, indem sie es angenehmer machten, Dinge zu bauen.

Sie brauchen sie nicht unbedingt, aber sie sind viel besser als helfende Hände und billige Lötkolben für 15 US-Dollar.

edebill
quelle
6

Ich stelle mir Loop als Arduino-Ersatz für main in C vor. Also habe ich oben in der Schleife einige Variablen deklariert. Schlechte Idee, sie werden jedes Mal um die Schleife neu initialisiert. Deklarieren Sie stattdessen als Globale vor einem Unterprogramm. Keine große Sache, aber es dauerte ein paar Minuten, um herauszufinden, was los war.

russ_hensel
quelle
5

Ich wünschte, ich hätte Arduinos und "Dinge zum Reden bringen", als ich ein Kind war. Ich hätte alles automatisiert!

Nikolaus Gradwohl
quelle
4

Ich bin bei Kortuk. Ich wünschte, wir hätten vor dem letzten Studienjahr einfache Designkurse begonnen, aber ich wünschte, wir könnten in meinen Kursen ein Arduino-Board verwenden!

Wir verwendeten eine speziell konfigurierte Platine, die an der Universität von Wollongong auf der Basis eines alten Motorola-Chips entwickelt wurde und die alle über eine Überwachungsanwendung im Assembler programmiert wurden. Schmerzen im Arsch!

Natürlich sehe ich mir jetzt die Kursinhalte für digitales Design an und sie verwenden alle Atmel AVR-Chips. Seufzer

Ich wünschte auch, ich hätte mehr Zeit, um mit ihnen zu basteln, denn das ist der beste Weg, um zu lernen!

Flüchtig Flüchtig
quelle
3
Ja, wir haben die gleiche Motorola-Arbeit geleistet. Es gibt eine große Verschiebung in Richtung ACVR in der Tüftler- / Bildungsgemeinschaft an vielen Schulen, aber ich denke, die PICs von Microchip sind persönlich ein besseres Startprodukt. Ich denke, sie haben ein breiteres Anwendungsspektrum, aber ich gebe zu, dass ich für Low-Power-Apps MSP430s von TI verwende.
Kortuk
Für unser Gruppenprojekt im dritten Jahr haben wir ein drahtloses Elektrokardiogramm-Rig auf der Basis eines PIC-Chips für die Datenerfassung und die RS-232-Berichterstattung an einen Computer gebaut, auf dem die Host-Anwendung ausgeführt wird. Das eine, das wir benutzten, war ein großartiges kleines Gerät (ich kann mich jetzt nicht an die Spezifikation erinnern, es ist schon eine Weile her) und hat mir wirklich eine angemessene Wertschätzung für Mikros in kleinen, komplexen Logikgeräten gegeben. : D
Sketchy Fletchy
1
Klingt nach einem großartigen Projekt für Seniorendesign. Ich bereite mich darauf vor, zu ändern, wie meine Schule PIC unterrichtet. Ich habe einige professionelle Entwicklungsboards und werde den Studenten den Umgang mit mehreren Schnittstellen beibringen.
Kortuk
4

Das CAN-Bus-Kommunikationsschema und CANOpen.

J. Polfer
quelle
Hast du irgendwelche guten Links?
Johan
@Johan - Aus meiner Antwort geht hervor, dass ich nicht viel darüber weiß. Bei der Arbeit haben wir ein Buch über CANOpen, das wir von canopenbook.com verwenden . Die Wikipedia-Seiten sehen nicht schlecht aus. Wenn Sie hauptsächlich übergeordnete Software schreiben, ist es wichtig, dass Sie eine Nachricht mit einer 11-Bit-ID und einem 8-Byte-Datensegment erstellen. Ich werde in den kommenden Tagen / Monaten an einem CANOpen-Projekt arbeiten, vielleicht kann ich später mehr Links geben.
J. Polfer
Eigentlich arbeite ich langsam an einem Projekt mit den Mitteln, um dies zu lernen ... das wäre sehr hilfreich (insbesondere bei Auto-Projekten)
onaclov2000
4

Ich wünschte, ich hätte gewusst, dass ich kostenlose Muster von vielen Online-Shops bekommen könnte. Dann wäre ich nicht gezwungen gewesen, anhand der Kosten zu entscheiden, mit welchem ​​Projekt ich beginnen möchte. Und ich hätte keine Angst gehabt, Komponenten zu kaufen, bei denen ich nicht hundertprozentig sicher war, dass ich arbeiten kann.

Wallacoloo
quelle
Welche Art von Dingen können Sie kostenlos probieren? Gibt es Beispiele für Teile, die Sie in bestimmten Geschäften gekauft haben?
Gray
@Grey: Nun, ich habe gerade ein kostenloses 2X40-Zeichen-LCD von Purdy Electronics bekommen. Ich habe diese ganze Beispielsache erst kürzlich entdeckt. Hier finden Sie eine Liste von Anbietern mit Beispielprogrammen: instructables.com/id/Free_Electronic_Samples
Ponkadoodle
3

Ich habe das Arduino ein gutes Stück benutzt und ich wünschte, ich hätte gewusst, wie schwierig die serielle E / A-Verbindung mit beliebigen Pins ist. Ich habe mich schließlich für eine Bibliothek eines Drittanbieters entschieden, aber es dauerte Wochen, bis ich zu diesem Punkt kam, und selbst dann war es nicht absolut zuverlässig.

thisismyrobot
quelle
3

Ich wünschte, ich wüsste es besser, wäre die Analogschaltungstheorie. 1s und 0s sind einfach ... Haken Sie Pin 1 von Gerät A auf Pin 2 von Gerät B.

Ein Bandpass-Butterworth-Filter zweiter Ordnung mit mehreren Rückkopplungen ... weniger. Und dann müssen Sie sich Gedanken über die Eigenschaften des Operationsverstärkers machen, zum Beispiel, ob die kapazitive Belastung des Ausgangs in Kombination mit der Ausgangsimpedanz des Operationsverstärkers einen Pol erzeugt, der den Ausgang zum Schwingen bringt.

Oder nehmen wir an, Sie möchten ein Audiosignal an die Kopfhörer senden. Sie müssen eine DC-Blockierungskappe sorgfältig auswählen, da sie mit der Impedanz des Kopfhörers einen einpoligen Tiefpassfilter bildet. Wählen Sie die falsche Kappe und Sie werden die Bassfrequenzen neutralisieren.

ajs410
quelle
2

Ähnlich wie bei der akzeptierten Antwort wünschte ich, ich hätte früher von Arduino gewusst. Es gab einige Entwürfe, die ich im Haus machen wollte. Ich habe kein Problem damit, meine eigenen Boards mit uCs zu entwerfen, aber ich wollte zu der Zeit nur nicht für die PCB-Kosten bezahlen und dann SMT-Chips montieren. Diese Projekte blieben also auf der Strecke. Jetzt, da ich über Arduino und alle Schilde dafür Bescheid weiß, denke ich noch einmal darüber nach.

Jay Atkinson
quelle
2

Diese Antwort weicht von der strengen Frage ab, stimmt jedoch mit den meisten anderen Antworten überein - und sollte Spaß machen und nützlich sein:

RS232 ist verkehrt herum

Das meiste, mit dem Sie Probleme haben werden, wird durch "Randbedingungen" verursacht - Dinge, die passieren, wenn Dinge in Gang kommen oder zum Stillstand kommen.

Initialisieren Sie immer Ihre Variablen. IMMER.
Und deine Interrupt-Vektoren.

Little Endian.
Big Endian.
High / Low-Byte zuerst.
Links stellen Sie N Bits ein.

Flaggen, die nach Abschluss der Arbeit noch gesetzt sind (z. B. IRQ-Flaggen).

Stack overf
ck underflow.

RTS gegen RTI

Wachhund was?

Einfacher, interruptgesteuerter Echtzeit-Round-Robin-Scheduler, der aussieht wie ein vollständiges RTOS, aber jederzeit verstanden und geschrieben werden kann. Trivial und erstaunlich.

Pin-Spezifikationen des Mikrocontrollers - Vout / Iout-Beziehungen. Vin Grenzen. Haltestifte in der Nähe der Mittelschiene.

Definieren Sie immer alle Pin-Zustände unter allen Bedingungen.

Wärmewiderstand.

Lassen Sie NIEMALS eine Körperdiode leiten (oder vielleicht ein paar uA, wenn Sie es wirklich müssen), dass Ihr Leben auf dem Lande lang ist - auch wenn die großen Satane kommen und Ihnen sagen, dass es in Ordnung ist und Sie es sicher gebrauchen KÖNNEN sie für die Eingangsklemmung.

Absolute Parameter und Betriebsparameter in Datenblättern bedeuten völlig andere Dinge und dürfen NIEMALS austauschbar verwendet werden (oder zumindest nicht für letztere), damit Ihre Tage lang werden ... usw.

V = I x R. Das V passiert nicht, wenn das I nicht passiert, also Rückschlüsse auf V ziehen, ohne dass ich sinnlos oder schlimmer bin.

Hex Schmitt Wechselrichter !!!! Gottes Geschenk für digitale und analoge Heimwerkerelektronik. (74xx14, CD40106, ...).

CMOS Logik !!!

Opamp Gleichtaktbereich.

Opamp Output Headroom - hoch und niedrig.

Spannungsregler-Ausfall - ON TOP OF Vout min.

Spannungsregler Iput min wenn relevant.

Bleibatteriesulfatierung. Lass es nicht !!!

Die Magie der LiIon-Batterien, trotz ihrer Nachteile.

Die scheußlichen Schikanen der NimH-Batterien, trotz ihrer Schönheit.

LSD NimH (nein, nicht lysergisch ...)

Einstellbare Strombegrenzung, einstellbare Spannungsversorgungen für die Aufrechterhaltung der Lebensdauer des Prototyps.

MOSFETS !!!!!!!!!!!!!!!!!!! Ja ha

MOFETs mit niedrigem Vgsth-Wert und digitale Elektronik sowie große Lasten. Yee Ha.

MOSFET, 2-Jellybean-Transistor-Gate-Treiber.
Warum brauchst du einen Gate-Treiber?

Tantalkondensatoren sterben sterben sterben !!! (und sie tun es)

Eingangsleckstrom. Was ist das?
Eingabe aus was?

Genauigkeit / Auflösung / Linearität / Monotonie / ...

Taktsynchron.
Asynchron?
Nein, taktsynchron.

Asynchron. 1 Bit 2 Bit 1,5 Bit mehr.
LSB zuerst !. Zuerst? JA! Startbit, Stoppbit, Paritätsbit, erzwungene Parität, keine Parität. Wissen Sie, ob die Parität aktiviert ist?
Bitabtastung - Bitmitte, Abtastungen pro Bit.
Genauigkeit mit RC - absoluter Fehler pro Ende, gemeinsame Drift (Temperatur), Resonator, interne Kristalluhr - alt und neu.
Immer mehr !!!

Kristalle zersplittern bei hohem g. / Oder einfach nur treiben und springen.
Oder zerbrechen.

Schmelzkleber versagt. Immer. Immer ? Immer ! Wochen bis Monate bis Jahre.
Acid Cure Siliconkautschuk ist ein nein nein nein nein.
Thermisch oder elektrisch leitfähiges Epoxidharz ist mit X gefüllt - Sie können es auch füllen.

Silikonkautschuk und Kornblume sagen 50-50, um zu beginnen. Probieren Sie es aus, es wird Ihnen gefallen.

Das Erhitzen einer großen Flasche Glasfaserharz an einem kalten Morgen kann dazu führen, dass es schneller abläuft, aber SO schnell ??? !!!!

Tin Whiskers.

Wenn sie ROHS sagen, wird ihre magische Maschine Ihre Nichteinhaltung sofort erkennen.

Larn zum Löten. Gut.
Beachten Sie, dass die Lötbarkeit sehr sehr stark variieren kann.
Schlechtes Lot ist eine Verschwendung von Kalorien und es nicht wert, sein Leben mit anderen zu teilen.
Reinigen / schleifen Sie IMMER eine Platine, die eine Weile vor dem Löten gesessen hat - Zeit- und Stressersparnis kann enorm sein.
Lernen Sie, herunterfallende Lötkolben NICHT zu fangen.
Lernen Sie, herunterfallende Lötkolben zu treten, während Sie an ihren Kabeln greifen, wenn sie eines haben.
Lernen Sie, Lötkolben nicht fallen zu lassen.

Nd2Fe14B-Magnete machen viel Spaß, ABER -
Sie können Sie schwer verletzen.
Ein guter Spieler kann eine Geldbörse mit Magnetkarten an einer einzigen Grenze herausnehmen. Sie zersplittern und brechen mit Leichtigkeit.
Die US-amerikanischen sind in ihrer Feldstärke den japanischen Prozessen deutlich unterlegen.
Bei einem Luftspalt von etwa der halben Materialstärke bis zu etwa 0,5 Tesla vorsehen.
Das Magnetfeld fällt als inverses Quadrat der Entfernung von einem Pol ab, es sind jedoch immer zwei Pole beteiligt, sodass es in der Entfernung wie 1 / d ^ 3 aussieht.

Viel mehr ... :-)

Russell McMahon
quelle
1

Alles.

(Ja, es ist unrealistisch)

(Auch besser).

Connor Wolf
quelle
0

Ich wünschte, ich hätte gewusst, wie einfach es ist, einen BSD-Programmierer zu erstellen und loszulegen. Das hätte viel Zeit für die Werkzeugsuche gespart. Natürlich wünschte ich mir auch, ich hätte den Buspiraten früher gehabt :)

Und ich wünschte immer noch, ich wüsste, wo ich mehr Chips günstig bekommen könnte ( einschließlich Lieferung ).

XTL
quelle
0

Ich wünschte, viele meiner Praktikanten wüssten, wie schwierig und demoralisierend Elektronik sein kann. Ich sehe viele Nicht-Ingenieure, die versuchen, einem Modeprojekt oder so etwas Blinklichter und Sensoren hinzuzufügen, ohne zu bemerken, dass sie auf einen Debugging-Albtraum zusteuern.

Wenn ich ein Buch über Elektronik schreiben würde, würde ich mein Bestes tun, um die Leute in Kapitel 1 abzuschrecken. Jeder, der übrig geblieben wäre, würde sich wahrscheinlich mit dem Debuggen abfinden können.

Raketenmagnet
quelle
2
Ich bin damit nicht einverstanden. Elektronik ist nicht demoralisierender als das Erlernen des Strickens oder das Spielen eines Musikinstruments. Wenn Sie etwas Brauchbares wollen und nicht die Geduld und den Verstand haben, um zu LERNEN, anstatt eine Ausstechlösung anzuwenden, dann können Sie sich auf ein unhöfliches Erwachen gefasst machen. Gehen Sie zu SparkFun und holen Sie sich einige Blinkermodule, wenn das alles ist, was Sie brauchen, aber seien Sie bereit, sich an die von ihnen angebotenen Grenzen zu halten. Sie können nicht beides haben. :-) Es ist, als würde ich meinen Kindern sagen ... die meisten Dinge, die es wert sind, gelernt zu werden, erfordern Übung und Geduld, um sie zu meistern.
Akohlsmith
Nein, Elektronik ist etwas ganz anderes als Stricken. Beide Themen sind schwierig, da sie Übung erfordern, um gut zu werden, aber ein wolliger Pullover hört nie auf, auf mysteriöse Weise zu arbeiten, wenn Sie mit der Hand in der Nähe winken. Elektronik hat eine ganze "andere Arena des" Spaßes ", der auf Sie wartet, selbst wenn Sie sehr erfahren sind. Ich bin seit 17 Jahren im Geschäft und die Dinge beißen mich immer noch.
Rocketmagnet
Ich habe ein gewisses Verständnis für den ersten Absatz, als Bastler kann ich mir die hochwertigen Komponenten und Testgeräte nicht leisten, die einige meiner vielen Kopfschmerzen zum Verschwinden bringen würden. Aber der zweite Absatz ist einfach falsch
David Sykes
Versuchen Sie eines Tages, einer Gruppe von Modestudenten bei einem Elektronikprojekt zu helfen. Dann wirst du sehen.
Rocketmagnet
Elektronik ist einfach, wenn Sie bereit sind, Schritt für Schritt daran zu arbeiten. Einfach, wenn Sie bereit sind, Logik anzuwenden, um herauszufinden, wie die Dinge sind, und nicht zu versuchen, sie so zu gestalten, wie Sie es möchten. Das Debuggen ist einfach. Ja wirklich. Du ziehst einfach alle Beine, Körperteile usw. ab und baust das Biest Stück für Stück wieder auf und siehst, was passiert. Schwer passiert nur, wenn es ein unteilbares Ganzes ist - z. B. ein Hochspannungs-Smps mit Rückmeldung, bei dem alle auf einmal fliegen müssen, damit alle überhaupt fliegen können. Um ein Trikot blinken oder piepen zu lassen, ist normalerweise keine solche geschlossene Schleife erforderlich. Brechen Sie es Schritt für Schritt und alles ist gut.
Russell McMahon