PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : funktioniert das Board so? Was könnte ich noch verbessern?



Ls4
24.07.2005, 23:49
Hi,

hab mal ein Board für die 12V Anwendung konzipiert. Es ist mein erstes Board, also bitte kein allzu harte Kritik. Soll später mal z.b.: Temperaturen, Spannungen und sonstige Daten sammeln und speichern, sowie auf eingaben reagieren und Neonröhren sowie Leds steuern. Eventuell auch Stellmotoren Nebenmaschinen und Effektlaser, aber das ist ja egal. Ich will auf jedenfall Eingänge, Ausgänge und A/D-Wandler benutzen. Könnt ihr mirsagen ob das so richtig ist, was ich fabriziert habe. Den Potentiometer am AREF hab ich von einer anderen Schaltung übernommen. Dort haben sie etwas von Entstörung geschrieben, damit die A/D-Wandler zuverlässig funktionieren. Die Spule an AVCC soll auch ihren Teil dazu beitragen
Als Mikrocontroller will ich den Atmega16 verwenden.
werft einfach mal nen Blick drüber und sagt mir, was richtig, falsch und zu verbessern sind. Als Sicherung hab ich 2A angedacht. was meint ihr?
Noch eine Frage: ich hab ja jetzt noch 2 analoge Eingänge und 5 analoge Ausgänge übrig. Die A/D-Wandler kann ich ja sowohl als auch verwenden, also hab ich hier nochmal 8 ein/ausgänge, oder seh ich da jetzt was falsch. was kann ich mit den PC Pins anstellen? Kann ich noch problemlos ein LCD Display anschließen ohne viele Ein/Ausgänge zu verlieren???

Danke Ls4

Kjion
25.07.2005, 00:34
Du muss nicht überall Junctions hinsetzen :-) Nur an den Stellen an denen mehr als zwei Leitungen zusammenlaufen!

Die Versorgungsspannung für deinen MAX232 bekommst du übrigens per "Invoke".
Der MAX232 will 1 µF Kondensatoren. Mehr dürfte zwar auch nicht schaden, aber warum sollte man sich da nicht ans Datenblatt halten.
Ich würde außerdem noch einen größeren Elko vor den Spannungsregler setzen.
Der Schaltplan wird übrigens meistens viel übersichtlicher wenn man nicht alle Versorgungsspannungsleitungen verbindet, sondern hin zu und wieder mal die entsprechenden Symbole dafür verwendet. Intern sind die ganzen Leitungen dadurch auch verbunden...

Ansonsten sieht es aber gut aus :-)

MfG Kjion

Ls4
25.07.2005, 01:20
Hi,

das mit den Junctions hab ich mir schon falsch angewöhnt. Die Kondensatoren vorm Max hab ich geändert. Hab das dann wohl falsch von microcontroller.net übernommen. was meinst du mit großem Elko vorm Spannungswandler? Einfach vor dem IC noch nen ELKO rein? Kann ich mir irgendwie nicht so richtig vorstellen? oder die kleinen Kondensatoren, die zwischen GND und +12V hängen größer machen? was ist der Vorteil davon? Mit den Symbolen für die Spannungsversorgung hast du aber nicht ganz unrecht =D>
Was bringt mir nun eigentlich der Poti vorm AREF? was stell ich da ein?
Das gleich das erste Board gut aussieht hätt ich mir nicht zu hoffen gewagt!

Bye Ls4

Zentauro
25.07.2005, 01:22
schau dir das mit der sicherung(2A) nochmal an.. soweit ich weiss, hält der 7805 sowieso nur 1A aus... bin mir nicht sicher, aber ich glaub sogar, der schaltet bei überlastung aus...

ansonsten sieht das ding sehr fähig aus ;)

SprinterSB
25.07.2005, 09:43
So weit ich sehe, ist alles dran.

Später willst du aber vielleicht mal den I2C (TWI) nutzen, so daß es günstig wäre, SDA und SCL nach aussen zu legen. Die 3 ISP-Anschlüsse brauchst du ja eigentlich nicht am Stecker bei so vielen Ports.
Ähnliches gilt für PWM-Ausgänge (OC1A, OC1B) und Interrupt-Eingänge INT0, INT1. Die hat man immer gerne zur Verfügung.
Auf deine Taster wirst du ohnehin pollen und brauchst keine Interrupt-Eingänge dafür.

