Forum: Mikrocontroller und Digitale Elektronik Platine und AVR Controller?Welchen


von Lars (Gast)


Lesenswert?

Hallo,
da ich neu in dem Bereich "Mokrocontroller" bin habe ich noch einige
Fragen an euch.
Habe mir ein Projekt überlegt und brauche nun einige Meinungen.Ich
möchte mir einen "AVR-Messcomputer", dieser soll später 4-5 von
einander unabhängige Digitalesignale auswerten, hinzu kommt noch das er
2-3 analoge Werte erfassen und alle Werte auf einem Display darstellen
soll. Habe mir zwar schon den 90S4433, wie hier im Forum auf der
"Einstergerseite" beschrieb geholt, da ich ja erst mit AVR´s
erfahrungen sammeln wollte.
Nun sagte man mir der 90S4433 wäre mit dem was ich wollte schon stark
ausgelastet.
Da wir in nächster Zeit wieder bei Reichelt bestellen werden dacht ich
mir ob ich nicht lieber den ATmega 8 oder 16 nehmen sollte.
Zusätzlich fand ich diese Platine ( Mikrocontrollerplatine V1.1), gibts
hier im Forum,sehr interessant. Meine Frage nun
1. Kann ich die auch mit dem Atmega8 oder 16 bestücken?
2. Reicht für mein Projekt denn der Atmaga8 aus ?

So und hoffe ich ihr könnt mir weiterhelfen. Eines noch, wenn ihr
antwortet, bitte so das ich als absoluter Anfänger es auch verstehe. I
Danke Lars

von Dieter (Gast)


Lesenswert?

Hallo Lars

Da du ziemlich wenig schreibst zu deinem Projekt, fällt eine
Aussage natürlich nicht einfach.

Schreib mal, wie oft die Signale eingelesen werden sollen und welches
Display du verwenden willst. Das entscheidet dann später mehr oder
weniger welchen uC du verwenden solltest. Mein Tipp: Nimm nicht den
kleinsten und billigsten, wenn du nicht damit in Serie gehen willst.
Und bestell dir, wenn es geht, nicht immer nur einen. Dann kann man
später schnell mal uC tauschen, wenn man sich Unsicher ist.

Alles hängt natürlich auch davon ab, mit welcher Sprache du das machen
willst.

Der 90S4433 reicht normalerweise aus. Mega8 ist der Nachfolger und
etwas schneller und hat mehr Sachen Onboard. Aber schau dir doch mal
die Datenblätter an.

MFG
Dieter

von Lars (Gast)


Lesenswert?

HAllo Dieter,
tja welche Sprache?
Da ich Anfänger bin und mal im Forum fragte, empfahl man mir Asm.Mal
sehen wie es wird.
Nein ich plane die eine Darstellung eines Drehzahlsignales,
Geschwindigkeitssignales und einer Verbrauchsmessung.Diese Werte liegen
in "digitaler Form" vor, . Parallel dazu müßen noch zwei-drei  anloge
Temperaturwerte gemessen werden, nicht zu vergessen eine Uhr ( dacht
dabei an die Funkuhr).Alles zusammen soll auf ein LC-Display (Grafik
fähig), um evtl, einige Daten als Balken(Graph)dar zustellen.
Tja, das ist mein Projekt.
Klar wenn ich schon mal bei Reichelt bestelle dann nehme ich meist auch
zwei Stück,wie du schon sagtes als eiserne Reserve.
Nur welchen soll ich nun nehmen, ist nicht für eine "klein Serie"
gedacht.
By Lars

von Fiffi (Gast)


Lesenswert?

Hallo Lars,

du hast dir ein umfangreiches Projekt für den Anhang ausgesucht !
(willst du damit das nächste halbe Jahr verbringen ?)

Nimm einen ATmega16.

Weil:
- Funkuhr
- Treiber für Grafikdisplay
- Bilder fürs Display
- Grafikroutinen
...




Gruß

Fiffi

von Lars (Gast)


Lesenswert?

