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
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
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
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
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
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.
"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
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
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
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
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
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
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
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
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...
Dieses YAAp ist das ähnlich wie das WAVRASM von atmel, ein Editor? Lars
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.
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
"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
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
@ 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
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
@ 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.