Kommt natürlich drauf an, für was man so ein Board einsetzen will. Meinstens weiß man es noch nicht; soll eben ne eierlegende Wollmilchsau werden ;-) Von daher die Gedanken zu I2C, PWM etc. auch Analog-Comparator.

AVcc, ARef evtl mit 100nF Keramik entkoppeln wie im Manual beschrieben.
Die Größe der Kondensatoren am MAX232 ist reichlich, 1µF reicht da. Wichtiger ist die Art der Kondensatoren: nimm Keramik, keine ELKOs.

Evtl kann es auch klug sein, zusätzlich zu TxD und RxD Handshakeleitungen mit dem PC zu haben wie RTS und CTS, damit eine Seite nur dann sendet, wenn die andere auch bereit zum Empfang ist. PC-seitig mit Jumper um auch deine jetzige Konfiguration stecken zu können.

Zum Schaltplan möcht ich dir noch mal ans Herz legen, was KJion schon geschrieben hat: Wird wesentlich übersichtlicher. An anderen Stellen fehlen Jumper, da wird Eagle meckern. Du wirst auch die Konsistenz deines Board mit dem Schaltplan checken wollen...

Zum Board selbst: Setz die ICs auf Sockel, und auch den Quarz!
Sieh Platz für ein Kühlblech für den 7805 vor. Wenn da mehr dran hängt als n Controller wird der bei 12V zum Miniheizkraftwerk.
Nimm keinen billigen 7805, sondern einen mit Überstrom- bzw Kurzschluss-Schutz und Übertemperatur-Schutz bzw Abschaltung.

Viel Spaß beim Basteln :-)

Ls4
25.07.2005, 11:40
Hi,

das mit dem I2C sehe ich ein. Das ist quasi Pflicht!
Nur wofür ich den PWM und die Integer Eingänge verwenden kann wird mir nicht ganz klar



Evtl kann es auch klug sein, zusätzlich zu TxD und RxD Handshakeleitungen mit dem PC zu haben wie RTS und CTS, damit eine Seite nur dann sendet, wenn die andere auch bereit zum Empfang ist. PC-seitig mit Jumper um auch deine jetzige Konfiguration stecken zu können.
hääääääääääääääääääääääääääää? :mrgreen:
Ich versteh kein Wort. erklärs mir bitte nochmal!

Hab jetzt mehrere GNZ und VCC zeichen eingebaut. Eagle zeigt bloß Warnungen, dass beim AVCC an VCC hängt und AGND an GND und das AREF an dem Poti hängt. 2 Fehler hat er dann noch, aber die dürften ja nicht ins Gewicht fallen: T2IN und R2IN sind nicht angeschlossen! Wo fehlen da Jumper????
Sockel klingen vernünftig!
Welchen Spannungswandler schlägst du mit vor?

Auf deine Taster wirst du ohnehin pollen und brauchst keine Interrupt-Eingänge dafür.
Das versteh ich nun auch wieder nicht. was heißt Taster pollen?
in der jetzigen Konfiguration kann ich nur noch 2 Taster anschließen, dass ist vermutlich viel zu wenig. Kann ich mit den A/D Wandler und verschiedenen Widerständen was machen? Das ich zum Beispiel 4 Taster mit unterschiedlichen Widerständen an einen A/D-Wandler hänge. Bei Druck müssten dann doch je nach Widerstand unterschiedliche Signale ankommen und ich kann unterscheiden, oder seh ich das jetzt falsch?
ebenso gehts mir mit den Analog Ausgängen, wie bekomme ich da mehr ohne viel Zusatzhardware. müsste doch auch irgendwie über die A/D-Wandler gehen, oder?
Welchen Spannungswandler soll ich einsetzen? Die Spannung kann 10-15V betragen.
Sicherung werde ich ändern => 1A
hab grad ins Datasheet geschaut. Die PC Pins kann ich wohl genauso wie die PA, PB und PDs verwenden. Dann hätte ich quasi wenn ich 4 Taster auf dem Board verbaue und 3 Leds noch 14 I/Os und das müsste ja eigentlich dicke reichen. Ansonsten kann ich ja noch nen Zusatzboard über den I2C anschließen =>passt
was mir der Poti vorm AREF bringt weiß ich allerdings immer noch nicht.
Außerdem versteh ich nicht wo ich "den größeren ELKO vorm Spannungsregler" hinbasteln soll
das mit den Junctions und den VCC und GND Symbole hab ich auch behoben, genau wie das mit den Kondensatoren (Keramik) am MAX232
Display ist vermutlich sinnvoller über I2C anzuschließeen, sonst verlier ich doch wieder richtig viele I/O Ports.
Im Anhang noch mal die verbesserte File!

