Der AVR-/ARDUINO-Faden

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Benutzeravatar
ProgBernie
Beiträge: 584
Registriert: Fr 16. Sep 2022, 21:59
Wohnort: Zwischen Hamburg und Haiti ^W Lübeck

Re: Der AVR-/ARDUINO-Faden

Beitrag von ProgBernie »

Von den LGT8F328P "MiniEVB" auf einem Nano hatte ich ja schon berichtet. Die sind mit dem Takt gut doppelt so schnell wie "normale" Nanos.
Wenn die Pins zu Ende gehen: Einfach einen "Arduino" mit mehr Beinen nehmen. Hier einer im Formfaktor DIL-40.
Aus reinstem Chinesium ist der aufgebrachte Käfer, ebenfalls ein LGT8F328P, aber im LQFP-48-Gehäuse:

https://www.aliexpress.com/item/4000151967508.html

Für die üblichen Bastelaufgaben tun die gut. Einbindung in Platformio ist auch nicht schwer.
Jannyboy
Beiträge: 1406
Registriert: So 11. Aug 2013, 14:49
Wohnort: Kreis Augsburg

Re: Der AVR-/ARDUINO-Faden

Beitrag von Jannyboy »

Hightech hat geschrieben: Do 13. Apr 2023, 07:09 Den externen Quarz kann man hier einfach einschalten?
https://docs.espressif.com/projects/esp ... tc-clk-src
Kann man machen... man kann auch den OSC umschalten. Nur dann geht nichts mehr, da alle Timer und die RTC um Faktor 4.7 zu langsam laufen.
Der verantwortliche Interruptvector ist im Code per Compiler-Switch hardcodiert.
Rate mal woher ich das weiß :roll:

Edit: Die IDF4.4 hat ein Workaround für den Deep-Sleep Bug mit den RC-Oszillator. Ab Hardware Revision 3 ist der Fehler im Silizium behoben.

Grüße Jan
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

ArduServo

Beitrag von Hightech »

Moin,
ich habe hier DC-Motoren mit Encoder drauf, 512 Pulse pro Umdrehung.
Hat das schonmal jemand am Arduino gemacht?
Es gibt die Encoder-Lib und die Servo-Lib.
Die Servolib ist nur für fertige Servos.
Die Encoder nur für den Encoder.
Was fehlt ist der Servo-Regler.

Ich habe ein Signal von -1000 bis +1000 welches ich dann als Position am Servo haben möchte.
Also im Prinzip
Motor start bis der Zähler des Encoders die Position bsp. 500 Schitte erreicht hat, dann stop.
dann immer eine Differenz und die Anzahl Schritte in die Richung.
Aber das ist ja nicht so toll
Mann muss ja eine gewisse Rampe fahren,
Das gibt es doch sicher fertig?
frickelfred56
Beiträge: 230
Registriert: Mo 16. Feb 2015, 13:50

Re: Der AVR-/ARDUINO-Faden

Beitrag von frickelfred56 »

Moin auch

die EncoderLib gibt ja die Absolute Position aus.
daraus und der sollposition die Differenz durch einen PID mölern.
das Ergebnis auf einen H-Brückentreiber ,zB BT7960, (gibt ne LIB) und fertig ist die Geschichte.

die Rampe macht im Idealfall der PID

Gruß Frickelfred
Benutzeravatar
Alexander470815
Beiträge: 2371
Registriert: So 11. Aug 2013, 15:42
Wohnort: D:\Hessen\Gießen

Re: Der AVR-/ARDUINO-Faden

Beitrag von Alexander470815 »

Wenn die Performance gut werden soll muss man mehrere Regler ineinander verschachteln und entsprechend parametrieren.
Lageregler->Drehzahlregler->Stromregler
Von langsam nach schnell.
Alles mit einem Regler auszuregeln funktioniert nur mäßig gut.
Den Stromregler kann man vielleicht noch weg optimieren da der schon einiges an Bandbreite braucht aber Eine Störgrößenaufschaltung auf das Stellsignal in Abhängigkeit der Drehzahl sollte schon sein um den Gegen-EMK des Motors zu kompensieren.
Wenn der Regler mit Sollwertsprüngen zurechtkommen soll muss man den sehr lahm parametrieren damit er nicht überschießt.
Besser wäre es die Rampen davor zu erzeugen so das er keine Sprünge ausregeln muss.

