Für einen Wettbewerb in meinem erweiterten Bekanntenkreis werde ich (nach langer Zeit) mal wieder teilnehmen. Die Aufgabe: Eine Schaltung entwickeln, die - Bauteilekosten unterhalb einem Euro (ohne PCB) - Bauteilekosten aus China-Quelle, mitnahme von Mengenrabatten bis 10 Stck. - keine fertigen Module dürfen eingesetzt werden. - Sinn der Schaltung frei wählbar. Also dachte ich mir, weil ich nicht immer meinen Universal-Programmer zur Verfügung habe und ich bisweilen bei den ATtinys den Reset-Anschluss als GPIO verwende: ich mache einen Fuse-Reseter wie es im Netz und hier schon zu finden gibt (und ich immer noch keinen gebaut habe). Was braucht man hierfür: - geschaltete Leitungen - einen Step-Up Wandler zur Erzeugung der 12V Programmierspannung Dann stelle ich für mich fest, dass ich diese Hardware ja schon habe: Beitrag "Arduino - UNO Flashershield (Linux)" Ursprünglich wollte ich das extrem minimalistisch machen und vllt. einen ATtiny13 dazu verwenden, aber das war mir aufgrund der wenigen I/O Pins dann zu arg. Ein ATtiny44 würde gehen (und evtl. realisiere ich das noch einmal mit dieser MCU), aber: Ein ATmega8 (hey, ich weiß dass er alt ist, aber für diesen Zweck reicht er mehr als aus) ist zudem in China der zweitpreiswerteste Controller den ich gefunden habe. Also habe ich das für einen ATmega8 geschrieben (in ein Arduino Board einen Mega8 mit Bootloader gesteckt). Das vorliegende Programm arbeitet mit ATmega8, ATmega48/88/168/328p und unterstützt als Targetcontroller: - ATtiny13 - ATtiny24/44/84 - ATtiny25/45/85 Bis auf den ATtiny24 und ATtiny25 habe ich das Programm getestet und funktioniert. Ich werde also später des Flashershields nochmal aufbauen, aber nicht auf einem Arduino-r3 Formfaktor und die Connectoren des Flashershields durch 8 und 14 polige Sockel ersetzen. -------------------------------------------------------------- Die Schaltung kann sowohl als Standalone - Schaltung betrieben werden, als auch über eine serielle Schnittstelle. Nach anlegen der Betriebsspannung blinkt die gelbe Leuchtdiode als Anzeige dafür, dass die Schaltung betriebsbereit ist. Es kann ein Chip in den Sockel eingesteckt werden (die 12V Programmierspannung sowie die Betriebsspannung für den Target-Controller sind abgeschaltet). Drücken (und gedrückt halten) der Taste bis die LED aufhört zu blinken und Taster loslassen. - der eingesetzte Controller wird auf seine Default Fuses zurück gesetzt War das Rücksetzen erfolgreich, leuchtet für kurze Zeit die grüne LED auf. Die gelbe Leuchtdiode blinkt wieder, alle Spannungen am Target-Controller sind abgeschaltet, ein weiterer Controller kann eingesetzt werden. War das Rücksetzen nicht erfolgreich, leuchtet die rote LED auf, diese muss mit einem weiteren Tastendruck quittiert werden und die gelbe LED blinkt wieder. Bedienung über die serielle Schnittstelle: Ist eine serielle Schnittstelle angeschlossen, kann das Rücksetzen verfolgt werden. Es wird der eingesetzte Controller sowie die momentan gesetzten Fuses angezeigt. Ein Drücken der Schaltungstaste setzt wie oben beschrieben die Fuses auf die Defaultwerte zurück. Wird anstelle der Schaltungstaste eine Taste der Tastatur gedrückt, können die Werte der Fuses die geschrieben werden sollen, über die Tastatur eingegeben werden. -------------------------------- Alles in allem bin ich auf 0,98 Euro gekommen
So, jetzt habe ich die Schaltung und das Programm für den 1 Euro Wettbewerb (und die Bauteile kosten in China 98,6 Cent). ---------------------- Realisiert ist der Reseter mit einem ATtiny44. Im Makefile kann angegeben werden, ob die Firmware eine UART-Ausgabe unterstützen soll oder nicht.
1 | # version_t24 = 1 => Fuse-Reseter Firmware fuer einen ATtiny24 |
2 | # keine Ein- und Ausgabe auf der UART moeglich, da |
3 | # Flashspeicher fuer eine Implementierung von printf |
4 | # nicht ausreicht |
5 | # = 0 => Fuse-Reseter Firmware fuer ATtiny44/84 |
6 | |
7 | version_t24 = 0 |
Die Version mit UART Ein- / Ausgabe (version_t24 = 0) erzeugt 3682 Codebytes (und passt somit nicht in einen ATtiny24), die Version ohne UART (version_t24 = 1) erzeugt 990 Byte und kann somit auch in einem ATtiny24 verwendet werden. ---------------------- Bedienung: Nach anlegen der Betriebsspannung ( 5 V ) blinkt die DUO-LED gelb. Den zu resetenden ATtiny je nach Pinanzahl in den entsprechenden 8- oder 14 poligen Sockel einsetzen und die Taste drücken bis die DUO-LED dauerhaft gelb leuchtet. Taste loslassen. War das Reseten erfolgreich leuchtet für kurze Zeit die DUO-LED grün, anschliessend blinkt die LED gelb. Bei Misserfolg leuchtet die LED rot, dieser Misserfolg muss mit einem Tastendruck quittiert werden. Ein gelbes Blinken signalisiert die Bereitschaft der Schaltung Bei Betrieb über den UART wird der eingesetzte Chip nach Betätigen des Tasters oder dem Betätigen einer Taste auf der Tastatur angezeigt. Wurde eine Taste der Tastatur gedrückt, können die Werte für die Fuses manuell eingegeben werden. ----------------------- Zum Wettbewerb in meinem privaten Umfeld (für den ich die Schaltung gemacht habe), gelten folgende Bedingungen: Die Schaltung darf an Bauteilen (ohne Platine) nicht mehr als 1 Euro kosten. Alle Bauteil sollen in China über EBAY bestellbar sein. Für das Mitnehmen von Mengenrabatten aus China gilt: - Mitnahme von Mengenrabatt bis zu einer Stückzahl von 10 Stück - Mitnahme von Mengenrabatt bis zu einem Gesamtpreis von 2 Euro für die Gesamtmenge. Hieraus ergab sich:
1 | Stückzahl in Bauteil Stück Mengenpreis Einzelpreis |
2 | der Schaltung (Euro) (Cent) |
3 | ------------------------------------------------------------------- |
4 | |
5 | 1 ATtiny44 10 5,73 57,3 |
6 | 6 Widerstand 300 1,00 2,0 |
7 | (Sortiment) |
8 | 1 Spule 680µH 50 1,57 3,2 |
9 | 2 Transistor 100 1,50 3,0 |
10 | 1 Zenerdiode 12V 100 1,31 1,3 |
11 | 1 220µF 10 1,09 5,5 |
12 | 1 100nF 100 1,00 1,0 |
13 | 1 Taster 50 1,00 2,0 |
14 | 1 Sockel 8 pol. 20 1,00 5,0 |
15 | 1 Sockel 14 pol. 20 1,16 5,8 |
16 | 1 DUO-LED 50 1,00 2,0 |
17 | 1 1N4148 200 1,00 0,5 |
18 | 1 Steckerleiste 10 2,70 10,0 |
19 | 2 x 40 pol |
20 | -------- |
21 | Gesamt 98,6 |
-------------------------------------- Aber nachdem im Forum jemand ein Problem mit einem Kopfhörerverstärker hat, sollte ich vielleicht einen Verstärker einreichen (allerdings glaube ich dass von den 10 Teilnehmern ein paar Verstärker dabei sein werden). Prinzipiell finde ich die "Frage" spannend, was man mit einem Bauteilewert von einem Euro alles anstellen kann und vielleicht sollte man hier im Forum einen solchen Wettbewerb auch einmal veranstalten. Schlicht "just for fun" Gruß JJ
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.