mikrocontroller.net

Forum: Compiler & IDEs Servo Signal lesen mit ATtiny26


Autor: Unkrautmonster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

nun sitze ich schon den ganzen Tag und bekomms einfach nicht hin.. :(
Zuerst wollt ichs mit nem Counter einfach über nen IO pin messen, dann 
hab ich bemerkt das das Signal nur 3V hat.. (Bei 5V Betriebsspannung des 
AVR's wird der High wert ja erst bei 3,5V erreicht)
Nach vielen weiteren versuchen in der richtung landete ich beim ADC, 
weil's da ja egal is wie viel Spg. am Signal anliegt :D
Bring ich grad aber auch nicht hin.. :(

Jetzt würd ich von euch gerne wissen welche möglichkeiten sich da noch 
bieten würden.. ohne viel elektronik, in nem Servo geht das Signalkabel 
ja auch meist nur durch nen Wdst. und dann dierekt in nen Controller.. 
:P

Was gäbs denn da für möglichkeiten? Hab mal was von Input Capturing 
gehört..?
Oder werden da wieder spannungen in 5V gegend benötigt?

Wenn ihr also nen Code oder ein beispiel übrig hättet wär ich euch sehr 
dankbar.. ;)

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tipp:
Nimm nen einfachen NPN-Transistor und verpass dem an der Basis das 
Signal, der erkennt ab ~ 1V sicher ein "High" und zieht dann seinen 
Kolektor (und den daran angeschlossenen Pin) auf low -> fertig is die 
Laube.
Zur Abtastung:
1. Möglichkeit: Quick & Dirty Timerinterrupt mit ~10 kHz in der routine 
den Pin einlesen und was hochzählen wenn das Signal dann zu Ende ist 
wird der Wet ins Hauptproggi geschoben (per globaler Variable). (in den 
int kann man dann glei mehrere Signale abtasten, oder noch ein paar 
taster abfragen...
2. Möglichkeit: lies dir das dbl. zum input capture durch und dreh da 
dann was (hab grad nich das vom tiny da...)...

PS: normalerweise erkennt ein avr an 5V aber ab ~ 2,7 V sicher high...

Autor: Valentin Buck (nitnelav) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach doch RC und dann ADC, oder ist dir das nicht genau genug?
Ansonsten, nimm einen normalen rising-edge Interrupt und setze in diesem 
die Taktquelle eines Timers.
Dann im falling-edge Interrupt die Taktquelle wieder auf 0 setzen.
Nun einfach das Timerregister auslesen und mal die Frequenz nehmen.
Schon ist die Zeit da.

Mit freundlichen Grüßen,
Valentin Buck

Autor: Unkrautmonster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 3,5V bei High hab ich aus'n Tutorial hier, häng ich für die Active 
High aber den PullDown Wdst dran sinkt die Signal Spg. weit ab 
komischwerweise beim Transistor auch.. was vlt. egal wär aber bei nem 
servo sinkt die Spg. bloß um 0,05-0,1V, so zusagen also garnicht..

Daher leg ich viel wert drauf meinen empfänger nicht zu killen :D

Autor: Magnus M. (magnetus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unkrautmonster schrieb:
> Die 3,5V bei High hab ich aus'n Tutorial hier, häng ich für die Active
> High aber den PullDown Wdst dran sinkt die Signal Spg. weit ab
> komischwerweise beim Transistor auch.. was vlt. egal wär aber bei nem
> servo sinkt die Spg. bloß um 0,05-0,1V, so zusagen also garnicht..
>
> Daher leg ich viel wert drauf meinen empfänger nicht zu killen :D

Aus welchem Tut. hast du du denn d. Ang. mit d. 3,5V? U. Wozu hängst du 
d. Pulldown dran? Hast du mal n Schaltpl. f. uns, dmt. w. u. e. Bld. 
mchn. knn.?

Und hör auf damit, jeden Quatsch abkürzen zu wollen!!!

Gruß,
Magnetus

Autor: Unkrautmonster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja moment das mit dem Pulldown Widerstand versteh ich grad auch nicht 
mehr, war wohl ne reine verzweiflungs sache, denn der Empfänger gibt ja 
sowieso neben den 3V auch die 0V aus.. :P
War'n hilfloser verbesserungs versuch peinlich xD

Das mit den 3,5V hab ich von hier: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tu...

Autor: Unkrautmonster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Tag nach meinem Blackout hab ich's nun geschafft, und nebenbei 
gelernt mit Interrupts zu arbeiten :D

Trotzdem Danke an euch ;)

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.