Danke Ls4

SprinterSB
25.07.2005, 13:00
Mit dickerem Kondensator vor 7805 meint Kjion den C1.

Der 7805 ist schon ok. Die Verlustleistung ist grob (U_Out-U_IN)*I_OUT. Ein anderer Regler wie Low-Drop nutzt da nix, denn Linearregler verbrutzeln die Spannungsdifferenz als Wärme. Wenn noch Motoren hinten dran hängen, wird's warm. Zum Steuern sollte es keine Probleme geben.

Auf Ereignisse kann man prinzipiell auf 2 Arten reageren:

Interrupts: wenn die Hardware es zulässt, kann der Controller bei einem Ereignis (bestimmter Timer-Wert, Taster gedrückt, ADC ist fertig, ANA-Comp wechselt Vorzeichen, ...) reagieren, unterbricht die nomale Programm-Ausführung und springt in eine Interrupt-Routine zur Behandlung des Ereignisses.
Polling (von 'to poll': abfragen): Man guckt selber nach, idR in bestimmten Zeitabständen oder in einer Warteschleife: Hat Port den Wert geändert, ist ein Flag gesetzt, ...?

Ja nach Hardware und Programm-Erfordernissen wird man den einen oder anderen Weg wählen, uU auch eine Kombination aus beiden: Interrupt leitet ein Ereignis ein und die weitere Behandlung macht man über Polling.
Für Taster ganz angenehm: Damit guck zB alle 10 ms im Timer-Interrupt ob Taster gedrückt wurden, damit sind sie zugleich entprellt :-)

Taster über A/D-Wandler und Spannungsteiler geht natürlich. Oder geschickte Ausnutzung der vorhandenen Taster (Menüstruktur zur Steuerung, Doppelclick, langer o. kurzer Tastendruck, ...)

Zum UART: Wenn zB der PC Daten sendet und der µC ist nicht bereit, können Daten verloren gehen. Gepuffert wird nur einmal. Wenn das Programm zum Empfang nicht bereit ist -- aus welchen Gründen auch immer -- und nicht unterbrochen werden soll oder so, musst du dem PC das irgendwie sagen. Üblicherweise verwendet man dann CTS (Clear To Send) und RTS (Request To Send). PC-seitig hab man das Problem kaum, denn die PC-UARTs haben ne FiFo.

Falls Ports nicht reichen sollten, kannst du immer noch Port-Expander nehmen und an I2C hängen oder ne Bastellösung mit 74*595 (8 Bit-Latch, seriell in/parallel out) o.ä.

Zum Board: später wird es sich als günstig rausstellen, VCC und GCC an den Steckverbindern zu wiederholen. Wenn du zB was über I2C anschliesst, brauchst du vier Leitungen, nicht zwei:
SDA, SCL, VCC und GND.

Ls4
25.07.2005, 20:24
alles klar. Der 7805 bleibt dann und es kommt nen kleiner Kühler drauf. C1 hab ich durch nen 22Mikro ersetzt Zum I2C hab ich jetzt auch noch VCC und GND weitergeleitet. was ich mit den herausgeführten Interruptpins(ich vermute das ist der Analog-Comparator) und dem PWM machen kann weiß ich immer noch nicht. was ist dieser analogcomparator eigentlich und wofür ist der Poti vor Aref????

Bye Ls4

SprinterSB
26.07.2005, 09:02
Bei nem Board weiß du auch nicht, was du vielleicht in 1 Jahr damit anstellen willst, das soll ja allgemein bleiben.

Alle Pins mit Sonderfunktion wie ADC, INT, PWM, I2C, etc kannst du natürlich auch als ganz normale digitale I/O Pins verwenden.

Der Analog Comparator liegt an AIN0 und AIN1, damit kannst du 2 Spannungen vergleichen und sehen, welche grösser ist und Sachen realisieren wie Übertemperaturabschaltung, Kapazitätsmessung, ...

Vielleicht tust du mal ein Blick ins Handbuch und schaust, was der AVR deiner Wahl überhaupt so alles bietet, bevor du ein Board dafür machst... ;-)

