Welcher Arduino? welche Spannungen? welche Flexibilität?

Hallo
Ich bin ganz neu hier, und habe, -auch wenn die Frage schon gestellt wurde-,
Erweiterungen dazu.

Mir geht es darum, als Anfänger der Arduino-Mikroprozessoren um Folgendes:

  1. Ich möchte die Arduinotechnik als Alternative zu den PICAXEen die ich schon zigfach programmierte, kennen lernen. Man weis, dass die PICAXE zwar viele viele Steuerungsaufgaben erledigen kann, aber dann bei speziellen Dingen wie Funktechnik, oder Displayansteuerungen so ihre Rechenprobleme hat. Woran das liegt brauche ich wohl hier keinem näher erklären.

  2. Aber ich möchte auch viele schon vergangene Projekte hardwaremäßig ab sofort so aufbereiten wie ich das bei der PICAXE gewöhnt war. Dazu zählt das Programmieren des eingesetzten Chips den ich dann in einer externen Schaltung mit einbinde. Der Arduino dient mir also nur für die nötige Programmierung eines µP.

  3. Ich habe mir viele Arduinoseiten -auch Videoclips- angesehen, aber immer verwenden die Leute den Arduino als Endschaltung, und das ist mir zu monströs. Warum ich niemand fand der nur den mit dem in Arduino programmierten Chip etwas ansteuert, weis ich nicht. Ich mache Schaltungen die ein Minimum an Größe haben, und auch ab 1,8V DC laufen. Das alles macht die PICAXE mit links. Aber wie gesagt, man kommt bei speziellen Aufgaben wie auch mit Displayansteuerungen usw. sehr schnell an die Grenzen des Machbaren.

So, wenn ich jetzt den Arduino UNO R3 nehme, habe ich dann alles, um externe Chips zu programmieren, oder muss ich noch weitere Zusatzplatinen dazu kaufen usw? Bei der PICAXE liebe ich die Einfachheit und die extrem wenigen Zusätze die man benötigt um eine Steuerung auf zu bauen. Das wird wohl bei Arduino´s nicht so sein? Und es wäre für mich sehr hilfreich, wenn mir jemand sagen könnte was ich alles außer dem UNO noch brauche, um das gleiche Ergebnis wie mit der PICAXE bspw. dem 20M2 oder der 28M2 zu erhalten. Das man mit dem Arduino viel viel mehr machen kann, ist mir bewusst, aber mir geht es um die exakte Flexibilität in Sachen Miniaturhardware.
Meine µP Platinen sind immer max. 3x4 cm groß. Danach folgen noch andere Steuerungsplatinen usw.

Gruß Petr

Es ist leicht möglich einen nackten Atmega mit der Arduino Software zu programmieren:

Braucht nur einen USB/TTL Adapter.

Wobei man sogar ein UNO Board als Programmierer verwenden kann:

Der UNO war eigentlich auch mal eher als Prototyp Board gedacht. Wenn du was handlicheres willst, aber eine fertige Platine schau dir den ProMini an. Gleicher Prozessor. Anderes Format.

Ich kenne den Picaxe nicht und kann daher keinen Vergleich anstellen.
Du kannst aber für deine Projekte auch die kleinere Version des Arduino "Pro Mini" nehmen, der eine ähnliche Technik bietet. Oder due verwendest den Atmega328-Standallone, der nur den 28 pol. Chip und ein paar wenige Bauteile benötigt.
Damit kannst du auch einen vollwertigen Arduino UNO aufbauen, nur mit den Bauteilen die du benötigst.
Bei diesen Versionen benötigst du noch einen USB-Serial-Adapter um diese zu flashen. Aber die Ports sind zum UNO identisch.
Die Spannungen der Atmega betragen 5 Volt/16MHz oder 3,3 Volt/8MHz
Jo....Serenifly waf schneller. :wink:

Wenn's noch kleiner werden soll, nehm die ATtiny's, die laufen auch ab 1,8V (4 MHz) und die kannst du auch mit dem UNO programmieren

Du muß bedenken daß ein Arduino anfänglich für Studenten einer esperimentellen Interaktiven Designstudiengangs an der Universität von Ivrea konzipiert wurde, also Leute die Ideen hatten was zu steuern aber kein Elektronik oder Programmierstudio hinter sich hatten oder machen sollten.

Da das Projekt dann Open source veröffentlicht wurde erkannten viele Bastler (Maker) daß Arduino das richtige für sie war um ihre Projekte zu realisieren.

Um einen nakten µC programmieren zu kömmen, muß man sich ziemlich mit Elektronik und mit Programmierung bzw mit der interner Architektur des µC auskennen.

