Welcher AT(X)mega für mich

Barracuda

Neues Mitglied
31. Aug. 2011
4
0
0
32
Sprachen
Hallo zusammen

Ich habe schon ein paar Projekte mit dem ATmega32 und dem ATmega8 realisiert, diese jedoch immer auf einfacher Basis. Als Beispiel:Vor einem Jahr habe ich eine SMS-Fernsteuerung für eine Heizung gebaut und programmiert.

Jetzt solls eine GPS-Position Abfrage werden (also ein Mikrocontroller fragt von einem GPS-Modul (über UART) die Positionsdaten ab und sendet sie per SMS an mich weiter).

Die Kommunikation zwischen MC und Modulen sollte kein grösseres Problem darstellen, da ich damit wie oben beschrieben schon Erfahrungen sammeln konnte, allerdings brauche ich einen MC der mindestens 3 UARTs bietet. (und zwar am liebsten Hardware)

Mir ist da generell die XMEGA Baureihe, und besonders der ATXMEGA 192A3 ins Auge gestochen. Allerdings plagen mich da einige Fragen:

Wer kennt sich aus mit BASCOM auf den ATXMEGAs? Kann ich da wie gehabt programmieren oder ist die Unterstützung für die XMEG-Serie noch nicht vorhanden?

Was muss ich generell mit den XMEGAs beachten? Oder sind sie eigentlich wie die ATMEGAs (z.B. der ATmega 32) nur grösser, schneller und mit mehr I/O-Ports (so ganz grob gesagt;))?

Ich hoffe jemand weis ein paar Antworten für mich:)

Liebe Grüsse

marius
 
Hallo Marius!

Willkommen im AVR-PRAXiS-Forum. :ciao:

Leider kann ich dir in Sachen Bascom nicht weiterhelfen, da ich kein Bascom einsetze. Vielleicht helfen dir aber folgende Hinweise schon etwas weiter.

Wenn du drei USARTs benötigst, könntest du dir einmal die ATmega640/1280/2560 anschauen, die haben vier Stück davon. Eine Übersicht der Features findest du in der AVR-PRAXiS-Database.

ATxmega sind komplexer als ATmegas, dementsprechend auch etwas schwerer zu programmieren, es kann allerdings sein, dass du gar nicht soviel davon merkst, wenn du in Bascom programmierst. XmegaA hat jede Menge USARTs. Wenn du dich mit ATmega bereits auskennst, würde ich möglichst dabei bleiben, es sei denn du benötigst noch weitere Features, die nur der Xmega hat. (Solltest du dich für einen Xmega entscheiden, ist für dich vielleicht unser Xmega-A1-USB Mikrocontrollermodul mit ATxmega128A1 interessant.)

Grüße,
Dirk
 
Hi Dirk!

Vielen Dank für deine Antwort! Ich habe mir jetzt das Datenblatt des 2560 angeschaut - wow!
Der hat ja alles^^

Ich hab jetzt nur noch 3 Fragen dazu:

1.) Das sind wirkliche, "echte" Hardware-UARTS, also so wie der beim ATmega32?

2.) Da steht: Twelve PWM Channels with Programmable Resolution from 2to 16 Bits
und ein bisschen obendrann: Four 8-bit PWM Channels

Hab ich bei dem Teil also insgesammt 16 (???) Hardware-PWM's ?:D:D:D

3.) TQFP-64 lässt sich gerade noch so mit der Methode "Zinn auf alle Pins und dann mit entlötlitze entfernen" löten, oder?

Liebe Grüsse

Marius
 
Hi Marius,

Ich hab jetzt nur noch 3 Fragen dazu:

1.) Das sind wirkliche, "echte" Hardware-UARTS, also so wie der beim ATmega32?

ja.

2.) Da steht: Twelve PWM Channels with Programmable Resolution from 2to 16 Bits
und ein bisschen obendrann: Four 8-bit PWM Channels

Hab ich bei dem Teil also insgesammt 16 (???) Hardware-PWM's ?:D:D:D

Alle Mikrocontroller aus der Familie (siehe Datenblatt) haben 4 8bit PWM Channels.

ATmega1281/2561 haben 6 PWM-Channels mit 2 bis 16bit Auflösung und
ATmega640/1280/2560 haben 12 PWM-Channels mit 2 bis 16bit Auflösung.

3.) TQFP-64 lässt sich gerade noch so mit der Methode "Zinn auf alle Pins und dann mit entlötlitze entfernen" löten, oder?

Eventuell möglich, es kommt auch ein bisschen auf die Leiterkarte drauf an. Jedenfalls bin ich hier kein Experte ;)

