Füge detaillierte Bauteil- und Einkaufsliste für den USB-MIDI-Controller hinzu

This commit is contained in:
2025-07-19 15:59:22 +02:00
parent bab88c532f
commit d5093c3474
2 changed files with 478 additions and 0 deletions

277
PARTS_LIST.md Normal file
View File

@@ -0,0 +1,277 @@
# 🧰 Bauteilliste USB-MIDI-Controller
## 📋 Komplette Bauteilliste
### Hauptkomponenten
| Anzahl | Bauteil | Typ | Beschreibung |
|--------|---------|-----|--------------|
| 1x | Arduino Pro Micro | MCU | ATmega32u4, 5V/16MHz |
| 2x | MCP23017 | I2C I/O Expander | 16-Bit, DIP-28 oder SOIC-28 |
| 1x | CD74HC4067 | Multiplexer | 16-Kanal Analog Mux, DIP-24 |
| 8x | Potentiometer | B10K | Linear, 10kΩ, mit Knopf |
| 4x | Schieberegler | 10K | Linear, 10kΩ, 60mm Weg |
| 20x | Tact Switch | Button | 6x6mm, THT |
| 20x | LED | 5mm | Rot/Grün/Blau nach Wahl |
### Widerstände
| Anzahl | Wert | Typ | Verwendung |
|--------|------|-----|------------|
| 2x | 4.7kΩ | 1/4W, 5% | I2C Pull-Up (SDA/SCL) |
| 20x | 10kΩ | 1/4W, 5% | Button Pull-Up (falls extern) |
| 20x | 330Ω | 1/4W, 5% | LED-Vorwiderstände |
| 4x | 10kΩ | 1/4W, 5% | MCP23017 Pull-Up (optional) |
### Kondensatoren
| Anzahl | Wert | Typ | Verwendung |
|--------|------|-----|------------|
| 6x | 100nF | Keramik | Entstörung (Abblockkondensatoren) |
| 2x | 10µF | Elektrolyt | Spannungsglättung |
| 1x | 470µF | Elektrolyt | Haupt-Pufferkondensator |
### Sonstige Bauteile
| Anzahl | Bauteil | Beschreibung |
|--------|---------|--------------|
| 1x | Breadboard | 830 Kontakte oder größer |
| 1x | Lochrasterplatine | 10x15cm (für finalen Aufbau) |
| 1x | USB-Kabel | Micro-USB, Datenübertragung |
| ~50x | Jumper-Kabel | Verschiedene Längen |
| 1x | Gehäuse | Kunststoff/Aluminium, nach Wahl |
## 🔌 Exakte Widerstand-Platzierung
### I2C Pull-Up Widerstände (4.7kΩ)
```
R1: 4.7kΩ Pull-Up für SDA
├── VCC (+5V)
└── Arduino Pin 2 (SDA) ──── MCP23017 #1 Pin 13 ──── MCP23017 #2 Pin 13
R2: 4.7kΩ Pull-Up für SCL
├── VCC (+5V)
└── Arduino Pin 3 (SCL) ──── MCP23017 #1 Pin 12 ──── MCP23017 #2 Pin 12
```
### LED-Vorwiderstände (330Ω)
```
LED 0-15 (MCP23017 #1):
R3-R18: MCP23017 #1 Pin [0-15] ──── 330Ω ──── LED Anode ──── LED Kathode ──── GND
LED 16-19 (MCP23017 #2):
R19-R22: MCP23017 #2 Pin [4-7] ──── 330Ω ──── LED Anode ──── LED Kathode ──── GND
```
### Button Pull-Up Widerstände (10kΩ) - Optional
```
Falls externe Pull-Ups gewünscht (MCP23017 hat interne):
Buttons 0-15:
R23-R38: VCC ──── 10kΩ ──── MCP23017 #1 Pin [0-15] ──── Button ──── GND
Buttons 16-19:
R39-R42: VCC ──── 10kΩ ──── MCP23017 #2 Pin [0-3] ──── Button ──── GND
```
### MCP23017 Reset Pull-Up (10kΩ) - Optional
```
R43: VCC ──── 10kΩ ──── MCP23017 #1 Pin 18 (RESET)
R44: VCC ──── 10kΩ ──── MCP23017 #2 Pin 18 (RESET)
```
## ⚡ Exakte Kondensator-Platzierung
### Abblockkondensatoren (100nF)
```
C1: Arduino Pro Micro
├── VCC Pin
└── GND Pin
(Platzierung: So nah wie möglich an VCC/GND Pins)
C2: MCP23017 #1
├── Pin 9 (VDD)
└── Pin 10 (VSS)
(Platzierung: Direkt am Chip, kurze Leitungen)
C3: MCP23017 #2
├── Pin 9 (VDD)
└── Pin 10 (VSS)
(Platzierung: Direkt am Chip, kurze Leitungen)
C4: CD74HC4067
├── Pin 24 (VCC)
└── Pin 12 (GND)
(Platzierung: Direkt am Chip, kurze Leitungen)
C5: Potentiometer-Spannungsversorgung
├── VCC Rail (bei Potis)
└── GND Rail (bei Potis)
(Platzierung: Zentral bei den analogen Reglern)
C6: LED-Spannungsversorgung
├── VCC Rail (bei LEDs)
└── GND Rail (bei LEDs)
(Platzierung: Zentral bei den LEDs)
```
### Spannungsglättung (10µF Elektrolyt)
```
C7: Haupt-Spannungsversorgung Arduino
├── Arduino VCC
└── Arduino GND
(Platzierung: Am Arduino-Eingang, Polarität beachten!)
C8: MCP23017 Spannungsversorgung
├── Gemeinsame VCC-Schiene der MCPs
└── Gemeinsame GND-Schiene der MCPs
(Platzierung: Zentral zwischen beiden MCPs)
```
### Pufferkondensator (470µF Elektrolyt)
```
C9: Haupt-Pufferkondensator
├── USB +5V Eingang
└── USB GND
(Platzierung: Am USB-Eingang, stabilisiert Spannungsspitzen)
(WICHTIG: Polarität beachten! + zu +5V, - zu GND)
```
## 🔧 Detaillierte Schaltungsdetails
### LED-Schaltung (pro LED)
```
MCP23017 Pin ──── R(330Ω) ──── LED Anode (+)
LED Kathode (-)
GND
Berechnung Vorwiderstand:
R = (Vcc - Vled) / Iled
R = (5V - 2.1V) / 8.8mA = 330Ω
Bei 20 LEDs: Gesamtstrom = 20 × 8.8mA = 176mA
```
### Button-Schaltung (pro Button)
```
VCC
│ (R = 10kΩ Pull-Up, intern im MCP23017)
├─── MCP23017 Pin (Input)
┌────┴────┐ Button (Tact Switch)
│ │
GND GND
Bei gedrücktem Button: Pin = LOW (0V)
Bei losgelassenem Button: Pin = HIGH (5V via Pull-Up)
```
### Potentiometer-Schaltung (pro Regler)
```
VCC ──── Pin 1 (CCW/Links/Oben)
Signal ── Pin 2 (Wiper/Mitte) ──── Multiplexer Kanal
GND ──── Pin 3 (CW/Rechts/Unten)
Optional: 100nF Kondensator zwischen Signal und GND
für Entstörung bei langen Leitungen
```
## 📐 Layout-Empfehlungen
### Breadboard-Aufbau
```
Sektion 1: Arduino Pro Micro
├── C1 (100nF) direkt an VCC/GND
├── C7 (10µF) an VCC/GND
└── C9 (470µF) an USB +5V/GND
Sektion 2: I2C-Bus
├── R1 (4.7kΩ) SDA Pull-Up
├── R2 (4.7kΩ) SCL Pull-Up
├── Kurze Verbindungen zu MCPs
└── Twisted Pair bei längeren Leitungen
Sektion 3: MCP23017 #1
├── C2 (100nF) direkt am Chip
├── 16× R(330Ω) für LEDs
└── Buttons mit internen Pull-Ups
Sektion 4: MCP23017 #2
├── C3 (100nF) direkt am Chip
├── 4× R(330Ω) für LEDs
└── Buttons mit internen Pull-Ups
Sektion 5: CD74HC4067
├── C4 (100nF) direkt am Chip
├── C5 (100nF) für Analog-Versorgung
└── Sternförmige Verteilung zu Potis
Sektion 6: Potentiometer/Slider
├── Saubere VCC/GND-Verteilung
├── Geschirmte Signalleitungen
└── C5 (100nF) zentrale Entstörung
```
### PCB-Design Hinweise
```
Layer 1 (Top): Komponenten + Signale
├── Kurze Leitungen für I2C
├── Sternförmige GND-Verteilung
└── Abblockkondensatoren nah an ICs
Layer 2 (Bottom): Masse-Fläche
├── Durchgehende GND-Plane
├── VCC-Flächen getrennt
└── Thermische Vias bei Stromversorgung
Leitungsführung:
├── I2C: < 10cm, Twisted Pair
├── Analog: Geschirmt, < 20cm
├── Digital: Unkritisch, < 50cm
└── Power: Sternförmig, dicke Leitungen
```
## ⚠️ Wichtige Hinweise
### Kondensator-Polarität
```
Elektrolytkondensatoren (10µF, 470µF):
+ (längeres Bein) ──── zu VCC/Plusspannung
- (kürzeres Bein) ──── zu GND/Masse
Keramikkondensatoren (100nF):
Keine Polarität - können beliebig eingebaut werden
```
### Widerstand-Farbcodes
```
4.7kΩ (Gelb-Violett-Rot-Gold): Pull-Up Widerstände
330Ω (Orange-Orange-Braun-Gold): LED-Vorwiderstände
10kΩ (Braun-Schwarz-Orange-Gold): Pull-Up Widerstände
```
### Stromverbrauch-Kalkulation
```
Arduino Pro Micro: ~40mA
MCP23017 #1: ~1mA
MCP23017 #2: ~1mA
CD74HC4067: ~1mA
LEDs (20× 8.8mA): ~176mA (alle an)
GESAMT: ~220mA (bei allen LEDs an)
USB 2.0 kann max. 500mA liefern ✓
```
### Einkaufsliste Elektronik
```
- Widerstände: Sortiment 1/4W, 5% (E12-Reihe)
- Kondensatoren: Keramik-Sortiment + Elkos
- LEDs: 5mm Standard, verschiedene Farben
- Tact Switches: 6×6mm, THT, >100k Zyklen
- Potis: Logarithmisch oder linear je nach Anwendung
- Jumperkabel: Buchse-Buchse, verschiedene Längen
```
Diese detaillierte Aufstellung gibt dir alles was du brauchst, um deinen MIDI-Controller erfolgreich aufzubauen! 🎛️