Hallo Fiffi,
also wenn ich es in einem halbes Jahr schaffen will,dann muss ich aber
ständig dran arbeiten. Wie schon gesagt bin Anfänger und kann somit den
Programmieraufwand schlecht überblicken, denke aber er ist nicht
klein.Wenn ich bis nächstes Jahr fertig bin, dann bin ich auch
glücklich.
Danke für deinen Rat mit Atmege 16.
By Lars

von Stefan Pfister (Gast)


Lesenswert?

Hallo!

Also ich würde dir NICHT empfehlen mit einem Graphikdisplay anzufangen.
Ein normales Display mit 4x20 Zeichen reicht. Du kannst auch euf dem
eine Balkenanzeigebasteln (mit selbstgenerierten Zeichen). Dann kannst
du pro Zeile einen Wert z.B. Drehzahl anzeigen. Mein erstes Projekt mit
einem AVR war auch ein Bordcomputer, der Geschwindigkeit  aus der
Rotationsgeschwindigkeit des Rades, Durchschnitt- und
Höchstgeschwindigkeit. Batteriespannung und Strom zur Soundanlage
meines Rollers misst. Darüber hinaus noch einige Steueraufgaben, wie
z.B. Abriegeln bei einer gewissen Geschwindigkeit (Wegen den  Bullen,
mein Roller läuft ca. 95, obwohl nur 45 erlaubt sind). Er hat noch
einige kleinere andere Features. Alle Werte werden auf einem
Textdisplay dargestellt, in 4 verschiedenen Bildschirmen.
Ich habe einen Atmega8 verwendet, und der hat gut gereicht, ich weiss
aber nicht wieviel % der ausgelastet ist...
Der Programmieraufwand war deutlich höher als ich eingeschätzt hatte.

von Peter D. (peda)


Lesenswert?

"Also ich würde dir NICHT empfehlen mit einem Graphikdisplay
anzufangen."

Volle Zustimmung.
Die haben üblicher Weise keinen Zeichengenerator, d.h. Du must Dir alle
Zeichen selber definieren und rausschicken.


Peter

von Lars (Gast)


Lesenswert?

HAllo,
also wenn ihr meint ein normales Display reicht aus. Bei dem
Grafik-Display dachte ich das ich vieleicht die Möglichkeit hätte die
Schriftgröße zu ändern.Habe im Bereich LCD´s auch keine Erfahrung. Gibt
es Unterschiede zwischen Dot-Matrix Display und ein Grafik Display?
@Stefan, genau das habe ich auch vor, ein Bordcomputer zu bauen.
Kannst du mir sagen wie da am besten Anfange?
Meine Hardware mäßig.
Die mir zu Verfügung stehenden Signal mit Werten habe ich alle,sorry
bis auf zwei Stück die muss ich nochmal ausmessen.
Mfg Lars

von Stefan Pfister (Gast)


Lesenswert?

Hallo!

