project:shackuino
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
project:shackuino [2012-03-01 19:33] – wkjBCKtTfHR 24.38.42.231 | project:shackuino [2014-03-03 07:42] (aktuell) – alte Version wieder hergestellt (2014/02/28 08:46) 80.187.108.63 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | k3Qxhn | + | =======shackuino======= |
+ | {{tag> | ||
+ | **Projektverantwortlicher: | ||
+ | |||
+ | Shackuino ist ein auf guenstig und flexibel getrimmtes Mikrocontroller-Board auf Basis des ATMega168. Es ist kombatibel zum [[http:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ======Was ist Arduino? | ||
+ | |||
+ | Die Arduino-Plattform ist eine aus Soft- und Hardware bestehende Physical-Computing-Plattform. Beide Komponenten sind im Sinne von Open Source quelloffen. Die Hardware besteht aus einem einfachen I/O-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. | ||
+ | |||
+ | =====Hardware===== | ||
+ | |||
+ | Das Microcontroller-Board basiert auf einem 8-Bit megaAVR RISC Prozessor von Atmel, genauer gesagt ein ATmega168. Es ist kompatibel zu einem [[http://arduino.cc/en/ | ||
+ | |||
+ | =====Arduino IDE===== | ||
+ | |||
+ | Zur Arduino-Plattform gehoert auch eine Entwicklungsumgebung. Sie beruht auf Processing (einem Java-Dialekt) und Wiring (einem C-Dialekt) und stellt mit Bibliotheken einfach aufzurufende Funktionen fuer fast jede Aufgabe zur Verfuegung.\\ | ||
+ | |||
+ | **Die IDE gibt es auf [[http:// | ||
+ | |||
+ | Beispiel: Analogeingang 0 auslesen (0-5V, 10bit), an den Seriellport schicken und mit Screen oder dem Serial Monitor der IDE anzeigen lassen. | ||
+ | |||
+ | void setup() { | ||
+ | | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | int analogValue = analogRead(0); | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | ======Teileliste====== | ||
+ | |||
+ | ^ Name ^ Teil ^ Wert ^ Bauform ^ Weiteres ^ | ||
+ | |C1, C4|Keramikkondensator fuer IC1/IC2 | 100 nF | 2.5mm Raster | ungepolter Kondensator | | ||
+ | |C2, C3|Keramikkondensator fuer Quarz | 22 nF | 2.5mm Raster | ungepolter Kondensator | | ||
+ | |(C5)¹| Keramikkondensator fuer IC3 | 100nF | 2.5mm Raster | ungepolter Kondensator | | ||
+ | |C8/9/10/12 | Elektrolytkondensator fuer IC2 | 1uF | 2.5mm Raster | Polung +/- ist gekennzeichnet | | ||
+ | |(C6)¹| Elektrolytkondensator fuer IC3 | 1uF | 2.5mm Raster | Polung +/- ist gekennzeichnet | | ||
+ | |C7 | Elektrolytkondensator VCC | 100uF | 2.5mm Raster | Polung +/- ist gekennzeichnet | | ||
+ | |R2, R6, R7 | Vorwiderstand fuer LED1-3 | ~ 300-1000 Ohm | 1/4W| - | | ||
+ | |R5 | Reset Pullup-Widerstand | > 10k | 1/4W| - | | ||
+ | |- | Quarz | 16 MHz | flache Bauform | Polung ist egal | | ||
+ | |D1| Schutzdiode als Verpolungsschutz| 1N4001/ | ||
+ | |IC1 | Microcontroller | Atmega168-20PU | 28 pin DIP | Sockel ist mit dabei | | ||
+ | |IC2 | Pegelwandler fuer RS232 Schnittstelle | MAX232N | 16 pin DIP | Sockel ist dabei | | ||
+ | |(IC3)¹| 5V Festspannungsregler | 7805 Standard|TO-220| Kennzeichnung fehlt: Metall-/ | ||
+ | |S0|Reset Taster | |6x6mm| Name fehlt im Aufdruck | | ||
+ | |S1,S2| optionale Taster | | 6x6mm | active-low an D2 / D3 | | ||
+ | |LED1|Power LED | gruen | 3mm | Minuspol am Platinenrand / kurzes Beinchen an LED | | ||
+ | |LED2/ | ||
+ | |ISP|2x5 Pol Wannenstecker | | 2.54mm Raster |Auskerbung zeigt zur Platinenmitte | | ||
+ | |RS232| Steckverbinder fuer Serielle Schnittstelle | | 9pol D-SUB EU Version | Typ male/female nach Bedarf und Kabelangebot | | ||
+ | |-|DC Hohlbuchse | |Ãi= 2.5mm Ãa=5.5mm, | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ¹ : Benoetigt wenn ein Spannungsregler verwendet wird | ||
+ | |||
+ | ======Aufbauanleitung====== | ||
+ | |||
+ | ===== Werkzeug & Material ===== | ||
+ | * Loetkolben mit Ablage und feuchtem Schwaemmchen | ||
+ | * Loetzinn | ||
+ | * Präzisions-Seitenschneider | ||
+ | * Spitzzange | ||
+ | * Entloetpumpe oder Entloetlitze | ||
+ | * Geduld | ||
+ | |||
+ | ===== Vorbereitung ===== | ||
+ | * Loetkolben auf 350 °C einstellen | ||
+ | * Bausatz auf Vollstaendigkeit ueberpruefen | ||
+ | |||
+ | |||
+ | ===== Schritt 1 ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ^ ^ ^ | ||
+ | |C2, C3|Keramikkondensator 22pf|Polung egal| | ||
+ | |X1|Quarz 16 MHz|Polung egal| | ||
+ | |R2, R6, R7| Widerstand 470 Ohm | | | ||
+ | |R5|Widerstand 10k| | | ||
+ | |D1|Diode|auf den Strich achten| | ||
+ | |C1, C4, C5|Keramikkondensator| Polung egal| | ||
+ | |-|Drahtbruecke|Brueckt I und O von IC3 | | ||
+ | |||
+ | ===== Schritt 2 ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |IC1|28 pin Sockel|auf Markierung (Nase) achten| | ||
+ | |IC2|16 pin Sockel|auf Markierung achten| | ||
+ | |||
+ | ===== Schritt 3 ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ^^^^ | ||
+ | | LED | 3mm LED gruen | plus = langes beinchen| | ||
+ | | LED2/3 | 3mm LED rot / gelb | kann durch dual-led Ersetzt werden| | ||
+ | | S1/S2/S3 | Taster 6x6mm | | | ||
+ | |||
+ | ===== Schritt 4 ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |ISP| 2x5 pol Wannenstecker|Nase zeig zur Platinenmitte, | ||
+ | |RS232|D-Sub 9Pol Buchse|-| | ||
+ | |-|DC Hohlbuchse|leicht schraeg anloeten da wenig Platz fuer Stecker)| | ||
+ | |C8/ | ||
+ | |C7|Elektrolytkondensator 100uF| auf Polung achten! Minus bzw Plus ist markiert| | ||
+ | |-|8pin Buchsenleisten|z.B. wie dargestellt verteilen| | ||
+ | |||
+ | ===== Schritt 5 ===== | ||
+ | |||
+ | Die Anschlussdraehte beider ICs auf der Tischplatte oder mit einer IC Quetsche geradebiegen, | ||
+ | Beim Einsetzen auf die Markierung sowie das unbeabsichtigte Verbiegen von Beinchen achten. | ||
+ | |||
+ | =====Layout===== | ||
+ | ^ Kupfer oben ^ Kupfer unten (from top) ^ | ||
+ | |[[http:// | ||
+ | ^ Silkscreen & Pads ^ alles zusammen ^ | ||
+ | |[[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====Features im Ueberblick===== | ||
+ | ====Allgemeines zur Platine==== | ||
+ | * nur Through-Hole Bauteile! | ||
+ | * 76x43mm | ||
+ | * __alles wichtige im 2.54 mm Raster__ | ||
+ | * zweiseitig Kupfer, zweiseitig Loetstopp, einseitig Bestueckungsaufdruck | ||
+ | |||
+ | ====Prozessor==== | ||
+ | * 16 MHz Quarz | ||
+ | * ATmega168 (16 KB Flash, 128B RAM) | ||
+ | * mit Reset-Taste | ||
+ | * Autoreset per RS232 zum bequemen Programmieren | ||
+ | * programmierbar wie jeder Arduino per IDE oder Makefile | ||
+ | |||
+ | |||
+ | ====Programmierschnittstelle==== | ||
+ | * Board wird einmal per ISP Programmiert (Bootloader), | ||
+ | * 10pol. ISP Stecker (gewinkelt oder senkrecht) | ||
+ | * RS232 (Seriell): | ||
+ | * ein Max232 (Serielle Schnittstelle) statt einem FTDI | ||
+ | * Ein USB->Seriell Kabel gibts schon ab 2 EUR | ||
+ | |||
+ | ====Stromversorgung==== | ||
+ | * fuer Eingangspannung > 5V (z.B. Netzteil, 9V Block) | ||
+ | * Linearregler 7805, 5V im TO-220 Gehaeuse (1-1.5A) | ||
+ | * 2.5mm DC Buchse | ||
+ | * fuer Spannung 3V-5V | ||
+ | * Spannungsreglerteil kann weggelassen werden | ||
+ | * Kabel koennen direkt angeloetet werden | ||
+ | * z.B. 2x oder 3x 1.5V Batterien) | ||
+ | |||
+ | ====Input/ | ||
+ | * 14 Digitale Ein/ | ||
+ | * 6 Analogeingaenge : 10 Bit ADC | ||
+ | * Aref verwendbar | ||
+ | * auch als digitale IOs nutzbar | ||
+ | |||
+ | ====Ueber die ' | ||
+ | Ueber und unter den zweireihigen Ein/ | ||
+ | Dies hat zahlreiche Vorteile und man ist mit der Bestueckung sehr flexibel: | ||
+ | * bei den doppelreihe IO-Pins: | ||
+ | * Stiftleiste von UNTEN und Buchsenleiste von OBEN => Sandwich mit Lochraster in beide Richtungen moeglich (beliebig stapelbar) | ||
+ | * Stiftleiste von unten + Steckbrett | ||
+ | * bei den GND / VCC Pins: | ||
+ | * doppelreihiger Wannenstecker auf GND/IO, dazu ein Flachbandkabel | ||
+ | * alles mit Buchsenleisten ausfuellen = kleines Steckbrett | ||
+ | * Servo einfach anschliessbar | ||
+ | * 5V LEDs direkt dran | ||
+ | * Potis mit VCC + Analog + GND = Drehregler mit Arduino in 5 Sekunden realisiert (ein einziger Befehl zum auslesen) | ||
+ | |||
+ | ====zwei Eingabetaster onboard==== | ||
+ | * optional da keine spezielle Funktion | ||
+ | * einfaches Pulldown an Interrupt-Eingaengen -> Interne pullups aktivieren, delay counten wegen: | ||
+ | * keine Hardwareentprellung. This is just a switch! | ||
+ | * an D2 / D3 | ||
+ | |||
+ | ====zwei LEDs onboard==== | ||
+ | * optional da keiner speziellen Funktion zugeordnet | ||
+ | * auch 3-pin Dual-LED moeglich | ||
+ | * angeschlossen an D4 und D5 | ||
+ | |||
+ | =====Shield - nom nom sandwich!===== | ||
+ | * Da die IO-Pins sowie ISP Schnittstelle im 2.54mm Raster (0.1 inch) angeordnet sind, kann man beliebig Loch/ | ||
+ | * Durch zwei Reihen IO-Pins ist dies auch ohne spezielle Stapelheader (Buchsenleisten mit extralangen Beinen) moeglich.\\ | ||
+ | |||
+ | | {{: | ||
+ | |||
+ | =====Eagle Layout===== | ||
+ | Schematic: [[http:// | ||
+ | Board: | ||
+ | |||
+ | |||
+ | =====Schaltplan===== | ||
+ | zum Vergroessern klicken\\ | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | =====Bestueckungsbeispiele===== | ||
+ | | {{project: | ||
+ | | Bestueckungsbeispiel D-SUB Buchse und Platinenklemmen | ||
+ | |||
+ | ---- | ||
+ | |||
+ | | {{project: | ||
+ | | Breadboard-Bestueckung | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | =====Errata===== | ||
+ | ^ Problem ^ Loesung ^ | ||
+ | | Stromversorgung und Seriellbuchse sind fuer manche Kabel zu eng beieinander | DC Buchse leicht verdreht einloeten | | ||
+ | | im Eagle Design befinden sich ein paar Kennzeichnungen auf der falschen Ebene und sind daher nicht gedruckt worden | zu spaet fuer die ersten Platinen | | ||
+ | | C11 ist ueberfluessig | egal, die Pins sind VCC + GND und somit praktisch | | ||
+ | | Proportionalschriftart ist erwartungsgemaess bei der Vektorisierung verrutscht | | | ||
+ | | zu breite Stege bei den Waermefallen und eine zu sauber verarbeitete Platine ergibt eine gigantischen Waermeleitfaehigkeit | Dicke Loetspitze verwenden und Temperatur erhoehen | | ||
+ | | C6¹ ist mit 100uF viel zu gross gewaehlt worden | 1uF Kondensator verwenden oder ganz weglassen | | ||
+ | |||
+ | ---- | ||
+ | ¹ : Nur wenn ein Spannungsregler verwendet wird |
project/shackuino.1330626820.txt.gz · Zuletzt geändert: 2012-03-01 19:33 von 24.38.42.231