Ls4
26.07.2005, 14:36
ohja das wär vielleicht gar nicht schlecht. das mach ich einfach mal :)
Danke. Aber das Board ist ja jetzt so richtig. ich leg jetzt mal alle Zusatzfunktionen auf eigene Stecker, was ja nicht heißt, dass ich sie nicht anderweitig verwenden kann, wie du gesagt hast

Bye Ls4

Ls4
26.07.2005, 23:34
hab das jetzt so gemacht wie ich mir das vorstelle. hab alle I/O Pins auf Stecker geplant und die Taster sowie LEDs auf die passenden Buchsen. Dann bin ich am flexibelsten glaub ich. dann hab ich an den I2C noch einen LCD-Treiber rangeplant. Und jetzt wo das Board fertig ist verschwindet das Layout vermutlich ganz weit hinten im PC wie ich mich kenne. ist vor dem Spannungswandler der Kondensator mit 22mikroFarad ausreichend oder sollte ich 100mikro F nehmen?

Bye Ls4

SprinterSB
27.07.2005, 09:42
Das hängt auch davon ab, was nachher über den 7805 alles versorgt werden soll und auch was für ein Netzgerät du hast.
100µF schaden jedenfalls nicht.

Am MAX nimm Keramik Kondensatoren oder Tantal, keine Elkos.

Ls4
27.07.2005, 10:39
alles klar. dann kommen 100mikro oben dran. Das Netzteil: unstabilisiert 9-15V, Schwankend. beim Max ersetz ich dann noch die Kondensatoren. Bei den Keramik Kondensatoren ist die Polung ja egal.

Bye Ls4

SprinterSB
27.07.2005, 10:42
Wie machst du denn den Aufbau?
Lochraster, selber ätzen, Platinenservice...?

Ls4
27.07.2005, 11:27
wenn dann lochraster. Platinenservice weiß ich nicht, ob sich das für mich lohnt und selber ätzen kann ich nicht. soll ein Board für KFZs werden. Bin in einem Car Hifi Forum aktiv, wo noch mehr Leute interesse an diesem Board haben. geht halt darum lichteffekte zu steuern. eventue komfortblinker und abstandswarner zum einparken. So Zeug eben. ich denk mit den Steckanschlüssen bin ich dann auf der sicheren Seite. Also dass ich quasi intern alles mit Kabeln stecken kann.

Bye Ls4

SprinterSB
27.07.2005, 11:45
KFZ?
KFZ wie Kraft-Fahr-Zeug???

Und deine 12V sind die Batterie? Öhm, dann musst du deine Spannungsversorgung aufpeppen und zB gegen Transienten sichern. Schau dir mal die Spez an, was Elektronik an Testbedingungen erfüllen sollte/muss. Da können locker mal 100V rüberwachsen...

Ich bin da kein Experte, aber nur ein 7805 reicht definitiv nicht.

Deine Blinker sollen auch funktionieren, wenn dein Auto in der Sonne brutzelt oder es mollig warm wird unter der Haube. Ob's AVRs mit erweitertem Temperaturbereich mit über 85°C gibt?

Ls4
27.07.2005, 11:54
100V Zündspannung oder was ist das? Hab mir schon fast gedacht, dass der 7805 nicht so ganz das wahre ist dafür. Das mit dem Komfortblinker ist nicht so wild. weiß auch nicht, ob ich das machen werde. da muss man ja das halbe Auto sprengen. Wäre aber nicht so wild, wenn der Mikrocontroller bei Hitze nicht gehen würde, weil der Blinker ja auch geht wenn der Mikrocontroller nicht geht. Der Mikrocontroller checkt ja eigentlich bloß, ob der Blinker nur kurz angetippt wird oder eingerastet wird. wenn er nicht gerastet wird, dann gibt er halt spannung auf den Blinker, bis er 3mal geblinkt hat. würde also nur parallel dazu hängen. Aber das waren auch nur Gedeankenbeispiele. Wird sich vermutlich auf Beleuchtung für ne Car hifi Anlage beschränken. Wenn ich das Ding nicht baue, baut es jemand anderst aus dem Car Hifi Forum, da bin ich mir sicher. Also umsonst wirds garantiert nicht

Bye Ls4

Ls4
27.07.2005, 12:04
das verkompliziert die Sache jetzt. Bleibt wohl nur ein Schaltnetzteil.
http://www.sme-digital.de/img//elektronik/dcdc_schaltplan.gif das Ding hier verträgt 3-60V ist aber schon wieder ne richtig große Schaltung.