Hallo, ich möchte auf einem AtXmega128A1 unter anderem einen Kapazitiven Sensor aufbauen. Hierbei soll zwischen zwei Zuständen unterschieden werden, die einzelnen Kapazitätswerte sind sind nicht festgelegt, jedoch gilt:
Um die Unterscheidung zu machen, wollte ich die Kapazität mit der Rechteckspannung Uout versorgen. Dies geschieht über einen Widerstand, sodass die resultierende Spannung am Kondensator dem Verlauf von Uin entspricht. Die relative Kapazität kann nun bestimmt werden, indem man die Zeit t bis zur Schneidung der Vergleichsspannung misst. Es gilt dann hier:
Nun zu meiner Frage: Der XMega verfügt über ein Eventsystem, Timer/Counter und Analog Komparatoren. Welche Möglichkeiten habe ich, um den 'Zeitwert' möglichst Rechenzeit sparend mithilfe der vorhandenen Hardware zu Ermitteln? Meine erste Idee war folgende: *Generiere Signal Uout mit Timer A *Vergleiche Uin und Uref mit AnalogComp und erzeuge Event 0 *Nutze Event 0 um aktuellen Zählerwert von Timer A zu Capturen *Weiterverarbeitung in SW Leider kriege ich es nicht auf die Reihe, mit einem Timer zugleich ein Signal zu generieren und Timerwerte aufzuzeichnen. Welche Möglichkeiten gäbe es beim XMega noch? Gruß Matthias