Also am zu erst musst du natürlich wissen was du alles messen nud
regeln willst. Wie ich bereits lesen konnte sind das ein paar digitale
Signale. Kannst das etwas präzisieren? Sind das PWM signale oder wird
alle paar ms eine Zeichenkette gesendet? Werden die Werte voin einem
Bussystem abgegriffen? Wenn das Zeichenketten sind die über einen Bus
gesendet werden, dann kann ich dir leider nicht helfen, damit habe ich
Null Erfahrung!:(
Wenn es PWM signale sind, dann musst du dir einen Prozessor suchen, der
mehrere PWMs messen kann, frag mich nicht nach einem Typen, der Atmega8
kann nur eines ausmessen, hat nur einen ICP Eingang. Wer mit einem
ATmega8 mehrere PWMs auslesen kann, der soll das bitte miteilen.

Es wäre von Vorteil, wenn du uns über deine Signale etwas mehr sagen
könntest....


Grüsse

von Lars (Gast)


Lesenswert?

HAllo Stefan,
also das Signal für die Drehzahl nehme ich von meiner CDI
(Steuergerät)ab und es hat eine konstante Pulsweite.
Das Geschwindigkeitssignal nehme ich von einem Geber der am Ritzel der
Getriebewelle sitz. HAt auch eine feste Pilsweite.
Das verbrauchssignal soll laut "Conrad" ( schon wieder dieses böse
Wort benutzt)eine feste Anzahl von Pulsen pro Durchflussliter sein.
Dann noch Wasser und Öltemperatur, doch da muß ich schauen wo ich die
Werte der Sensoren herbekomme.
Habe in einem Forum was über einen Bordcomputer gelesen und auch den
Entwickler angeschrieben. Er hat sich bei mir auch sofort gemeldet.
Jedenfalls hat er eine Einbauanleitung für diesen Boardcomputer
erstellt und ich muss sagen wirklich top und verstänlich erklärt.
Dort steht etwas über die "Eichung". Man muß eine fest vorgegeben
Strecke abfahren und der Wert dient für alle Gescwindigkeits und
TSrecken berechnungen. Für mich wäre das sehr vorteilhaft da ich öfters
"umritzeln " muss ( je nachdem welche Rennstrecke ich fahre)
Hast du ICQ oder ähnliches?
Können uns ja darüber unterhalten, gilt natürlich auch für alle anderen
die interesse darn hätten sich einen Bordcomputer zu bauen. Ich weis
das Thema ist schon öfters vorgekommen und ist irgendwie nichts daraus
geworden.
Hier meine ICQ NR.:219195405
Noch etwas der Entwickler dieses Bordcomputers den ich oben erwähnt
habe heist auch wie du: Stefan. Ihr seid doch nicht ein und die selbe
Person?
By Lars

von Lars (Gast)


Lesenswert?

HAllo Stefan,
also das Signal für die Drehzahl nehme ich von meiner CDI
(Steuergerät)ab und es hat eine konstante Pulsweite.
Das Geschwindigkeitssignal nehme ich von einem Geber der am Ritzel der
Getriebewelle sitz. HAt auch eine feste Pilsweite.
Das verbrauchssignal soll laut "Conrad" ( schon wieder dieses böse
Wort benutzt)eine feste Anzahl von Pulsen pro Durchflussliter sein.
Dann noch Wasser und Öltemperatur, doch da muß ich schauen wo ich die
Werte der Sensoren herbekomme.
Habe in einem Forum was über einen Bordcomputer gelesen und auch den
Entwickler angeschrieben. Er hat sich bei mir auch sofort gemeldet.
Jedenfalls hat er eine Einbauanleitung für diesen Boardcomputer
erstellt und ich muss sagen wirklich top und verstänlich erklärt.
Dort steht etwas über die "Eichung". Man muß eine fest vorgegeben
Strecke abfahren und der Wert dient für alle Gescwindigkeits und
strecken berechnungen. Für mich wäre das sehr vorteilhaft da ich öfters
"umritzeln " muss ( je nachdem welche Rennstrecke ich fahre)
Hast du ICQ oder ähnliches?
Können uns ja darüber unterhalten, gilt natürlich auch für alle anderen
die interesse darn hätten sich einen Bordcomputer zu bauen. Ich weis
das Thema ist schon öfters vorgekommen und ist irgendwie nichts daraus
geworden.
Hier meine ICQ NR.:219195405
Noch etwas der Entwickler dieses Bordcomputers den ich oben erwähnt
habe heist auch wie du: Stefan. Ihr seid doch nicht ein und die selbe
Person?
By Lars

von Stefan Pfister (Gast)


Lesenswert?

Hallo!

Nein wir sind nicht ein und die slebe Person, zumindest habe ich keine
E-Mail beantwortet... Vielleicht bin ja auch schizophren?? Also so wie
das aussieht brauchst du an dem Controller mindestens 3 externe
Interrupts, einen für Drehzahl, einen für Geschwindigkeit und einen für
den Durchflussmesser. Leider hat der Atmega8 nur zwei und ich weiss
nicht wie das mit den anderen AVRs aussieht.
Möglicherweise kannst du auch den AnalogComparator als Interrupteingang
"missbrauchen"...
Leider habe ich kein ICQ. Finde ich auch asi, wenn man schon so ein
tolles Forum hat. Und wahrscheinlich ist es bei den andeen Bordcomputer
auch so gelaufen, dass die dann einfach per Mail o.ä. weiterplanten,
und das bringt den andeen dann auch nichts, wie du ja am eigenen Leib
erfahren musstest.

Gruss

von Lars (Gast)


Lesenswert?

Hallo ,
klar ist so etwas wie ICQ für ander nicht "einsehbar", soll ja auch
nur schnell zum Gedanken austausch dienen.
Ein ordentlich Dokumentation erstezt das natürlich nicht.
Tja, was mache ich nun?
Wenn ich erstmal den Verbrauch rauslasse? Dann könnte ich doch den
Atmege8 nehmen. Der Stefan hat soweit ich das sehen konnte den 90S4433
genommen. Werde ihn auch mal fragen.
By Lars

von Lars (Gast)


Lesenswert?

Hallo,
tja Stefan ist nicht erreichbar.
O.K wenn ich nun nur 2 digitale Signale (das der Drehzahl und das der
Geschwindigkeit) und 2 analoge Werte ( Wasser und Öltemp) messen und
darstellen möchte dann reicht ein 90S4433 oder besser der Atmega8 aus.
Kann ich dann noch ein Funkuhr-Modul anschließen?
Das war die Hardtware nun zur Software.
Gibts eine bestimmte Reihenfolge beim Instalieren von dem AVR STudio 4,
dem AvrLCD.msi und AvrOsccal.msi zu beachten. Brauche ich sonst noch
Software? Benutze als Betriebssystem XP Prof.
Danke Lars

von Stefan Pfister (Gast)


Lesenswert?

Hallo!!

Ich würde gleich den ATmega nehmen, ist das Nachfolgemodell des 4433.
Nicht wegen der Leistungsfähigkeit sondern, weil er neuer ist. Das
Funkuhrmodul kannst du sicher auch noch anschliessen.
Keine Ahnung was AvrLCD.msi bzw. AvrOsccal.msi ist. Ich verwende nur
AvrStudio und zum Programmieren Yaap. Wenn du WinXP verwendest musst du
noch die Porttreiber installieren, damit Yaap Zugriff auf den
Parallelport bekommt...

von Lars (Gast)


Lesenswert?

Dieses YAAp ist das ähnlich wie das WAVRASM von atmel, ein Editor?
Lars

von Steffen (Gast)


Lesenswert?

Kleiner Einwand nebenbei:

Ihr könnt ohne weiteres mehr als zwei PWM-Signale(oder jedes andere
digitale Signal) auswerten, solange es nicht zu schnell ist, was ich
aber bei der Anwendung nicht glaube.

Programmiert einfach einen Timer-Interupt z.B alle 10ms (da hat der
Prozessor fast nichts zu tun, von mir aus auch 1ms) und macht in der
ISR die Auswertung per Hand, also vom Programm.

@Fiffi
Bin zwar kein AVR-User aber Funkuhr on Chip???
Hast Du dir mal das Datenblatt angesehen???

Steffen

PS: Die MC´s können nicht nur das, was im Datenblatt steht. Die sind so
schnell, das sie noch ne Menge mehr können. Man muss nur wissen wie man
es programmiert.

von Fiffi (Gast)


Lesenswert?

Hallo Steffen,

>Bin zwar kein AVR-User aber Funkuhr on Chip???
>Hast Du dir mal das Datenblatt angesehen???

Es gibt keinen AVR mit "Funkuhr onChip". Es gibt AVR's mit einer
RTC. (Ein Timer, den du extern mit einem Uhrenquarz beschalten kannst)

Für eine DCF77-Funkuhr brauchst du folgendes:
- 1 externen Interrupt Eingang
- ~ 1 kByte Flash für's Programm (habe ich mal mit AVRGCC gemacht)


Gruß

Fiffi

von Peter D. (peda)


Lesenswert?

"Für eine DCF77-Funkuhr brauchst du folgendes:
- 1 externen Interrupt Eingang"

Nein.

Du must sowieso eine interne Uhr laufen haben, damit Du auch bei
Empfangsstörungen die Zeit hast. Und in deren Timerinterrupt (z.B.
10ms) kannst Du bequem das DCF-77 Signal abfragen.

Also jeder beliebige Pin ist möglich.
Heb Dir die externen Interrupts besser für wirklich eilige Sachen auf
(Z.B. Periodendauer oder Pulsweitenmessung).


"- ~ 1 kByte Flash für's Programm (habe ich mal mit AVRGCC
gemacht)"

