hi, hab ein problem ein comparator für unser programm zu scheiben. wir benutzen den Atmega2561(http://www.shop.display3000.com/pi12/pi2/pd43.html) und habe´n keine ahnung wie man ein solches programm schreibt da dies totales neuland für uns ist. zu unserer aufagbe: wir solln jeweils zwei spannungen mit dem mikrocontroller vergleichen, 1. 2,5V SOLL zustand --> IST wert größer als SOLL --> Ausgang von 0 auf 1 2. 3,5V SOLL zustand --> IST wert größer als SOLL --> Ausgang von 0 auf 1 dann gibt es noch ein kleines problem der controller hat nur einen comperator auf PortE.2 positiv input und PortE.3 negative input, wir brauchen aber zwei. also wenn irgendjemand einen tip für uns hat, wir wären sehr dankbar. MFG Schmiddy
Wie wäre es mit einem der AD-Kanäle, oder halt 2. Dann kannst du die Komperatoren beliebig in Software schreiben.
ja sowas hab ich mir auch schon gedacht aber wie schreibt man einen comparator??? ich hab noch keinen vernünftigen ansatzt gefunden der auch funktioniert...
hat nicht jemand mal ein beispielprogramm in c code wie ein comparatar geschrieben ist?????
Das ist simpelstes C, Vergleichen zweier Werte: float ist; float soll = 2.5; ist = (irgendwie bestimmen); if (ist > soll) Ausgang = 1; else Ausgang = 0; Möchtest Du vielleicht Deine Frage anders formulieren?
wiederhole endlos { Lese ADCWert ein if ADCWert > Schwelle Schalte Led ein else Schalte Led aus }
ja das ist ja einleuchtend nur haben wir leider absolut keine ahnung wie wir die Ports da einbinden so dass das Programm die auch erkennt, es muss ja was mit den spannungen anfangen können die wir da anlegen. Leider haben wir auch keine Unterlagen oder Beispielprogramme dazu, deswegen fragen wir... ;-)
Tipps: 1. Herunterladen des Datenblattes bei www.atmel.com 2. Lesen 3. Lesen: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Analoge_Ein-_und_Ausgabe 4. In der Doku eures Boards nachschauen, an welchen Anschlüssen die analogen Eingänge herausgeführt werden. Auch sinnvoll wäre vielleicht ein einfacheres Projekt? Wenn man keine Ahnung hat, macht es mehr Spaß, bei den Grundlagen anzufangen und nicht mittendrin.
ich erkläre euch mal kurz was wir vor haben.... also wir bekommen eine spannung von 0-50Volt die wir auf 1:10 mit widerständen begrenzt haben, also 0-5Volt für den microkontroller. bei einer spannung die ca. 1min über 2,5Volt liegt soll ein transistor angesteuert werden der eine steuerplatiene einschaltet, bei einer spannung von über 40Volt soll ein transistor angesteuert werden der lastwiderständer zum überlastschutz zuschaltet. wie schreibt man nun das pasende programm dazu???????
sorry wir meinen natürlich nicht direkt 40 volt sonder eine spannung von über 4V da der controller ja nur 5V verpackt ;-)
Christian Schmidt wrote: > wie schreibt man nun das pasende programm dazu??????? Genauso wie das oben in mehreren Variationen ausgeführt wurde. Es wird euch wohl nichts anderes übrig bleiben, als ins kalte Wasser zu springen und mal mit den Grundlagen anzufangen. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
ja das ist schon richtig leider haben wir da aber keine zeit mehr zu...
Christian Schmidt wrote:
> ja das ist schon richtig leider haben wir da aber keine zeit mehr zu...
Was erwartet ihr?
Das euch hier jemand das Programm schreibt?
Sicher nicht. Dazu gibt es das Tutorial. Dort sind Code-
sequenzen drinnen, die eigentlich ausreichen sollten, so daß
jemand der noch nie sowas programmiert hat, das in 1 bis 2
Stunden hinkriegt.
Soviel Zeit werdet ihr ja wohl haben. Ist ja schliesslich
keine Raketentechnik.
Wenn ihr konkrete Probleme und Schwierigkeiten im
Verständnis oder bei einem Codeausschnitt habt: Gerne.
Es gibt mindestens 10 Leute hier im Forum, die sofort
Gewehr bei Fuss stehen und weiterhelfen.
Aber von 0 beginnend: Nein.
nein so sollte das eigentlich auch nicht rüber kommen. aber ich glaube auch nicht das einer der keine ahnung von dem hier hat dieses programm für unsern kontroller in zwei std. zu schreiben. wir haben schon ne woche dran gesessen um überhaupt etwas auf dem display zu schreiben. allerdings hatten wir da ein paar schwierigkeiten mit der Font anbindung und ettlichen anderen kleinen probleme...naja jetzt gehts ja und wenn wir das mit dem komparator noch hinkriegen sind wir fertig
Font? Display? Nah, egal... Wenn ich euch richtig verstehe, ist alles, was ihr wissen müsst, wie man eine AD-Wandlung vornimmt (also wert vom analogport einlesen) und wie man einen Portpin high/low schaltet. Beides ist hier im Tutorial zu finden. Zumindest für AVRs.
Niels Hüsken wrote:
> Font? Display? Nah, egal...
<Nicht für den OP gedacht>
Das Übliche.
Wir verbringen erst mal Stunden damit, irgendwelche Anzeigen
zu programmieren, so dass alles erst mal gut aussieht und
dann kümmern wir uns darum, dass das Pgm auch was Vernünftiges
macht. Mist: Wir haben soviel Zeit damit verbraucht mit der
Anzeige rumzuspielen, daß für die eigentliche Aufgabe keine
Zeit mehr bleibt. Bzw. Jetzt habe ich soviel Zeit in meine
Anzeigeroutinen gesteckt und ihr sagt mir jetzt, daß ich
die alle über Bord schmeißen kann, weil man das alles ganz
anders macht?
Findest du in comp.lang.c++ jeden Tag zu Dutzenden.
ja ganz genau wir wollen gerne wissen wie man ein AD-Wandler vornimmt, mit analogwerte einlesen und wie man ein portpin high/low schaltet. wenn du mir das mal zeigen oder erklären könnntest wäre ich dir sehr dankbar.....
Was davon im Tutorial verstehst du nicht? http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Analoge_Ein-_und_Ausgabe Da mögen eventuell das eine oder andere Detail nicht genau genug beschrieben sein, aber ausführlicher als dort wird es dir hier auf die Schnelle keiner erklären können. Und als Krönung des ganzen: Da findest sich sogar eine fix fertige C Funktion, die du nur einbauen musst um den ADC auslesen zu können. Aber lies um Himmels Willen die Beschreibung. Ohne die wirst du nicht verstehen was in der Funktion warum passiert. Du kannst auch mal hier http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC nachlesen. Eventuell ergänzt das eine oder andere Detail die Beschriebung im C Tutorial. Den Assembleranteil am Ende der Seite kannst du ja ignorieren.
Zum Thema Ausgabeport setzen http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_Ports Auch hier wieder: Wenn noch Fragen offen bleiben, dann stelle sie. Aber lies dir das erst mal durch. Und: Du solltest mit einiger Sicherheit hiermit anfangen. Die ADC Geschichte ist etwas umfangreicher als einen Portpin auf 0 oder 1 zu setzen.
Wie kann man ein komplexes (wegen Font) Display ansteuern, wenn man nicht mal weiß, wie man einen einzelnen Port befummelt ? grübel
jo danke leute bin schon sehr viel weiter gekommen nur jetzt hab ich das problem das ich den adc nich richtig auslesen kann ich bekomme keinen wet auf dem lcd angezeigt
Ich hab kein Word. Ich kann das Dokument nicht öffnen.
Karl heinz Buchegger wrote: > Niels Hüsken wrote: >> Font? Display? Nah, egal... > > <Nicht für den OP gedacht> > Das Übliche. > Wir verbringen erst mal Stunden damit, irgendwelche Anzeigen > zu programmieren, so dass alles erst mal gut aussieht und Cool, das erinnert mich an einen Studiengang bei uns an der FH. Die IGIs Internationales Studium Gestanltung und Design. Das wichtigste war bei denen das Aussehen, ob es funktioniert hat, war Ihnen ziemlich egal. Hauptsache es sah gut aus. Und sowas darf sich inter Dipl.-Ing. E-Technik nennen.
Mike S. wrote:
> Und sowas darf sich inter Dipl.-Ing. E-Technik nennen.
Du glaubst garnicht, was ich schon alles gesehen hab, was sich Dipl.-Ing
IT nennen darf. "Wie setz ich auf meiner Homepage einen Link? '<A ' und
dann?"
Christian Schmidt wrote:
> so hier hast du den asl txt document
Warum nicht einfach das *.c File so einstellen, wie es
ist? Also als *.c File?
Du hast kaum Arbeit damit, die Forensoftware kann damit ein
Syntax Highlighting machen.
Darf ich fragen, warum ihr die Funktion 'ReadChannel' aus dem
Tutorial nicht einfach so übernehmt, wie sie dort angegeben
ist? Per Cut&Paste von dort holen, in den Source Code
einsetzen, Funktion aufrufen und in 40 Sekunden habt ihr
einen funktionierenden ADC.
Nun ist natürlich nichts dagegen einzuwenden, wenn man die
Funktion danach abändert und an seine Bedürfnisse anpasst.
Aber es ist schon mal beruhigend, wenn man mit einer funktionierenden
Funktion loslegen kann.
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.