Die Mikrocontroller mit vielen Peripheriemodulen (viel PWM Channels und viel USARTs) sind allerdings im TQFP100 Gehäuse. Bei den Mikrocontrollern im TQFP64 Gehäuse fehlen entsprechend Module.

Der "größte" Mikrocontroller ist der ATmega2560 (TQFP100). (Ab Mitte des Monats haben wir ein neues Mikrocontrollermodul mit ATmega2560 in unserem Onlineshop, ähnlich des Xmega-A1-USB Mikrocontrollermoduls, vielleicht ist das interessant für dich.)

Grüße,
Dirk
 
Ab Mitte des Monats haben wir ein neues Mikrocontrollermodul mit ATmega2560 in unserem Onlineshop, ähnlich des Xmega-A1-USB Mikrocontrollermoduls, vielleicht ist das interessant für dich.
Ui Ui Ui Ui ... :cool:
Also sozusagen ein aufgebohrtes Mega128-Modul ? ... :cool: :cool:
Das würde ja mit 16MHz richtig gut zu meiner Bascom-Vollversion passen ;)

Ich hab zwar schon öfters im Shop gestöbert aber noch nicht so den Durchbruch geschafft.

EDIT: ... ich hab mal gestöbert ...
Mega2560-USB Mikrocontrollermodul - Demnächst verfügbar
da gibts schon die ersten Infos ;)

Gruß
Dino
 
Hi Dirk

Bitte glaub mir: ich geb mir nicht extra Mühe dich nicht zu verstehen, aber ich frag nochmal ums klar zu haben:

Alle Mikrocontroller aus der Familie (siehe Datenblatt) haben 4 8bit PWM Channels.

ATmega1281/2561 haben 6 PWM-Channels mit 2 bis 16bit Auflösung und
ATmega640/1280/2560 haben 12 PWM-Channels mit 2 bis 16bit Auflösung.

Heist das: ATmega1281/2561 haben INSGESAMMT 10 PWM-Channels (also ich könnte z.B. 10 Lüfter unabhängig voneinander steuern)
und
ATmega640/1280/2560 haben 12 PWM-Channels mit 2 bis 16bit Auflösung haben ingesammt 16 unabhängige PWMs, oder wie?

Sorry, will da nur sicher sein;):D
 
Hi,

Heist das: ATmega1281/2561 haben INSGESAMMT 10 PWM-Channels (also ich könnte z.B. 10 Lüfter unabhängig voneinander steuern)
Timer0 => OC0A, OC0B => 2 PWM-Kanäle (8Bit)
Timer1 => OC1A, OC1B, OC1C => 3 PWM-Kanäle (16Bit)
Timer2 => OC2A => 1 PWM-Kanal (8Bit)
Timer3 => OC3A, OC3B, OC3C => 3 PWM-Kanäle (16Bit)

OC0A = OC1C = PB7 (Pin17)

Also maximal 8 gleichzeitig mögliche PWM-Kanäle.

und
ATmega640/1280/2560 haben 12 PWM-Channels mit 2 bis 16bit Auflösung haben ingesammt 16 unabhängige PWMs, oder wie?
Timer0 => OC0A, OC0B => 2 PWM-Kanäle (8Bit)
Timer1 => OC1A, OC1B, OC1C => 3 PWM-Kanäle (16Bit)
Timer2 => OC2A, OC2B => 2 PWM-Kanäle (8Bit)
Timer3 => OC3A, OC3B, OC3C => 3 PWM-Kanäle (16Bit)
Timer4 => OC4A, OC4B, OC4C => 3 PWM-Kanäle (16Bit)
Timer5 => OC5A, OC5B, OC5C => 3 PWM-Kanäle (16Bit)

Demnach haben diese Atmels also 12x max. 16Bit PWM-Kanäle und zusätzlich noch 4x max. 8Bit PWM-Kanäle

Wobei ... OC0A = OC1C = PB7 (Pin26) ... entweder der Kanal OC0A oder OC1C verwendet werden kann.
Also insgesamt maximal 15 Kanäle wenn ich mich nicht verrechnet habe.

Alle OCxy sind mögliche PWM-Ausgänge (OutputCompare). x ist der zugehörige Timer und y ist der Compare-Kanal des Timers.

Du kannst dich also voll austoben und dich schön von der Hardware unterstützen lassen.

Ich hab mir für die Antwort die Gehäusezeichnungen mit Pin-Namen angesehen.

Gruß
Dino
 
Hi Dino

Vielen Dank für deine ausführliche Antwort und für die Erklärung wie du dazu gekommen bist, jetzt kann ich das nächste Mal versuchen selbst zur Lösung zu kommen;)

Liebe Grüsse

Marius
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)