Heute erhielt ich ein paar neue PRO-Minis auf Basis des ATMEGA328PB. Ich konnte nicht umhin, mich baldigst danit zu befassen. Hier ist ein kurzer Lagebericht für diejenigen die es interessiert: Zweck der Übung war, das IDE anzupassen und alles für mich Wichtige durchzutesten. Es gab anfänglich Probleme mit der IDE Installation weil man alles erst anpassen muß. Der deutsche Hersteller der Bords hat auch alle dazu nötigen Dateien bei Github beigelegt. Kurz und gut, ich konnte ohne Probleme ein größeres älteres Programm von mir ohne Änderungen kompilieren und via Bootloader auf die Bord laden. Ich hatte interessanterweise ein Problem mit dem RTS Anschluß des FTDI USB Kabels wegen der grenzwertigen 3.3V IO Einstellung des USB Adapters. Der Reset für den BL funktioniert nicht zuverläßig. Als vorläufige Abhilfe dient ein 10K nach Masse am RESET Eingang. Interessanterweise stört sich ein normaler 328P nicht daran. Naja, 3.3V IO ist eben grenzwertig in einem 5V System. Ich archivierte auch den BL, Fuses und löschte und ladete den Bootloader neu mit Armel Studio V7 und AVR ISP Mk2. So kann ich dann später die gebauen Chipeinstellungen bei neuen, nackten ICs nachvollziehen. Wenn ich dann später mehr Zeit habe, werde ich das zweite USART, TWI und die zweite SPI Schnittstellen überprüfen. Beim 1284P funktionierte das zweite USART einwandfrei. Deshalb hoffe ich, daß es hier auch keine Überraschungen geben wird. Schlafmodus und Watchdog müssen noch verifiziert werden. Soweit, so gut! Mfg, Gerhard
:
Bearbeitet durch User
>Es gab anfänglich Probleme mit der IDE Installation weil man alles erst >anpassen muß. Der deutsche Hersteller der Bords hat auch alle dazu >nötigen Dateien bei Github beigelegt. Hallo Gerhard, wieso hast Du die IDE von Github installiert, die gibt es doch hier zum fertig herunterladen: https://www.arduino.cc/en/main/software
ChrisMicro schrieb: >>Es gab anfänglich Probleme mit der IDE Installation weil man > alles erst >>anpassen muß. Der deutsche Hersteller der Bords hat auch alle dazu >>nötigen Dateien bei Github beigelegt. > > Hallo Gerhard, > > wieso hast Du die IDE von Github installiert, die gibt es doch hier zum > fertig herunterladen: > > https://www.arduino.cc/en/main/software Hallo Chris, Mache ich anfänglich. die neueste V1.81 funktionierte leider nicht. Es gab kompilier Probleme. Die Tinys funktionierten. Mit dem 328PB war nichts zu machen. Dann installierte ich noch nebenbei V1.6.10 und machte alle notwendigen Anpassungen. Damit ging es dann. Trau, schau, wem! Welche Erfahrungen machtest Du? Edit: ich lud nur die Hersteller Dateien herunter. Die IDE ist von Arduino direkt.
:
Bearbeitet durch User
Also ich benutze den 328pb schon seit einiger Zeit (kein Arduino). Es ist einfach ein idealer uC für kleinere Projekte. Vor allem wegen der vielen Timer und den gedoppelten Schnittstellen. Wenn ich einen Wunsch hätte, würde ich ihn mir 16k RAM wünschen ... Beim avr-gcc musste ich nur die ioxxx.h einbauen. In simavr kann man auch einfach die zusätzlichen HW-Ressourcen hinzufügen. Lediglich schwingt bei mir ein 20MHz-Quarz nicht (zuverlässig) an (seht ja auch so im DB). Deswegen nehme ich jetzt die CFPS-Oszillatoren. Damit geht er auch mit 24MHz. 32MHz mag er nicht mehr.
>Welche Erfahrungen machtest Du? Hmm .. also ich habe verschiedene Versionen der IDEs installiert. Wenn ich AtmelStudio 7 verwende, importiere ich normalerweise ein leeres Sketch und fülle es dann langsam mit dem eigenen Code und füge die zusätzlichen Files hinzu. Den Atmel ICE habe ich nicht angebunden. Vor einiger Zeit hatte in Freund Probleme damit, einen AVR-Dragon für einen Arduino zu verwenden, weil es dieses Problem mit der Reset-Leitung gibt. Ich wollte mir auf die Schnelle den Aufwand sparen herauszufinden, wie ich das Problem mit der Anbindung des Programmmer/Debuggers löse und habe deshalb in "Tools" einen Aufruf für AVR-Dude eingefügt um den Arduino über den Bootloader zu programmieren, muss dafür aber auf das Debuggen verzichten ( good old printf debugging ). Eine Hauptfehlerquelle beim Erstellen eines Atmel-Studio-Projekts war bei mir jetzt mehrere Male, dass ich keine der Einstellungen beim Anlegen des Projekts vergesse oder falsch mache. Unglücklicherweise ist per Default immer ein Arduino-Yun eingestellt und wenn man vergisst, das beim Anlegen umzustellen geht nachher gar nichts. Das könnte dazu führen, dass man denkt, es liege an der Arduino-IDE. Wenn aber alles richtig ist, geht es ohne Probleme. Atmel Studio compiliert auch schneller als die Arduino-IDE. Insgesamt ist der Entwicklungsprozess damit deutlich schneller. Für sehr kleine Programme und erste Test verwende ich oft die Arduino-IDE direkt, weil mir das Anlegen eines Projekts mit Atmel-Studio zu lange geht. Kann aber sein, dass mein "Workflow" bei der Verwendung von Atmel-Studio noch zu umständlich ist. Arduino IDE V1.8.0 funktioniert bei mir gut mit Atmel-Studio 7.0.1188
Ich benutze 3 Programme: - Arduino zu Flaschen - Notepad++ zum Programmieren - Atmel Studio7 zum Debugen bei Bedarf.
Gerhard O. schrieb: > Heute erhielt ich ein paar neue PRO-Minis auf Basis des ATMEGA328PB. Ich > konnte nicht umhin, mich baldigst danit zu befassen. Die ProMini sind nett, man kann Strom sparen, weil der nicht vorhandene USB nicht ständig versorgt werden muß. Komfortabler ist der Nano. Ich habe mir ProMinis letztes Jahr vom Chinesen bestellt, dazu USB-TTL-Adapter mit CH340. > Zweck der Übung war, das IDE anzupassen und alles für mich Wichtige > durchzutesten. Bei mir gab es nichts anzupassen: Adapter dran und aus der IDE heraus als Nano angesprochen - passt und funktioniert. Ein Manko der CH340-Adapter ist, dass diese den Reset nicht auf die Stiftleiste führen, ich also zum flashen manuell reset drücke. Habe ich geändert und den DTR manuell angelötet. Doof bis gefährlich ist, dass die Betriebsspannungen des ProMini und des Downloadadapters direkt verbunden sind, da muß man aufpassen. Sobald die Platinchen da sind, werde ich hier eine galvanische Trennung aufbauen - Aliexpress suche ADuM1201. > Schlafmodus und Watchdog müssen noch verifiziert werden. Hatte ich neulich hier an anderer Stelle beschrieben, Schlafmodus mit Timer geht problemlos. LED und Spannungsregler runter, bekommt man bei 5V mit 16MHz Quarz dran um die 7µA.
Arduino F. schrieb: > ATMEGA328PB != ATMEGA328P http://www.atmel.com/Images/Atmel-42559-Differences-between-ATmega328P-and-ATmega328PB_ApplicationNote_AT15007.pdf sagt dazu: " .. However, the functions are backward compatible with the existing ATmega328 functions. Existing code for these devices will work in the new devices without changing existing configuration or enabling new functions. The code that is available for your existing ATmega328 variants will continue to work on the new ATmega328PB device." Welche Vorteile bringt es, diesen in der Arduinoumgebung einzusetzen?
Wilhelm M. schrieb: > mir 16k RAM wünschen ... Ich interpretiere das als ein (noch) nicht existierender 1284PB;-) Das ist mein liebster AVR.
:
Bearbeitet durch User
Manfred schrieb: > Arduino F. schrieb: >> ATMEGA328PB != ATMEGA328P > > http://www.atmel.com/Images/Atmel-42559-Difference... > sagt dazu: > > " .. However, the functions are backward compatible with the existing > ATmega328 functions. Existing code for these devices will work in the > new devices without changing existing configuration or enabling new > functions. The code that is available for your existing ATmega328 > variants will continue to work on the new ATmega328PB device." > > Welche Vorteile bringt es, diesen in der Arduinoumgebung einzusetzen? Für einige meiner Projekte sind zwei USARTS notwendig. Da ist aber ein 644 oder 1284 Overkill. Deshalb fand ich die PB Version des 328 ansprechend. Das mit der backwards compatibility stimmt, mein altes Programm funktionierte auf dem 328PB einwandfrei.
:
Bearbeitet durch User
Tany schrieb: > Ich benutze 3 Programme: > - Arduino zu Flaschen > - Notepad++ zum Programmieren > - Atmel Studio7 zum Debugen bei Bedarf. Habe ich auch schon ähnlich gemacht. Bei mir wars Textpad.
ChrisMicro schrieb: >>Welche Erfahrungen machtest Du? > > Hmm .. also ich habe verschiedene Versionen der IDEs installiert. > > Wenn ich AtmelStudio 7 verwende, importiere ich normalerweise ein leeres > Sketch und fülle es dann langsam mit dem eigenen Code und füge die > zusätzlichen Files hinzu. Das hört sich interessant an. Müßte ich mal ausprobieren. > > Den Atmel ICE habe ich nicht angebunden. Vor einiger Zeit hatte in > Freund Probleme damit, einen AVR-Dragon für einen Arduino zu verwenden, > weil es dieses Problem mit der Reset-Leitung gibt. Ähnlich wie bei meinem 3.3V RTS Problem? > Ich wollte mir auf die Schnelle den Aufwand sparen herauszufinden, wie > ich das Problem mit der Anbindung des Programmmer/Debuggers löse und > habe deshalb in "Tools" einen Aufruf für AVR-Dude eingefügt um den > Arduino über den Bootloader zu programmieren, muss dafür aber auf das > Debuggen verzichten ( good old printf debugging ). Ja. Das geht. Habe ich auch schon gemacht. > > Eine Hauptfehlerquelle beim Erstellen eines Atmel-Studio-Projekts war > bei mir jetzt mehrere Male, dass ich keine der Einstellungen beim > Anlegen des Projekts vergesse oder falsch mache. > Unglücklicherweise ist per Default immer ein Arduino-Yun eingestellt und > wenn man vergisst, das beim Anlegen umzustellen geht nachher gar nichts. > Das könnte dazu führen, dass man denkt, es liege an der Arduino-IDE. > > Wenn aber alles richtig ist, geht es ohne Probleme. Atmel Studio > compiliert auch schneller als die Arduino-IDE. Insgesamt ist der > Entwicklungsprozess damit deutlich schneller. Mit CodevisionAVR geht Entwicklung auch recht gut. Allerdings finde ich Arduino für kleine Projekte für die Schnelle auch sehr praktisch. > > Für sehr kleine Programme und erste Test verwende ich oft die > Arduino-IDE direkt, weil mir das Anlegen eines Projekts mit Atmel-Studio > zu lange geht. Kann aber sein, dass mein "Workflow" bei der Verwendung > von Atmel-Studio noch zu umständlich ist. A.S hat m.M.n. ein sehr "müdes" Verhalten. Irgendwie bringt dieses Program auch leistungsfähige PCs in die Knieh. > > Arduino IDE V1.8.0 funktioniert bei mir gut mit Atmel-Studio 7.0.1188 Das müßte ich erst mal ausprobieren. In der Firma ziehten wir mal ein internes Labor Programm auf 2560 Basis und Arduino IDE durch. Zum Teil wurde das A.IDE verwendet. Es machte kein Problem in üblicher Weise mit vielen Source Files (.cpp,h) zu arbeiten. Es besteht kein Grund alles in eine einzige .ino zu stecken. Man kann so viel leichter wiederverwendbare Programme erstellen.
Tany schrieb: > Ich benutze 3 Programme: > - Arduino zu Flaschen > - Notepad++ zum Programmieren > - Atmel Studio7 zum Debugen bei Bedarf. Die Erweiterung, mit der NP++ auch die Arduino-Syntax kennt, habe ich erst vor 14 Tagen erfolgreich einbinden können, im Gegensatz zu der IDE ist der Editor vernünftig benutzbar. An Atmel Studio habe ich mich noch herangetraut, mal abwarten. Gerhard O. schrieb: >> Welche Vorteile bringt es, diesen in der Arduinoumgebung einzusetzen? > Für einige meiner Projekte sind zwei USARTS notwendig. Da ist aber ein > 644 oder 1284 Overkill. Deshalb fand ich die PB Version des 328 > ansprechend. Danke für die Erklärung, das 'PB' hatte ich überlesen.
Manfred schrieb: > Tany schrieb: >> Ich benutze 3 Programme: >> - Arduino zu Flaschen >> - Notepad++ zum Programmieren >> - Atmel Studio7 zum Debugen bei Bedarf. > Die Erweiterung, mit der NP++ auch die Arduino-Syntax kennt, habe ich > erst vor 14 Tagen erfolgreich einbinden können, im Gegensatz zu der IDE > ist der Editor vernünftig benutzbar. Ich habe mich über die Jahre an Textpad gewöhnt. Die Syntax Dateien kann man leicht selber anpassen und editieren. Ausserdem hat TP schon die meisten Syntax Dateien für die meisten Sprachen. Was ich bei TP angenehm finde, ist die leichte Konfigurierung für die Compilerwerkzeuge. Da hatte ich mit NP++ früher mal mehr Probleme. NP++ müßte ich mal wieder ausprobieren. Ein Kollege benutzt es ständig in der Firma. > > An Atmel Studio habe ich mich noch herangetraut, mal abwarten. Ich finde es w.g. sehr "sluggish" (müdes Verhalten); oft brauchen Dialoge relativ lange. Hat aber auch seine Vorzüge. Zum Flashen und Fuse einstellen ist es natürlich auch sehr nützlich. > > Gerhard O. schrieb: >>> Welche Vorteile bringt es, diesen in der Arduinoumgebung einzusetzen? >> Für einige meiner Projekte sind zwei USARTS notwendig. Da ist aber ein >> 644 oder 1284 Overkill. Deshalb fand ich die PB Version des 328 >> ansprechend. > Danke für die Erklärung, das 'PB' hatte ich überlesen. Wenn Atmel auf mich hören würde, wünsche ich mir zu Weihnachten einen 1284PB;-)
:
Bearbeitet durch User
Gerhard O. >> Für sehr kleine Programme und erste Test verwende ich oft die >> Arduino-IDE direkt, weil mir das Anlegen eines Projekts mit Atmel-Studio >> zu lange geht. Kann aber sein, dass mein "Workflow" bei der Verwendung >> von Atmel-Studio noch zu umständlich ist. >A.S hat m.M.n. ein sehr "müdes" Verhalten. Irgendwie bringt dieses >Program auch leistungsfähige PCs in die Knieh. Das Problem mit dem "müden Verhalten" von Atmel-Studio hatte ich auch. Auf meinem alten Laptop lief das so gut wie gar nicht. Da ich es dann beruflich nutzen musste, habe ich aufgerüstet: CoreI7 HQ, 16GB Ram + SSD Damit läuft dann Atmel-Studio flüssig. Ärgerlich, dass diese Investition notwendig war, aber die Nerven schont das deutlich.
Gerhard O. schrieb: > Als vorläufige Abhilfe dient ein 10K nach Masse am RESET Eingang. Was für ein Board ist das? Solche Probleme kenne ich eigentlich nicht.
Richard B. schrieb: > Gerhard O. schrieb: >> Als vorläufige Abhilfe dient ein 10K nach Masse am RESET Eingang. > > Was für ein Board ist das? > > Solche Probleme kenne ich eigentlich nicht. Watterott Pro-Mini PB. Das Problem ist sicherlich nicht die Board. Mein Ftdi USB kabel hat leider nur 3.3 Logik Signale und die sind halt für eine 5V uC Versorgung etwas grenzwertig. Erschwerend kommt noch die Art der Reset Steuerung mittels der RTS Leitung dazu. Ich bin sicher, dass ich mit einem 5v Logik Adapter keine Probleme hätte. Dass mir bis jetzt normale Pro-Minis aus China keine Probleme machten ist purer Zufall.
:
Bearbeitet durch User
Das mit dem Reset haben wir ebenfalls festgestellt. Der Reseteingang des 328P und 328PB verhält sich unterschiedlich. Mit unserem FTDI-Breakout [1] auf FT231X Basis (5V Versorgung, 3,3V Pegel) funktioniert der automatische Reset beim 328PB nur sporadisch und beim 328P immer. Bei unserem neuen CP2102N-Breakout [2] haben wir daher auch Pegelwandler eingebaut. [1] https://github.com/watterott/FTDI-Breakout [2] https://github.com/watterott/CP2102N-Breakout
:
Bearbeitet durch User
Gerhard O. schrieb: > ch habe mich über die Jahre an Textpad Ich benutze - beruflich wie privat - Sublime Text für die Programmierung. Benutze eine heterogene Umgebung - Linux & WinDoof, deshalb die meisten IDEs & Editoren nicht verwendbar. > Wenn Atmel auf mich hören würde, wünsche ich mir zu Weihnachten einen > 1284PB Unterstütze Deinen Wunsch. Schreiben wir doch an den Weihnachtsmann/CEO > Atmel Studio7 zum Debugen bei Bedarf Geht unter Linux nicht ;-(( > - Arduino zu flashen ST3 Plugin & avrdude mfg Olaf P.S.: benötige auch noch ein paar Mins/Nanos. Vorrat erschöpft ;-))
Andreas W. schrieb: > Das mit dem Reset haben wir ebenfalls festgestellt. Der > Reseteingang des > 328P und 328PB verhält sich unterschiedlich. > Mit unserem FTDI-Breakout [1] auf FT231X Basis (5V Versorgung, 3,3V > Pegel) funktioniert der automatische Reset beim 328PB nur sporadisch und > beim 328P immer. > Bei unserem neuen CP2102N-Breakout [2] haben wir daher auch Pegelwandler > eingebaut. > > [1] https://github.com/watterott/FTDI-Breakout > [2] https://github.com/watterott/CP2102N-Breakout Hallo Andreas, Danke für die Hinweise. Bin also damit nicht alleine. Ich behalf mich gestern mit einem 10 KOhm von RESET auf Masse. Damit funktioniert der 3.3V FTDI Adapter 100% zuverläßig. Bis ich das besser gelöst habe, ist das mir im Augenblick gut genug. Bin ja froh, daß alles zufriedenstellend funktioniert. Grüße, Gerhard
Andreas W. schrieb: > Das mit dem Reset haben wir ebenfalls festgestellt. Der Reseteingang des > 328P und 328PB verhält sich unterschiedlich. > Mit unserem FTDI-Breakout [1] auf FT231X Basis (5V Versorgung, 3,3V > Pegel) funktioniert der automatische Reset beim 328PB nur sporadisch und > beim 328P immer. > Bei unserem neuen CP2102N-Breakout [2] haben wir daher auch Pegelwandler > eingebaut. Die Reset Threshold Spannung beim ATMEGA328P ist bei 5V Vdd = etwas mehr als 2.1V. Beim 328P reicht es noch einigermaßen. Beim 328PB sind es nur rund 1.55V. Der 3.3V DTR Pulse kann also die Spannung am RESET Pin bestenfalls auf rund 1.7V herunter ziehen und der 328PB kann deshalb nichts dafür wenn er dann nicht darauf reagiert. Im Laboraufbau konnte ich mit einem vorübergehend angeschlossenen 20K am RESET Pin nach Masse keine Probleme mehr feststellen. Das legt die Spannung am RESET Pin auf rund 3.3V fest. Programmieren mittels Bootlader ist damit jetzt 100% zuverlässig. Trotzdem ist es nicht permanent zu empfehlen weil natürlich über den Spannungsteiler andauernd etwas Strom fließt. Allerdings erspart das den vorgeschlagenen Pegelwandler.
Das ist ja doch ein ziemlich großer Unterschied der Schwellenwerte. Irgendwie war mir das im Datenblatt noch gar nicht aufgefallen. Ich habe es bei unserem "ATmega328PB" Projekt auf GitHub mit hinzugefügt.
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.