PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schaltplan und Layout prüfen :)



Moritz Grosch
04.07.2012, 10:16
Hi,

ich habe mir eine Platine mit einen ATMega32, 16 Ausgängen von denen 8
auf Relais geschaltet werden können, einem 24C1024 (EEPROM) und 2
Eingängen (5-30V) erstellt. bevor ich die Platine herstellen lasse,
möchte ich nur mal Fragen ob ihr dort noch Fehler/eventuelle Probleme
findet :)

Der Microcontroller soll bei Eingangssignal (Triggersignale) eine
bestimmte kombination von Ausgängen schalten. An einige dieser Ausgänge
sollen auch "größere" Verbraucher dran. Die Kombinationen werden im
EEPROM gespeichert. Später sollen eventuell mehrere dieser Platinen über
I²C verbunden werden (deswegen wird die ROM-Adresse vom µC festgelegt).
Die Transistoren werde ich noch auf BC33 ändern, weil die gewünschten
nur in den USA verfügbar sind ... (ja, es muss unbedingt Farnell sein).
Gibt es bessere Alternativen? Nötig ist eigentlich nur genug Strom für
die Relais - die benötigen ~100mA.
Als Optokoppler verwende ich CNY-17 (If = 10mA, höchstens 60mA -> 5-30V bei 500Ohm)

Das MyUSBtoUART ist ein USB-auf-Seriell-Wandler von myAVR:
http://shop.myavr.de/Programmer und Bridges/my (http://shop.myavr.de/Programmer%20und%20Bridges/my)...

Erstmal lade ich nur den Schaltplan hoch, das Layout folgt dann später.
Sorry für den ziemlich chaotischen Schaltplan, momentan habe ich leider keine Zeit den umzusortieren (deswegen mache ich sowas auch lieber als Hobby ...) :/
http://lf-net.org/uploads/xtb_schaltplan.png

Danke schonmal im voraus :)


Grüße,
Moritz

debegr92
04.07.2012, 13:51
Hallo Moritz,

Alles in Allem eigentlich nicht schlecht, drei Dinge sind mir aber gleich aufgefallen.
1. Solltest du parallel zu deinen Relais-Spulen Dioden verbauen. Diese sind um Schutz deiner Elektronik vorgesehen -> Freilaufdiode (http://de.wikipedia.org/wiki/Schutzdiode)
2. Unten rechts im Schaltplan fehlt eine Verbindung, wenn ich das recht sehe ;-)
3. Könntest du nach deinem Spannungsregler noch einen etwas dickeren Kondensator (evtl. Elko) anschließen.

Grüße
Dennis

robo_tom_24
04.07.2012, 14:03
Täuscht das durch die Auflösung oder steht bei den Kondensatoren vom Quarz 22µF?
Es sollten nämlich 22pF sein ;)

debegr92
04.07.2012, 14:05
Hey Thomas,
du hast Recht ;-) sind wirklich µF.
Aber gerade sind mir die Optokoppler noch aufgefallen. Irgendwie sind die komisch angeschlossen...

robo_tom_24
04.07.2012, 14:13
Inwieweit komisch?
Mich verwirrt nur der Basis Anschluss des Optotransistors... :confused:

Ich hab da noch was entdeckt: Der TxD bzw. RxD Anschluss ab Controller...
Bist du dir sicher das es "per Hand" ausgekreuzt gehört und nicht etwa schon der ausgekreuzte Anschluss vom USB/UART Wandler kommt?
Hab da schon schlechte Erfahrungen ;)

debegr92
04.07.2012, 14:18
Na die Transitoren (Optokoppler) haben doch keinen Bezug. Da fehlt mir ein Pull-Down, oder eben gleich nach Masse schalten... Dafür nimmt man ja auch eigentlich den NPN-Transistor.
Ne die UART-Anbindung passt, er hat nur die Pfeile in die falsche Richtung gezeichnet ;-)

Moritz Grosch
04.07.2012, 14:21
Hi,

@debegr92
1. Warum vergesse ich die eigentlich immer wieder?? :D
2. Jepp, die fehlt tatsächlich - korrigiert :)
3. Wie dimensioniere ich den? 470µF?

@robo_tom_24
Nein, es sind 22pF :D

Danke für eure Hinweise :)

Grüße,
Moritz

Moritz Grosch
04.07.2012, 14:23
Was meint ihr mit dem Optokoppler? Der Basis-Eingang wird doch durch die LED gesteuert, oder etwa nicht?
Oder hab ich den Ausgang falsch beschaltet?

Hubert.G
04.07.2012, 14:26
Zur Resetbeschaltung schau dir die App-Note Atmel AVR042: AVR Hardware Design Considerations an.
AREF würde ich nicht an VCC hängen, entweder offen lassen oder über 100n nach GND.
An VCC und AVCC jeweils ein 100n so nahe wie möglich am Pin.
Was willst du mit den Optokoppler machen, du schaltest VCC auf den µC-Eingang, sonst hängt der Eingang in der Luft. Also entweder GND schalten und den µC internen PullUp verwenden oder externe PullDown einfügen.

robo_tom_24
04.07.2012, 14:27
Ok :)

Ich mein man sollte im Datenblatt nachlesen ob der Ausgang wirklich der TxD ist, oder ob der mit dem TxD verbunden gehört...
Ist bei manchen Libs nämlich "falsch" interpretiert ;)