Bei Arduino wird vieles versteckt von der IDE automatisch gemacht sodaß ein Pin auf HIGH zu setzen eigentlich nur 2 Funktionen braucht von denen man nicht wissen muß wie sie funktionieren:

pinMode(Pin, OUPUT);
digitalWrite(Pin, HIGH);

Das fuktioniert in einem gewissen Rahmen gut. Wenn dann anspruchsvollere Projekte in Angriff genommen werden hat man meist genug erfahrung um auch gewisse Dinge auf Hardwareebene bzw Registerebene zu machen bzw Beispiele zu finden wie andere das realisiert haben.

Eines der leistungsfähigsten Elemente von Arduino ist die Comunity. Viel geben ihr Wissen weiter.

Grüße Uwe

ardubu:
Wenn's noch kleiner werden soll, nehm die ATtiny's, die laufen auch ab 1,8V (4 MHz) und die kannst du auch mit dem UNO programmieren

Auch der ATMega328 läuft ab 1,8V@4MHz.

Serenifly:
Der UNO war eigentlich auch mal eher als Prototyp Board gedacht. Wenn du was handlicheres willst, aber eine fertige Platine schau dir den ProMini an. Gleicher Prozessor. Anderes Format.

Es gibt die kleinen Arduino-Versionen. Sie lassen sich wie ein großer IC in eine Schaltung einbauen. Bestellt man Klone in Fernost, gibt es keinen preislichen Nachteil gegenüber dem nackten Controller-eher im Gegenteil. Man braucht also einen guten Grund, weshalb man die Bequemlichkeit des Arduinos aufgibt und auf den nackten Controller setzt.

Theseus:
Auch der ATMega328 läuft ab 1,8V@4MHz.

Man braucht also einen guten Grund, weshalb man die Bequemlichkeit des Arduinos aufgibt und auf den nackten Controller setzt.

Das mit der Spannung ist richtig, hatte ich im ersten Post übersehen.

Der Einsatz eines ProMini ist allerdings bequem. Ich bin aber in letzter Zeit aus zwei Gründen davon abgerückt.
Die Bauhöhe ist mit dem Atmega328 geringer, ich setze immer alles auf Fassung.
Der direkte Zugriff auf I2C-Ports ist beim preiswerten ProMini teilweise nur durch zusätzliche Kabel möglich.

Ich habe jetzt einige Projekte so gelöst. Da ich die Projekte meist auf Lochraster realisiere, ist der Aufwand für mich so durchaus ok.

Serenifly:
Es ist leicht möglich einen nackten Atmega mit der Arduino Software zu programmieren:

Danke, danke an alle guten Ratschläge, die ich so nicht erwartet hätte.
Das animiert nach mehr, und ich möchte noch folgendes dazu erwähnen, bzw. kommentieren:

a) auf der Seite

liest man, dass es nicht so einfach wäre mit dem Laden eines µP und auch, dass der Bootloadvorgang
unterschiedlich lange dauert. Bis zu 10 min usw. Das ist doch Schnee von gestern!
Wenn ich mit der PICAXE eine Schaltung aufbaue (digital und analog) habe ich das ruckzuck in
ein paar Minuten erledigt. Das Programm verbleibt in dieser und ich kann nach dem Testen und
Ausmerzen von Programmfehlern, den Chip sofort in eine Steuerung einsetzen. Das geht ohne
viel Hardwareaufwand.

b) wenn ich dann sehe, wieviele Strukturen es für den Arduino gibt, bin ich immer noch überfordert
und wenn man das liest, hat man keine Lust, auch nur testweise ein Board zu kaufen.

Was ist denn da los, dass das solange geht!? mit dem Bootloaden in einen AVR?
Bei der Picaxe dauert es nie länger als 1min!

Aber ich möchte noch nicht die Flinte ins Korn werfen, da es für den Ardunio sehr viele Adaptionen
und auch die bessere Steuerungsmöglichkeit für Schrittmotoren gibt usw. usw.

Wer ist in der Lage mir ein System auf zu zeigen, mit dem man auf einem Steckboard
ein ATMEL programmiert. Ich benötige max. 16 digitale E/A und 8 analoge E/A.
Anfangs würde aber auch die Hälfte der E/A´s ausreichen.

Also bräuchte man:

  1. Ein Steckboard
  2. Ein Arduino für die Steuerung vom 2 Schrittmotoren
  3. Einen USB Bootladeradapter?
  4. Einen AVR Chip (ATMEL)

oder wie ist es richtig?

Wo steht dass das 10 Minuten dauert? Vielleicht das aufbauen wenn man es das erste mal macht. Aber nicht der Upload-Vorgang!

