===== Allgemeines ===== * __**Schaltung modularisieren**__ : Bei Schaltungen und Software bietet es sich an, stark zu modularisieren. Ziel ist dann unter anderem die einzelnen Module separat entwickeln und testen zu können. Dazu sollte gewährleistet werden, dass die Module auch tatsächlich einzeln testbar sind. Hierfür können niederohmige Widerstände ("$0 ~\rm\Omega$") oder Lötjumper genutzt werden. Mit diesen lassen sich Teile der Schaltung bei Bedarf separieren oder verbinden. * __**Komponenten suchen**__: Falls Sie noch nicht wissen, wie Ihre gesuchte Komponente heißt, sollten Ihnen folgende Tipps helfen: * Suchen Sie die Komponente nicht (nur) auf deutsch. Die Ergebnisse vermehren sich um ein Vielfaches, wenn in Englisch gesucht wird. * Nutzen Sie die Bildersuche, wenn Sie den genauen Begriff nicht kennen. * Bei unklaren Begriffen, bieten sich auch folgende Suchworte an: ''Arduino'' + // // + ggf. ''Project''. Alternativ bietet sich statt Arduino auch ''AVR'' oder ''Atmel'' an. Häufig hilft auch die Suche nach ''IC'' + //<..>// für integrierte Schaltkreise. Als Quelle bietet sich häufig Github an. Dies kann bei der Suche über ''site:github.com'' berücksichtigt werden. * __**Eignung der gefundenen Komponenten überprüfen**__: Mouser und TME bieten eine gute Detailsuche für bekannte Komponenten. Diese lässt eine Eingrenzung der Komponenten durch die Auswahl von Eigenschaften zu. Nutzen sie diese, wenn Sie auf der Suche nach neuen Komponenten sind. * Wählen Sie bei der Suche auch "auf Lager" aus, damit nur die vorhandenen Komponenten angezeigt werden. * Wichtig ist bei einem geeigneten Bauteil immer der Blick ins Datenblatt. Die Suchmaschinen verwenden gelegentlich veraltete und falsche Angaben. * __**Blick in Datenblätter der ICs**__ : Prüfen Sie * den elektrischen Arbeitsbereich. Die "**Absolute maximum ratings**" sind absolute Grenzen! D.h. in der Regel keine Spannungen, Ströme und Temperaturen für den Normalgebrauch. Um die Komponente für den Normalgebrauch auszulegen, ist die Betrachtung der "**Electric Characteristics**" besser geeignet. Bitte den Fokus auf typical und nicht min/max Ratings legen. * ob die Komponente für Ihre **Versorgungsspannung **geeignet ist * ob das **Packaging** gerade noch handlötbar und analysierbar ist: Es sollen bevorzugt SMD-Komponenten genutzt werden (keine THT), die ICs sollten Beinchen haben, also kein ...GA ("... __g__rid __a__rray"), kein ...CSP ("... __c__hip __s__cale __p__ackage"), kein ...FN ("... __F__lat __N__o Leads"). * welche **weiteren Komponenten ** (Widerstände, Induktivitäten, Kapazitäten, Dioden etc) benötigt werden, * bei **Strommess-Widerständen ** (auch Shunt, Rsense) nicht nur die Formel im Datenblatt des Treibers zu berücksichtigen, sondern auch die maximale Leistung des Widerstands. Wenn z.B. $0.2 ~\rm\Omega$ Widerstände nur bis $0.2 ~\rm W$ Maximalleistung verfügbar sind, so wäre der Maximalstrom: $I = \sqrt{P \over R} = 1 ~\rm A$ * die **Schnittstellen:** Nicht nur der Footprint einer Komponente ist wichtig, sondern auch die Belegung. * __**Vogelfutter heraussuchen**__ : * verschiedene Größen bei **Induktivitäten:** Achten Sie darauf, dass Induktivitäten **ab $10..100 ~\rm\mu H$ **nicht mehr günstig in einem kleinen Formfaktor (z.B. 0603 oder 0402) erhältlich sind. Diese benötigen somit eine **größere Fläche **auf dem Board. Weiterhin haben Induktivitäten häufig ein Strom-begrenzenden Widerstand, u.a. um eine Sättigung zu vermeiden. Beachten Sie die begrenzte Auswahl der Distributoren! * verschiedene Größen bei **Kapazitäten:** Auch Kapazitäten **ab $10 ~\rm\mu F$ **sind nicht mehr günstig in einem kleinen Formfaktor (z.B. 0603 oder 0402) erhältlich. Gelegentlich werden für Anwendungen oder Bauteile bestimmte, teurere [[https://de.wikipedia.org/wiki/Keramikkondensator#Spannungsabhängigkeit_der_Kapazität|Dielektrika]] (z.B. NP0) benötigt. Hier ist das Datenblatt / die Anwendung auf Hinweise zu überprüfen (Frequenzbereich, Relevanz von Alterung und Temperatur-/Spannungsabhängigkeiten, ..). * __**Verfügbarkeit prüfen**__: Wenn Sie die Komponenten gesucht haben, sollten Sie die Kosten und Verfügbarkeit prüfen (z.B. sind nur noch 10 beim Distributor verfügbar?). Es sind Komponenten aus dem Elektroniklager (siehe [[http://141.7.22.10/part-db/startup.php|Part-DB]]) zu bevorzugen. Sind Ihre gewünschten Komponenten nicht vorhanden, suchen Sie diese bei [[elektronik_labor:hardware_fuer_schaltungserstellung|unseren Lieferanten]] und geben Sie dem Betreuer bescheid. ===== Spezielle Anwendungen ===== ==== Filter ==== Zur Auslegung eines Filters bieten sich verschiedene Filterdesign-Programme an: * [[https://webench.ti.com/|WEBENCH Power Designer]] von Texas Instruments * [[https://tools.analog.com/en/filterwizard/|Analog Filter Wizard]] von Analog Devices * weitere Tools sind erlaubt, sollten aber angegeben werden Falls Sie einen Filter auslegen, so beschreiben Sie bitte die Auslegung. Dazu könnte helfen: - Begründung der Auswahl - Darstellung und Beschreibung des Bodediagramms - Darstellung und Beschreibung des Gruppendelay - Sprungantwort und Darstellung des Ausgangssignals, je für PWM mit $50~\rm Hz$, $100~\rm Hz$, $500~\rm Hz$, $1~\rm kHz$, $7~\rm kHz$, $10~\rm kHz$, $40~\rm kHz$, $50~\rm kHz$ ==== Motoren ==== Soll ein Motor verwendet werden, so muss eine sinnvolle Auswahl des Motors getroffen werden. Dabei ist folgendes zu beachten: ^ ^Schrittmotor^Gleichstrommotor^Servoantrieb^Synchronmotor^Asynchronmotor| ^Alternative Bezeichnungen|Steppermotor|DC-Motor|Servo|PSM, ESM|ASM| ^Positioniergenauigkeit (open loop)|hoch, wenn ohne Überlast betrieben \\ (Teilschritte möglich)|niedrig|mittel-hoch \\ (abhängig vom internen Regler)|niedrig|niedrig| ^Drehzahlbereich|niedrig (bis ca. $20 Hz$)|hoch (bis $1000 Hz$)|mittel|hoch|hoch| ^Drehmoment|hoch |hoch|niedrig|hoch|hoch| ^Wirkungsgrad|niedrig|mittel|mittel|hoch|hoch| Gelegentlich werden bei Schrittmotoren 2 weitere Spulen mit höherem Widerstand verbaut (z.B. 2x $1 ~\rm \Omega$ und 2x $10 ~\rm \Omega$). Es werden nur 2 Spulen mit gleichem Widerstand zum Betrieb benötigt. Weiterhin gibt es mechanische Möglichkeiten die o.g. Eigenschaften zu ändern (z.B. DC-Motor mit 1:1000 Getriebe). Dabei ist zu beachten, dass diese i.d.R. in Akustik und im Wirkungsgrad negative Einflüsse zeigen. Zusätzlich muss speziell bei der Verwendung eines Schneckengetriebe beachtet werden, dass eine Selbsthemmung auftritt - Die Achse lässt sich nicht freidrehen. Die Ansteuerung von Schrittmotor, Gleichstrommotor, Synchronmotor und Asynchronmotor geschieht über ein Leistungsendstufen. Details zu den Konzepten der Halb- und Vollbrücken finden Sie z.B. auf [[https://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM|mikrocontroller.net]]. Heutzutage bietet es sich aber an die Leistungselektronik nicht mehr diskret aufzubauen, sondern integrierte Komponenten zu verwenden (siehe [[elektronik_labor:hardware_fuer_schaltungserstellung#motoren_und_treiber|motoren_und_treiber]]). ==== Motorelektronik ==== - Außer bei Servomotoren und einigen BLDC-Motoren, ist das Ansteuern des Motors nicht direkt über die Pins des Mikrocontrollers möglich. Bei Schrittmotoren und DC-Motoren muss dazu hinreichend Strom zur Verfügung gestellt werden. Dies geschieht über folgende notwendige Komponenten: - Leistungsschalter - schaltet den benötigten Strom - meist MOSFETs - in Struktur einer Halb-, Voll-, B6-Brücke - Gatetreiber - stellt die richtige Spannung zum Schalten der Leistungsschalter bereit - verhindert Kurzschlüsse - Einige ICs wie DRV88xx haben bereits beide Komponenten in einem Chip vereint. - Bei einem diskreten Aufbau der Leistungsschalter sollten Leistungsdioden vorgesehen werden - Es kann sich anbieten bei Leistungselektronik-Komponenten - auch beim DRV88xx - eine Möglichkeit des Austauschs vorzusehen, z.B. über einen Sockel. Dazu müssen die Komponenten als [[https://de.wikipedia.org/wiki/Chipgeh%C3%A4use#Bauformen_f%C3%BCr_Through_Hole_Technology_(THT)|Through Hole Device]] ausgelegt werden. ==== Auswahl des Prozessors ==== === für die Veranstaltungen EST, Elektronik und ES an der HS Heilbronn === * Als Microcontroller wird ein 8bit AVR Microchip Chip (ehemals ATMEL AVR) empfohlen. Auf diesem Chipsatz wurde in Microcontrollertechnik aufgebaut. Im Elektronik-Lager stehen einige ATmega 328 zur Verfügung. * In den grundlegenden 1×1 MexlePlatinen (hier die [[mexle2020:mmc_1x1_328pb|MmC1x1 328_2.x]]-Platine) sind ATmega32xx verbaut, welche prinzipiell mit $5 ~\rm V$ oder $3.3 ~\rm V$ betrieben werden können. Die gesamte Schaltung sollte aber auf $3.3 ~\rm V$ ausgelegt werden. Damit ist die Verwendung aktueller Sensoren möglich. * Für die Auswahl eines Chips für Zusatzplatinen ist auf der Herstellerseiten von [[https://www.microchip.com/design-centers/8-bit/avr-mcus|AVR]] eine übersichtliche Tabellen zu finden. Für ATtiny104, ATmega88, ATmega32xx ist Prototypen-Equipment vorhanden. * Die Chip-Varianten mit "U" haben dabei direkt eine Möglichkeit einen USB-Anschluss direkt zu nutzen === für weitere Projekte === Um den geeigneten Mikrocontroller für ein eigenes Projekt herauszusuchen sollten folgende Fragen geklärt werden: * Wie viel **[[https://www.mikrocontroller.net/articles/AVR-Tutorial:_Speicher|Speicher]]** wird benötigt? * Wie groß wird das Programm? Werden größere Librarys eingebunden? \\ 🡆 Wie groß muss der Flash-Speicher sein (in diesem wird der Code gespeichert) * Wie viele Variablen und Konstanten beinhaltet das Programm und wie groß sind diese (Arrays? int8, int32, float?)? \\ 🡆 Wie groß muss das RAM sein? (Konstanten können alternativ auch im Flash liegen) * Sollen Werte permanent gespeichert werden? Wie viele? \\ 🡆 Wie groß muss das EEPROM sein? * Welcher **Prozessortakt** wird benötigt? * Wie schnell muss der Mikrocontroller mit wie vielen Daten reagieren? Muss z.B. für eine Regelungsschleife Daten schnell aufgenommen, verarbeitet oder ausgegeben werden? * Können ggf. Funktionalitäten einem Timer/Counter übergeben werden? * Soll der Takt intern erzeugt werden, oder soll ein externer Quarz verwendet werden? * Welche **Interfaces** werden benötigt? * Welche digitalen Schnittstellen (I2C, SPI, USB, USART, PWM) werden benötigt? * Wie schnell und genau müssen wieviele Analogwerte aufgenommen werden? * Wie schnell und genau müssen wieviele Analogwerte ausgegeben werden? * Welche und wie viele der genannten Schnittstellen werden gleichzeitig benötigt? 🡆 Pin Count * Welche **Infrastruktur im Controller** wird benötigt? * Soll auf ein oder mehrere Ereignisse (Timer, Benutzereingabe etc.) asynchron reagiert werden? 🡆 Interrupts * Wird viel mit Gleitkommawerten gerechnet? 🡆 Controller mit FPU (z.B. PIC) * Welche **Infrastruktur um den Controller** ist zu erwarten? * Temperaturbereich * Leistungsaufnahme * Spannungsniveau * Welche **nicht-elektronischen Randbedingungen** sind zu beachten? * Kosten und Liefersituation * Wissensbasis und Verbreitung * Handling bei der Produktion (Chipgehäuse, Verpackung, ..) * Pre-programmed lieferbar? Nachdem durch diese Fragen der notwendige Bereich geklärt wurde, können durch verschiedene Onlinetools (z.B. [[https://www.microchip.com/maps/microcontroller.aspx|MICROCHIP ADVANCED PART SELECTOR]]) die geeigneten Chips eingegrenzt werden.