Forum: Mikrocontroller und Digitale Elektronik benötige Hilfe assembler atmega8 adc


von techfreak (Gast)


Lesenswert?

Hallo,

wie der Betreff schon aussagt, benötige ich Hilfe für ein Projekt, 
welches ich gerne umsetzen bzw. verbessern möchte.

Es geht um eine Spannungsmessung von 0 bis 5 V DC. Diese soll von einem 
ATMEGA8 mittels ADC verarbeitet werden. Zeitkritisch ist das ganze 
nicht, da das Abfrageintervall um die 1 sec bis 3 sec. liegen darf. Es 
sollte 3 mal gemessen werden und dann der Mittelwert weiterverarbeitet 
werden.

Die Weiterverarbeitung der eingelesenen Daten (Spannungswert) soll dann 
mit einem Min/Max Wert verglichen werden und als Ergebnis daraus eine 
Anzahl Portausgänge (ca. 8 bis 12) mit einer logischen 1 oder 0 gesetzt 
werden.

Die Hardware steht bereits, anstelle der ADC-Sache ist im Moment ein 
Komparator eingesetzt.

Es wäre schön, wenn die Programmierung in Assembler erfolgen könnte.

Kostenlos soll das natürlich nicht sein. Über den Leistungsausgleich 
müssen wir uns vorher unterhalten.

Wer kann mir diesbezüglich behilflich sein.


Kontakt: techfreak1@t-online.de


PS: Sollte dieser Thread hier nicht passen, dann evtl. an die richtige 
Stelle verschieben. Danke.


Viele Grüße
techfreak

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Hallo,

erstmal willkommen im Forum!

Die Aufgabenstellung ist eigentlich keine große Geschichte. Fragen 
bleiben aber offen:

Sind Min und Max konstante Werte, die dann fest im Programm verankert 
sein können?

Welche Betriebsspannung steht zur Verfügung? Welcher maximale Strom?

Wie konstant ist die Betriebsspannung?

Wie genau muss die Spannungsmessung sein?

Wie genau muss das Messintervall sein?

Warum 8 bis 12 Ausgänge? Sind die immer alle gemeinsam auf Low oder alle 
gemeinsam auf High?

von techfreak (Gast)


Lesenswert?

Hallo Markus,

1) Die Min Max Werte sind konstante Werte, z.b. Min Wert 2,5 V, Max Wert 
3,0 V

 -> im Ausbau kann es sein, das man mittels Umschalter (Wahlmöglichkeit) 
dann diese Werte etwas nach oben anhebt, also Min Wert 2,8 V und Max 
Wert 3,3 V. Dazu könnte man ja einen Eingang benutzen, der dann logisch 
( 0 oder 1) abgefragt wird.

2)Spannungs- und strommäßig kein Ding. Die Spannung wird mit einem 7805 
erzeugt. Strommäßig sind nur einige LED's (Low current) an den Ausgängen 
zur Visualisierung. Alles in Allem dürfte die I-Aufnahme kleiner 50 mA 
liegen.

3) Die Genauigkeit der Spannungsmessung ist nicht besonders hoch. Selbst 
10 bis 20 mV stellen kein Problem dar.

4) Die Genauigkeit des Messintervalls stellt sich ebenfalls keinen hohen 
Anforderungen. Ob nach 1 sec oder nach 1,1 sec oder höher spielt keine 
Rolle.

Die Taktfrequenz wird momentan durch eine Quarzoszi erzeugt. Könnte aber 
auch durch eine Quarz oder auch intern erzeugt werden.

5) Ausgänge:

Die Ausgänge schalten über Mosfets definierte Widerstände. Es ist immer 
nur max 1 PIN auf High oder alle Aus. 8 bis 12 Ausgänge deshalb, um eine 
gewisse Abstufung zu erreichen.

Grüße
techfreak

von Ingo (Gast)


Lesenswert?

Und warum versuchst du diesen Popelkram nicht selber, wen DU das schon 
verbessern möchtest???


Ingo

von techfreak (Gast)


Lesenswert?

Hallo Ingo,

ich kenne im Moment nicht allzu viele Assemblerbefehle, und wer gerade 
mit ADC da schon Erfahrung hat, ist, ja auch zeitlich gesehen, klar im 
Vorteil.

Ich beschränke mich daher auf die Hardware......

Grüße
techfreak

von Ingo (Gast)


Lesenswert?

Die Assemblerbefehle stehen im Datenblatt und sind dort auch erklärt. 
Zieh dir doch mal das Tutorial hier rein.


Ingo

von mikroconTROLLer.net(t) (Gast)


Lesenswert?

Ingo schrieb:
> Die Assemblerbefehle stehen im Datenblatt
oder im Instruction Set. Pflichtlektüre.

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.