Da ich für mein Projekt 17 verschiedene IO-Pins brauche, wäre es für
mich am sinnvollsten für die 16 Outputs PB und PD zu nutzen und PC0 als
Input.
Die ersten PB-Pins sind allerdings auch für den USBAsp-Programmer als
SPI-Schnittstelle notwendig. Kann ich problemlos diese Pins als Output
verwenden oder ist das für den Programmer schlecht, wenn dort Strom
zurückfließt?
Dasselbe geht auch für den Reset-Pin. Wieso sollte man einen
Input/Output irgendwo haben wollen, wenn bei einem Signal der Controller
resettet?
Einen 40-Pinner kannst Du nicht nehmen? zB Mega164?
Der Reset-Pin lässt sich nur per Fuse zum Portpin machen. Wenn Du keinen
High-Voltage Programmer hast, ist das eine Einbahnstraße, d.h. ohne
Rset-Pin funktioniert ISP nicht mehr. Das solltest Du also tunlichst
lassen.
fchk
Brauchst Du tatsächlich 16 verschiedene Ausgänge am Controller? Es
lassen sich keine Ausgänge multiplexen oder per Schieberegister seriell
bedienen? Wie schnell sind die Abläufe an den einzelnen Pins? Was hängt
dran?
Kim-Yannick schrieb:> Kann ich problemlos diese Pins als Output verwenden oder ist das für den> Programmer schlecht, wenn dort Strom zurückfließt?
Während der Programmierung ist der Controller im Reset und daher
seine Portpins nicht aktiv treibend.
Allerdings wollen Billigstprogrammierer wie ein typischer USBasp
natürlich auch dann schon die Pins treiben, wenn sie nur angesteckt
sind und noch gar nicht programmieren. Besser wäre dann ein
AVRISPmkII, der belegt die Pins erst, nachdem er /RESET zieht.
Generell würde ich aber auch zu einem Controller mit mehr Pins
tendieren. Falls die Baugröße ein Problem ist, du aber noch dem
„Bastler können nur DIP“-Paradigma verhaftet bist: trau dich einfach
zu SMD. So ein 44-Pin-TQFP mit 0,8 mm Pinraster ist noch relativ
gemütlich auch mit Bastlermitteln zu verarbeiten.
Hallo,
fast volle Zustimmung für die letzte Aussage ;-)
Warum fast?
TQFP ist nur dann einfach zu händisch zu verlöten wenn die Platine
hochwertig ist also zumindest auch eine gute Lötstoppmaske aufweist.
Das ist nur schwer, aber auf jeden Fall teuer selbst herzustellen.
Also Platine fertigen lassen.
Das ist aber als Einzelstück und für den privaten Hobbybedarf immer
teurer als eine fertige und hochwertige Lochrasterplatine mit
Kupferaugen zu verwenden die man auch kurzfristig beschaffen kann. (Bei
gefertigten Platinen wird es bei kurzfristig für den Hobbyisten extrem
teuer, für den Profi auch, aber der gibt die Kosten einfach weiter).
Was aber möglich ist:
Eine hochwertige aber sehr preiswerte Adapterplatine TQFP auf DIL (und
auch viele andere SMD footprints) zu nutzen.
Die gibt es in diversen E-B.y Shops auch direkt aus den Inland, also mit
erträglichen Lieferzeiten und einfachen für "jeden" nutzbaren
Bezahlverfahren (nicht jeder ist ein Freund von Paypal und
Kreditkarten).
Der Vorteil der kleinen Baugröße geht natürlich verloren, aber das
scheint beim TO kein Problem zu sein.
Praktiker
Hallo,
eigentlich ist die Nutzung der ISP-Pins kein wirkliches Problem.
Was passiert? Die Programmerseite hat Jög Wunsch schon angeführt.
Meinen AVR-Dragon kann ich eigentlich immer dranlassen, der trennt sich
recht gut, wenn nicht programmiert wird. Ein einfacher Programmer
verhindert meist die richtige Funktion der Schaltung, weil er auch
inaktiv feste Pegel auf die Leitungen legt.
Was passiert sonst? Eingänge an den ISP-Pins sind dann unproblematisch,
wenn es Tasten oder Schalter sind, die ich beim Programmeiren
ausschalten oder eben nciht drücken kann. Versehentliche Mißhandlungen
z.B. SCL per Schalter auf GND oder Ub überlebt Programmer und AVR schon,
ist nicht fein, aber macht mir keine Sorgen. Natürlich sollte man an
sowas denken und bei fehlgeschalgener Programmierung sowas kontrollieren
und nicht 10 Versuche mache...
ISP als Ausgänge ist auch meist unproblematisch. Alle mir im Moment
einfallenden SPI-ICs haben CS-Eingänge, die die Ausgäbge der ICs in
TriStae schalten und Daten ignorieren. Also ein externer PullUp um CS/CE
oder so und er stört nicht. Ich finde in AVR-Schaltungen sehr selten
diesen PullUp, warum eigentlich? RFM-Module, externe DA/AD-Wandler,
Speicherbausteine usw. sind damit generell gut bedient, weil sie nie
zuverlässige Zustände haben, wenn der AVR im Rest ist.
Bei eigenen Sachen ist das Hauptproblem, was passieren kann. LEDs mit
Vorwiderstand direkt an den ISP-Pins sind problematisch, weil der
Programer diese mit treiben muß. Ist ein Transistor o.ä. dazwischen,
gibt es nur lustiges Geflacker, macht nicht wirklich was.
Relais, Transistoren o.ä., die Lasten schalten, sind kritisch.
Flackernde LEDs sind lustig, klappernde Relais und wahllos anlufende
Motore sind nicht lustig.
Schieberegister (die beliebten 74HC595) haben einen OE-Eingang, man kann
also die Ausgänge mit einem Pin abschalten, muß eben prüfen, was dann
passieren würde. PullUp an /OE und schon ist Ruhe. Das kosten ein Pin
zum Einschalten, man kann das aber oft mit einer ganz anderen Funktion
kombinieren, der AVR-Pin muß ja nur L haben, wenn es Schieberigister
aktiv sein soll. Man kann auch den Reset des 595 nutzen, hängt eben von
dessen Funktion ab.
Wenn ich mit einem AVR auskommen will, sortiere ich da beim Entwickeln
oft die Pins um, weil ich eben noch 1 oder 2 brauche. Meist bekomme ich
die dann auch frei, manchmal ergibt sich dann beim Sortieren der
Funktionen und Abläufe und Datenblätter noch manch andere Vereinfachung,
die mir vorher garnicht aufgefallen ist.
Ich habe natürlich einen Vorteil: Anfang ist meist Steckbrett, Ende eine
Lochrasterplatine, wo dann eben nochmal umsortiert oder auch komplett
neu gebaut wird.
Natürlich nehme ich auch einen größeren AVR, wenn es nötig ist, es ist
aber oft umgekehrt: ein am Anfang genutzer Mega644 wird zum Mega328 oder
ein Mega88 zum Tiny85.
Auch die Entscheidung, ob es ein 40Pin oder ein 28Pin + externer
Erweiterung wird, fällt oft erst irgendwo mitten im Projekt.
Gruß aus Berlin
Michael
Praktiker schrieb:> TQFP ist nur dann einfach zu händisch zu verlöten wenn die Platine> hochwertig ist also zumindest auch eine gute Lötstoppmaske aufweist.
Nich unbedingt. Wenn man genug Platz läßt, also z.B. die Pads in
Richtung nach außen etwas länger macht und Leiterbahnen in mindestens
2mm, besser 3mm Abstand hält, dann kann man TQFP mit 0.8mm Pitch noch
ganz problemlos händisch löten.
Kritischer wird es mit 0.5mm Pitch, aber dann hilft ein einfacher Trick:
Kapton-Klebeband. Damit klebt man einfach die Platine rund um die Pads
ab (ein 5mm Streifen reicht schon) und kann dann relativ ungeniert mit
der "Zinntropfen" Methode und viel Flux rumsauen.
Kann denn etwas passieren, wenn man die Pins doch als Output verwendet?
Mit Löten habe ich überhaupt keine Erfahrung, egal ob SMD oder
"normales" Löten.
Kim-Yannick schrieb:> Kann denn etwas passieren, wenn man die Pins doch als Output> verwendet?
Oh, ich habe die Nachricht von Michael jetzt erst gelesen.
Grundsätzlich habe ich gar kein "festes" Projekt, sondern ein paar
Bauteile bei mir rum liegen, mit denen ich am Steckbrett experimentiere.
Für diese Schaltung wollte ich eine 8x8-LED-Punktmatrix steuern und mit
einem Knopf verschiedene Sachen auf dem Display anzeigen. Daher auch 17
Pins.
Wo könnte ich am besten etwas über das Löten lernen? Und welche
Lötsachen sollte ich mir als Anfänger am besten zulegen?
Praktiker schrieb:> TQFP ist nur dann einfach zu händisch zu verlöten wenn die Platine> hochwertig ist also zumindest auch eine gute Lötstoppmaske aufweist.
Ich habe auch schon problemlos ATmega1281 (TQFP mit 0,65 mm Raster)
auf selbstgefertigten Platinen verlötet, also ohne Lötstopp. (Ich
habe auch schon QFN auf selbstgemachten Platinen verlötet, aber das
muss man sich nicht freiwillig antun.)
Kim-Yannick schrieb:> Wo könnte ich am besten etwas über das Löten lernen?
Das ist in erster Linie Übungssache.
Erstmal sollte man Löten natürlich ohne SMD lernen. Wichtig bei
einer Lötstelle ist, dass man ausreichend viel Flussmittel benutzt,
damit sich zwischen den beiden Partnern keine Oxidschicht befindet –
das gäbe dann eine so genannte „kalte Lötstelle“, die nicht
dauerhaft hält, auch wenn sie anfangs Kontakt hat.
Für einfache Schaltungen (LED-Blinker oder dergleichen) muss man da
nicht einmal irgendwelche Platinen benutzen, das geht auch völlig
„frei fliegend“.
Zum Üben von SMD-Löten kann man sich irgendwelchen Elektronikschrott
beschaffen. Mit der Heißluftpistole ablöten, ggf. die Pads mit
Entlötlitze und Flussmitteln säubern (Flussmittelreste kann man
hernach mit Aceton gut entfernen), dann versuchen, die Teile wieder
aufzulöten.
> Und welche> Lötsachen sollte ich mir als Anfänger am besten zulegen?
Irgendwas mit Temperaturregelung ist mehr als sinnvoll, sofern man
nicht nur Dachrinnen und Heizungsrohre klempnern will. ;-) Die
Spitze nicht zu klein wählen, sonst kann sie die Wärme nicht an die
Lötstelle bringen. Gut sind so genannte Dauerlötspitzen, die sich
nur sehr langsam verbrauchen. Klassische Lötspitzen aus blankem
Kupfer legieren sich an der Spitze allmählich ins Lötzinn ab (als
Gegenmittel hilft es ein wenig, Lötzinn mit Kupferanteil zu
benutzen), die muss man dann regelmäßig neu ausformen. Besser als
eine Feile ist es dabei, sie mit dem Hammer kalt auszuschmieden;
durch die dabei eintretende Kaltverfestigung legieren sie dann
langsamer ab.
Ansonsten: je besser das Werkzeug, um so mehr Spaß macht es natürlich.
Ist eine Frage, wie dick dein Geldbeutel dafür ist. Das untere Ende
des sinnvollen Bereichs dürfte sowas sein wie ebay 361405226601 oder
ebay 151828593147 (keine Ahnung, wie gut die Entlötpumpe beim ersten
wirklich taugt), das obere Ende (für Hobbyisten) wäre JBC, ebay
231705525199. Ich kann dir versichern, dass damit das Löten richtig
Spaß macht. :-) Aber für nur 10 Lötstellen im Jahr lohnt so eine
Investition gewiss nicht (auch wenn es eine lebenslange sein dürfte).
> Grundsätzlich habe ich gar kein "festes" Projekt, sondern ein paar> Bauteile bei mir rum liegen, mit denen ich am Steckbrett experimentiere.
Dann sollte es aber auch kein Thema sein, stattdessen gleich einen
ATmega16A oder sowas zu benutzen. Der bietet dann einfach ein paar
Pins Reserve.
Hallo,
warum nicht I2C nutzen?
Dann benötigst Du nur 2 Pins am MC und kannst locker noch 16 Expander
PCF 8574/A anhängen macht zusätzlich 128 I/O.
Diese ICs benötigen keine weiteren Bauteile für Außenbeschaltung nur
einmal zwei Widerstände für SCL und SDA Leitung.
Mit freundlichen Grüßen
Fred