Hallo,
ich habe eine kleine einseitige Platine für einen Datenlogger entworfen.
Features:
- ATMega32
- SD-Card
- I2C herausgeführt (für LCD-Anschluss)
- separate VCC und GND Leisten
- Analogteil mit direktem Anschluss für TO92-Sensoren
- SHT11 on board
- DS3231 als RTC mit integriertem Quarz
- RS232
- Anschluss für 1-wire Bus auf 3er Terminal
- einseitiges Layout mit einer Brücke
- überwiegend SMD Bauteile 1206
Bitte nicht erschrecken, das Layout ist nicht auf Raster gelegt und
sieht nicht gerade professionell aus. Es soll auch "nur" funktionieren
:-)
Ich bin für Hinweise sowie Fehler und Anregungen dankbar.
Wenn die Hard- und Software funktioniert wollte ich alles in die
Codesammlung stellen.
Viele Grüße,
Pete
>Ich bin für Hinweise sowie Fehler und Anregungen dankbar.
Wie so oft auch hier der Hinweis, dass sich viel mehr Leute dein Layout
anschauen werden, wenn du Bilder postest. Beachte dabei unbedingt den
Artikel http://www.mikrocontroller.net/articles/Bildformate
- Kein Massepolygon
- Furchtbare Linienfuehrung (einheitliche Winkel, 45 Grad!)
- Stromfuehrende Netze evt. so klein dimensioniert
- nicht alle Luftlinien sind aufgeloest (wurde ja schon gesagt)
- Beim Selberaetzen wahrscheinlich Clearance-Probleme
- Toplayer-Bruecken werden mit NET auf dem entsprechenden Routing-Layer
gezogen, nicht auf Dimension mit WIRE oder wie Du das gemacht hast.
- Nach kurzem Blick auf Schematik: Max232 sieht mir nicht richtig
angeschlossen aus.
So das war's erstmal...
Michael
Besten Dank für die Hinweise.
- Linienführung: Jau, ist nicht 90/45 Grad.
- Luftlinie: Habe den Jumper umgedreht. Jetzt hat er auch Kontakt :-)
- Der Max232 ist von TI, den habe ich laut Datenblatt so angeschlossen.
- Die Leiterbahnen sind auf 0,4mm eingestellt. Ich habe gelesen, das das
für 1A reichen sollte. Oder nicht ?
- Das Masseploygon hatte ich der Übersichtlichkeit wegen weggelassen
Clearance-Probleme: Wie kann man das mit dem DRC prüfen ? Einstellungen
?
Anbei die Korrektur.
- Die ungeroutete Leitung liegt an der komischen Drahtbrücke
- SD Karten Anschluss, da solltest du dir unbedingt die Tutorials hier
nochmal ansehen, gerade auch Pegelwandler usw.
- Dann aus 5V mittels zweier Dioden in Reihe 3,3V zu machen, bin
gespannt wieviele karten zu damit killst.
- Wie mein Vorredner gesagt hat, am MAX232 fehlen zwei Kondensatoren,
sonst wird das nix mit den Pegeln
Außerdem: Drück mal erc im Schaltplan, da wird noch einiges angemeckert.
Ein vcc hängt in der Luft bei I²C.
Wenn du die Sachen ins Raster bringst (Strg+Linksklick) wirds auch
besser.
GND vom 232 sieht schon komisch angeschlossen aus.
Selber ätzen wird spaßig, da sind teilweise kaum 0.1 mm Clearance.
Ein Tip: Mach die ganzen 0Ohm-Rs und die fette Brücke weg und route das
ganze im Raster und mit 45/90° nochmal. Ich bin mir sicher das man es
mit einer Clearance von min. 12mil und höchstens 5-6 0Ohm-Rs sauber
hinkriegt. Sieht dann auch deutlich professioneller aus. Und die
Bauteile kannst du auch etwas besser anordnen, da sind manche
Seite-an-Seite nebeneinander und woanders ist nix los...
- VCC---10µH--AREF ist merkwürdig
- Am MAX fehlen 2 Cs
- Sicher das das mit den 2x 1N4148 als 3,3V "Regler" klappt?
- Sieht die X1 genau so aus? Wenn der breiter ist bekommt X2
platzprobleme...
- Laut Plan sind P3+P6 von der SD-Karte nicht angeschlossen. GND?
- Am AVR fehlt ein C (3xVCC<>2xC)
- Die Pufferbatterie könnte man auflöten.
Mit dem Anschluss der SD-Karte bin ich auch nicht soo glücklich. Die
Schaltung mit den Dioden und den Widerständen ist von Ulrich Radig.
Gibt es eine bessere Variante, die nicht zu viel Aufwand erfordert ?
Die Cs beim Max232 fehlen, stimmt, da habe ich das Datenblatt falsch
interpretiert.
AREF liegt jetzt ohne 10uH auf GND.
Als Pufferbatterie soll wohl ein Snaphat dienen, die habe ich hier noch
herumliegen (BQ48SH). Kann man mit einlöten, gute Idee.
Pete wrote:
> Mit dem Anschluss der SD-Karte bin ich auch nicht soo glücklich. Die> Schaltung mit den Dioden und den Widerständen ist von Ulrich Radig.>> Gibt es eine bessere Variante, die nicht zu viel Aufwand erfordert ?
Ulrich Radig auf seiner Homepage:
>Die MMC/SD Karte hat einen Spannung's Bereich von 2,9 - 3,6V. Die >Spannungsversorgung der MMC/SD - Karte wird mit hilfe von 2 Dioden (je 0,7V >Diffusionsspannung) gewonnen. Diese Schaltung lauft seit 2 Wochen ohne >Unterbrechung einwandfrei. Natürlich sollte zur Spannungsversorgung der MMC/SD >Karte ein Spannungsregler von 3,3V eingesetzt werden. Diese Schaltung ist nur ein >minimal Beispiel, diese für meine Testzwecke ausreichte!Pegelwandler
Und wenn du das Board selber ätzen möchtest, würde ich dir dringend
raten die Abstände größer zu machen. Das erspart dir später ne Menge
ärger.
Du brauchst eigentlich keinen Pegelwandler, der ATmega32 müsste mit 3.3V
bei 14.3181 MHz laufen.
Einen Spannungsregler solltest du deinem Board noch spendieren.
Mach einfach einfach 2 Masseseiten, dann hast du 50% weniger Arbeit mit
dem Layout.
Ich hab dein erstes Board etwas verändert, da kann man noch viel
verbessern und es geht wesentlich kleiner.
Erm jetzt isses ja total falsch. Vor allem weil die Masseflaeche diese
Pseudobruecke da kurzschliesst... zumindest sieht es nicht mehr so
chaotisch aus wie vorher.
@ Pete
Stimmt, aber wenn du die kleineren Brücken mit 1206 SMD Widerständen
ersetzt hast du nur noch 3 oder 4 größere Brücken.
Da ziehst du Kabel oder Kupferlackdraht von einem Loch zum anderen.
Ich habe die 0 Ohm Widerstände nicht entfernt weil ich diese
"Brückenlösung" schlecht finde, sondern nur um einen besseren Überblick
zu haben.
Ich würde vorschlagen dass du die Bauelemente noch etwas günstiger
verschiebst. (da geht wirklich noch einiges wie du siehst)
Belichtest du oder nutzt du die Toner-Bügel-Methode?
Port Multi wrote:
> Du brauchst eigentlich keinen Pegelwandler, der ATmega32 müsste mit 3.3V> bei 14.3181 MHz laufen.>
Nicht laut Datenblatt und selbst wenn, wie versorgst du dann den MAX232
???
Wegen MMC/SD Spannungserzeugung mit Dioden.
Suche mal hier im Forum nach MMC und SD. Da wirst du dutzende Beitäge
über Probleme damit finden.
Sobald eine SD Karte aus dem Standby kommt, ziehen viele Typen erst mal
verhältnismäßig viel Strom. Dabei bricht die Spannung wegen der
Diodenkennlienie kräftig ein. Das machen nur wenige SD Karten klaglos
mit.
Markus Schneider wrote:
> Port Multi wrote:>> Du brauchst eigentlich keinen Pegelwandler, der ATmega32 müsste mit 3.3V>> bei 14.3181 MHz laufen.
Bei der Betriebsspannung brauchst Du die L-variante und die laeuft nur
bis max. 8MHz.
Ich wollte schon bei 5V bleiben, weil viele analoge Sensoren in diesem
Bereich arbeiten.
Außerdem soll an den I2C Bus noch ein LCD angeschlossen werden.
Für die SD-Card habe ich jetzt eine extra Stromversorgung eingebaut. Ein
bischen Platz ist ja noch auf der Platine.
Könntest du nicht bei 2 verschiedenen Versorgungsspannungen die SD-Card
Datenleitung über Optokoppler verbinden?
Sind Optokoppler für sowas geeignet?
Oder schau mal hier:
Beitrag "Universeller SD-Card Adapter, so machbar?"
Da benutzt er einen 74LVC4245 !
Hab mal irgend ein Datenblatt runtergeladen und da geht es scheinbar nur
bis 2kHz bis 10kHz (Voltage Gain = 0) , das ist natürlich zu wenig.
Wenn du deine Schaltung mit 3.3V betreiben würdest und für den I2C oder
Max232 den Konverter (74LVC4245) nimmst würde es gehen.
Siehe:
74LVC4245 gibt es incl. Datenblatt hier
http://www.it-wns.de/themes/kategorie/detail.php?artikelid=166&source=2
und billige SD slots gibt es auch noch.
Wie währ's mit MAX3232, der läuft mit 3V3...
mfg GagoSoft
----------------------------------
wer Rechtschreibfehler findet, darf sie behalten, Inhaltliche Fehler
nehme ich gerne zurück
@ Michael G.
> Bei der Betriebsspannung brauchst Du die L-variante und die laeuft nur> bis max. 8MHz.
Der einzige Unterschied zur nicht-L-Variante ist dass Atmel dir eine
Garantie gibt dass diese L-Variante noch bei 2.7V und 8MHz läuft.
Wurde also vorher getestet ob die einen hohen Takt bei niedriger
Spannung verträgt. Ist also hochwertiger als die nicht-L-Variante.
Bei 2.7V läuft sie aber noch mit einem viel höheren Takt als angegeben
und bei 3.3V kannst du bestimmt schon über 16MHz gehen. Müsste man
probieren.
Der ATmega32 läuft sicher noch bei 14.xx MHz und 3.3V
Mach da doch Spaßeshalber mal einen 16MHz Quarz ran und treibe ihn mit
3.3V ich wette er wird seine Arbeit ohne zu Murren verrichten.
(wenn er bei 16MHz läuft dann auch bei einer höheren oder niedrigeren
Temperatur des Siliziums)
Das hast du bei jedem CPU (z.B. in 65nm Fertigung)
Manche AMD-CPUs laufen bei 2GHz und 0.95V andere brauchen dafür 1.15V um
fehlerfrei zu laufen. (kannst du da mit Prime95 testen)
Hab es doch auch so gemacht, bis ans Limit gegangen (die Spannung bei
der ein AVR gerade so anläuft) und dann einen guten Sicherheitsabstand
eingebaut, wegen möglicher Spannungsschwankungen usw.
Ich nutze 2 x 100nF und 47µF für die Versorgungsspannung des AVR.
Muss man mal ausprobieren!
Wenn du genug probiert hast lässt du ihn auch mit 3.3V bei 16MHZ laufen.
Mike J. wrote:
> Der ATmega32 läuft sicher noch bei 14.xx MHz und 3.3V
Da wäre ich mir nicht so sicher. Manche Komponenten können bei dem Takt
und der Spannung schon aussetzen (EEPROM bspw.).
Außerhalb der Spec ist außerhalb der Spec.