Auf den Bootloader kannst du auch verzichten wenn du ein Programmiergerät hast oder den UNO als Programmer nimmst! Der Bootloader ist dazu dass man den Arduino einfach mit einem USB/TTL Konverter programmieren kann (wie er auf beim UNO auf der Platine ist). Das ist aber nicht zwangsläufig nötig. Gerade wenn es gewöhnt bist µC sowieso direkt zu brennen ist das vielleicht zu viel des Komforts für dich. Ohne Bootloader braucht man einen UNO als Programmer oder ein richtiges AVR Programmiergerät.

ProMini + USB/TTL Adapter ist wie gesagt eine Option. Da ist der Bootloader (meistens) schon drauf. Man braucht nur einen externen Adapter weil der Konverter da anders als beim UNO nicht auf der Platine ist. Der ProMini geht auch auf ein Breadboard:

(das rechts ist der USB Adapter)

Der ProMini ist ein vollwertiges Arduino Board in kleinem Format, aber ohne den onboard USB Anschluss.

  1. Ein Arduino für die Steuerung vom 2 Schrittmotoren

Ein UNO ist nicht verkehrt als Vergleich und vor allem als Programmer. Aber die eigentliche Steuerung soll doch auf dem eigenständigen Atmega erfolgen.

Und in deiner Aufzählung zur Steuerung der Schrittmotoren benötigst du noch den richtigen Treiber (Platine).

Die "kleinen" Atmega328 haben allerdings nicht genügend Ports. Da musst du zu Anfang mit der besagten Hälfte auskommen.

Und wenn du flexibel bleiben möchtest, dann fang mit einem UNO an und erweitere dein Equipment um die notwendigen Bausteine wie z.B. USBasp zum Flashen des Bootloaders, USB-Serial-Wandler (USB/TTL) zum Flashen des Programmes. Dann kannst du alle Varianten nutzen. Steckboard oder eigene Lochrasterplatine mit Projektaufbau.

Alle nötigen Bauteile und Module gibt es preiswert in China oder wenn es schnell gehen sol auch bei ausgewählten ebay-Händlern in DL.

Edit:
Von 10 Min. zum Brennen habe ich bisher auch noch nichts gelesen. Der Bootloader dauert ca. 10 sek. Das Flashen des Programms ist von der Länge abhängig aber dauert auch nicht länger als 1 Min. inkl. des Kompilierens.

HotSystems:
Edit:
Von 10 Min. zum Brennen habe ich bisher auch noch nichts gelesen. Der Bootloader dauert ca. 10 sek. Das Flashen des Programms ist von der Länge abhängig aber dauert auch nicht länger als 1 Min. inkl. des Kompilierens.

Hallo!
Ich bin überwältigt von der Hilfe hier und bedanke mich bei den Postern rundum.

Leider bin ich noch etwas begriffstutzig, und sehe noch keinen Horizont.
Was die Bootloaderzeit betrifft, das habe ich hier im allerletzten Absatz
gelesen, und auch ggf. falsch übersetzt!?
https://www.arduino.cc/en/Main/Standalone

Diese Seite bezieht sich doch auf mein Vorhaben

oder nicht!?

"on occassion". Also ab und zu. Und das ist nur um den Bootloader selbst zu brennen. Das macht man normalerweise einmal und dann ist er drauf.

Du musst wie gesagt zwei Sachen unterscheiden:
1.) Bootloader + USB/TTL Adapter wie beim Standard UNO Board
2.) Kein Bootloader und Programmiergerät (oder UNO also Programmer)

Und bitte nicht von anderen Threads hier im Forum irritieren lassen.

Das "Brennen" des Bootloaders und das "Flashen" der Software ist mit richtiger Hardware und richtig aufgebautem Atmega-Board problemlos und einfach möglich.

Und wie Serenifly schon geschrieben hat, reicht dazu (Bootloader und Sketch draufspielen) ein UNO aus.
Alles andere ist nur Komfort und damit bequemer.

HotSystems:
Und wenn du flexibel bleiben möchtest, dann fang mit einem UNO an und erweitere dein Equipment um die notwendigen Bausteine wie z.B. USBasp zum Flashen des Bootloaders, USB-Serial-Wandler (USB/TTL) zum Flashen des Programmes. Dann kannst du alle Varianten nutzen. Steckboard oder eigene Lochrasterplatine mit Projektaufbau.

Das wäre auch mein Rat. Der UNO sorgt schnell für Erfolgserlebnisse. Auch ist er sehr praktisch zur Fehlersuche. Du hast da eine Umgebung, wo der Controller garantiert funktioniert. Nach den ersten Schritten mit dem UNO ist vieles bestimmt klarer und kannst dich gezielter an den Selbstbau machen. Du kannst Informationen aus dem Netz besser einschätzen, ob sie dir nutzen oder doch arg merkwürdig sind.

