Während meines Studiums möchte ich ein Gerät bauen/entwerfen, welches
Mikrocontrollergesteuert ist. Dazu habe ich mich erstmal hingesetzt und
nach meinen Anforderungen einen µC rausgesucht und die Pinbelegung
erarbeitet (Details zur Funktion unten). Meine Frage an Euch ist jetzt,
ob Ihr irgendwo Grundsätzliche Fehler/Verbesserungsvorschläge findet
bzw. habt?
Im Anhang ist mein geplanter Schaltplan gezeichnet mit Eagle. Alle
Bauteile bei denen keine Werte dran stehen müssen noch dimensioniert
werden.
1. Ich habe für mein Projekt den Atmel XMega128A1 ausgesucht. Sind die
Anschlüsse von VCC, AVCC, GND, PDI und Reset richtig platziert? Der
Taster oben links (S1) ist gedacht für einen manuellen Reset, wobei LED1
leuchten soll sobald der Reset Taster gedrückt wird. Die Belegung der
Pins für das Programmierinterface ist vorerst willkürlich, weil ich die
passende Buchse für den Stecker des Atmel AVRISP mkII (USB) nicht in
Eagle gefunden habe. Generell würde aber die Programmierung mit dem
Atmel AVRISP mkII funktionieren oder?
2. Der Taster S2 soll der Ein-und Ausschalter werden. Die Taster S3-S8
sind für die Menünavigation bestimmt. Ich kann doch mit jeden dieser
Taster einen Interrupt auslösen, um im Menü zu navigieren oder? Gibt es
noch eine Möglichkeit mit Hilfe eines Kondensators abzufragen, ob die
Taste gedrückt wurde?
3. Die Leuchtdioden LED2 und LED3 sollen mir anzeigen, ob die Platine
mit Spannung versorgt wird.
4. Mit den ADC soll ein optisches Signal ausgewertet werden, welches von
den beiden Fotodioden kommt. Ebenso überwacht werden soll die Temperatur
und die Batteriespannung (optional für später). Wie die Fotodioden
Beschaltet werden (kommt später).
5. Die DAC sollen zwei optische Signale durch zwei LED's modulieren.
Kommt auch später.
6. Die LED 4 dient zur Kontrolle, ob das Board auf meine Anweisungen
reagiert.
7. Das Gerät soll über ein Display verfügen mit den Controller
HD44780/KS0066. Das Display ist dazu an den Pins 25-30 angeschlossen.
Kommt auch später.
Sind die Funktionen die ich erreichen will mit der Schaltung möglich?
Alles, was noch nicht genau spezifiziert ist (Display, Fotodioden),
kommt später.
Vielen Dank im Vorraus!
danke für den tipp mit dem reset!
hab den xmega ausgesucht, weil der DAC's hat...
außerdem möchte ich das gerät später vlt um einige extra funktionen
erweitern
die rechenleistung dürfte bei den älteren modellen dann jetzt und in der
zukunft nicht unbedingt ausreichen, weil es echtzeitfähig sein soll
also den µC würde ich ungern ändern, aber ansonsten ist die beschaltung
in ordnung ja?
Hi,
ich habe zwar noch keine xMega verwendet aber die brauchen bestimmt auch
ihre Abblockkondensatoren. Vielleicht solltest du auch einen Quarz
einplanen, UART oder RS232 zur Kommunikation, eine stabile
Spannungsversorgung. Wie ich Atmel kenne gibts dafür einen ganzen Haufen
Application Notes.
Echtzeitfähigkeit ist Definitionssache.
Hi
>also den µC würde ich ungern ändern, aber ansonsten ist die beschaltung>in ordnung ja?
Nein. Z.B. gehört an jedes (A)VCC-GND-Pärchen ein Abbblockkondensator.
>die rechenleistung dürfte bei den älteren modellen dann jetzt und in der>zukunft nicht unbedingt ausreichen, weil es echtzeitfähig sein soll
Du scheinst da noch keine rechte Vorstellung davon zu haben.
>5. Die DAC sollen zwei optische Signale durch zwei LED's modulieren.>Kommt auch später.
Dafür gibt es PWM. Der DAC Ausgang kann nur sehr bedingt eine LED
treiben.
> Das Display ist dazu an den Pins 25-30 angeschlossen.>Kommt auch später.
Der ATXMega ist fast unbeschaltet. Und du nimmst 4-Bit Mode.
MfG Spess
Johannes M. schrieb:> Vielleicht solltest du auch einen Quarz>> einplanen, UART oder RS232 zur Kommunikation, eine stabile>> Spannungsversorgung.
Die Spannungversorgung ist gedanklich schon mit eingeplant, hatte es
versucht anzudeuten mit den Symbolen aus Eagle. Die Ports E und F sind
noch frei, über die kann man doch UART und RS232 laufen lassen oder?
Soweit habeich nämlich noch nicht geplant xD erstmal soll der erste
Prototyp laufen mit Display und vlt Belichtungsmessung der Fotodioden.
spess53 schrieb:> Nein. Z.B. gehört an jedes (A)VCC-GND-Pärchen ein Abbblockkondensator.
also zwischen GND-VCC, AVCC-GND und AVCC-VCC ein kondensator? (100nF hab
ich in nem Tutorial gelesen!?)
spess53 schrieb:> Dafür gibt es PWM. Der DAC Ausgang kann nur sehr bedingt eine LED>> treiben.
was meinst du mit sehr bedingt?
es sollen auf beiden led's zwei übereinanderliegende "sinuskurven"
(blutdruckkurve) modelliert werden, wobei auch pulsform,störspitzen,
artefakte,... vom benutzer ausgewählt werden können
die led's sollen dann auch noch abwechselnd leuchten mit einer frequenz
von etwa 4kHz
spess53 schrieb:> Der ATXMega ist fast unbeschaltet. Und du nimmst 4-Bit Mode.
hab jetzt den 4-bit modus gewählt, weil hier dazu ein Tutorial zu finden
ist
MfG Hendrik
noips schrieb:> Überlege dir, was du da an PK7 machst. Macht das Sinn?
ui da hab ich mich aber ordentlich verzeichnet, soll nen taster werden
wie die anderen unten...
Johannes M. schrieb:> Vielleicht solltest du auch einen Quarz>> einplanen, UART oder RS232 zur Kommunikation, eine stabile>> Spannungsversorgung.
Achso die Sache mit dem Quarz habe ich glatt vergessen, wollte noch
fragen wie und wo ich den anschließen kann!?
Hendrik E. schrieb:> wollte noch> fragen wie und wo ich den anschließen kann!?
Am Ende kommt es dann evtl. noch so, dass der größte Teil deiner
Schaltung von den anderen entwickelt wurde. Die Antwort auf diese Frage
kannst du ja versuchen, selbst im Datenblatt herauszufinden. Man kann
zwar alles fragen, aber du sollst ja auch lernen, selbständig zu
arbeiten, zumindest bei solchen Sachen, die du selbst auch herausfinden
kannst.
Hi
>was meinst du mit sehr bedingt?
Ich habe das Datenblatt nur mal schnell überflogen. Der DAC hat einen
minimalen Ausgangswiderstand von 300R. Da bleibt bei 3,3V nicht viel für
die LED übrig.
Hast du auch beachtet, das der ATXMega ein sehr bastelfreundliches
Gehäuse hat. Du kannst löten?
MfG Spess
spess53 schrieb:> Ich habe das Datenblatt nur mal schnell überflogen. Der DAC hat einen> minimalen Ausgangswiderstand von 300R. Da bleibt bei 3,3V nicht viel für> die LED übrig.
Außerdem mußt Du erstmal über die Schwellspannung kommen, der
Aussteuerbereich ist also nur ~50%.
Für LEDs ist daher eine PWM sinnvoller.
Peter
Hendrik E. schrieb:> Im Anhang ist mein geplanter Schaltplan gezeichnet mit Eagle.
Nur am Rande: in einem Schaltplan haben 45° Leitungen nur in äusserstem
Notfall was zu suchen. Auf der Platine sind 45° Winkel gern gesehen.
Hendrik E. schrieb:> Während meines Studiums möchte ich ein Gerät bauen/entwerfen, welches> Mikrocontrollergesteuert ist. Dazu habe ich mich erstmal hingesetzt und> nach meinen Anforderungen einen µC rausgesucht
Nach dem Motto: der Weg ist das Ziel?
Normalerweise habe ich eine Anforderung/Aufgabe und wähle entsprechend
der Anforderungen einen uC aus...
Hendrik E. schrieb:> die led's sollen dann auch noch abwechselnd leuchten mit einer frequenz>> von etwa 4kHz
die sind dann quasi immer an... so schnell kann keine led das an/aus
spiel... mal davon abgesehen dein auge auch nich...
achso... nimm dir einfach nen controller, bastel dir ne
spannungsversorgung drum rum, (die Abblockung beachten).
wenn du noch nicht genau weißt was du vor hast, dann führe alle Ports
auf Stiftleisten. So hast du ein Grundboard und kannst dir dann immer
wieder Zusatzmodule auf Lochraster dazu basteln...
An deiner Stelle würde ich nen Mega8 oder Mega16 für die ersten
Gehversuche nehmen... Aber das muss jeder selbst entscheiden... Als
Anfänger geht die Löterei sowieso schief und wird dir ne Menge nerven
kosten.. Ausserdem is doch ein XMega rel. teuer für die ersten
Gehversuche...
Als Anfänger sollte man auch bedenken, daß der Xmega sehr neu ist und
daher deutlich weniger verbreitet als die standard AVRs.
Bei Fragen kann es also oft passieren, daß keiner eine Antwort weiß.
Z.B. ich kenne den Xmega nicht und werde ihn auch nicht einsetzen.
Die Xmega haben ja nichtmal 5V tolerante Eingänge.
Auch wenn viele ICs auch 3,3V fähig sind, bevorzuge ich doch die
5V-Technik und da haben die standard AVRs die Nase vorn.
Es ist schon ein Unterschied, ob ich z.B. den INA122 bis 3,4V ansteuern
kann oder nur bis 1,7V.
Oder direkt nen Logik-Level-FET anschalten.
Peter
spess53 schrieb:> Ich habe das Datenblatt nur mal schnell überflogen. Der DAC hat einen>> minimalen Ausgangswiderstand von 300R. Da bleibt bei 3,3V nicht viel für>> die LED übrig.
Die beiden Dioden werden aber auch nur mit maximal 1,9V oder 1,1V
betrieben, sollen aber eher nur 40% von ihrer maximalen Lichtintensität
abgeben.
Peter Dannegger schrieb:> Für LEDs ist daher eine PWM sinnvoller.
hab ich da jetzt ein vVerständnisproblem, oder komm ich bei den PWM auch
nur auf 3,3V abzüglich dessen was am Tiefpass verloren geht!?
spess53 schrieb:> Hast du auch beachtet, das der ATXMega ein sehr bastelfreundliches>> Gehäuse hat. Du kannst löten?
Ja kann ich hab (auf Arbeit) schon einiges solches kleines Zeug gelötet.
Max schrieb:> wenn du noch nicht genau weißt was du vor hast, dann führe alle Ports>> auf Stiftleisten. So hast du ein Grundboard und kannst dir dann immer>> wieder Zusatzmodule auf Lochraster dazu basteln...
ich wollte vom µC alle Pins mit Stiften Versehen und drumherum auch
alles, weil ich stark davon ausgehe, dass ich noch im Laufe meiner
Versuche vieles ändern werde...
Max schrieb:> die sind dann quasi immer an... so schnell kann keine led das an/aus>> spiel... mal davon abgesehen dein auge auch nich...
doch können die LED's die ich habe schon, ich möchte sie ja nicht
blinken sehen sondern damit etwas messen und da ich etwas dynamisches
messen will (f = 1kHz) brauch ich leider diese hohe frequenz
Lothar Miller schrieb:> Nur am Rande: in einem Schaltplan haben 45° Leitungen nur in äusserstem>> Notfall was zu suchen. Auf der Platine sind 45° Winkel gern gesehen.
danke für den hionweis, werde jetzt erstmal alle eure vorschläge
einarbeiten und es dann noch einmal posten
Lothar Miller schrieb:> Nach dem Motto: der Weg ist das Ziel?>> Normalerweise habe ich eine Anforderung/Aufgabe und wähle entsprechend>> der Anforderungen einen uC aus...
teils teils...
schreib eine studienarbeit über die messung der spitzenwellenlänge von
monochromatischen licht (dazu die beiden Fotodioden), möchte es aber
nich zu theoretisch machen, deswegen möchte ich parallel dazu das ganze
mit µC aufbauen
>Die beiden Dioden werden aber auch nur mit maximal 1,9V oder 1,1V>betrieben, sollen aber eher nur 40% von ihrer maximalen Lichtintensität>abgeben.
Dann leuchten sie nicht, die Flussspannung der meisten LEDs ist groesser
als 2,0V. Die Spannungs als Regelparameter fuer LEDs ist denkbar
schlecht, besser ist es, den Strom mittels PWM zu stellen. Da braucht
man auch keinen Tiefpass. Das Menge des abgegebenen Lichts ist direkt
proportional zum Strom.
Hans W. schrieb:> Dann leuchten sie nicht, die Flussspannung der meisten LEDs ist groesser>> als 2,0V.
Doch tun sie. Wie gesagt die meisten LED's. Habs auch schon ausprobiert,
die leuchten, man sieht halt bloß nicht die Taktung.
Hans W. schrieb:> Die Spannungs als Regelparameter fuer LEDs ist denkbar>> schlecht, besser ist es, den Strom mittels PWM zu stellen. Da braucht>> man auch keinen Tiefpass. Das Menge des abgegebenen Lichts ist direkt>> proportional zum Strom.
Irre ich mich jetzt oder erhält man beim PWM nicht auch eine Spannung
und keinen Strom?
Außerdem lässt sich doch auch Diodenstrom (der ja für das Licht
verantwortlich ist) auch als Funktion von der Spannung über der Diode
darstellen oder? Damit kann ich doch dann den Strom über die Spannung am
DAC regeln?
Es kommt dabei auch auf eine sehr genaue Taktung der beiden LED's an.
Soll immer Rot, IR und dunkel getaktet sein mit ca. 4kHz.
Wenn du die PWM erst auf einen TP gibst dann ja, aber das ist ja nicht
sinn der Sache. Es kommt wie immer auf die Anwendung an.
Klassisch nimmt man einen Transistor in Emitterschaltung mit LED plus
Widerstand. Das Tastverhaeltnis bestimmt dann den mittleren Strom, und
damit die Helligkeit. Wenn du jetzt natuerlich so schnell abtastest,
dass du diese Puls auf dem Oszi sehen kannst, dann hilft dir das nichts.
Du musst also ueber die mittlere Helligkeit messen.
>Außerdem lässt sich doch auch Diodenstrom (der ja für das Licht>verantwortlich ist) auch als Funktion von der Spannung über der Diode>darstellen oder? Damit kann ich doch dann den Strom über die Spannung am>DAC regeln?
Ja, da es aber eine wird dann eine e-Funtkion, also nicht linear. Bei
der PWM kannst du halt den Strom und demit die Helligkeit einfach linear
einstellen. Das nichtlineare wirst du mit deinem DAC nicht gut
hinbekommen.
Sonst waere ein U/I Konverter mit OPV noch denkbar, da kannst du dann
auch keinen geliebten DAC einsetzen. Beispiel im Datenblatt des LT1800,
das geht aber auch mit jedem anderen billigen RAIL TO RAIL OP, der die 4
kHz hinbekommt.
Hans W. schrieb:> Sonst waere ein U/I Konverter mit OPV noch denkbar, da kannst du dann>> auch keinen geliebten DAC einsetzen. Beispiel im Datenblatt des LT1800,>> das geht aber auch mit jedem anderen billigen RAIL TO RAIL OP, der die 4>> kHz hinbekommt.
Ah klasse! Hatte ja Anfangs gesagt, dass ich die Beschaltung der LED's
usw. noch nicht spezifiziert habe. Die Info, dass es grundsätzlich
funktioniert ist schon einmal super.
Mal ganz ehrlich, Du solltest erst einmal das AVR-Tutorial komplett
durcharbeiten (nicht nur lesen). So, wie sich dein aktueller
Wissensstand für mich darstellt, ist dein Vorhaben völliger Overkill für
dich.
Ist nicht böse gemeint. Jeder fängt mal an und hat zu Beginn evtl. große
Ziele. Die sollte man gerade zu Beginn jedoch ziemlich niedrig Stecken.
Chris schrieb:> Mal ganz ehrlich, Du solltest erst einmal das AVR-Tutorial komplett>> durcharbeiten (nicht nur lesen). So, wie sich dein aktueller>> Wissensstand für mich darstellt, ist dein Vorhaben völliger Overkill für>> dich.>> Ist nicht böse gemeint. Jeder fängt mal an und hat zu Beginn evtl. große>> Ziele. Die sollte man gerade zu Beginn jedoch ziemlich niedrig Stecken.
Ja das ist mir leider schon klar, aller Anfang ist schwer. Kann sein,
dass das alsch rüber gekommen ist, aber ich möchte am Anfang nur mal die
eine Kontroll-LED zum leuchten bringen und die Taster betätigen, dann
Display, dann ... . Ich hab bloß alles jetzt auf einmal angezeichnet,
weil ich das über meine Firma bestellen müsste und das dauert immer
ewig. Hab dann damit vor erstmal nen Tutorial zum XMega durchzuarbeiten,
dass ich im Internet gefunde habe und dann die ganzen Funktionen, die es
erfüllen soll einzuarbeiten (geht ja schnell mit Steckkarte).
Hab jetzt im Anhang nochmal meine verbesserte Version mit euren
Vorschlägen.
Hendrik E. schrieb:> Ja das ist mir leider schon klar, aller Anfang ist schwer. Kann sein,> dass das alsch rüber gekommen ist, aber ich möchte am Anfang nur mal die> eine Kontroll-LED zum leuchten bringen und die Taster betätigen, dann> Display, dann ...
Empfehlen würde ich es dir dennoch nicht, aber wenn Du es unbedingt so
willst... ;-)
Dann solltest Du zunächst einmal diese Dokument hier lesen. Insbesondere
den Abschnitt "Power Supply Connections".
http://atmel.com/dyn/resources/prod_documents/doc8278.pdf
Ich vermute ich bin nicht der einzige der immer noch nicht versteht
warum es unbedingt so ein riesiger xMega mit tausend unbeschalteten Pins
sein muss, oder?
moep schrieb:> Ich vermute ich bin nicht der einzige der immer noch nicht versteht>> warum es unbedingt so ein riesiger xMega mit tausend unbeschalteten Pins>> sein muss, oder?
ne bist du nicht... aber meine frage war ja eine andere, nämlich ob es
in dieser konfoguration funktionieren würde...!?
die ganzen pins werden sicher irgendwann noch belegt für bluetooth,
rs232, usw. möchte halt das immer weiter ausbauen ohne nen neuen
controller zu nehmen
Chris schrieb:> Dann solltest Du zunächst einmal diese Dokument hier lesen. Insbesondere>> den Abschnitt "Power Supply Connections".>> http://atmel.com/dyn/resources/prod_documents/doc8278.pdf
Danke dafür hab mir da ein paar Sachen mal zu Herzen genommen und
eingearbeitet (siehe Anhanh).
Muss ich die beiden Kondensatoren, die in dem Dokument eingezeichnet
sind mit 15pF bei dem Oszillator einbauen, weil bei dem einem Tutorial
sind die nicht drinne, genauso wie die 100F Kondensatoren?
Hendrik E. schrieb:> Muss ich die beiden Kondensatoren, die in dem Dokument eingezeichnet> sind mit 15pF bei dem Oszillator einbauen
Nein, nur bei einem Quarz (crystal oscillator). Dein Oszillator
entspricht in dem Dokument "External clock source".
Hendrik E. schrieb:> wie die 100F Kondensatoren?
Zu denen schau nochmal auf Seite 2. Dort steht in Fußnote 2 "Decoupling
capacitor should be placed close to the device for each supply pin pair
[...]".
Chris schrieb:> Zu denen schau nochmal auf Seite 2. Dort steht in Fußnote 2 "Decoupling>> capacitor should be placed close to the device for each supply pin pair>> [...]".
den satz versteh ich nicht ganz muss ich jetzt insgesamt 10
Kondensatoren einbauen zwischen jeden einzelnen pin VCC/AVCC und GND?
wie sehen die restlichen Komponenten aus? könnte ich die so bestellen
(spannungsversorgung fehlt noch)? ich kann nämlich nur alles auf einmal
bestellen (über meine firma und dann auch nur einmal)
Nimm einen ATmega8/16 bzw. etwas moderner: ATmega88 für den Einstieg.
Punkt, aus. Die Rechenleistung reicht erst mal dicke und einen DAC
brauchst du bei deiner Anwendung erst Recht nicht.
ATMega 8 hat den Nachteil das ein Quarz I/O Pins benötigt die man dann
nicht zur Verfügung hat, deswegen würde ich gleich zum ATMega16 greifen
die zusätzlichen Ports kann man als Anfänger eh gebrauchen.
So hab jetzt nochmal die Entkoppelkondensatoren eingebaut. Ist es jetzt
richtig oder habe ich das jetzt komplett falsch verstanden!?
Sind die anderen Kondensatoren (10µF) und Spulen auch so richtig oder
kann ich die weg lassen?
Grüße Hendrik