Ist schon sehr reichlich. Mein Beispiel (siehe Codesammlung) braucht
gerade mal 192 Byte.


Der Mega 8 ist genau das richtige für Dein Projekt, mit dem hast Du
noch reichlich Reserven.
Der große Vorteil gegenüber dem 90S4433 ist die bessere
Störsicherheit.
Auch kannst Du ihn bequem und sauschnell per Bootloader in der
Schaltung programmieren, d.h. Du must Dich nicht mehr mit den
störempfindlichen SPI-Leitungen abplagen.


Peter

von Lars (Gast)


Lesenswert?

HAllo Peter,
danke für die Infaos. Werde mal swehen ob ich günstig Atmega8 bekomme.
Habe aber nochmal eine Frage. Ich muss den Borcomputer ja auch
ausschlalten (soll alles über Zundschloss laufen). Muss ich dann eine
Backup Baterie einbauen, kann auch sein das er längere Zeit ohen
Spannungsversorgung ( z.B. im Winter) ist.
By Lars

von Lars (Gast)


Lesenswert?

@ Peter, noch etwas habe ich vergessen. Was ist dies SPI Leitung?
Kenn bisher nur den ISP-Dongel zu Datentransfer.
Brauche ich dann andere Software? Hättest du mal ein Bild, Schaltplan
etc, damit ich mir mal dieses SPI anschen kann?
Ach ja habe deinen rat befolgt und mir mehrere Atmega8 günstig
besorgt.
Mal sehen wann sie kommen
Lars

