Hallo, kenne mich mit den normalen ATmegas einigermaßen aus. Nun möchte ich in einem neuen Projekt einen ATxmega einsetzen. Da das Neuland für mich ist bräuchte ich eure Hilfe. Habe eine Skizze gezeichnet was ich gerne mit dem ATxmega umsetzen möchte. Quadrature Decoder, Event System und jeweils zwei 16 Bit Zähler hintereinander die dann einen 32 Bit Zähler ergeben. Das ganze sollte die CPU wenig belasten. Die beiden zum Einsatz kommenden optischen Inkrementalencoder prellen nicht. Des weiteren die Register Einstellungen. Denke das wird kompliziert. Kennt jemand hierzu so eine Art „ATxmega wizard“ für die Register? Es braucht kein C-Code rauszukommen. Daß als Ergebnis die richtige Einstellung für die Register angezeigt wir, würde genügen. Kann englische Datenblätter lesen und verstehen doch eine gute deutsche Literatur ist mir alle mal lieber. Kennt jemand eine gute ATxmega Beschreibung auf deutsch? Schaut mal bitte drüber und sagt mir ob das so gehen kann. Danke Gruß Mathias
Ist das eine Technikerarbeit / Projektarbeit?? Ich kenne den Xmega gut, habe aber mit dem Quadraturencoder noch nix gemacht. Jedoch wird (hoffentlich) niemand deine "Hausaufgabe" für dich machen! Also sich in das Eventsystem und die Timer/Counter einzulesen und die Registerwerte zu bestimmen, solltest du selbst hinbekommen... Theoretisch könntest du es mit ASF vom A.Studio probieren. Mit dem ASF sehe ich aber den Wald vor lauter Bäumen (zig Dateien in zig Unterordnern)dann nicht mehr, deshalb programmiere ich die Register selbst. PS: Die Register programmiert man am besten mit den vordefinierten Konstanten - in der entsprechenden iox.h
Mathias H. schrieb: > Das ganze sollte die CPU wenig belasten. Die beiden zum Einsatz > kommenden optischen Inkrementalencoder prellen nicht. Das kommt natürlich auf die (bisher geheime) maximale Zählrate an - ich gehe mal davon aus, dass es sich bei 32 bit Zählern um Positionserfassung handelt und nicht um manuelle Eingaben. Bei hohen Zählraten (=Verfahrgeschwindigkeiten) ist es nicht sinnvoll oder unmöglich, die Dekodierung als Software zwischen I/O-Pin und Zähler zu realisieren, dann brauchtst du einen Prozessor mit eingebautem Dekoder oder du schaltest einen solchen in Logik davor. Bei 1 µ Auflösung und 1 m/s Geschwindigkeit ergeben sich schon 1 MHz, das sind beides keine ungewöhnlichen Werte. 2 Mio Events pro Sekunde sind aber schon recht anspruchsvoll. Georg
Habe im Übersichtsplan 3000 Impulse pro Sek. eingetragen. Also pro A/B Signal. Mehr wird's wahrscheinlich nicht werden. Ein recht verträglicher Wert. Zunächst werden zwei WPS-1250-MK46 eingesetzt. http://www.micro-epsilon.com/download/products/_displacement/dax--wireSENSOR-MK46--en-us.html Vielleicht später ersetzt durch welche mit höherer Auflösung. Und nein es ist keine Hausaufgabe, bin dafür ein bißchen zu alt ;-) Mathias
Mir geht es in erster Linie darum, ob das wie in der Skizze gezeichnet so funktionieren wird. Oder wie muß ich es ändern, daß es funktioniert. Wenn bestätigt wird, daß es so klappt werde ich zuerst eine Platine machen. Während die Platine gefertigt wird habe ich Zeit mich mit den Registern und anderen Softwaredingen zu befassen. Erst wenn die Platine fertig bestückt vor mir liegt beginnt der praktische Teil der Software. Mathias
>Erst wenn die Platine fertig bestückt vor mir liegt beginnt der >praktische Teil der Software. FAIL. Nehm ein Evaluationsboard (xplain oder was auch immer) schließ da dein Zeug an und programmier die Software. Wenn alles läuft, baust du eine Platine (Prototype)... Gruß J
Hallo, das ganze in Kurzform. Ist es möglich zwei Inkrementalencoder an einen ATxmega64A3 anzuschließen und die Pulse mit jeweils zwei kakadierten Zählern (32bit) zu zählen? Alles andere ist erstmal nicht so wichtig. http://www.atmel.com/devices/ATXMEGA64A3.aspx?tab=documents Danke
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.