mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S8252 mit AD Converter TLC549


Autor: Andre F (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich versuche im Rahmen eines Schulprojektes einen Schrittmotor
anzusteuern. Dazu habe ich mir überlegt das es schön sein
könnte die Vref Spannung über die ich den Maximalen Motorstrom
bestimmen kann über ein Display (2x16 Zeichen) auszugeben.
Das ansteuern des Displays bzw. des Motors funktioniert wunderbar.

Nur bekomme ich kein vernünftiges ergebnis aus der DATA Leitung
des AD - Converters.
Nach einigem ausprobieren habe ich herrausgefunden das der Port Pin
P2.7 an dem ich DATA angeschlossen habe das Signal auf Low zieht. Als
gegenmaßnahme habe ich versucht vorher den Port auf 1 zu setzen damit
das Potential intern nicht mehr auf Masse gezogen wird.
Jedoch wird ich jetzt ein ständiges High signal am Port ausgelesen.

Meine frage ist nun ob mir villeicht jemand sagen könnte wie ich dieses
Problem lösen könnte - am besten so das ich nicht viel an der Schaltung
ändern muss da ätzen bei uns an der Schule immer etwas schwierig ist.
Vielen Dank schonmal im Vorraus :-) danke

mfg.: Andre F.

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andre F (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja diese Webseite hatte ich schon gefunden.
Solange ich das DATA Beinchen des IC nicht mmit dem MC verbinde
bekomme ich auch wunderbahre Werte wenn ich mit dem Voltmeter
nachmesse.
Die Werte stimmen nur nicht bzw. werden auf 0 gezogen sobal das
Beinchen am Controller angeschlossen ist.

Autor: Ralf Rosche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi hier der source code für den 8051 in wickenhäuser c geschrieben:
#define clock P1_B0
#define out P1_B1
#define cs P1_B2
for(;;){
    c=0;
    P1 &= ~(1 << cs);;
     for(i=7;i>=0;i--)
      {
      P1 |= (1 << clock);
      //P1 &= ~(1 << data_out);
      if (P1 & (1 << out)){c |= (1<<i);}

      P1 &= ~(1 << clock);
      #asmline nop;
      #asmline nop;
      }
        P1 |= (1 << cs);;
        printf("%3d%s",c,"\n");
    _wait_ms(10);}
in basic gehts auch habe es auf dem elektor 89s8252flashboard
probiert:
90 rem clock=1
100 rem out=2
110 rem cs 4
120 port1=255
130 port1=251
140 for k=1to 2
150 b=0
160 for i=7 to 0 step -1
170 port1=250
180 inp=port1.and.2
190 if inp =2 then b=b+2**i
200 port1=251
210 next i
220 port1=255
230 next k
231 f=int(b/100)+48
232 gosub 475
260 f=b-((f-48)*100)
262 f=int(f/10)+48
263 gosub 477
264 f=b-int(b/100)*100 - (f-48)*10 +48
278 gosub 477
279 goto 140
280 end
die gosubs sind für die ausgabe auf dem lcd braucht man nicht der
gelesene wert steht in variable b.
gruss ralf

Autor: Andre F (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antwort,
bei mir lag das Problem wie sich später herrausgestellt hat daran das
der MC oder der AD-Converter das Signal am Data ausgang nach sehr
kurzer Zeit auf High zieht, das Signal jedoch wenn man schnell genug
ist ausgelesen werden kann, Vorher hatte ich immer eine gewisse
Verzögerung bevor ich das Signal asugewertet habe.

Die Lösung werde ich aber auch einmal ausprobieren da meine nicht die
beste ist.

Nochmal Dankeschön.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.