hi,

ich will's mal ein bißchen zusammenfassen und klarstellen:

mir einem arduino hast Du ein board zum entwickeln und testen. sobald alles funkt, kommen auch bei mir eigene platinen und nackte AVRs zum einsatz. an den arduino kannst Du halt schneller und bequemer mal was anstecken als auf dem breadboard.

ein arduino hat einen bootloader, damit Du ihn seriell programmieren kannst. es geht aber auch mit einem programmer (wird mit USB am PC angesteckt) über den 6-poligen stecker auf dem arduino. ohne bootloader startet er schneller und hat ein wenig mehr speicherplatz. das mit dem bootloader und seriellem adapter gewöhnst Du Dir mit nackten atmels bald ab. das programmieren geht bei beiden möglichkeiten in einigen sekunden.

meine meinung: es gibt programmer um ein paar euro, aber ich bin nur mit dem originalen atmel MKII glücklich geworden. sicher ansichtssache.

als entwicklungsumgebung gibt es die IDE von arduino. darin programmierst Du in der "arduino-sprache" oder in C (teilweise ++) oder bunt gemischt. arduino-sprache ist nur eine vereinfachung. in den libraries wird das sowieso wieder in den funktionen in C umgesetzt.

außerdem gibt es noch das atmel studio (visual studio mit atmel-aufsatz). dazu gibt es als weiteren aufsatz die arduino-sprache für das atmel studio. ohne halt wiederum nur C.

Ich benötige max. 16 digitale E/A und 8 analoge E/A.

ein UNO hat 14 digitale I/Os und 6 analoge inputs, die man auch als digitale I/Os nutzen kann. 6 von den digitalen kann man für PWM nehmen.
er hat KEINE analogen outputs. da sind D/A-wandler angesagt.

man kann aber so ziemlich alle atmel-chips verwenden. der 1280 ist zwar groß, aber hat halt auch mehr ein/ausgänge. der 2560 ist klein, aber kaum zu löten.

gruß stefan

PS.: willkommen im forum...

Arduino ist C++, nicht C. Auch wenn du viele C++ Features nicht nutzen wirst, und es vordergründig oft aussieht wie C, ist es trotzdem C++. Ein paar low level Treiber (wie I2C) sind in C programmiert. Aber das ist die Ausnahme.

Die Arduino Features sind auch nicht eine eigene Sprache, sondern eine API die in C++ geschrieben ist.

Als IDE kommt auch noch Visual Studio mit dem Visual Micro Plugin in Frage. Praktisch wenn man es sowieso installiert hat. Dann braucht man nicht noch zusätzlich Atmel Studio.

Aber mal gut die Hardware Optionen zusammenzufassen. Ich dachte da wäre ein etwas größerer Überblick vorhanden und dass es nur an Details mangelt. Da lag ich falsch :slight_smile:

Ist wahrscheinlich wirklich das Beste mit dem UNO anzufangen. Auf andere Boards oder Controller kann man dann immer noch wechseln. Der Atmega1280 ist wie erwähnt ein guter Zwischenschritt zwischen Atmega328 und Atmega2560. Wobei er sogar mehr RAM als letzterer hat.

hi,

auch wenn's nicht wichtig (für mich) ist:

The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it's based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to.

also ein durcheinander. C ?, C++?, AVR C ?

arduino-sprache hab' ich nicht umsonst in anführungszeichen geschrieben, auch wenn das die köpfe von arduino anders sehen:

You can tell your Arduino what to do by writing code in the Arduino programming language

und ich zitiere jake: wennsch..

gruß stefan

Ja. Aber es gibt Code der in C funktioniert aber in C++ nicht erlaubt ist. z.B. muss man void Zeiger in C bei einer Zuweisung nicht casten. Ein paar Sachen funktionieren in beiden Sprachen anders obwohl der Code gleich aussieht.
Und auch Code der scheinbar reines C ist ist in C++ im Hintergrund anders (Stichwort "name mangling" und "extern C"). Aber das ist off topic...

Anführungszeichen hatte ich übersehen :frowning:

jedenfalls ist es für den TO schön, zu sehen, wie freundlich die leute hier miteinander umgehen.

liebe grüße, stefan

wie gesagt, ich bin überwältigt, welches know-how hier herrscht, und wie man sich bemüht
Anfängern in den Sattel zu helfen. G R O S S E N R E S P E K T!

Nun, ich werde das nochmals durchlesen, damit ich alles auf die Reihe bekomme.
Dann werde ich mal ein Hardware-Schema Skizzieren und die Bausteine darin
aufführen. Danach könnt ihr wieder über mich herfallen, wenn ich das falsch
gemacht habe. let's do it

thanks, thanks for all....