Hallo, da ich nun schon seit einiger Zeit Microchip-Mikrocontroller programmiere, wollte ich auch einmal diese teilweise hochgelobte Objekt ATMEl von Arduino probieren - nun stellt sich mir aber gleich am Anfang eine entscheidende Frage: was benötige ich? Ja ich habe hier (http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment) schon gelesen, was ich theoretisch benötigte, werde daraus aber nicht besonders schlau? Bei Microchip sieht die Sache ja so aus: 1. Programmer/Debugger PICKit X 2. Demoboard PICDEM XXX 3. Mikrocontroller Einstecken, anstecken, programmieren, rausholen, in eigene Schaltung integrieren. Wie sieht das bei Arduino aus? Benötige ich einfach das UNO R3 Rev3 Development Board? Oder auch einen Programmer, wie diesen hier: https://www.fasttech.com/products/1023000? Mit welcher Kombination kann ich den µC programmieren, auf dem Board testen und anschließend ausbauen und in meine Schaltung integrieren? Wäre über Antworten sehr dankbar! LG Andreas
Du benötigst: - ein Arduino-Board (oder ein kompatibles) - die Arduino Entwicklungsumgebung - einen PC mit Java Und der µC bleibt normalerweise auf seinem Board. Muss nicht, aber so ist es gedacht. Dominik S. schrieb: > Oh man... was ist bloß mit der Welt passiert? o.O "Jo mei, so san's hoid, de junga Leid", wie der Bajuware zu sagen pflegt. ;-)
Andreas schrieb: > Wäre über Antworten sehr dankbar! Die Seite "Getting Started w/ Arduino on Windows" kennst du? Da ist alles genau beschrieben. http://arduino.cc/en/Guide/Windows
@ Konrad: danke für die Antwort! Genau das möchte ich aber eigentlich nicht, da ich mir ein Board selber bauen werde und nicht auf die Dimensionierung des Herstellers angewiesen sein möchte bzw. nicht alle Pins verwenden werde z.B. Bei Microchip funktioniert das wunderbar muss ich sagen! Wofür gibt es dann Dev. Boards und explizit ausgewiesene Programmer/Debugger, wenn ich nur die 3 von dir angesprochenen Sachen benötige? Heißt das z.B. dass ich nur dieses Board benötige: https://www.fasttech.com/products/1001700 auf dieses Teil verzichten kann: https://www.fasttech.com/products/1023000 Dann meinen µC programmiere, abstecke und dann in meiner Schaltung ganz normal verwenden kann? @ Wolfgang: Danke für den Link! Ich war zwar auf der Seite, aber nur im hardware-Bereich.
Sieht für mich aus, als fehlt dir eine Information: Arduino ist ein Projekt, die µC-Programmierung einfacher zu machen, mit all seinen Vor- und Nachteilen. Du lässt dich auf die vordefinierte Hardware ein, dafür bekommst du eine Entwicklungsumgebung mit einfacher Programmiermöglichkeit, seriellem Bootloader auf den Mikrocontrollern etc. Du kannst natürlich genauso einen nackten Atmel nehmen, da per ISP (dafür der Programmer oben) deine Software reinschieben, die du traditionell mit dem Texteditor geschrieben und per Makefile kompiliert hast. Das hat dann mit Arduino aber nichts zu tun, auch wenn der Mikrocontroller dahinter evtl. das gleiche Produkt ist.
Note: this is not the same as the ICSP connector used on AVR controllers that do not have a JTAG interface
hm ok danke nochmal für die Infos - ich habe nur so viele Vor-und Nachteile Beiträge bezgl. Microchip und ATMEL gelesen, dass ich mir gedacht habe, es sei vielleicht gut zu wissen, wie der andere µC funktioniert. Aber komplett von der Hardware abhängig zu sein, ist ein zu großer Preis, den ich nicht zahlen will. Im Grunde genommen müsste ich mir einfach das UNO Board kaufen und folgende Schaltung nachbilden: http://arduino.cc/en/Tutorial/ArduinoISP soweit ich das verstanden habe?
Oder du schreibst einfach direkt Code für den Atmel, und lässt das ganze Arduino-Framework weg. Tut auch wunderbar, genau so wurde es von vielen Leuten all die Jahre gemacht.
Andreas schrieb: > Aber komplett von der Hardware abhängig zu sein, ist ein > zu großer Preis, den ich nicht zahlen will. Bist Du nicht. Eigentlich ist alles wie bei Microchip. Es gibt die Hersteller IDE: MPLAB IDE -> Atmel Studio. Es gibt die verschiedenen Klassen von Mikrocontrollern: PIC12, PIC16 .. PIC32 -> ATtiny, AT(x)mega .. AT32. Es gibt die Programmierer der Hersteller: ICD3, Pickit -> AVROne!, Dragon und die verschiedensten Clones davon. Die Eval Boards der Hersteller: PicDemo -> STKxxx, sowie die der Fremdanbieter. Und dann kommt Arduino. Arduino ist nur eine Abstraktionsebene für die Programmierung von Mikrocontrollern und setzt eben auf den Arduino Boards auf. Die meisten Bisherigen setzen dabei auf die Atmel AVR Controller. Das Due aber auf einen Atmel ARM. Die Arduino Hard- und Software ist aber Open Source und wurde unter Anderem auch für PIC32 portiert. http://chipkit.net/ > Im Grunde genommen müsste ich mir einfach das UNO Board kaufen und > folgende Schaltung nachbilden: > http://arduino.cc/en/Tutorial/ArduinoISP Da alle Schaltbilder offen liegen, kannst Du Dir auch ein Board nachbilden ohne eines zu kaufen. Das habe ich genau so gemacht, sowohl mit einem ATmega32U2 und als auch mit einem PIC32MX795F512L. Und Du kannst auch einen Schritt weiter gehen und Dein vorhandenes Board so in die Konfiguration der Arduino IDE eintragen, daß Du mit den Standard-API's darauf zugreifen kannst. Das habe ich mit einer Eigenentwicklung auf Basis eines ATxmega128A1U gemacht.
Andreas schrieb: > diese teilweise hochgelobte Objekt ATMEl von Arduino probieren Ach, von wem wird das hochgelobt? om Hersteller der Platinen? Gruss Harald
Hallo Andreas, eine weitere Möglichkeit ist ein aTeVaL (Atmel Evaluationsboard) ein zu setzen [1,], [2]. Ein Atmel AVR-ISP MkII Programmer ist gleich mit drauf. Du hättest dann die Möglichkeit verschiedene µC von Atmel [3] zu nutzen. *Z.B.* # 8 Pin: attiny13, attiny25, 45 und 85 # 20 Pin: attiny2313, attiny4313 # 28 Pin: atmega8, atmega48, atmega88, atmega168 und atmega328 # 40 Pin: atmega16, atmega32, atmega64, atmega324, atmega644 und atmega1284 Als Programmiersprache gibt es neben C als avr gcc mit dem Atmel Studio als IDE noch LunaAVR [4] als Entwicklungsumgebung. _Link_: [1] Shop http://www.ehajo.de/Neuheiten/aTeVaL?source=2&refertype=1&referid=15 [2] Handbuch http://www.ehajo.de/data/datenblatt_0000027_1.pdf [3] Atmel µC http://www.ehajo.de/Bauelemente/Aktiv/Mikrocontroller [4] LunaAVR http://avr.myluna.de/doku.php
Andreas schrieb: > da ich nun schon seit einiger Zeit Microchip-Mikrocontroller > programmiere Dann bleib dabei. Alles, was du mit einem AVR machen kannst, kannst du auch mit einem PIC machen. Wenn du schon die passenden Tools für PIC hast und dich in die Entwicklung eingearbeitet hast, gibt es keinen Grund das System zu wechseln. Schon gar nicht zu Arduino. mfg.
@ Moritz: Wie genau meinst du das? Wie kann ich den Code direkt auf den µC übertragen bzw. in welcher Sprache? Denn die PICs habe ich z.B. in Assembler oder C geschrieben. @ Till: Danke für die ganzen Infos, aber das AVR One kostet zirka 600€ und das Dragon schaut nicht so aus, als ob ich jeden möglichen Controller anschließen und programmieren könnte, oder sehe ich das falsch? Könntest Du mir vielleicht deine Entwicklung zukommen lassen? Bzw. eine, die mir das zur Verfügung stellt, was ich möchte? Nämlich ein einfaches, wie oben beschriebenes System: µC anstecken, Board an PC, mittels Software (?) programmieren, debuggen, abstecken, µC rausnehmen und verwenden. @ Harald: Es gibt einige Leute im Internet, die darauf schwören - was ich nicht nachvollziehen kann, da scheinbar sowohl die PICs als auch die ATms ihre Vor- und Nachteile besitzen ... @ Uwe: dein erster Link sieht vielversprechend aus! Dies ist aber dann ein Board, wie oben von mir beschrieben oder? Dann würde ich mir einfach dieses kaufen ... Wie würde ich es dann programmieren? Denn bei Microchip gibts ja eine extra Software dafür. lg Andreas
Andreas schrieb: > Nämlich ein einfaches, > wie oben beschriebenes System: µC anstecken, Board an PC, mittels > Software (?) programmieren, debuggen, abstecken, µC rausnehmen und > verwenden. Warum bist du eigentlich so wild drauf, deinen µC dauern hin und her zu stecken. Brenn dir doch einmal über ISP einen Bootloader in dein Zielsystem und dann kannst du munter über die Serielle Schnittstelle den Code einspielen.
Du kannst mit nem 12 EUR Chinesen-Arduino schon ganz gut starten, mehr braucht's im Idealfall nicht. Die Hardware ist gut und die Chinesen-Hardware preiswert. ABER: Die Arduino IDE ist noch schwacher und hemdsärmliger als MPLAB, die unterstützt dich praktisch in nix. Kein gescheites Syntax-Highlighting, kein Intellisense, keine Codevervollständigung. Ab und zu kommt ein übler Fehler: STK-500 Error out of sync (Wortlaut hier nicht exakt). Der kann dich, falls du den 328P bzw den vorgeschalteten 16U2 nicht flashen kannst, zum Wahnsinn treiben. Scheinbar ist der Bootlader nicht 100% wasserdicht. Arduino istn nettes Spielzeug wenn du eines der vielen Codebeispiele einladen und vielleicht noch ne handvoll Zeilen Code ändern willst. Aber zum ersthaften programmieren braucht's andere Werkzeuge, zB Atmel Studio (die ist mMn geradezu luxuriös). Ach ja noch was: Die 8-bit ATMegas halten nur 10.000 Flashzyklen aus. Möglich ist sogar, daß das nur ein statistischer Mittelwert ist. Mir ist mal einer beim Flashen einfach so kaputt gegegangen. Die PICs halten länger - und die Gefahr des sich-selbst-Aussperrens hast du auch nicht.
Andreas schrieb: > @ Till: Danke für die ganzen Infos, aber das AVR One kostet zirka 600€ > und das Dragon schaut nicht so aus, als ob ich jeden möglichen > Controller anschließen und programmieren könnte, oder sehe ich das > falsch? Das sind nur zwei Beispiele, Atmel hat ( wie Microchip auch ) noch ein paar mehr Programmer im Angebot. > Könntest Du mir vielleicht deine Entwicklung zukommen lassen? Bzw. eine, > die mir das zur Verfügung stellt, was ich möchte? Nämlich ein einfaches, > wie oben beschriebenes System: µC anstecken, Board an PC, mittels > Software (?) programmieren, debuggen, abstecken, µC rausnehmen und > verwenden. Wenn Du unbedingt diese Variante möchtest, dann bleibt Dir nur das Uno. Alle Anderen, auch meine genannten Boards, verwenden SMD. Wenn Du auch einen SMD Controller auf einem DIL-Board verwenden kannst, dann kommen auch die Arduino Mini, Micro, Nano oder z.B. der mattairtech MT-DB-U2 in Frage. Das ist aber nicht Arduino pur! Ein Arduino Board programmierst Du ohne Programmer, nur über die serielle Schnittstelle oder über USB, im System per Bootloader. Die Original Boards sind für die Verwendung mit den Shields und nur geringe externe Beschaltung vorgesehen, die Mini, Micro und Nano zum einstecken in Breadboards oder eigene Platinen. Trotzdem verbleiben die Controller immer im Zielsystem. Arduino ist keine IDE für jeden beliebigen Controller auf jedem Board. Wenn Du nicht Arduino Boards verwendest, mußt Du jeden Controller mit seiner Tool-Chain und seinem Board in der IDE konfigurieren. Ich glaube, solange Du nicht Deinen Entwicklungsprozess umstellst, bist Du mit einem Eval Board und einem Programmer besser bedient.
Hallo, ich habe auch 10 Jahre PIC programmiert, jeden der Sorte bis 32 Bit und vor allem die 8 Bitter mit Vorliebe für industrielle und Hobbyanwendungen. Dann auf ARM7 uimgestiegen, nun auf Cortex. Arduino seit 4 Wochen mit wachsender Begeisterung !!! 1. Arduino ist "Physical Computing", d.h. es gibt eine Unmenge Sensoren und Platinchen, die alles mögliche messen und steuern für jedes Platinchen hat irgendwer ne Library geschrieben, die dich davon entbildet manchmal saukomplzierten C++ Code zu schreiben, den nur noch der Experte versteht, der 10 Jahre Atmel gemacht hat und den GCC wie seine Westentasche kennt. (Arduino kann auch an einer Hauptschule eingesetzt werden ohne dass die damit intelektuell überfordert sind.) 2. Arduino ist durch die Kabelstecktechnik NICHT für gescheite Anwendungen gedacht, da du ewig Wackelkontakte hast. Da hilft FRITZING weiter, ein schönes grafisches Tool (ab Kindergarten aufwärts geeignet) welches aus deiner Strippentechnik für Shields ein Board machen kann was auf den Arduino gesteckt wird. 3. Arduino ist voll C++ kompatibel, d.h. wer mag kann auch RICHTIG programmieren, d.h. mit allen Features die der Atmel zu bieten hat. Richtige Lib einbinden und schon sind die internen Hardwarestrukturen der CPU erreichbar. Die sind nämlich alle im Arduino Verzeichnis ablegt. Dahinter werkelt der GCC Compiler. Die Italiener haben das schon ganz clever gemacht. Ich habe längst die grüne Popel Oberfläche durch einen komfortablen externen Editor mit intelligenter Eingabe (Notepad++) ersetzt und nutze die JAVA nur noch um mit Ctrl-R oder Cntrl-U zu kompilieren und abzuloaden. 4. Den PIC kannste singestep debuggen in MPLAB, Luxus quasi - Arduino NICHT! Und nach ein paar tausend Flash Zyxklen kannste den Arduino wegwerfen was bei dem Preis aber egal ist, den Nano kriegste ab 8 Euro, den Uno ab 12 Euro und den Mega ab 15 Euro beim freundlichen Chinamann. Ich sag dr auch gleich was nicht geht mit Arduino: Du bist weg von der Hardware der CPU, völlig egal was das für eine ist, ob ARM, PIC oder Atmel. Du siehst nur die API der Libraries, befasst dich mit deinem Projekt. Timer Register mit Capture und Compare, Interrupts, Power Modi, zb nen Infrarot TSOP Sensor auslesen .... geht nicht (so einfach)! Allerdings wird weiter entwickelt, inzwischen gibt es Funktionen wie attachInterrupt. Fazit: Arduino ist geil für schnelle Steuerungsaufgaben! Es gibt alles fix und fertig als niedliches Platinchen, grün, rot oder blau, kostet nicht mehr als 5 Euro das meiste. In eine Kiste einbauen, fertig! In 1 Stunde zimmer ich dir ne Rolladensteuerung zusammen oder eine Blumenbewässerung für den Garten oder eine Steppermotoranwendung oder eine 7-Segment-Uhr oder eine Wetterstation oder, oder, oder...
PS: Wobei ich für Profi Anwendungen auf den BASIC TIGER zurückgreifen würde, weil das ein fix und fertig ausgereiftes System ist was natürlich auch einiges mehr kostet und wo professsionelle Entwickler hinter stecken.
Christian J. schrieb: > zb nen Infrarot TSOP Sensor auslesen .... geht nicht (so einfach)! Kann man's in C und hat Ahnung wie Arduino tickt, dann kann man einfach mal sowas wie IRMP einbinden. Das ist jetzt wirklich kein Hexenwerk. Aber richtig Arduino ist's natürlich auch nicht mehr. Man muss den Arduino auch nicht Arduino-like programmieren. Aber möglicherweise ist dann andere Hardware besser geeignet. Arduino ist eben für Leute gedacht/gemacht, die nichts mit Hardware-Basteln am Hut haben. Als Entwicklungsplattform für Harware-Entwicklung ist Arduino eher wenig geeignet. Und als Programmiergerät ist meiner Meinung nach ein Arduino Uno voll daneben, da man µCs mit Arduino-Bootloader benötigt (OK, kann man auch mit Bootloader kaufen).
Ich denke auch, um einen Vergleich zwischen PIC und Atmel machen zu können, wäre das STK500 interessant. Dazu dann das neueste AVR Studio. Aber auf Hochsprachen Ebene tut sich da nicht mehr viel. Da ist es egal ob man einen 8-Bitter AVR, PIC, MSP, ... hat. Richtig Programmiert sind dann deine Funktionen auf jeder Platform nutzbar. Wenn man in Assembler programmiert kann es etwas anders aussehen. Ich bin auf der AVR Schiene gelandet. Aber für meine damalige Ausbildung musste ich mich mit nem kleinen PIC auseinander setzen. Hab damals alles in Assembler programmiert. Im direkten verlgeich fand ich die Atmel Controller einfacher. Da musste z.B. keine Registerbank umgestellt werden. Inzwischen nehme ich immer noch die AVR einzi und allein aus dem Grund, da ich da Erfahrung gesammelt habe und die entsprechenden Tools zum Programmieren und Debuggen habe. Die Arduinos habe ich mir auch angeguckt. Die IDE habe ich nur mal für den Nachbau eines Projektes gebraucht und hab se sofort verflucht. Die Boards an sich finde ich sehr Praktisch für "Rapid Prototyping". Dafür habe ich den Arduino Bootloader durch PEDA's fastboot ersetzt. Nun Programmiere ich im AVR Studio, teste das Programm auf dem Arduino Board und später kann ich die Routinen dann in der Zielschatung weiterverwenden. Letztens habe ich noch diese Seite gefunden: "Arduino, Thank you and good bye" http://vpapanik.blogspot.gr/2012/08/arduino-thank-you-and-bye-bye.html VG! SE
Warum überhaupt umsteigen? Wenn ich dich richtig verstanden habe kommt das arduino geraffel sowieso nicht in frage. Ich persönlich favorisiere auch die AVRs gegenüber den PICs, aber wenn du dich mit den PICs bereits auskennst und die ganzen Entwicklungswerkzeuge bereits besitzt, macht es absolut keinen sinn auf AVR umzusteigen. Wenn es unbedingt was neues sein soll, beschäftige dich lieber mit nem Cortex M3 oder Cortex M4. z.B. die STM32 gefallen mir persönlich sehr gut.
http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/3//index.html?ACTION=3&GROUPID=5514&ARTICLE=45040&SHOW=1&START=0&OFFSET=16& ich verstehe dein controller hin und her stöpseln zwar nicht, aber mit den beiden Teilen und dem kostenlosen AvrStudio kannst du erst mal ziemlich viele AVRs programmieren...für unter 60 Euro
SE: > Dafür habe ich den Arduino Bootloader durch PEDA's fastboot ersetzt. > Nun Programmiere ich im AVR Studio, teste das Programm auf dem Arduino > Board und später kann ich die Routinen dann in der Zielschatung > weiterverwenden. Hallo SE, Interessant! welche Bootloader meinst du genau? geht über RS232? kannst eventuell das Bootloader hoch laden?
blasphemie schrieb: > http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html > http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/3//index.html?ACTION=3&GROUPID=5514&ARTICLE=45040&SHOW=1&START=0&OFFSET=16& - Pollin Addon Board - STK500 - Arduino - ..... Ich besitze das ganze Kram und möchte es bald los werden (leider sehr wenig Zeit). Wenn du Interesse hast dann melde dich einfach bei mir per PN.
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.