Man muss auch schauen wie die encoder lib arbeitet, für einen Drehencoder den man per Hand dreht ist die Geschwindigkeit kein Problem.
Bei 512 Pulsen pro Umdrehung und ein paar tausend U/min muss das schon entsprechend schnell arbeiten sonst kommt da nur Müll raus.

Ich habe sowas mal mit einem 328P gebaut und den Encoder an die beiden Interrupt Eingänge angeschlossen um somit direkt bei Pegel Änderungen den Zählerstand zu aktualisieren.
Für prellende mechanische Encoder ist sowas jedoch nichts(falls man sowas da dran anklemmen würde).
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Der AVR-/ARDUINO-Faden

Beitrag von Hightech »

Treiber ist ein L298 (oder so? HBrücke)
Leider ist der Encoder am Motor, nicht am Getriebe.

Ich schau mal nach ner schnellen Encoder Lib.
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

guck mal, vielleicht ist die was: https://github.com/brianlow/Rotary
hatte ich vor längerem probiert mit PinChangeInt zusammen.
allerdings nur ein Test mit nur dem Encoder dran.
Benutzeravatar
ferdimh
Beiträge: 9379
Registriert: Fr 16. Aug 2013, 15:19

Re: Der AVR-/ARDUINO-Faden

Beitrag von ferdimh »

Ich habe tatsächlich feststellen müssen, dass es bei kleinen Motoren auch noch ganz gut mit Drecksau-PID über die ganze Regelstrecke geht.
Die Gegen-EMK des Motors verursacht zwar einen Fehler, aber dieser hat ein unproblematisches Vorzeichen. Die Induktivität des Motors ist eher ein Arschloch, aber bei Kleinmotoren im Vergleich zum Widerstand nicht so groß. Wenn die Motoren in kg gemessen werden, wird das potentiell zum Problem.
Wichtig ist, die PWM-Frequenz hoch genug zu wählen, dass auch wirklich eine Glättung an der Motorinduktivität passiert, und man nicht nur die Heizleistung in den Wicklungen moduliert. Das heißt 5kHz oder mehr (wenn Menschen in der Nähe sind, bitte 16-20 sonst AUA MEINE OHREN).

Am Ende wird das Ganze deutlich weniger Performance haben als ein "echter" Kaskadenregler. Aber es ist immer noch ausreichend, dass die damit gebaute Käsefräse nicht an den Antrieben sondern an der mechanischen Stabilität an die Grenzen kommt...
Wir haben das damals (tm) aber mit STM32 gemacht; da gibts welche mit Hardwareencoderauswerter.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Pin invertieren für eine Funktion

Beitrag von Hightech »

Moin,
ich muss für eine stepper Funktion den Enable-Pin invertieren.
Wie mache ich das?

#define enablePinStepper1 0

setup:
stepper1->setEnablePin(enablePinStepper1);
unlock
Beiträge: 632
Registriert: Sa 31. Dez 2016, 20:21

Re: Der AVR-/ARDUINO-Faden

Beitrag von unlock »

enable = !notenable
virtexultra
Beiträge: 127
Registriert: So 9. Dez 2018, 11:30

Re: Der AVR-/ARDUINO-Faden

Beitrag von virtexultra »

Ich habe irgendwie nicht gelesen welche Lib du nutzt. Ich vermute mal FastAccelStepper von https://github.com/gin66/FastAccelStepper.

Hier hat der Aufruf setEnablePin() einen zweiten bool Parameter der beschreibt ob der Pin invertiert ist.

Also für einen Active Low Enable: stepper1->setEnablePin(enablePinStepper1, true);

Nutzt du AccelStepper http://www.airspayce.com/mikem/arduino/AccelStepper/ gibt es einen extra Aufruf

void setPinsInverted (bool directionInvert=false, bool stepInvert=false, bool enableInvert=false)
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Der AVR-/ARDUINO-Faden

Beitrag von Hightech »

TOP! Danke.
Ewig gesucht, nix gefunden.
Bumbum
Beiträge: 280
Registriert: Mi 22. Apr 2015, 19:04

Re: Der AVR-/ARDUINO-Faden

Beitrag von Bumbum »

Hallo,

