boxtec Forum
Microcontroller => Arduino General => : arduinopraxis December 12, 2013, 05:21:22 PM
-
Hallo zusammen
aus dem Thread bezüglich des Low Cost Boards von Iteadstudio (http://forum.boxtec.ch/index.php/topic,2414.0.html) hat sich eine neue Projektidee ergeben.
Helvetiny - Low Cost Board mit einem Attiny-Controller
- Arduino Footprint
- Attiny Controller, bspw. Attiny84
- Minimale Schaltung
- Programmierung via ICSP-Adapter
- Prototypenfläche
Gerne könnt ihr hier noch Wünsche/Anforderungen und Ideen hinzufügen.
Ich werde mal eine Grundschaltung des Boards zusammenstellen.
Gruss
Thomas
-
Hallo Thomas,
Bin von der Idee, wie im ursprünglichen Thread gesagt, begeistert.
Ich hätte die Idee Anregung, Quarz und Enkopplungskondensatoren einzuplanen, so dass jemand der den ATtiny extern takten möchte einfach den gewünschten Quarz und die zwei Kondensatoren kaufen und einlöten kann, ggf. lässt sich der Bereich bei Nichtgebrauch als Prototypingbereich nutzen.
Grüsse - Christoph
-
Hier mal mein erstes Testboard kurz in Fritzing zusammengefritzelt
- Board wird über ICSP-Adapter programmiert
- Externer Takt mit Resonator
(http://farm4.staticflickr.com/3744/11342500513_480093e8d6_o.jpg)
-
Hey Ihr zwei, da habe ich ja was losgetreten :), da bin ich natürlich absolut dabei.
Einzig, für mich ist noch nicht ganz klar wieso Ihr den ganzen Arduino Footprint gewählt habt.
Ich hätte da evtl. ein etwas kleineres Format gewählt evtl. trotzdem mit allen Arduino Headern ähnlich Minuino: http://shop.boxtec.ch/minuino-kit-p-41186.html (http://shop.boxtec.ch/minuino-kit-p-41186.html)
Ansonsten gibt es nichts zu ergänzen.
Gruss Reto
-
Einzig, für mich ist noch nicht ganz klar wieso Ihr den ganzen Arduino Footprint gewählt habt.
Wie Christoph treffend aussagt:
"Ich kenn selber kein solches Board, es könnte aber durchaus interessant sein, z.B. einen ATtiny auf einem Arduino footprint zu haben."
Auch ich habe bisher kein Attiny-Board mit dieser Bauform gesehen.
Ob die grösse des Minuino oder die Original-Arduino-Masse macht es meiner Meinung nach keinen grossen Unterschied.
Mit der Originalgrösse können wir hier dann auch sauber die Montagebohrungen platzieren und auf der Bestückungsseite ein klare und ausführliche Beschriftung einsetzen.
Gruss
Thomas
-
Was würdet Ihr vom ATtiny4313 statt des 84 halten ? Hat etwas weniger Speicher aber viel mehr I/Os ?
Grüsse - Christoph
-
Salut,
für mich würde gegen den ATtiny4313 sprechen, dass er keine ADCs hat. 4kB memory sind auch recht wenig ...
Ciao, Mathias
-
Wenn man sich die Liste der ATtiny anschaut, erkennt man schnell dass der ATtiny84 den besten Mix bietet.
http://playground.boxtec.ch/doku.php/arduino/attiny (http://playground.boxtec.ch/doku.php/arduino/attiny)
- kleines Gehäuse
- 8kB Flash
- viele digitale I/O
- Analoge I/O
weitere Vorteile
- gute Verfügbarkeit
- viele Anwendungen
- IC Sockel für DIL 14 recht günstig
Gruss
Thomas
-
Wenn man sich die Liste der ATtiny anschaut, erkennt man schnell dass der ATtiny84 den besten Mix bietet.
Diese Liste ist ziemlich kurz gehalten, weil sie nur ATtinies umfasst, die von den gebräuchlichen Software-Cores unterstützt werden. Es ist aber ziemlich einfach, die Software anzupassen, wenn man gute Gründe hat.
Eine erschöpfende Liste ist hier: http://www.atmel.com/products/microcontrollers/avr/tinyavr.aspx (http://www.atmel.com/products/microcontrollers/avr/tinyavr.aspx)
kleines Gehäuse
Da zieht wohl jedermann die Grenze woanders, aber wenn man sich auf DIP Packungen beschränkt, sind 14 Pins schon eine sinnvolle Grösse. Andererseits ist SOIC auch nicht so wahnsinnig schwierig zu löten, und 20 pin SOIC ist kleiner als 14 pin DIP.
Unter den DIP 20 pin ATtinies finde ich den 861 noch gelungen, und von den SOIC Modellen gefällt mir der 1634 am besten. Für letzteren habe ich die Software-Anpassung mal gemacht.
-
Unter den DIP 20 pin ATtinies finde ich den 861 noch gelungen, und von den SOIC Modellen gefällt mir der 1634 am besten. Für letzteren habe ich die Software-Anpassung mal gemacht.
Das sind beides ganz schnucklige Chips, beim 861 gefallen mir die 6 PWMs, beim 1634 finde ich die Flash-Grösse sehr ansprechend - ADCs haben beide ja ausreichend.
Persönlich wäre der 1634 mein Favorit. Preislich liegt der 1634 ~20 Rappen über dem 84A in DIP resp. ~25 über der SOIC14 Version. Gleichwohl ist der 1634 aber dann nur noch etwa 85 Rappen billiger als ein 328P in DIP, resp. ca. 1.20 billiger als die TQFP Version des 328P.
@microtherion: Wir würden den 1634 gerne an Lager nehmen, scheint mir ein sehr interessanter ATtiny. Ich würde die 1634R Version mit dem etwas genaueren internen Oszillator nehmen. Würdest Du Deine Core Dateien zur Verfügung stellen ?
Ich denke auch ein einfaches Breakout Board für den 1634 wär dann interessant um den Chip auf einem Breadboard zu verwenden.
-
Preislich liegt der 1634 ~20 Rappen über dem 84A in DIP resp. ~25 über der SOIC14 Version. Gleichwohl ist der 1634 aber dann nur noch etwa 85 Rappen billiger als ein 328P in DIP, resp. ca. 1.20 billiger als die TQFP Version des 328P.
Für mich stellt sich bei dieser Kostenbetrachtung die Frage ob ein Attiny-Board dann überhaupt Sinn macht.
Die Aussagen von Christoph betr. Low Cost Board kann ich unterstützen
Auch fände ich grundsätzlich ein low-cost Board sehr spannend zum definitiven Einsatz an Orten wo mich oft ein Arduino reut weils overkill ist um eine Temperatur auszulesen oder einen RGB Strip über FETs anzusteuern.
Aber mit dem Einsatz eines Attiny1634 sind wir ja fast wieder im Bereich eines ATmega328. Für die oben genannten Anwendungfälle auch wieder ein Overkill.
@Christoph,
welches wäre dann der günstigste Attiny?
Wollen wir ein Attiny mit SMD-Gehäuse oder ein DIL verwenden? Bei DIL kommt natürlich noch ein Sockel dazu. SO-Gehäuse sind dann nicht für Einsteiger gedacht.
Gruss
Thomas
-
Ich hätte da evtl. ein etwas kleineres Format gewählt evtl. trotzdem mit allen Arduino Headern ähnlich Minuino
Wenn es schlussendlich um die Kosten geht, wäre doch der Ansatz von Reto mit der Minuino-Bauform in Betracht zu ziehen.
Zusätzlich:
- keinen 2.1mm Jack
- keine Spannungsregler-Schaltung
-
Aber mit dem Einsatz eines Attiny1634 sind wir ja fast wieder im Bereich eines ATmega328. Für die oben genannten Anwendungfälle auch wieder ein Overkill.
@Christoph,
welches wäre dann der günstigste Attiny?
Nun, ich denke das rechnet sich ingesamt dann schon hoch, Quarz und Entkopplungskondensatoren sind ja auch nicht nötig und die Barrel Jack Buchse würde ich auch weglassen. Wenn das Board dann noch wie vorgeschlagen auf Minuino-Grösse eingedampft wird sind die Kosten schon sicher 1/4 - 1/3 tiefer als bei einem Helvetino. Der Mikrokontroller muss irgendwo bei 100-250 Stk mit 0.75 - 2.00 Franken veranschlagt werden egal ob ATmega328, ATtiny 84, 4313 oder 1634.
Beim Spannungsregler bin ich unsicher ob der nicht sinnvoller ist. Man könnte ja ebenfalls ein sehr günstiges SMD LDO Modell nehmen.
Die billigsten ATtny sind die mit den wenigsten I/Os, einfach gesagt. D.h. die x5er sind die günstigsten (25,45,85), dann gehts ziemlich linear hoch je nach I/O und Flash/RAM/EEPROM Grössen. D.h. funktionell ist die Wahl eh nur zwischen ATtiny4313, ATtiny84 und ATtiny1634 resp. ATtiny861 und da macht es eben nur ein paar Rappen Unterschied aus für die Gesamtkosten.
Wollen wir ein Attiny mit SMD-Gehäuse oder ein DIL verwenden? Bei DIL kommt natürlich noch ein Sockel dazu. SO-Gehäuse sind dann nicht für Einsteiger gedacht.
Ich meine ein ATtiny Board ist nie für den wirklichen Einsteiger gemacht, da gibts aus meiner Sicht nur Uno und 100% kompatible. Alles andere sollte erst das zweite oder dritte Board sein. Wie microtherion sagt, ist das ein sehr einfach zu lötender SOIC Chip, bei Bedarf könnten wir diesen sogar vorbestücken, aber ich denke es wäre auch ein sehr einfaches SMD Kit das ja immer öfter nachgefragt wird.
Dieses Board sehe ich als low-cost deployment board für die verschiedensten einfacheren Anwendungen wo ein Arduino Board mit z.B. einem einfachen Shield verbaut wird, z.B. ein Temperaturregler für ein Aquarium mit einem oder mehrerer Temperatursensoren und einem oder mehreren Relais (z.B. ein Relais-Shield). Ich denke auch der XBotMicro dreht seine Runden anstandslos mit einem ATtiny Board etc.
-
Hallo Christoph, da kann ich nur zustimmen, ein SO-Gehäuse würde da wirklich gut passen.
Einen Spannungswandler würde ich schon noch dazu packen und wie du vorgeschlagen hast den 2.1mm Jack weglassen oder nur in der Platine vorsehen aber nicht im Kit. Und ich bin weiterhin ein Verfechter der Minuino-Bauform.
Das ganze würde dann zu einem fortgeschrittenen Anwender passen welchem die 2 SMD Bauteile keine Angst machen.
Preislich wäre es schon gut 1/3 unter den Helvetino zu kommen. Denkst Du das schaffen wir noch mit dem 1634?
Ansonsten würde für mich der 84 gut passen.
Wie wäre es auf dem Boad gleich Platz für 2 unterschiedliche Attiny's zu schaffen, der Anwender kann dann entscheiden welcher vom Preis/Leistung Verhältnis am besten für Ihn passt?
Gruss Reto
-
Ich meine ein ATtiny Board ist nie für den wirklichen Einsteiger gemacht, da gibts aus meiner Sicht nur Uno und 100% kompatible. Alles andere sollte erst das zweite oder dritte Board sein.
Ja, da hast du recht. Obwohl es mittlerweile gute Anleitungen gibt die auch ein Einsteiger verstehen kann.
Wie microtherion sagt, ist das ein sehr einfach zu lötender SOIC Chip,
Und somit sollte auch ein SO-Gehäuse auflöten kein Problem sein.
Beim Löten von programmierbaren Bausteine direkt auf die Leiterplatten habe ich immer etwas Hemmungen. Das kommt wohl daher dass ich noch mit EPROM gearbeitet habe :)
Da auch Reto für ein SO-Gehäuse ist, geht das für mich auch in Ordnung. Wenn nun auch der Attiny1634 günstig zu beziehen ist, haben wir schon bald die Schaltung von unserem Helvetiny.
@dinoi
Und ich bin weiterhin ein Verfechter der Minuino-Bauform.
Was sind deine Gründe gegen die schmale Bauform des Minuino?
Gruss
Thomas
-
Hallo Thomas,
Und ich bin weiterhin ein Verfechter der Minuino-Bauform.
Was sind deine Gründe gegen die schmale Bauform des Minuino?
Da der Tiny mit seiner Schaltung weniger Platz braucht und ich damit rechne auch weniger Komponenten für eine Lösung mit Tiny zu verwenden würde ich ein kleineres Boad vorziehen. Da mit dieser Bauform dann trotzdem die Shields passen, würde ich in meinen Anwendungsfällen nichts verlieren. Die Montagebohrungen habe ich noch nie verwendet. Der Preis ist dann natürlich auch kleiner.
Wie sehen das die Anderen?
Gruss
Reto
-
@dinoi
und ich damit rechne auch weniger Komponenten für eine Lösung mit Tiny zu verwenden würde ich ein kleineres Boad vorziehen. Da mit dieser Bauform dann trotzdem die Shields passen, würde ich in meinen Anwendungsfällen nichts verlieren.
Grundsätzlich benötigt eine Schaltung mit dem Attiny bedeutend weniger Platz.
Mit der Minuino-Bauform hätten wir ein schmaleres Board auf welches aber trotzdem noch Shields passen.
Welche Bauform/Abmessungen würdest du empfehlen? Ich dachte dass du für die Minuino-Baugrösse bist. Oder habe ich deine Aussage falsch verstanden?
Gruss
Thomas
-
Hallo Thomas,
ja sorry das habe ich nicht mehr geschrieben. Die Minuino Baugrösse wäre für mich ideal.
Gruss Reto
-
Das sind beides ganz schnucklige Chips, beim 861 gefallen mir die 6 PWMs
Die sind allerdings etwas speziell: Die 6 PWMs bestehen aus drei Paaren (mit Dead Time Generatoren), die alle vom gleichen Timer angesteuert werden. Im Arduino-Sinn sind das nur 3 Analoge Ausgänge.
Was beim 861 sehr speziell ist, ist der ADC: Nicht nur hat man 11 Analog-Eingänge, sondern man kann auch differenzielle Signale zwischen einem Paar von Eingängen messen, mit Verstärkung einstellbar zwischen 1x, 8x, 20x, und 32x. Da ich nicht so viel mit Sensoren mache, habe ich das allerdings alles noch nie probiert.
@microtherion: Wir würden den 1634 gerne an Lager nehmen, scheint mir ein sehr interessanter ATtiny. Ich würde die 1634R Version mit dem etwas genaueren internen Oszillator nehmen. Würdest Du Deine Core Dateien zur Verfügung stellen ?
Selbstverständlich! Das Repo ist hier: https://code.google.com/r/microtherion-tiny1634-43u/ (https://code.google.com/r/microtherion-tiny1634-43u/)
Ich würde vielleicht dann mal offizielle Release-Tags machen, damit die Leute nicht eine zufällige Version des Codes downloaden müssen.
Ich denke auch ein einfaches Breakout Board für den 1634 wär dann interessant um den Chip auf einem Breadboard zu verwenden.
Ich verwende jeweils solche Adapter: http://shop.boxtec.ch/soic-dip-adapter-pin-p-40851.html (http://shop.boxtec.ch/soic-dip-adapter-pin-p-40851.html)
-
@Christoph,
welches wäre dann der günstigste Attiny?
Wie Christoph gesagt hat, ist der Mikrokontroller nicht der echte Kostenfaktor, aber ich habe mal auf Mouser den Stückpreis bei Bezug von 100 Stück nachgeschaut:
- ATtiny4: Fr. 0.36 (512 bytes Flash, 32 bytes RAM, winziges SOT-23 Gehäuse, Kopfschmerzen inbegriffen)
- ATtiny13A: Fr. 0.52 (1K Flash, billigster DIP basierter tiny)
- ATtiny85: Fr. 0.65 (SOIC) Fr. 0.72 (DIP) (Billigster 8K tiny mit 8K Flash)
- ATtiny84: Fr. 0.71 (SOIC) Fr. 0.77 (DIP) (14 pin tiny)
- ATtiny1634: Fr. 0.96 (Einziger tiny mit 16K Flash)
- ATmega328: Fr. 1.54 (TQFP) Fr. 1.59 (DIP) (Der Arduino-Standard)
- ATmega16u2: Fr. 2.06 (TQFP) (Billigster Mega mit USB-Support)
- ATmega32u4: Fr. 3.36 (TQFP) (Arduino Micro / Leonardo)
- ATmega1284: Fr. 4.52 (DIP) (Grösster DIP mega, verwendet in Sanguino-ähnlichen Boards)
- ATmega2560: Fr. 10.00 (TQFP) (Arduino Mega)
Fazit: Bei typischen Arduinos kostet die USB-Schnittstelle mehr als der Prozessor.
-
Einen Spannungswandler würde ich schon noch dazu packen.
Könnte man vielleicht auch optional gestalten, weil bei batteriebetriebenen Anwendungen wegen des nötigen Headrooms ein Spannungswandler manchmal kontraproduktiv sein kann.
-
Mit der Minuino-Bauform hätten wir ein schmaleres Board auf welches aber trotzdem noch Shields passen.
Ist es nicht etwas riskant, physisch kompatibel mit Arduino-Shields zu sein, wenn man es technisch nicht ist?
- Auch ein 20-pin ATtiny kann nicht 20 I/O pins ansteuern.
- Viele Shields, die ich kenne, benutzen SPI und/oder I2C, also müsste man die tiny-Pins entsprechend arrangieren (und die Software anpassen, was aber nicht so ein Riesenproblem wäre).
- PWM pins wären sehr problematisch, aber die werden vielleicht weniger von shields verwendet.
-
Ist es nicht etwas riskant, physisch kompatibel mit Arduino-Shields zu sein, wenn man es technisch nicht ist?
Diese Gefahr besteht in der Tat.
Momentan haben wir noch nicht definiert welche Pins des Attiny1634 auf die Headerpins geführt werden. Ich würde hier vorschlagen dass wir diese nicht direkt auf die Header führen sondern auf dem Board selbst eine eigene Pinreihe anbieten.
Der Anwender kann/muss dann selbst die gewünschten Pins auf die jeweiligen Headerpins verbinden.
Auf diese Weise können wir die oben genannte Problematik umgehen und der Anwender ist etwas flexibler da der Attiny1634 ja viele Möglichkeiten bietet.
Gruss
Thomas
-
Quote from: dinoi on December 15, 2013, 10:52:25 PM
Einen Spannungswandler würde ich schon noch dazu packen.
Könnte man vielleicht auch optional gestalten, weil bei batteriebetriebenen Anwendungen wegen des nötigen Headrooms ein Spannungswandler manchmal kontraproduktiv sein kann.
Ja, der Spannungsregler wäre optional. Die Schaltung ist auf dem Board vorgesehen aber wird standardmässig nicht bestückt.
-
Salut,
was haltet Ihr von der Idee, dem ATtiny1634 noch einen PCA9685 zu spendieren? Damit hätte man bis zu 16 PWM Kanäle.
Leider ist der PCA9685 in TQFP nur erhältlich, aber vielleicht gibt es ein einfacheres Modell, welches PWM Kanäle und I2C Zugriff bietet oder man lässt das Bauteil bei Seed gleich bestücken ...
Nur so eine Idee ... schöne Weihnachten
Ciao, Mathias
-
Hallo Mathias,
Die Idee find ich sehr gut, ich hab mir auch schon überlegt einfach noch einen zweiten ATtiny, quasi als Slave draufzupacken um Platz und I/Os des Arduino Footprints auszunutzen. Es stellt sich dann aber die Frage nach der Kompatibilität mit Shields in der Form noch mehr und ich sähe dann eher ein ganz spezalisiertes ATtiny Board mit z.B. PWM Treiber oder einem I/O Multiplexer irgendwelcher Art.
Aber am ehesten für alle etwas, wäre vielleicht ein Breakout Board für den ATtiny1634 mit etwas Prototyping Bereich und einem ISP Anschluss und ev. einem optionalem Spannungsregler mit wenig Platzbedarf. Da sind die Kosten tief, der Platzbedarf trotzdem noch viel geringer als bei einem Arduino und es würde als Ausgangsbasis für die vielfältigsten Anwenungen offen sein.
Frohe Feiertage!
Grüsse - Christoph
-
Aber am ehesten für alle etwas, wäre vielleicht ein Breakout Board für den ATtiny1634 mit etwas Prototyping Bereich und einem ISP Anschluss und ev. einem optionalem Spannungsregler mit wenig Platzbedarf.
Das finde ich auch eine gute Idee. Ein Breakout-Board ist vermutlich noch besser geeignet als ein PCB mit Arduino-Footprint.
Falls nötig kann man ein solches Breakout Board auf ein Protonly/Protoshield auflöten und hat die selbe Funktionalität.
Da sind die Kosten tief, der Platzbedarf trotzdem noch viel geringer als bei einem Arduino und es würde als Ausgangsbasis für die vielfältigsten Anwenungen offen sein.
Auf jeden Fall etliche Vorteile gegenüber einer Arduino-Bauform.
Für kleine Anwendungen ist oftmals eine Arduino-Platine zu gross. Eine schmale Bauform würde optimal zum Helvetiny passen ;)
Gruss
Thomas
-
Als Basis für unser Helvetiny Board wäre dies doch ein guter Ansatz:
http://tinkerlog.com/2009/01/18/attiny-breadboard-headers/ (http://tinkerlog.com/2009/01/18/attiny-breadboard-headers/)
-
Hallo Zusammen, ja das mit den Shield's stimmt schon die Anwendungsfälle sind sehr begrenzt. Ja ein Breakout Board würde schon auch Sinn machen. Aber es sollte doch noch direkt etwas Prototyping Platz vorhanden sein. Und wie Thomas vorgeschlagen hat könnte man das dann bei mehr Bedarf an Prototying Platz mit einem Protonly Shield verbinden. Das müsste man ja nicht mal unbedingt fest verlöten werden sondern man könnte mit den Headern arbeiten.
Gruss Reto
-
Meine erste Idee eines Breakout Boards sieht so aus:
(http://farm3.staticflickr.com/2888/11712669464_1a0b977626.jpg)
Das PCB wäre dabei 30 x 50 mm gross.
Euch allen noch ein gutes neues Jahr :)
Thomas
-
Hallo Thomas, danke Dir auch alles Gute im 2014 und dass alle Projekte Dir gelingen.
Das sieht ja gut aus, Du machst noch Lötanschlüsse für alle Pins oder?
Gruss Reto
-
Das sieht ja gut aus, Du machst noch Lötanschlüsse für alle Pins oder?
Die Pins werden auf die beiden Stiftleisten JP1 und JP2 herausgeführt. In meinem Beispiel sind die Leiterbahnen noch nicht geroutet.
Mein erster Prototyp soll als Basis für die Diskussion dienen.
Gruss
Thomas
-
Allen hier erstmal ein gutes neues Jahr!
@Thomas: Danke für den Entwurf, das sieht super aus. Aber dazu zwei Fragen/Anregungen:
- Der FTDI Header an UART0 ist eine gute Idee, wenn man das obere Prototyping Feld wegnimmt, das untere etwas grösser macht und den FTDI Header näher an den Chip rannimmt, könnte das Board bei mehr Prototyping Platz etwas kürzer werden. Wenn es Absicht ist, dass zwei verschiedene Prototyping Bereiche hast - hab ich nichts gesagt.
- Ev. wäre es gut noch an 1-2 Orten GND und VIN abgreifen zu können. Ev. auch interessant wäre optional einen Reset-Taster vorzusehen, dass aber nur als wilde Idee.
Grüsse - Christoph
-
Das sieht ja gut aus, Du machst noch Lötanschlüsse für alle Pins oder?
Die Pins werden auf die beiden Stiftleisten JP1 und JP2 herausgeführt. In meinem Beispiel sind die Leiterbahnen noch nicht geroutet.
Hallo Thomas, ja genau, ich habe etwas anderes gemeint: Ja die Pins werden auf die Stiftleisten JP1 und JP2 herausgeführt und können dann am Breadboard verwendet werden. Wenn jetzt ein Anschluss auf der Protofläche verwendet werden soll, kann da nur unschön etwas angelötet werden. Mein Vorschlag war wie beim Helvetino eine 2. Reihe von Anschlüssen für die Proto Flächen zur Verfügung zu stellen die aber bereits mit den Pins bzw. Stiften verbunden sind.
Ev. auch interessant wäre optional einen Reset-Taster vorzusehen, dass aber nur als wilde Idee.
Das gibt es einen Schalter (S1) ich denke Du hast ihn als Reset geplant oder für etwas anderes?
Ev. wäre es gut noch an 1-2 Orten GND und VIN abgreifen zu können.
Ja das finde ich auch eine Gute Idee.
Der FTDI Header an UART0 ist eine gute Idee, wenn man das obere Prototyping Feld wegnimmt, das untere etwas grösser macht und den FTDI Header näher an den Chip rannimmt, könnte das Board bei mehr Prototyping Platz etwas kürzer werden. Wenn es Absicht ist, dass zwei verschiedene Prototyping Bereiche hast - hab ich nichts gesagt.
Das finde ich auch eine gute Idee, lieber einen grösseren Prototyping Bereich als 2 kleinere.
Gruss Reto
-
Salut,
es ist wahrlich beeindruckend, wie hier die Ideen fliessen ...
Wenn wir schon vom Arduino Footprint abweichen, möchte ich gerne etwas radikaleres vorschlagen: Warum nicht beim PinOut anfangen, statt am Chip zu starten? Man könnte einen Standard-Bus definieren, der als Kern eines jeden PCB genommen wird. Bei Smartduino hat man das gemacht (und leider einen Stecker verwendet, der nur mit panzerbrechender Gewalt getrennt werden kann), genauso beim Microduino (umlaufende Pinreihe) und beim Raspberry Pi (die Pinbelegung sieht sehr nach Zufallsgenerator aus).
Nach einiger Überlegung bin ich zu der Idee gekommen, dass man doppelte Pinreihen nehmen könnte mit 2x5 Pins. Der erste Zehnerblock hätte ISP und I2C, wobei pin9 Vcc und pin10 GND wäre. Treibt man diese Idee weiter, wird der zweite Zehnerblock dann für eine GPIO Byte verwendet, wobei man wiederum pin9 mit Vcc und pin10 mit GND belegt. Das gibt eine 2x10 grosse Pinreihe. Daneben kann ich dann eine 2x5 Reihe aufsetzen für das zweite GPIO Byte (wieder mit Vcc and pin9 und GND an pin10) und eine dritte 2x5 Pinreihe für das dritte GPIO Byte. Wenn ich nun ein ATtiny-Board designe, kann ich den IO-Block und das GPIO Byte eins verwenden. Bei grösseren Prozessoren kann ich dann dei anderen beiden Bytes hinzu nehmen. Durch die Anordnung erhalte ich einen sehr stabilen Aufbau. Ein Adaptershield zum Arduino Footprint wäre einfach zu gestalten, GPIO Byte zwei wäre D8-D13, GPIO Byte drei D0-D7. Ich habe diese Idee mal in Eagle angelegt. Nun bin ich gespannt ob ich hier völlig daneben liege (es wird ja auch nicht Winter ...) oder ob das vielleicht ein guter Ansatz wäre.
Ciao, Mathias
Und noch ein gutes Neues Jahr
-
Bemerkungen zu meinem Prototypen bezw. Antworten auf Bemerkungen von Reto und Christoph
Resettaster:
ist bereits vorgesehen
Prototypenfläche:
In meinem Beispiel habe ich die freie Prototypenfläche verteilt und dort angeordnet wo platz war.
Natürlich kann die Fläche auch zusammengefasst werden.
Die äussere Pinreihe kann dabei unten montiert werden und erlaubt dann das Aufstecken des PCB auf ein Breadboard oder auch ein Protoshield.
Pinreihen:
Die Idee mit einer 2. Pinreihe ist praktisch. Ich würde diese aber parallel zur 1. Reihe anordnen. Die benötigten Pins/Signale müssen dann mittels Drahtbrücken zu den Protopads geführt werden.
FTDI-Header:
die Position dieser Stiftreihe kann angepasst werden. Für den ATTiny84 wird der Anschluss nur für die serielle Ausgabe genutzt.
PCB Grösse:
Um eine optimale Anordnung der Protopads zu bekommen, kann auch die Grösse der Leiterplatte angepasst werden.
Gruss
Thomas
-
Warum nicht beim PinOut anfangen, statt am Chip zu starten? Man könnte einen Standard-Bus definieren, der als Kern eines jeden PCB genommen wird.
Das ist auch ein Ansatz.
Die Frage ist grundsätzlich ob wir ein kostengünstiges ATtiny-Board oder ein System mit mehreren Adaptern/Shields realisieren wollen.
Nach einiger Überlegung bin ich zu der Idee gekommen, dass man doppelte Pinreihen nehmen könnte mit 2x5 Pins. Der erste Zehnerblock hätte ISP und I2C, wobei pin9 Vcc und pin10 GND wäre.
ICSP sollte original sein, also 6 Pins, damit man auch einen Programmer mit Stecker sauber anschliessen kann.
Doppelte Pinreihen sind platzsparend. Das Board kann dann aber nicht direkt in ein Breadboard gesteckt werden.
Der Ansatz mit der fixen Belegung/Erweiterung der 2-reihigen Stiftleiste ist für ein offenes System sicher optimal.
Ich persönlich tendiere eher zu einem einfachen und kleinen Board das einfach auf ein Steckbrett oder eine Leiterplatte gesteckt/gelötet werden kann.
Gruss
Thomas
-
Nach einiger Überlegung bin ich zu der Idee gekommen, dass man doppelte Pinreihen nehmen könnte mit 2x5 Pins. Der erste Zehnerblock hätte ISP und I2C, wobei pin9 Vcc und pin10 GND wäre.
ICSP sollte original sein, also 6 Pins, damit man auch einen Programmer mit Stecker sauber anschliessen kann.
Und diese 6 pins beinhalten bereits VCC und GND, also müssten sie in dem 10er block doppelt geführt werden.
Doppelte Pinreihen sind platzsparend. Das Board kann dann aber nicht direkt in ein Breadboard gesteckt werden.
Das finde ich einen wichtigen Einwand.
-
Salut,
danke für die Kommentare. Ich bin weiter am grübeln.... Da im ICSP Block Vcc und GND vorhanden sind, bin ich versucht, statt ther 4 pins für I2C nur zwei (SCL,SDA) zu verwenden und die frei werdenden Pins anders zu nutzen, z.B. für fix 3.3V oder Aref.
Im Moment favorisiere ich eine Basisplatte, welche diesen Bus trägt und mit Strom versorgt. Diese könnte man leicht mit einem Breadboardadapter versehen. Nachdem ich in den letzten Tagen mehrere Stunden damit verbracht habe, eine durch den Breadboardaufbau entstandene Kapazität zu kompensieren, bin ich vom Steckbrett etwas abgekommen ....
Als nächsten Schritt entwerfe ich nun eine Busvariante des Helvetino und Helvetiny um zu sehen, ob ich in irgendwelche Probleme laufe. Mal schauen, wo das hinführt.
Ciao, Mathias
-
Salut,
ich habe mal die PCB entworfen für eine Powerbase, den Helvetino auf diesem Design, ein IO Board und einen Shield Adapter. Bis auf den Shieldadapter sind die Boards alle 5x5 cm gross.
Das IO board bietet analog zum Iteaduino oder Freaduino zu jedem Pin ein Triplet aus Signal, Vcc und GND. Zusätzlich ist der I2C Bus mit 4 Verbindungen und optionalem Pull-up herausgeführt. Am oberen Ende sind für jeden digitalen Pin LED mit Widerstand gegen Masse geführt, welche üner eine Jumperleiste wählbar sind. Am unteren Ende befindet sich ein direkt an die Pins 2-7 angeschlossenes LCD1602
Ciao, Mathias
-
Salut,
hier noch die beiden Boards für den ATtiny84 und ATtiny1634 sowie die Files für Eagle.
Ciao, Mathias
-
Hallo Mathias,
leider kann ich Dir nicht ganz folgen :-\. Kannst Du mir bitte einzeln die Funktionalität und mögliche gemeinsame Verwendungen erklären? Hier meine Interpretation:
Einzelne Funktionalität:
Helvetino.png, ein 328 an welcher Shields angesteckt werden können
Power.png, zur Stromversorgung vom 328
shield.png, ein Shield für eigene Komponenten, machst Du ein Proto Board daraus?
IOcove.png, was schliesse ich hier an?
helvetiny.png, ein ATtiny84 an der Stelle vom 328.
helvetiny1634.png, ein ATtiny1634 an der Stelle vom 328.
Gemeinsame Verwendung:
Ich kann den ATtiny84, ATtiny1634 oder 328 als Herz für alle weiteren Adapter und Shields verwenden,
weil die Schnittstellen passen und immer I2C und die Stromversorgung weitergeleitet werden.
Gruss Reto
-
Salut Reto,
Du hast fast alles richtig erkannt:
Power.png ist sozusagen die Basisplatte, die die 5V und 3.3V bereit stellt und diese an die entsprechenden Pins leitet.
Als Prozessorplates zum Aufstecken sind zur Wahl: Helvetino, helvetiny und helvetiny1634.
Das shield.png zeigt einen Arduino-Shield Adapter, der die Arduino Shield pins auf meine Pins mappt.
Das IOcove.png bietet Anschlüsse wie ein Expansion-Shield: Die I2C Pins sind vierfach herausgeführt und mit Vcc und GND versehen, so dass ich ein I2C Breakout durch vier Kabel verbinden und auf den Bus legen kann. Optional sind die Pull-ups für den I2C Bus vorgesehen, so dass ich die nicht auf einem Breadboard aufbauen muss. Zu jedem Pin, der einen Port darstellt (A0-A5, D0-D13) habe ich analog zum Freaduino die Pins Signal, Vcc und GND angeboten, so dass ich direkt einen Sensor oder einen Servo aufstecken kann. Da ich dann noch etwas Platz hatte, habe ich noch ein LCD1602 eingearbeitet. Wenn man das über die ATTiny ansteuern kann, muss ich mir eventuell noch die Pinbelegung dieser Boards anschauen.
Da das Wort "Shield" durch die Arduino-Welt besetzt ist und "Cape" durch die Beagle-Board-Welt, have ich den Namen "Cove" (= Deckel) gewählt.
Beim ATtiny84 und ATtiny1634 habe ich die Pins bevorzugt an die ADC Pins des Arduinos gelegt, wobei ich nicht sicher bin, ob es nicht besser wäre, diese an D0-D13 zu legen.
Zu den Boards wird es noch eine entsprechende Dokumentation der Ports geben.
Ciao, Mathias
-
Hallo Mathias,
ja danke, das ganze ist ja sehr modular aufgebaut. Jetzt ist die Frage ob die ursprüngliche Idee von einem einfachen Prototyp Attiny Board, welches auch gut auf ein Breadboard passt und einen FTDI Stecker bietet. Oder dann Deine Idee in einer Lösung zusammenpassen. Oder ob wir lieber diese Ideen separat umsetzten. Das ist mir noch nicht ganz klar. Evtl. können in deinen Attiny Board's die Funktionen von Thomas (http://forum.boxtec.ch/index.php/topic,2417.msg3486.html#msg3486 (http://forum.boxtec.ch/index.php/topic,2417.msg3486.html#msg3486)) noch eingebaut werden. Oder Thomas kann ein optionales Stecksystem hinzufügen um die Kompatibilität mit Deinem System zu gewährleisten.
Gruss Reto
-
Salut Reto,
den einzigen unterschied zu dem Board von Thomas ist der, dass ich nicht erkennen konnte, wo der FOCA angeschlossen werden soll. Wenn ich die Pins für TX/RX weis, kann ich den Foca analog zum Arduino und ATtiny1634 einbauen.
Für das Breadboard plane ich ein einfaches Adapterboard, welches die beiden Sockel komplett auf das Breadboard legt
Ciao, Mathias
-
Jetzt ist die Frage ob die ursprüngliche Idee von einem einfachen Prototyp Attiny Board, welches auch gut auf ein Breadboard passt und einen FTDI Stecker bietet. Oder dann Deine Idee in einer Lösung zusammenpassen.
Meiner Meinung nach sollten dies 2 separate Projekte sein.
Ursprünglich war ja die Idee eines einfachen und kostengünstigen Board mit Prototypenfläche.
Das System von Mathias basiert aber auf einer Anzahl Leiterplatten mit den entsprechenden Steckverbindern.
Das kleine Board soll ja nicht nur günstig sondern auch schmal in den Abmessungen sein. Die von Mathias vorgeschlagene Baugrösse kann nicht für kleine Sensoren o.ä eingesetzt werden. Ich zum Beispiel verwende für meine Sensor Nodes ein einfaches PCB mit einer Grösse von 50x30mm. Das Board passt inklusive Batteriepack in eine kleine Verteilerdose aus dem Baumarkt.
(http://farm9.staticflickr.com/8096/8397200399_cf164c0f16_m.jpg)
Ich von meiner Seite werde am Board aus dem Post von Anfang Januar weiterarbeiten.
http://forum.boxtec.ch/index.php/topic,2417.msg3486.html#msg3486 (http://forum.boxtec.ch/index.php/topic,2417.msg3486.html#msg3486)
Diese Variante kann einfach ins Breadboard gesteckt werden und ein FTDI-Anschluss erlaubt die Verbindung mit dem Rechner.
Ich werde mir den Ansatz von Mathias aber gerne noch etwas genauer anschauen.
Gruss
Thomas
-
Salut,
ich sah meine Idee auch immer als komplementär und ich denke, ich werde die Idee besser in einem eigenen Thread weiter verfolgen.
Ciao, Mathias
-
ich sah meine Idee auch immer als komplementär und ich denke, ich werde die Idee besser in einem eigenen Thread weiter verfolgen.
Bestens, dann war Euch das schon klar.
Gruss Reto
-
Hallo zusammen,
Die ursprüngliche Idee war ein low-cost Board für den Einsatz, d.h. in die Richtung in die Thomas gearbeitet hat. Ich denke für ein solches Board gibts, wenn der Preis stimmt, einige Anwender dafür.
Je länger ich mich Mathias Idee beschäftige finde ich an dieser Gefallen, aber natürlich in einem anderen Zusammenhang als dem oben genannten low-cost deployment ATtiny barebone. Viele haben sich schon an Alternativen Bus-Systemen versucht, wie unser italienischer Newsletter-Generator (http://www.kickstarter.com/projects/fairduino/smartduino-open-system-by-former-arduinos-manufact), alles schien mir sehr nach mit aller Gewalt neu erfunden aber nie den Minderwert durch die fehlende Kompatibilität mit Arduino Shields und Zubehör etc. aufwiegend. Der Ansatz hier gefällt mir aber immer mehr.
Erstens sind die 5x5cm sind schon was im Gegensatz zu dem heutzutage recht klobig erscheinenden Arduino Abmassen. Die Idee den Mikrokontroller nach Bedarf zu wechseln, da er praktisch nur eines von mehreren Boards ist finde ich auch super. Und der Adapter für Arduino Shields rundet die Sache ab.
Mir persönlich würde etwas, das sich seitlich erweitert wie z.B. JDNs Microdules (http://www.didel.com/News.html) gefallen. Oder am besten die Wahl zu haben ob man auf der seitlich oder nach oben stapelt. Oft ist es sehr anspruchsvoll, einen Arduino mit 3 Shields in ein Gehäuse zu kriegen, aber ich weiss das ist sehr schwierig zu realisieren.
Von unserer Seite bieten wir für beide Projekte gerne jede mögliche Unterstützung an, beides tönt sehr vielversprechend.
Grüsse - Christoph
-
Hallo zusammen,
ich habe für einen ersten Helvetiny-Prototypen eine Leiterplatte bei OSH bestellt.
(http://farm6.staticflickr.com/5514/12134432196_08c5a56e96_m.jpg)
Sobald ich einen ersten Protoypen aufgebaut habe, gebe ich euch einen Feedback dazu.
Gruss
Thomas
-
Erste Serie von PCB sind soeben eingetroffen.
(http://farm6.staticflickr.com/5508/12481712705_58e177f525_d.jpg)
Gruss
Thomas
-
Hallo Thomas,
ja die sehen toll aus. Viel Erfolg.
Gruss Reto
-
Hallo Zusammen,
hat jemand von Euch den Attiny1634 schon zum laufen gebracht. Ich stehe am Berg. Bei der tiny Bibliothek von microtherion komme ich nicht weiter https://code.google.com/r/microtherion-tiny1634-43u/.
Ich habe das jetzt in der Arduino IDE installiert und auch die Tiny Modelle zur Auswahl aber nicht den Attiny1634.
Muss ich einen anderen Typ auswählen oder muss ich die Boards.txt noch anpassen?
Gruss Reto
-
Bei der tiny Bibliothek von microtherion komme ich nicht weiter https://code.google.com/r/microtherion-tiny1634-43u/.
Ich habe das jetzt in der Arduino IDE installiert und auch die Tiny Modelle zur Auswahl aber nicht den Attiny1634.
Muss ich einen anderen Typ auswählen oder muss ich die Boards.txt noch anpassen?
Du hast völlig recht, ich hatte das verschlampt :-[, und Du bist nicht mal der erste, der mich darauf aufmerksam gemacht hatte.
Ich habe jetzt "Prospective Boards.txt" angepasst, einen oder mehrere der 1634 entries kannst Du non in boards.txt kopieren.
-
Hallo Microtherion, besten Dank, die Auswahl erscheint jetzt aber jetzt kriege ich folgenden Fehler:
unknown MCU 'attiny1634' specified
Kannst Du mir da weiterhelfen, ich habe IDE 1.0 und 1.5 versucht.
Übrigens gibt es die Original tiny als 1.0 und als 1.5 Lösung für welche Version ist Deine Anpassung gemacht? (https://code.google.com/p/arduino-tiny/)
Gruss Reto
-
Hallo Microtherion, besten Dank, die Auswahl erscheint jetzt aber jetzt kriege ich folgenden Fehler:
unknown MCU 'attiny1634' specified
Ah ja, ich vergesse immer wieder, dass ich mit einem frisierten Arduino IDE arbeite 8)
Meine Methode ist, dass das IDE zwar Arduino ist, aber die avr-gcc toolchain und avrdude von Crosspack-AVR stammen. Auf dem Mac geht das so:
http://samelimmat.blogspot.ch/2013/07/using-arduino-ide-with-crosspack.html (http://samelimmat.blogspot.ch/2013/07/using-arduino-ide-with-crosspack.html)
Leider weiss ich nicht genau, wie man das Äquivalente auf anderen Plattformen machen würde.
Übrigens gibt es die Original tiny als 1.0 und als 1.5 Lösung für welche Version ist Deine Anpassung gemacht?
1.0
Muss mir mal die 1.5 Unterschiede anschauen, ich nehme an, das ist eine Frage der File-Organisation.
-
Hallo Thomas,
danke für Deine Vorlage, ich habe das auf den Attiny85 angepasst und die FlowerPads hinzugefügt.
(http://forum.boxtec.ch/index.php?action=dlattach;topic=2417.0;attach=827;image)
Gruss Reto
-
Hallo Reto
das Board sieht super aus :)
Meine Bemerkungen:
-Die ICSP-Stiftleiste scheint mir recht nah an 4-pol. Stiftleiste für die Pins 5-8.
-C1 und C2 ev. auch als SMD (da R1 auch SMD ist)
Gruss
Thomas
-
Auch ich habe in der Zwischenzeit ein Tiny85Board realisiert ;)
(https://farm8.staticflickr.com/7543/15516476223_3b45dac4be_d.jpg)
Gruss
Thomas
-
Hallo Thomas,
danke für die Bemerkungen. Montagebohrungen habe ich auch noch vergessen.
Dein Board sieht aber auch toll aus.
Bin immer noch auf der Suche nach der Lösung um den Attiny1634
mit der Arduino IDE programmieren zu können. Hat jemand noch eine Idee dazu?
Gruss Reto
-
Hallo Reto
Bin immer noch auf der Suche nach der Lösung um den Attiny1634
mit der Arduino IDE programmieren zu können. Hat jemand noch eine Idee dazu?
Wie Microtherion schreibt muss auch die avr-gcc toolchain ausgetauscht werden.
In einem Thread im Arduino-Forum ist das auch beschrieben, siehe hier:
http://forum.arduino.cc/index.php?topic=153711.msg1249261#msg1249261 (http://forum.arduino.cc/index.php?topic=153711.msg1249261#msg1249261)
Ich habe das bisher nicht getestet.
Gruss
Thomas
-
Hallo Thomas,
danke für deine Antwort mit der toolchain, das sieht genau danach aus,
leider hatte ich noch keine Zeit um es auszuprobieren.
Das Attiny85 Board mit den FlowerPads ist angekommen.
Leider sind die FlowerPads nicht gut rausgekommen.
Es war aber auch schon bei der Vorberechnung auf OSHPark ersichtlich,
nur ist es mir leider nicht aufgefallen. In den Bildern ist es ersichtlich.
Wenigstens kann ich auch mit dieser Unschönheit die Boards trotzdem nutzen.
Bei meinem 2 Board mit einem Attiny85 DIP und normaler Proto Fläche ist alles gut rausgekommen.
Gruss Reto
-
Hallo Reto,
Leider sind die FlowerPads nicht gut rausgekommen.
Es war aber auch schon bei der Vorberechnung auf OSHPark ersichtlich,
nur ist es mir leider nicht aufgefallen.
Ein genauer Blick auf das Layout vor dem Versenden der PCB-Daten lohnt sich immer.
Meine Praktiker-Tipp:
1.
Vor dem Versenden Leiterplatte 1:1 ausdrucken und Bauteile drauf platzieren. So sieht man ob die Bauteile passen.
Und beim Überprüfen des Ausdrucks kann man auch erkennen ob die Lötpads wie gewünscht aussehen.
2.
Wenn du von der Leiterplatte Gerber-Daten erstellst, kannst du mit einem entsprechenden Viewer jede einzelne Ebene prüfen.
Ich nutze das Tool Gerbv.
Ich habe bisher kein Layout mit den FlowerPads in Eagle gemacht. Hast du eine korrupte Vorlage genommen?
Gruss
Thomas
-
Hallo Reto,
Sieht super aus!
Ich kann als Tips noch den 3D Viewer von Mayhewlabs (http://mayhewlabs.com/3dpcb) für die optische Kontrolle von Gerbers beisteuern, ist für mich die zweite Instanz nach dem lokalen GerbView.
Grüsse - Christoph
-
Hallo Zusammen,
danke für die Tipps. Das Problem ist die Kupfer Schicht der Pads ist nicht auf der richtigen Ebene sie ist gleich wie eine Leiterbahn und nicht wie ein Lötpad definiert. Somit wird das Pad von der darüber liegenden Lackschicht verdeckt. Keine Ahnung wie ich das korrigieren kann.
Das FlowerPad habe ich natürlich von Mathias von hier: http://forum.boxtec.ch/index.php/topic,2679.msg4371.html#msg4371 (http://forum.boxtec.ch/index.php/topic,2679.msg4371.html#msg4371)
@Mathias hast Du mit dem FlowerPad in Eagle noch keine Probleme gehabt?
Danke und Gruss
Reto
-
Du musst auf dem Layer tStop noch die Lötstoppmaske für die 4 "Blätter" zeichnen (in der Bibliothek). Da wo du auf diesem Layer zeichnest, wird keine Lötstopplack aufgetragen. Bei normalen durchkontaktierten Bohrungen oder SMD Pads macht das Eagle automatisch. Wenn das Pad aber als Polygon gezeichnet wird (wie im Fall des Flowerpads) muss man dies selber nachtragen.
-
Salut,
ich habe die tstop Maske gezeichnet. Das Ergebnis sieht dann wie im Anhang aus. Ist das ok, oder ist der Spalt zwischen den pads zu gross? Getestet habe ich mit OSH und Mayhew 3D
Ciao, Mathias
-
Hallo Mathias,
danke erstmals, das sieht nicht schlecht aus. Ich werde es mal mit den FlowerPads auf dem Helvetino vergleichen, da hatte ich mit der Spaltgrösse gute Erfahrungen beim Löten gemacht. Aus meiner Sicht braucht es den weissen Rahmen und die Beschriftung nicht.
Gruss Reto
-
Hallo Mathias,
aus meiner Sicht passt das optisch gut mit den Pads auf dem Helvetino.
Gruss Reto
-
Super,
ich werde schauen, wie ich den Frame und das Label entfernen kann
Ciao, Mathias
-
Salut,
ich habe das Bauteil nochmals komplett überarbeitet und dabei eine interessante Sache herausgefunden:
Als ich fertig war, wollte ich mir das Bauteil bei MayhewLabs anschauen und der CAM Job beschwerte sich wieder, dass er den Rest der Nacht an Polygonen rechnen will. Inzwischen habe ich herausgefunden, dass man Polygone nicht als "gefüllte" Flächen zeichnet, sondern als Schraffur mit einem Abstand identisch zur Stiftbreite. Dann klappt es auch mit dem CAM Job.
Angehängt die Eagle-lbr und ein Bild vom Proto-Wing
Ciao, Mathias
-
Hallo Mathias,
sieht toll aus, danke für das Flowerpad, bei OSH sieht mein Attiny85 Board jetzt auch besser aus:
Gruss Reto