201
SHOPPING_LIST.md Normal file
View File

@@ -0,0 +1,201 @@
# 🛒 Einkaufsliste USB-MIDI-Controller
## 📦 Bestellliste für Elektronik-Händler
### Hauptkomponenten
```
□ 1× Arduino Pro Micro 5V/16MHz (z.B. Sparkfun DEV-12640)
□ 2× MCP23017-E/SP (Microchip, DIP-28)
□ 1× CD74HC4067E (Texas Instruments, DIP-24)
□ 8× Potentiometer B10K linear (Alpha 9mm, mit Achse)
□ 4× Schieberegler 10K linear 60mm (Alps oder Bourns)
□ 20× Tact Switch 6×6mm THT (Omron B3F-1000)
□ 20× LED 5mm rot/grün/blau (je nach Wunsch)
```
### Widerstände (1/4W, 5%, Metallfilm)
```
□ 2× 4.7kΩ (Gelb-Violett-Rot-Gold)
□ 22× 330Ω (Orange-Orange-Braun-Gold)
□ 20× 10kΩ (Braun-Schwarz-Orange-Gold) - optional
□ 4× 10kΩ (Braun-Schwarz-Orange-Gold) - MCP Reset
```
### Kondensatoren
```
□ 6× 100nF Keramik (104) - Entstörung
□ 2× 10µF/16V Elektrolyt - Glättung
□ 1× 470µF/16V Elektrolyt - Puffer
```
### Verbindungsmaterial
```
□ 1× Breadboard 830 Kontakte (oder größer)
□ 1× Steckplatine 10×15cm (für finalen Aufbau)
□ 40× Jumperkabel male-male verschiedene Längen
□ 20× Jumperkabel male-female verschiedene Längen
□ 1× Farbiges Schaltdraht-Set (0.25mm²)
□ 1× USB-Kabel Micro-USB (Datenübertragung!)
```
## 💰 Kostenabschätzung (Deutschland, 2025)
| Kategorie | Kosten | Bemerkung |
|-----------|--------|-----------|
| Arduino Pro Micro | ~25€ | Original Sparkfun oder Clone |
| ICs (MCP23017, 4067) | ~8€ | Microchip/TI Original |
| Potis & Slider | ~35€ | Qualität beeinflusst Haptik |
| Buttons & LEDs | ~15€ | Standard-Bauteile |
| Widerstände/Kondensatoren | ~5€ | Sortiment ausreichend |
| Breadboard/Platine | ~15€ | Für Prototyp + final |
| Kabel & Zubehör | ~12€ | Jumperkabel, USB-Kabel |
| **GESAMT** | **~115€** | **Plus Gehäuse nach Wahl** |
## 🏪 Empfohlene Bezugsquellen
### Deutschland
```
□ Reichelt Elektronik (reichelt.de)
- Gute Preise für Standardbauteile
- Schneller Versand
- Große Auswahl
□ Conrad Electronic (conrad.de)
- Lokale Filialen
- Premium-Bauteile
- Guter Service
□ Mouser Electronics (mouser.de)
- Original-ICs garantiert
- Technische Datenblätter
- Für kritische Bauteile
□ Amazon/eBay
- Arduino-Clones günstig
- Jumper-Kabel Sets
- Schnelle Lieferung
```
### International
```
□ DigiKey (digikey.de)
□ Farnell (farnell.com)
□ AliExpress (längere Lieferzeit, sehr günstig)
```
## 🔧 Werkzeug-Checkliste
### Mindestausstattung
```
□ Lötkolben 25-40W (z.B. Weller WP 25)
□ Lötzinn 0.8mm bleihaltig/bleifrei
□ Entlötlitze oder Entlötpumpe
□ Seitenschneider klein
□ Abisolierzange oder Cutter
□ Multimeter (Spannung/Strom/Widerstand)
□ Lupe oder Vergrößerungsglas
```
### Erweiterte Ausstattung
```
□ Heißluftstation (für SMD-Bauteile)
□ Oszilloskop (für Debugging)
□ Logikanalysator (für I2C-Analyse)
□ Dritte Hand mit Lupe
□ ESD-Schutz (Armband, Matte)
□ Bauteil-Organizer/Sortierboxen
```
## 📋 Montage-Reihenfolge Checklist
### Phase 1: Breadboard-Prototyp
```
□ Arduino Pro Micro auf Breadboard
□ Spannungsversorgung verdrahten
□ I2C-Bus mit Pull-Ups aufbauen
□ Erste MCP23017 anschließen und testen
□ Zweite MCP23017 anschließen und testen
□ CD74HC4067 Multiplexer anschließen
□ Erste Tests mit Code durchführen
```
### Phase 2: Buttons und LEDs
```
□ 4 Buttons als Test anschließen
□ 4 LEDs mit Vorwiderständen testen
□ Alle 20 Buttons verdrahten
□ Alle 20 LEDs mit Widerständen verdrahten
□ Button-Funktionalität testen
□ LED-Steuerung via MIDI testen
```
### Phase 3: Analoge Regler
```
□ Einen Poti an Multiplexer anschließen
□ Analoge Werte im Serial Monitor prüfen
□ Alle 8 Potis verdrahten
□ Alle 4 Schieberegler verdrahten
□ MIDI-CC Funktionalität testen
□ Kalibrierung und Feinjustierung
```
### Phase 4: Finale Integration
```
□ Vollständiger Funktionstest
□ Entstörung optimieren (Kondensatoren)
□ Mechanischer Aufbau/Gehäuse
□ Beschriftung der Regler und Buttons
□ DAW-Integration testen (Ableton, etc.)
□ Dokumentation erstellen
```
## ⚠️ Häufige Fallstricke
### Elektrische Probleme
```
❌ Fehlende Pull-Up Widerstände → Buttons funktionieren nicht
❌ Vertauschte VCC/GND → ICs können beschädigt werden
❌ Zu schwache Vorwiderstände → LEDs brennen durch
❌ Fehlende Abblockkondensatoren → Instabile Funktion
❌ Lange I2C-Leitungen → Kommunikationsfehler
```
### Mechanische Probleme
```
❌ Falsche Potentiometer-Kurve → Ungleichmäßige MIDI-Werte
❌ Schlechte Button-Qualität → Prellen, kurze Lebensdauer
❌ Ungeeignetes Gehäuse → Schwer zugängliche Komponenten
❌ Fehlende Befestigung → Wackelige Verbindungen
❌ Zu enge Anordnung → Schwierige Bedienung
```
### Software-Probleme
```
❌ Falsche I2C-Adressen → Chips werden nicht erkannt
❌ Fehlende MIDI-Treiber → PC erkennt Controller nicht
❌ Zu hohe Update-Rate → MIDI-Spam, Performance-Probleme
❌ Fehlende Debouncing → Mehrfache Button-Events
❌ Falsche Pin-Zuordnung → Vertauschte Funktionen
```
## 🎯 Qualitätshinweise
### Bauteil-Qualität
```
✅ Original-ICs bevorzugen (Microchip, TI, Atmel)
✅ Markenpotis für bessere Haptik (Alps, Bourns, Alpha)
✅ Hochwertige Tact-Switches (Omron, Cherry)
✅ Metallfilm-Widerstände für Stabilität
✅ Niedrig-ESR Kondensatoren für Entstörung
```
### Verarbeitung
```
✅ Saubere Lötstellen ohne Kältestellen
✅ Kurze Leitungen für kritische Signale
✅ Mechanisch stabile Verbindungen
✅ Ordentliche Kabelführung
✅ Ausreichende Abstände zwischen Bauteilen
```
Diese detaillierte Einkaufsliste hilft dir dabei, alle benötigten Bauteile systematisch zu beschaffen und häufige Fehler beim Aufbau zu vermeiden! 🎛️