Moritz Grosch
04.07.2012, 14:44
@Hubert.G
- Also die Resetbeschaltung habe ich in der Form schon in verschiedenen anderen Projekten verwendet und die hat bisher nie Probleme gemacht. Dieses Projekt wird unter ähnlichen Bedingungen verwendet.
Was meinst du genau? Widerstand zu groß? Kondensator oder Z-Diode hinzufügen?
- AREF ist jetzt offen gelassen
- Der Kondensator bei AREF ist für VCC bestimmt, da war im Schaltplan gerade Platz ;) Auf der Platine liegt der direkt am PIN. Einen Kondensator für AVCC hab ich hinzugefügt (liegt aber im Schaltplan auch etwas weiter weg)
- Ich möchte am µC Eingang 5V haben, wenn Strom durch den Optokoppler fließt. Hab noch nie welche verwendet ...

@robo_tom_24
Die Lib hab ich selbst erstellt - KiCAD hatte noch keine

Moritz Grosch
04.07.2012, 15:41
Hab die Beschaltung von den Optokopplern nochmal geändert ... Hätte mich vorher mal erkundigen sollen :D
Ist das jetzt richtig? (Oder wenigstens richtiger?)

Danke für den Hinweis :)

PICture
04.07.2012, 15:45
Für mich ist es leider mit den "pulldown's" nur perfekt, da bei "pullup's" nötige Invertierung entfällt. :D

debegr92
04.07.2012, 15:52
Ne irgendwie nicht besser... Du ziehst den PIN des µC's gegen Masse, heißt du benötigst einen Pull-Up auf deinem Interrupt Eingang und schaltest dann mit dem Optokoppler gegen Masse.

Moritz Grosch
04.07.2012, 15:54
@PICture
"nur" perfekt cO

@debegr92 Der AVR hat doch interne Pull-Up's die man aktivieren kann

debegr92
04.07.2012, 16:00
22692

Probier es doch einfach mal so...

EDIT: Grad gesehn dass schon wieder geschrieben wurde. Also am besten machst du es so wie wir es oben schon geschrieben haben. Du versuchst derzeit 5V durchzuschalten. Schlauer wäre es jedoch GND durchzuschalten.

PICture
04.07.2012, 16:00
Bei "pulldown's" braucht man sicher keine "pullup's".

Sorry, für mich aber, das Einfachste am schlauersten ist.

Moritz Grosch
04.07.2012, 16:05
@debegr92 Da ist der Kollektor nicht angeschlossen, dafür aber 2 Pins die intern nicht verwendet werden ...!?

@PICture wenn der Optokoppler schaltet müssten auf der Leitung ja 5V/5mA fließen, die werden vom AVR ja erkannt, oder? Geht mir nur um das Verständnis :)

Achja, die Beschaltung hab ich von hier:
http://www.mikrocontroller.net/articles/Optokoppler

PICture
04.07.2012, 16:19
Beim Pegelerkennung ist nur die Spannung am Eingangspin wichtig und der fliessende Strom ist vom Eingangswiderstand abhängig. Leider kenne ich AVR's nur grob. Die gelinkte Verschaltung ist O.K. :)

Moritz Grosch
04.07.2012, 16:23
OK :)
Dann lade ich gleich das Platinenlayout hoch - da ist gerade noch Feinschliff angesagt^^
Wäre nett wenn ihr das auch noch mal überfliegen könntet :)

Moritz Grosch
04.07.2012, 16:54
Ich hab dann mal Platinenlayout, Siebdruck und Lötstoppmaske hochgeladen:

Layout:
- Vorderseite: http://lf-net.org/uploads/xtb/Vorderseite.pdf
- Rückseite: http://lf-net.org/uploads/xtb/Rückseite.pdf (http://lf-net.org/uploads/xtb/R%C3%BCckseite.pdf)
Siebdruck:
- http://lf-net.org/uploads/xtb/Siebdruck.pdf
Lötstoppmaske:
- http://lf-net.org/uploads/xtb/Lötstoppmaske.pdf (http://lf-net.org/uploads/xtb/L%C3%B6tstoppmaske.pdf)

Ich hoffe dass da keine Fehler drin sind, aber iwie bezweifle ich es :D

Grüße,
Moritz

PICture
04.07.2012, 17:15
Für mich war bisher immer das mehrmaliges Anlegen von Versorgungsspannungen auf schrittweise gefädelte Platine am schnellsten. :)

Moritz Grosch
04.07.2012, 18:07
Das bekomme ich aber nicht als "Industrietauglich" durch ;) So war aber nunmal leider die Anweisung die ich bekommen hab :/
Außerdem möchte ich den Fädeldraht für 125VAC/0,5A bzw. 30VDC/2A nicht sehen^^

Vielleicht kann ja jemand anders drüberschauen :)

Moritz Grosch
05.07.2012, 09:16
Ich habe das Layout gerade nochmal aktualisiert - hab eine Sicherung hinzugefügt und die GND Leitungen etwas dicker gemacht (die kamen mir zu dünn vor ...).
Habt ihr noch Verbesserungsvorschläge?

robo_tom_24
05.07.2012, 13:21
Du sagst GND-Leitung, du könntest die GND Verbindungen auf den Bottom Layer als Massefläche legen. Gleiches kann man auch mit Vcc machen auf dem Top Layer ;)

Moritz Grosch
05.07.2012, 13:27
Jepp - Leitung war falsch. Ich arbeite die ganze Zeit mich nicht ausgefüllten Flächen und hatte vergessen dass ich ja Flächen hab :D
Oben GND, unten VCC