ich versuche seit gestern Abend das erste mal SPIFFS für meinen ESP32 Arduino zu verwenden. Alle Beispiele, die ich online finde sind ungefähr gleich. Trotzdem kann ich das nicht kompilieren und ich finde dazu per Suchmaschine keine Abhilfe. Vielleicht hat hier jemand eine Idee? Hier mal mein Sketch:

Code: Alles auswählen

#define FORMAT_SPIFFS_IF_FAILED true

#include "FS.h"
#include "SPIFFS.h"

void setup ()
{
  
  if (SPIFFS.begin (true))
  {
       File root = SPIFFS.open ("/"); 	//Compilation error: 'File' was not declared in this scope
      if (file)
      {
        //...
      }
      //else
  }
  //else
}
Viele Grüße
Andreas
Anse
Beiträge: 2278
Registriert: Mo 12. Aug 2013, 21:30
Wohnort: Bühl (Baden)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Anse »

Und die Fehlermeldung lautet wie?
Benutzeravatar
Weisskeinen
Beiträge: 3942
Registriert: Di 27. Aug 2013, 16:19

Re: Der AVR-/ARDUINO-Faden

Beitrag von Weisskeinen »

Ich würde annehmen

Code: Alles auswählen

Compilation error: 'File' was not declared in this scope
Anse
Beiträge: 2278
Registriert: Mo 12. Aug 2013, 21:30
Wohnort: Bühl (Baden)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Anse »

'File' sollte da sein. Aber warum oben 'root' definiert wird und unten 'file' geprüft wird ist seltsam.
Benutzeravatar
Weisskeinen
Beiträge: 3942
Registriert: Di 27. Aug 2013, 16:19

Re: Der AVR-/ARDUINO-Faden

Beitrag von Weisskeinen »

Stimmt eigentlich. Ich lese das so, dass 'root' vom Typ 'File' ist. Aber was ist 'file' und welchen Typ hat das? Und wo wird das deklariert? Und wo gesetzt?
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

quatsch stand hier
virtexultra
Beiträge: 127
Registriert: So 9. Dez 2018, 11:30

Re: Der AVR-/ARDUINO-Faden

Beitrag von virtexultra »

Probiere mal den explizit den namespace anzusprechen.

Also File root => fs::File root

Ansonsten würde ich sagen das dort eine unpassenden Version von FS.h eingebunden wird. In https://github.com/espressif/arduino-es ... S/src/FS.h ist die Klasse File direkt definiert.
Bumbum
Beiträge: 280
Registriert: Mi 22. Apr 2015, 19:04

Re: Der AVR-/ARDUINO-Faden

Beitrag von Bumbum »

Hallo,
Weisskeinen hat geschrieben: Mi 14. Jun 2023, 12:59 Ich lese das so, dass 'root' vom Typ 'File' ist. Aber was ist 'file' und welchen Typ hat das?
Hier muss ich mich entschuldigen. Diese Verwechslung ist aus den ganzen Copy & Paste Beispielen vom Internet entstanden. Natürlich müssen entweder beide "root" oder beide "file" heißen. Der Fehler war aber tatsächlich der "Compilation error: 'File' was not declared in this scope". (Also File groß geschrieben)
virtexultra hat geschrieben: Mi 14. Jun 2023, 13:28 File root => fs::File root
Das hat geholfen. Vielen Dank für diesen Tipp! Da wäre ich nie drauf gekommen. Nur der Vollständigkeit halber und um vielleicht noch etwas mehr zu lernen: Hat jemand eine Idee, was hier bei mir schief läuft?

Viele Grüße
Andreas
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

File ist eine Klasse.
root ein Objekt vom typ File.
(root könnte noch ein Schlüsselwort sein, verwendung solcher führt zu komische Effekten?)
normal macht man's ja so:

