Hallo,
ich habe einen Sketch, mit welchem ich alle Sekunde (mit Millis) Messdaten auf eine SD Karte schreiben lasse.
Das ganze funktioniert einwandfrei so lange ich einen Nano verwende. Jetzt habe ich den Sketch auf einen Pro Mini (328P, 5V, 16MHz) geladen und da scheint "eine Milli" etwas anderes zu sein als im Nano...:
Auf dem Pro Mini wird nur alle 2 Sekunden ein Messwert gespeichert. Ändere ich den Wert für den Interval von 1000 auf 500, dann wird wieder im Sekundenabstand gespeichert.
Kann das sein, dass der Pro Mini nur mit 8 MHZ läuft?
Pro MINI gibt es auch als 3,3V 8MHz Variante.
Zeig uns mal den LINK wo Du das Teil gekauft hast.
Schalte mal einen Ausgang auf HIGH und miß die Spannung zwischen Ausgang und GND.
Grüße Uwe
a) brauchst du den richtigen Pro Mini 8Mhz/16MHz
b) musst du auch beim kompilieren darauf achten, die richtige Quartz Frequenz auszuwählen.
wenn es weiterhin nicht klappt, brauchen wir ein hochauflösendes Foto von deinem Pro Mini, Link von wo du den her hast und einen Screenshot deiner IDE wo wir sehen, dass du den richtigen Quartz eingestellt hast.
Gekauft habe ich ihn auf Ebay (ist ein Clon) als 5V 16MHZ, ist aber mindestens schon ein Jahr her, deshalb habe ich da keinen Link mehr.
Versorgt wird er mit 5V aus einem Akku mit einem DC DC Wandler dazwischen, Spannung am EIngang ist 5,04V (eben noch mal gemessen).
Auf dem Quarz (ich denke zumindest dass das der Quarz ist...) steht 80j
Um die Spannung an einen Pin zu messen muss ich mir noch schnell einen Sketch basteln, - reiche ich nach.
Eigentlich macht er ja alles, - halt nur mit halber Geschwindigkeit... Ich zähle (zu Kontrollzwecken) auch wie oft er eine Schleife durchläuft: in 2 Sekunden genau so oft wie der Nano in einer.
Selbst wenn er nur mit 8MHz läuft, eine Millisekunde sollte dennoch eine Milisekunde bleiben...
Was misst du denn auf VCC ?
Das Bauteil ist der frequenzbestimmende Teil, allerdings ein keramischer Resonator, ähnlich wie ein Quarz.
Die Kennzeichnung sagt mir leider nix.
herbk:
Selbst wenn er nur mit 8MHz läuft, eine Millisekunde sollte dennoch eine Milisekunde bleiben...
Und das passt nur exact, wenn du ihn mit dem richtigen Bootloader und dem richtigen Sketch-Einstellung geflasht hast.
Nur wenn alles zusammen passt, stimmen auch die Zeiten.
Hast du beim Flashen die richtige Frequenz angegeben ?
Bei 5Volt sind das 16 MHz.
Selbst wenn er nur mit 8MHz läuft, eine Millisekunde sollte dennoch eine Milisekunde bleiben...
nicht wenn du ihn mit falschen Einstellungen geflasht hast. Vereinfacht so: die millis() müssen wissen, ob der Controller auf 8 oder 16Mhz läuft, ansonsten dividieren sie falsch. Und das gibst du beim flashen mit. Wenn da also ein anderer Taktgeber als erwartet drauf ist - gehen die millis() schief.
Du kannst ja mal testweise probieren, ob er mit 8Mhz "richtiger" läuft... - die Chancen stehen gut.
OT: wobei ein 8Mhz mit 5V ist schon eigenartig, da hat sich wohl jemand in der Kiste vergriffen. 16Mhz mit 3.3 (was ja bekanntlich nicht Spec konform ist) habe ich selber hier liegen.
Du hast recht, ich muss noch lernen mich da präziser auszudrücken... Die Pins können ja fast alle Eingange sein.
Bord habe ich wohl schon das richtige angegeben (schon mehrmals kontrolliert) Pro Mini 328P (5V 16MHZ), nicht so sicher bin ich mir beim Programmer, - hier habe ich AVR ISP genommen, weil ich mal wo gelesen habe dass der passen würde.
...und dem richtigen Sketch-Einstellung geflasht hast
Muss ich am Sketch selbst auch etwas ändern, oder habe ich das jetzt falsch verstanden?
Muss ich am Sketch selbst auch etwas ändern, oder habe ich das jetzt falsch verstanden?
Nein, ja.
Quote
Dummer weise sagst du nicht an welchem Eingang.
Du hast recht, ich muss noch lernen mich da präziser auszudrücken... Die Pins können ja fast alle Eingange sein.
Bord habe ich wohl schon das richtige angegeben (schon mehrmals kontrolliert) Pro Mini 328P (5V 16MHZ), nicht so sicher bin ich mir beim Programmer, - hier habe ich AVR ISP genommen, weil ich mal wo gelesen habe dass der passen würde.
Dummer weise sagst du immer noch nicht an welchem Eingang.
Bord habe ich wohl schon das richtige angegeben (schon mehrmals kontrolliert) Pro Mini 328P (5V 16MHZ)
Der Weg in die Hölle ist mit falschen Annahmen gepflastert.
Wenn es ein 3,3V Pro mini ist, dann kannst du die 5 Volt am RAW-Pin einspeisen.
Warum siehst du dir nicht vorher die zahlreichen Informationen im Internet an ?
Es gib Schaltbilder und Pinouts, es ist alles vorhanden um es gleich richtig zu machen.
Boahh...
Das war ja eine schwierige Operation, diese Info aus dir raus zu quetschen.
Also...
Wenn du den µC mit 5V versorgst, dann läuft er auch mit 5V.
Das darf dann auch keinen Wundern.
der hat aber auch keinen Pin wo 5V (oder 3.3V) dran steht... ??
Der hat aber einen Pin Vin, auf den man mit 7V drauf gehen kann.
Und dann kann man auch den Vcc Pin messen, ob der Regler 3,3V oder 5V ausspuckt.
Denn die Bezeichnung auf dem Regler möchtest du ja auch nicht nennen.
steck mal alles ab (auch deinen FTDI) und versorge über RAW und GND etwa 6,5 Volt, und dann misst du mal VCC ... DAS wäre interessant. Dann weist du ob da ein 3V3 Regler oder ein 5V Regler drauf ist.
Wenn du über FTDI nämlich schon 5V zuführst, hast du natürlich das ganze Ding schon auf 5V laufen ...