von Peter D. (peda)


Lesenswert?

Also, die SPI-Programmierung (Dongle) hat mehrere Probleme:

- Es sind möglichst kurze Leitungen zu verwenden, da keinerlei
Störunterdrückung erfolgt.

- Es ist ein bestimtes Timing und Pegel einzuhalten, was aber stark
Hardware und Betriebssysten abhängig ist. Allgemein ist eine
Programmierung unter W98 sicherer als unter W-XP. Auf mancher Hardware
scheint das Progammieren aber völlig unmöglich zu sein.


Bei einem Bootloader über die UART ist die Übertragung wesentlich
sicherer, da jedes Bit 3-mal abgetastet wird und über eine
Majoritätslogik restauriert wird. Auch sind keinerlei Timingbedingungen
einzuhalten, da das ja der interne Bootloader absichert. Und die Pegel
für die COM sind eindeutig definiert und kompatibel.
Deshalb hat ja auch das STK500 einen MC drauf, der die Programmierung
übernimmt und mit dem PC über die COM spricht.


Bei meinem Bootloader in der Codesammlung ist nur das einzige Problem,
daß ich unter Borland-C bisher keine praktikable Möglichkeit gefunden
hab, die UART aus einer Windows-Anwendung heraus anzusprechen.
Deshalb läuft die PC-Software nur in der DOS-Box unter W98 bzw.
W-NT4.0.

Ich bin einer der Steinzeitmenschen, die noch nicht auf XP umgestellt
haben, da alles was ich brauche zufriedenstellend unter W89 bzw. W-NT
läuft.
Und daher sehe ich es nicht ein, alles monatelang unter XP nochmal
komplett neu zu installieren.


Peter

von Lars (Gast)


Lesenswert?

@ Stefan Pfister,
könntest du mir etwas mehr über dein Projekt "Borcomputer" erzählen?
Hast du vieleicht ein Bild vom Aufbau, meine damit vom Display.
Leider funktionierte auf meinem Copmputer nicht mehr sehr viel nachdem
ich versucht habe das AVR Studio 4 und den Pottreiber zu instalieren.
Irgend etwas ist schief gegangen. Habe fast die halbe Nacht gebraucht
da ich XP und den Rest wieder neu instalieren muste.
Also wenn Du mir weiter helfen könntest, denn allein schaffe ich das
wohl nicht bis zum Sommer. Vieleicht gibt es ja auch noch andere
Interessierte und man könnte sich zusammen tun.
Lars

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.