import FS.h // bringt File mit
File rooot; // deklaration
void setup(){
rooot= konstruktorAufruf();//definition

oder wenn's zulässig ist deklaration und definition in einem, dann aber im globalen Namespace, nicht in einer Methode.
oder halt wie jetzt explizit/statisch (fs::methode) als allerletzter Notnagel.
meine c++ Ahnung hält sich auch in grenzen, bitte um Berichtigung.
virtexultra
Beiträge: 127
Registriert: So 9. Dez 2018, 11:30

Re: Der AVR-/ARDUINO-Faden

Beitrag von virtexultra »

Füge doch mal

Code: Alles auswählen

#define FS_NO_GLOBALS DEADBEEF
irgendwo in den Code ein. Es gab in älteren Versionen von Arduino das Problem das die Klasse File von mehreren Dateisystemimplementierungen (SPIFFS, SD-Card) bereitgestellt wurde und diese nicht zusammengepasst haben. Mit dem define wird der Export der File Klasse in den globalen Namespace unterbunden und somit macht es die explizite Benennung des Namespace notwendig.

Ist FS_NO_GLOBALS bereits wo anders definiert sollte der Compiler mit mindestens einer Warnung antworten. Dann solltest du suchen wo dieses Define herkommt.
Zuletzt geändert von virtexultra am Sa 17. Jun 2023, 17:53, insgesamt 1-mal geändert.
Bumbum
Beiträge: 280
Registriert: Mi 22. Apr 2015, 19:04

Re: Der AVR-/ARDUINO-Faden

Beitrag von Bumbum »

Hallo,
virtexultra hat geschrieben: Do 15. Jun 2023, 09:11 Es gab in älteren Versionen von Arduino das Problem das die Klasse File von mehreren Dateisystemimplementierungen (SPIFFS, SD-Card) bereitgestellt wurde und diese nicht zusammengepasst haben
Ich nutze die IDE 2.1.0. Wenn ich FS.h nicht include kommt die gleiche Meldung. Den Namen root habe ich auch mal testweise zu Erdbeeren geändert, auch kein Erfolg. Und:

Code: Alles auswählen

#define FS_NO_GLOBALS DEADBEAF


Bringt ebenfalls die gleiche Fehlermeldung. Ich nutze einige Bibliotheken, aber bisher keine von der ich vermuten würde eine File Klasse zu beinhalten. Gibt es eine Möglichkeit das rauszufinden?

Viele Grüße
Andreas
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

Das ist ein Vorteil einer IDE, da kann man suchen wer File oder irgendwas wo verwendet.

Hab auch eine Frage.
in der pins_arduino.h von attinycore steht:

Code: Alles auswählen

#define TIMER_TO_USE_FOR_MILLIS                  0
ich möchte das nicht dort ändern sondern in meinem eigenen code:

Code: Alles auswählen

#undef TIMER_TO_USE_FOR_MILLIS
#define TIMER_TO_USE_FOR_MILLIS  1;
das gibt aber gemecker beim bauen:
(.text+0x0): multiple definition of `__vector_5'
.\sloeber.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:81: Tacho.elf] Error 1
"E:/Tools/eclipseSloeber4.4/arduinoPlugin/tools/make/make all" terminated with exit code 2. Build might be incomplete.
geht das nicht oder kann ich da was machen?
virtexultra
Beiträge: 127
Registriert: So 9. Dez 2018, 11:30

Re: Der AVR-/ARDUINO-Faden

Beitrag von virtexultra »

Ich glaube nicht das das ein sinnvoller Ansatz ist. Vermutlich werden nun Teile des Codes mit dem Wert 0 für TIMER_TO_USE_FOR_MILLIS gebaut und andere mit 1, je nachdem welcher Header zuerst kommt/eingebunden ist.

Ich würde aus dem Code in pins_arduino.h ein

Code: Alles auswählen

#ifndef TIMER_TO_USE_FOR_MILLIS
#define TIMER_TO_USE_FOR_MILLIS 0
#endif
machen und dann per Compileroption (-D bei gcc) den Wert anpassen.
virtexultra
Beiträge: 127
Registriert: So 9. Dez 2018, 11:30

Re: Der AVR-/ARDUINO-Faden

Beitrag von virtexultra »

Mein #define (FS_NO_GLOBALS) war etwas anders gemeint. Die Frage war ob der Code bereits ein #define für FS_NO_GLOBALS hat. Der Compiler motzt wenn man probiert ein vorhandenes #define zu überschreiben. Also zu einem funktionierenden Codestand die Zeile #define FS_NO_GLOBALS DEADBEEF hinzufügen und schauen ob der Compiler was dazu sagt.
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

Danke, bei den (Sloeber) Arduino>>Compile Options>> append to all:
-DTIMER_TO_USE_FOR_MILLIS=1
hat funktioniert.
Bumbum
Beiträge: 280
Registriert: Mi 22. Apr 2015, 19:04

Re: Der AVR-/ARDUINO-Faden

Beitrag von Bumbum »

Hallo Chris,
ch_ris hat geschrieben: Sa 17. Jun 2023, 16:23 Das ist ein Vorteil einer IDE, da kann man suchen wer File oder irgendwas wo verwendet.
In meinen Quelltexten nutze ich das bisher nicht. Und die Arduino IDE sucht nicht in den verlinkten Bibliotheken, oder habe ich etwas übersehen?

Viele Grüße
Andreas
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

Die ist halt sehr rudimentär.
eclipse und imho alle anderen "guten" können das.
Dateianhänge
2023-06-18 10_29_18-sloeber44 - Tacho_TachoDC.pde - Sloeber.png
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

noex_242.jpg
das ist mein Nano HV Programierer.
Hab das wesentliche mal raus gezeichnet:
2023-06-23 09_02_23-HVprog [HVprog_] — Schematic Editor.png
die Datenleitungen hab ich wegen der Übersichtlichkeit weggelassen.
Die Widerstände haben alle 1K.
Spannungsversorgung über USB.

Bei einem blanken Tiny funktioniert das, verlötet nicht immer gut/ oder wie gerade, überhaupt nicht*.
:cry:
1 Idee, Die Widerstände verkleinern ? (ich glaube mein Schaltung taugt nichts, es wird wohl auf 2 oder 3 hinaus laufen müssen)
2 Idee, noch mal neu aufbauen, schöner und verständlicher wie hier:
https://github.com/felias-fogg/RescueAVR (das ist auch meine Software in Teilen)
3 Idee, was kaufen das einfach funktioniert und keine Probleme macht ?

* an VCC des Tiny hängt der Regler mit Kondensator,
an Reset die Basis eines Transistors, wie auch an PB4,
der Rest hängt in der Luft.

Wie sind eure Erfahrungen? was funktioniert gut "In-System"?
Benutzeravatar
sukram
Beiträge: 3063
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Der AVR-/ARDUINO-Faden

Beitrag von sukram »

Warum schließen die Transistoren die Spannungen kurz? Ich würde da schon das erste Problem vermuten, weil die Spannung am Widerstand mit dem Stromverbrauch der Schreibvorgänge im Tiny schwankt.
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

wenn ich's noch richtig weiß habe ich den für 5v nachgerüstet wegen genau solcher Probleme.
Und glaubte Erfolg gehabt zu haben. Im original kommen die einfach von einem Nano Pin.
Der für 12v ist prinzipiell auch im original so.
Die Software schaltet beide Spannungen nur kurz zu wie im Datenblatt beschrieben.
es geht ja nur darum per HV die Fuses zu setzen im Grunde.

Ich werde wohl mal neu aufbauen mit kleinstmöglichen Widerständen.
Nee, vorher werde ich einen Testmode einbauen der mir ein pwm signal pin-weise generiert.
das könnte Erkenntnis bringen.
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

Ich habe Probleme mit einem Nano Clone. Der steigt sporadisch regelmäßig aus.
Ich kann nichts ausschließen, hab aber tendenziell was elektrisches in Verdacht.
Die Hardware mit Stromversorgung mache ich grade neu.
Ein Watchdog liefert nur Blödsinn wegen des Bootloaders, deshalb, unter anderem, kann der weg.
Das nur zu den Randbedingungen.

Ich hadere jetzt mit den Fuses.
Offenbar sind die auf "Low Power Crystal Oscillator" gesetzt.
kann ich gefahrlos "Full Swing Crystal Oscillator" probieren?
Brown Out enabled hätte ich gerne, weil ich in den EEprom schreibe.
Um die Fuses per HV zu resetten muss wohl der 6beinige SchwingDing raus, da traue ich mich nicht ran.
Deshalb hab ich Schiss und frage lieber nach.
Dateianhänge
2023-07-20 08_50_14-.png
manawyrm
Beiträge: 133
Registriert: Sa 3. Okt 2015, 23:09
Wohnort: Kiel
Kontaktdaten:

Re: Der AVR-/ARDUINO-Faden

Beitrag von manawyrm »

ch_ris hat geschrieben: Do 20. Jul 2023, 09:16 Ich habe Probleme mit einem Nano Clone. Der steigt sporadisch regelmäßig aus.
[...]
Offenbar sind die auf "Low Power Crystal Oscillator" gesetzt.
kann ich gefahrlos "Full Swing Crystal Oscillator" probieren?
Jo, das Flag kannst du relativ gefahrlos setzen, das kann helfen, gerade falls das einer dieser Nano's ist, die mit 3.3V laufen, den AVR aber trotzdem (ausserhalb der Spec) mit 16 MHz laufen lassen.
Es gibt leider auch echt grosse Unterschiede in der Qualität der gefälschten AVRs auf den Nanos, einige laufen 100%ig, können auch Strom sparen, etc.
Andere verbrennen dauerhaft 2mA, völlig egal in welchem Betriebsmodus :)

(ich hab gerade nicht nachgeschaut, ob die Fusebits selbst gerade so richtig sind, das checkst du idealerweise nochmal mit nem FuseCalc Online-Tool)
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

Danke, der läuft zwar mit 5v aber die Bedingungen sind wohl eher... noisy.
Bis auf die unbenutzten eFuses sind die gleich mit denen der boards.txt

so einer ist das, mit usb und regler auf der Rückseite.
Dateianhänge
noex_259.jpg
noex_259.jpg (6.41 KiB) 526 mal betrachtet
Benutzeravatar
Alexander470815
Beiträge: 2371
Registriert: So 11. Aug 2013, 15:42
Wohnort: D:\Hessen\Gießen

Re: Der AVR-/ARDUINO-Faden

Beitrag von Alexander470815 »

Löte mal direkt an die Pins für die Versorgungsspannung einen SMD Kerko, muss nicht groß sein, aber direkt dran.
Ist ein bisschen knifflig den zwischen Quarz und Controller zu quetschen aber geht.
Das hat das Problem bei mir zuverlässig behoben.

Ich hatte das Problem sogar mit originalen 328PB auf den gleichen Nano Platinen, irgendwas ist da anders.
Auch wenn 328P drauf steht ist manchmal 328PB drin.
Der P hat zwei GND und VCC der PB nur jeweils einen.
ch_ris
Beiträge: 3029
Registriert: Mo 30. Nov 2015, 10:08

Re: Der AVR-/ARDUINO-Faden

Beitrag von ch_ris »

hab nachgeguckt, dieser hat 2 gnd schon mal.
1206 ist eigentlich das kleinste was ich mir zutraue,
aber man wächst ja an seinen Aufgaben, mal schauen.
Auf dem Schreibtisch funktioniert's, eingebaut werd ich mir das mit dem Scope ansehen soweit möglich.

Was mir das MCUSR sagen will ist ne andere Sache, trotz ohne Bootloader :?

Code: Alles auswählen

	uint16_t mus=0;
	 if (mcusr_mirror & (1<<PORF))mus+=1;//Power-on
	 if (mcusr_mirror & (1<<EXTRF))mus+=10;//Reset
	 if (mcusr_mirror & (1<<BORF))mus+=100;//Brown-out
	 if (mcusr_mirror & (1<<WDRF))mus+=1000;//Watchdog
	rec.addMsg(rec.MSG_AVR_START, millis(),mus, avr_starts,  true);
das hier liefert jetzt meistens 1101, ob nun Reset oder Kabel ziehen.
beim/nach flashen (000)0
so richtig schlau werde ich trotz dabla nicht draus.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Der AVR-/ARDUINO-Faden

Beitrag von Hightech »

Moin, hier hängt es mal wieder:

Ich habe einen max232 an RX0 und TX0 eines Arduino Mega2560, kann es ein, das ich den RX0 nicht benutzen kann, weil der auf dem Arduino-Board einen USB-TTL Wandler hat, der den RX0 auf High hält?
Ich kann Daten mit der RS232 Empfangen, aber der TTL- Pegel am Arduino geht nur auf ca. 2,5V unter beim Senden.
andreas6
Beiträge: 4149
Registriert: So 11. Aug 2013, 15:09

Re: Der AVR-/ARDUINO-Faden

Beitrag von andreas6 »

Es ist nie eine gute Idee, zwei Peripheriebausteine unselektiv parallel an den gleichen Port zu klemmen. Schalte ordentlich zwischen beiden um oder benutze eine andere serielle. Der Atmega hat reichlich davon.

MfG. Andreas
Antworten