Arduino Upload/Boot schneller machen

Hallo zusammen,

ich nutze den Arduino 2560 für Messprogramme. Diese werden jeweils nach einer Messung verändert und neu aufgespielt. ca alle 2-4 min. Der Upload des Programms und der Bootvorgang des Arduino ist recht langsam wenn man es in der Menge sieht.

Gibt es eine Möglichkeit den Ablauf zu beschleunigen?

gruß Jens

Da ist ein Fehler in Deinem Konzept. Du kannst nicht den Sketch alle 4 Minuten neu draufschreiben. bei garantierten 10.000 Schreibzugriffen auf Flash (http://www.atmel.com/Images/doc8161.pdf erste Seite) hält der Arduino das nichtmal 28 Tage aus. Was ist denn so ungewöhnlich daß man nicht einen Sketch schreiben kann der alle Messprogramme schon vorrätig hat und nur über Parameter die eine oder andere Messung macht?

Grüße Uwe

Wenn du alle paar Minuten den kompletten Sketch ändern musst, ist das ein Fehler im Konzept. Da wäre es günstiger, alle Programmteile auf den Mikrocontroller zu bringen und den gewünschten Programmablauf über DIP-Schalter oder ähnliches zu wählen. Wenn du aus irgendwelchen Gründen jedoch auf diesen Sketchwechsel angewiesen bist, solltest du dich nach einem geeigneten ISP umsehen. Damit umgehst du den Bootloader, der ja seinerseits nach dem Reset erst einige Sekunden auf ein neues Programm wartet.

[edit] Da war wohl einer schneller... ;)

DrThunderhell: ich nutze den Arduino 2560 für Messprogramme. Diese werden jeweils nach einer Messung verändert und neu aufgespielt. ca alle 2-4 min. Der Upload des Programms und der Bootvorgang des Arduino ist recht langsam wenn man es in der Menge sieht.

Bist Du sicher, dass das die optimale Lösung ist? Wenn der Hersteller insgesamt nur für 10000 Flash-Schreibzyklen garantiert bis der Speicher kaputtgeschrieben ist (auch wenn er in der Praxis oft zehnmal länger durchhält als der Hersteller garantiert)?

Reicht es nicht aus, zwischen den Messungen in der Software nur andere Parameter zu setzen?

Innerhalb von 2-4 Minuten wird doch nicht jedesmal eine neue Software entwickelt und hochtgeladen, sondern allenfalls Marginalien geändert, so stelle ich es mir jetzt mal vor.

Wenn es so ist, dann brauchst Du doch nur ein über Parameter steuerbares Programm, das alle Parameter verarbeiten kann, und dann überträgst Du beispielsweise über eine serielle Schnittstelle die Parameter für die neue Messung und sofort danach kann die neue Messung starten?!

hi,

ich nehme nicht an, daß Du alle 2-4 minuten ei neues programm schreibst. wahrscheinlich änderst Du nur einen oder mehrere parameter. verwende dafür variable, die Du mit zB. dem seriellen monitor vor jeder messung eingeben kannst.

EDIT: na, da waren wir aber schön synchron...

gruß stefan

Naja mir ist es ehrlich gesagt wurst ob der Arduino drauf geht oder nicht, es ist ein Bauteil für 30 € was somit erheblich günstiger ist als ein Messinstrument von National Insruments & Co. außerdem muss ich meine Arbeit in 2 Wochen fertig haben.

Das man Parametern extern ändern kann wusste ich nicht. Wie funktioniert das? Ich habe 3 Variablen die ich immer änderen sollte.

DrThunderhell: Das man Parametern extern ändern kann wusste ich nicht. Wie funktioniert das? Ich habe 3 Variablen die ich immer änderen sollte.

Das letzte mal habe ich hier im Forum jemandem erst vor fünf Tagen ein Stück Code gepostet, wie er über die serielle Schnittstelle drei Zahlenwerte übertragen und an Variablen zuweisen kann: http://forum.arduino.cc/index.php?topic=180640.msg1339658#msg1339658

Da ging es um ganzzahlige positive Integerwerte, als RGB (rot, grün, blau) Werte, um LEDs in bunten Farben leuchten zu lassen.