Forum: Mikrocontroller und Digitale Elektronik Arduino NANO A6_A7


von Al. K. (alterknacker)


Lesenswert?

Will mich ein wenig damit beschäftigen.

Es werden nach meinen suchen/finden A6 und A7 nur als Analogeingang
genutzt.
Der ATMEGA 328P-32QFP hat intern einen 8Bit AD Multiplexer.
Kann man , wenn man  auf die Prozessor Hardware Programmierebene geht
 A6 und A7 auf Digital umstellen.
Nach meinen suchen/finden ist intern Port PC0 -PC7 --> ADC0-ADC7(?!),
also gleich behandelt.
Es ist nicht lebenswichtig d A6/A7 zu digitalisieren, aber mich 
interessiert es!

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Nein, die sind nur analog.

von void (Gast)


Lesenswert?

Al. K. schrieb:
> Nach meinen suchen/finden ist intern Port PC0 -PC7 --> ADC0-ADC7(?!),

Wo hast du das denn gefunden?
Im Datenblatt nicht.

Datenblatt Tabelle 14-6 "Port C Pins Alternate Functions"
PC0 -> ADC0
PC1 -> ADC1
...
PC5 -> ADC5
PC6 -> /RESET, PCINT14
PC7 -> nicht vorhanden

von Stefan F. (Gast)


Lesenswert?

Er meint die Anschlüsse A6 und A7 vom Arduino Nano, das ist ADC6 und 
ADC7 am µC.

von void (Gast)


Lesenswert?

Stefan U. schrieb:
> Er meint die Anschlüsse A6 und A7 vom Arduino Nano, das ist ADC6 und
> ADC7 am µC.

Und er glaubt, dass
A6 (ADC6) = PC6 und
A7 (ADC7) = PC7
sind. Dem ist aber nicht so, wie oben gezeigt.

von Paul B. (paul_baumann)


Lesenswert?

ADC6 liegt auf dem Anschluß 19 und ADC7 auf dem Anschluß 22 des 
32-poligen Gehäuses des Kontrollers selbst. Sie sind laut Datenblatt 
sowohl als Digital- als auch als Analoganschlüsse gekennzeichnet.

Ob und wo die auf der Arduino-Platine "herauskommen" kann ich nicht 
sagen.

mfG Paul

von Rene K. (xdraconix)


Lesenswert?

Seit dem Microchip für die Datenblätter zuständig ist, herrscht da auch 
nur noch Chaos. In der Übersicht sind sie als Digital/Analog aufgeführt. 
In der Spezifizierung aber als ausschließlich Analog-In...

Summary Page 11 Fig. 5-2....

von Paul B. (paul_baumann)


Lesenswert?

Edith sagt: Laut Schaltplan kommt ADC6 auf dem Anschluß 6 von J2 heraus 
und ADC7 auf dem Anschluß 5 von J2

Hinweis: Ob und wie die Arduino-Software das Ansprechen zuläßt, weiß ich 
nicht. Die nehme ich nicht.

mfG Paul

von void (Gast)


Lesenswert?

Paul B. schrieb:
> Sie sind laut Datenblatt
> sowohl als Digital- als auch als Analoganschlüsse gekennzeichnet.

Nein, sind sie eben nicht.
ADC7 auf pin 22 (32 TQFP)
ADC6 auf pin 19 (32 TQFP)
haben eben genau keine Digitale Port Funktion (kein PC6 + PC7).

ADC7+ADC6 haben beim Arduino Nano dann übrigens die wohl einleuchtenden 
Namen A7+A6.

Beitrag #5302529 wurde vom Autor gelöscht.
von Paul B. (paul_baumann)


Angehängte Dateien:

Lesenswert?

void schrieb:
> Nein, sind sie eben nicht.
> ADC7 auf pin 22 (32 TQFP)
> ADC6 auf pin 19 (32 TQFP)
> haben eben genau keine Digitale Port Funktion (kein PC6 + PC7).

Ach nee? Dann weißt Du mehr als der Hersteller.

Paul

von Al. K. (alterknacker)


Lesenswert?

Paul B. schrieb:
> Hinweis: Ob und wie die Arduino-Software das Ansprechen zuläßt, weiß ich
> nicht. Die nehme ich nicht.

Mit der bis jetzt gefundenen Arduino Software geht es nicht Digital , 
nur als Analog In!

Wenn ich den Arduino nur als Atmega nutze könnte ich also A6/A7 Digital 
Nutzen!?

von Schwarzseher (Gast)


Lesenswert?

Paul B. schrieb:
> Dann weißt Du mehr als der Hersteller

Der Hersteller wusste das schon. Die 
Datenblatt-Verhübscher-und-Verbuntisierer vom Aufkäufer des Herstellers 
wissen das nicht.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

> Wenn ich den Arduino nur als Atmega nutze könnte ich
> also A6/A7 Digital Nutzen!?

Diese Eingänge sind nur analog! Auch im letzten Datenblatt von Atmel. 
Schau, wie die Pins 19 und 22 beschriftet sind.

> Ach nee? Dann weißt Du mehr als der Hersteller.

Die Beschriftung lautet ADC6 und ADC7. Da gibt es keine digitale 
Portnummer. Wer hat denn die falschen bunten Klötzchen daran gemalt, 
kommt das etwa von Microchip?

von Paul B. (paul_baumann)


Lesenswert?

Al. K. schrieb:
> Wenn ich den Arduino nur als Atmega nutze könnte ich also A6/A7 Digital
> Nutzen!?

Ich kann es nicht ausprobieren, weil ich hier keinen Arduino jeglicher 
Art zur Verfügung habe. Was ich oben schrieb, stammt aus Datenblatt und 
Schaltplan.

Es ist doch aber schnell ein Programm geschrieben, wo man 2 LED an den 
Anschlüssen anzusteurn versuchen kann.

MfG Paul

von Al. K. (alterknacker)


Lesenswert?

Stefan U. schrieb:
> Diese Eingänge sind nur analog! Auch im letzten Datenblatt von Atmel.
> Schau, wie die Pins 19 und 22 beschriftet sind.

Nach den Pinbelegungen,Bunt oder Schw/weis  also nur Analog ein.

von Paul B. (paul_baumann)


Lesenswert?

Stefan U. schrieb:
> Wer hat denn die falschen bunten Klötzchen daran gemalt,
> kommt das etwa von Microchip?

Ja sicher. Das habe ich aus dem im Moment heruntergeladenen Datenblatt 
so, wie Du es da siehst, herauskopiert.

MfG Paul

von Stefan F. (Gast)


Lesenswert?

> Ich kann es nicht ausprobieren

Wie denn auch, ohne Port Nummer? Du musst dazu ein DDRx und ein PORTx 
Register beschrieben, aber Dir fehlt die Nummer für X.

von Kirsch (Gast)


Lesenswert?

ADC6 und 7 gibt es nur als Bonus im TQFP-Gehäuse, weil der mehr Pins 
hat.
Im DIL-Gehäuse fehlen sie.

Nur im ATMegaxx8PB ("PB" hinten) sind sie als Port-PE2 und 3 auch als 
Digital-IO verfügbar. Den gibt es aber nicht im DIL-Gehäuse.

von Al. K. (alterknacker)


Lesenswert?

Nun bin ich als unwissender Fragender etwas überfordert.

von Stefan F. (Gast)


Lesenswert?

> Nun bin ich als unwissender Fragender etwas überfordert.

Ich fasse es nochmal für Dich zusammen: Diese beiden Pins sind bei 
deinem Produkt nur als analoge Eingänge verwendbar.

von Andreas B. (bitverdreher)


Lesenswert?

Es gibt kein PC7. PC6 hast Du auch nur, wen Du den Reset deaktivierst.
Die ADC Pins ADC6 und ADC7 sind nicht identisch mit den PC6 und PC7 
Pins.
Quelle Datenblatt Atmel, PiN Descriptions. (nicht Microchip!)

von avr (Gast)


Lesenswert?

Andreas B. schrieb:
> Quelle Datenblatt Atmel, PiN Descriptions. (nicht Microchip!)

Und auch bei microchip ist es eindeutig. Auch wenn der Pin als 
Analog/Digital gekennzeichnet ist, wird als Funktion NUR ADCx 
ausgewiesen.

von Stefan F. (Gast)


Lesenswert?

Das ist doch nicht eindeutig!

von avr (Gast)


Lesenswert?

Wenn da ausschließlich ADCx steht, dann ist das sehr wohl eindeutig. Bei 
allen anderen digital benutzbaren Pins steht auch immer PXx. Wie kann 
man das denn missverstehen? Im Datenblatt wird es mit Sicherheit später 
auch noch ausgeführt.

von Stefan F. (Gast)


Lesenswert?

> Wenn da ausschließlich ADCx steht, dann ist das sehr wohl eindeutig.

Direkt daneben steht aber das farbliche Symbol für Digital/Analog, und 
somit ist es nicht mehr eindeutig. Ich würde jetzt auch das ganze 
Datenblatt durchsuchen, wie man diese Pins digital verwendet, wenn ich 
nicht bereits wüsste, dass das nicht stimmen kann.

von avr (Gast)


Lesenswert?

Anders gesagt: Mit welchem Register willst du denn einen ADCx Pin 
digital ansteuern? Der hier von manchen angenommene Zusammenhang ADCx == 
PCx ist vollkommen willkürlich und steht nicht so im Datenblatt. Das ist 
so bei manchen AVRs rein (mehr oder weniger) zufällig, aber längst nicht 
bei allen. Und daher bleibt es eindeutig, da kein korrespondierender 
digitaler Port dem Pin zugewiesen wird.

von Stefan F. (Gast)


Lesenswert?

>>> Ich kann es nicht ausprobieren

>> Wie denn auch, ohne Port Nummer? Du musst dazu ein DDRx und ein
>> PORTx Register beschrieben, aber Dir fehlt die Nummer für X.

> Mit welchem Register willst du denn einen ADCx Pin
> digital ansteuern?

Wir drehen uns im Kreis.

von avr (Gast)


Lesenswert?

Stefan U. schrieb:
> Wir drehen uns im Kreis.

Stimmt. Aber aufgrund der fehlenden Portnummer ist es für mich 
eindeutig. Ich habe die Pins schon analog benutzt, aber ich bin noch nie 
auf die Idee gekommen, dass sie digital benutzbar sein sollten.

Die GPIO-Funktionalitäten des Atmega328 sind jetzt nicht wirklich groß. 
Das ist eine Push-Pull-Stufe mit optionalem Pull-up-Widerstand. Es gibt 
mMn auch keinen Grund warum wann von jeglicher Konvention abweichen, 
irgendwo ein verstecktes Register für die digitale Benutzung definieren 
sollte und zudem diese Bits nicht direkt an die Ports im Diagramm zu 
schreiben.

von avr (Gast)


Lesenswert?

Die "Fehlinformation" ist übrigens Verhältnismäßig harmlos im Vergleich 
zu dem was ich schon erlebt habe. Teilweise habe ich schon 
Copy-Paste-Fehler in den Absolute Maximum Ratings oder Eletrical 
Specifications gesehen, die sich mit anderen Informationen im Datenblatt 
offensichtlich widersprochen haben.

von npn (Gast)


Lesenswert?

Stefan U. schrieb:
> Wir drehen uns im Kreis.

Der einzige, der sich im Kreis dreht, bist du.
Wenn im Datenblatt kein Register existiert, welches du ansteuern kannst 
für eine digitale Ein- oder Ausgabe, dann IST das eindeutig. Oder meinst 
du, Atmel hat das DDRx oder PORTx vergessen hinzuschreiben?

von Einer K. (Gast)


Lesenswert?

Al. K. schrieb:
> Nun bin ich als unwissender Fragender etwas überfordert.

Du willst nur die Antwort nicht schlucken!

Die beiden Pins können nur Analog in.

Sonst nichts.
Hat auch nichts mit Arduino zu tun.

Die beiden Pins können nur Analog in.

Dass da auf manchen Bildchen irgendwas anderes gemalt ist, ist 
vielleicht schade, oder dumm, aber dennoch unwichtig.
Die Pins sehen die Bilder nicht, und reagieren somit nicht auf die 
Bilder.

Die beiden Pins können nur Analog in.

von Rene K. (xdraconix)


Lesenswert?

Arduino F. schrieb:
> Dass da auf manchen Bildchen irgendwas anderes gemalt ist, ist
> vielleicht schade, oder dumm, aber dennoch unwichtig.

Ach Mensch, darum geht es doch! Im alten Datenblatt von Atmel, als es 
noch nicht "bundiquatschi" von Microchip "aufgehübscht" wurde. War es 
halt nicht so und eindeutig. Wir alle wissen das es ausschließlich 
Analog-In ist.

Das sind nicht "manche Bildchen"  sondern die Pinbelegung als Bild aus 
dem offiziellen und aktuellen Datenblatt.

von Einer K. (Gast)


Lesenswert?

Rene K. schrieb:
> Wir alle wissen das es ausschließlich
> Analog-In ist.
Offensichtlich nicht.
Denn sonst würde es diesen Thread nicht geben.
Lese ihn nochmal durch.
Nicht nur der TE hat Probleme mit der Erkenntnis


Ich vermute mal, dass das Bildchen irgendwann bearbeitet wird.
Wäre auch nicht der erste Fehler, welcher in einem technischen Dokument 
korrigiert wird.

Klar kann man sich darüber ärgern, und sogar streiten.
Bringt allerdings alles nichts.
Ist flüssiger als Wasser. Überflüssig.

Aber du könntest den Fehler bei Microchip melden.
Das wäre eine gute Tat.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Mein Datenblatt hat 448 Seiten und am Ende als Version "8161D–AVR–10/09"

Das interpretiere ich mal so, dass A7 und A6 keine Digitalfunktion 
aufweisen.

von Wolfgang (Gast)


Lesenswert?

Manfred schrieb:
> Das interpretiere ich mal so, dass A7 und A6 keine Digitalfunktion
> aufweisen.

Für diese Erkenntnis musst du keine 448 Seiten durchwühlen, sondern 
kannst ziemlich vorne in Figure 2-1. Block Diagram gucken (S.5 in der 
660 Seiten umfassenden Atmel Ausgabe Rev.: 8271G–AVR–02/2013).

Da gibt es dann auch keinen Interpretationsspielraum.

von Al. K. (alterknacker)


Lesenswert?

Arduino F. schrieb:
> Du willst nur die Antwort nicht schlucken!

wenn schon Fachleute eine Widersprüchliche Interpretation von 
Datenblättern haben, dann darf ich doch wohl überfordert sein.;--))

von Joachim B. (jar)


Lesenswert?

Al. K. schrieb:
> wenn schon Fachleute

sind ja nicht alles Fachleute

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf

Seite 19

Table 6-1. PORT Function Multiplexing

beschreibt es doch ganz ordentlich

ADC6 und ADC7 gibts nur im 32-poligem Gehäuse und die haben keine 
alternativen Funktionen.

wenn man genug sucht findet man alle Bildchen und Erklärungen

Schutzdioden
http://1.bp.blogspot.com/-gP-QkTFUxyg/Va5NanF041I/AAAAAAAACyo/l4lD17jbh9g/s1600/AVR182%2BFig%2B1.PNG

Pullupschaltung
https://microchip.wdfiles.com/local--files/8avr:ioports/avriopin.png

DDR der digital Pins (data direction register)
https://www.engineersgarage.com/sites/default/files/imagecache/Original/wysiwyg_imageupload/28714/AVR%20IO%20Circuit.jpg

ausführlicher *.)
https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/ATmegaX8.chm/bild/b14-5.png

der analog Multiplexer
http://winavr.scienceprog.com/sites/default/files/images/stories/2007/ADC/atmega8_adc.jpg

und hier sieht man von *.) das es nicht unbedingt zum analog in ADC auch 
zwingend digital Ports geben muss, der ADCn kann durchaus alleine zum 
Multiplexer laufen, wie eben beim 6 und 7

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

hi,
natürlich lassen sich diese beiden analog eingänge als "langsame" 
digital eingänge benutzen, ähnlich

//********************************************************************** 
*****
uint8_t digitalReadADC(uint8_t ch) {
//********************************************************************** 
*****
  ADMUX |= ch - 14; //arduino defined a0=14, a1=15 ...
  sbi(ADCSRA, ADSC); //start adc
  while (!ADCSRA & ADIF);
  sbi(ADCSRA, ADIF); //clear conversion complete flag
  return ADCH? 1:0; //>0 always logical high!
}

mt

von Uwe D. (monkye)


Lesenswert?

Wolfgang schrieb:
> Manfred schrieb:
>> Das interpretiere ich mal so, dass A7 und A6 keine Digitalfunktion
>> aufweisen.
>
> Für diese Erkenntnis musst du keine 448 Seiten durchwühlen, sondern
> kannst ziemlich vorne in Figure 2-1. Block Diagram gucken (S.5 in der
> 660 Seiten umfassenden Atmel Ausgabe Rev.: 8271G–AVR–02/2013).
>
> Da gibt es dann auch keinen Interpretationsspielraum.

Korrekt, in dem Absatz davor steht auch, dass die 2 Pins nur für 
bestimmte Gehäuse zur Verfügung stehen, DIP ist nicht dabei.

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?


von Einer K. (Gast)


Lesenswert?

Georg M. schrieb:
> http://www.pighixxx.com/test/pinouts/boards/nano.pdf
Das ist jetzt aber eine Quelle, welche auch nicht zuverlässig sein muss.
Es ist zwar richtig was da steht, aber der Beweis findet sich nur im 
Text des ATMega328P Datenblattes.


Die Arduino Doku sagt zum Nano:
>  Analog pins 6 and 7 cannot be used as digital pins.
Aus: https://store.arduino.cc/arduino-nano

Selbst das wurde hier angezweifelt, bzw. für eine Einschränkung der 
Arduino Umgebung gehalten. Und das, obwohl sie doch den Durchgriff auf 
alle Hardwarekomponenten zulässt.


//-----

Al. K. schrieb:
> Arduino F. schrieb:
>> Du willst nur die Antwort nicht schlucken!
>
> wenn schon Fachleute eine Widersprüchliche Interpretation von
> Datenblättern haben, dann darf ich doch wohl überfordert sein.;--))
Wenn du Spaß an Überforderungen und Verwirrungen hast, men zu...
Ich gönne dir das Maximum davon.

Al. K. schrieb:
> Es werden nach meinen suchen/finden A6 und A7 nur als Analogeingang
> genutzt.
Diese Erkenntnis hast du schon im Eingangsposting mit gebracht.

Und doch:
Die Kröte wollte nicht runter.

von Al. K. (alterknacker)


Lesenswert?

Arduino F. schrieb:
> Al. K. schrieb:
>> Es werden nach meinen suchen/finden A6 und A7 nur als Analogeingang
>> genutzt.

> Diese Erkenntnis hast du schon im Eingangsposting mit gebracht.

Nun jetzt habe ich glaubhaft die Bestätigung für meine anfängliche 
Feststellung.
Es ist wie mit den Bedienanleitungen,wenn man das Gerät richtig 
kennt,versteht man auch die Anleitung!
Bei Datenblättern scheint das gleiche zu gelten, jedenfalls für 
mich.;-))

von Manfred (Gast)


Lesenswert?

Uwe D. schrieb:
> in dem Absatz davor steht auch, dass die 2 Pins nur für
> bestimmte Gehäuse zur Verfügung stehen, DIP ist nicht dabei.

Und, was sagt uns das nun? Hier wurde nach dem Arduino Nano gefragt, der 
hat das passende Gehäuse und A6 / A7 sind herausgeführt.

Beim Uno sind sie natürlich nicht da, weil der mit dem großen DIL 
entworfen wurde und die Nachbauten mit SMD-IC kompatibel bleiben sollen.

Beitrag #5303840 wurde von einem Moderator gelöscht.
von Al. K. (alterknacker)


Lesenswert?

Manfred schrieb:
> Beim Uno sind sie natürlich nicht da, weil der mit dem großen DIL
> entworfen wurde und die Nachbauten mit SMD-IC kompatibel bleiben sollen.

Ich habe auch einen UNO mit  328P-32QFP!
Hier sind A6/A7 nicht weiter kontaktiert!

von Einer K. (Gast)


Lesenswert?

Es gibt durchaus einige UNO kompatible, bei denen A6 und A7 erreichbar 
sind.

Beispiele:
https://de.aliexpress.com/item/UNO-R3-CH340G-ATmega328P-compatible-for-Arduino-UNO-R3/32523366108.html
ebay: 281074993843
https://www.freetronics.com.au/products/usbdroid#.WnhfOebkSCg
Gibt sicherlich noch mehr davon.

von Al. K. (alterknacker)


Lesenswert?

Arduino F. schrieb:
> Es gibt durchaus einige UNO kompatible, bei denen A6 und A7 erreichbar
> sind.

Bei mir sind die Pins auch erreichbar,geht aber keine Leiterbahn ab.
Das anlöten eines Fädeldrahtes ist mir etwas zu schwierig.

Wie macht man das übrigens am besten(leichtesten?

von Einer K. (Gast)


Lesenswert?

Al. K. schrieb:
> Wie macht man das übrigens am besten(leichtesten?
Wenn wir darüber reden müssen, dann brauchst du einen Löt Grundlehrgang.

Al. K. schrieb:
> Das anlöten eines Fädeldrahtes ist mir etwas zu schwierig.
Üben.

Draht verzinnen, Flussmittel, und dran damit.
Und wie immer:
Saubere Oxid freie Oberflächen, sauberer Kolben.

------

Das Problem ist eher nicht das Ende am µC, sondern die andere Seite des 
Drahtes.

von Paul B. (paul_baumann)


Lesenswert?

Al. K. schrieb:
> Bei mir sind die Pins auch erreichbar,geht aber keine Leiterbahn ab.

Eventuell geht die Leiterbahn unter dem Schaltkreis weg und kommt über 
eine Durchkontaktierung auf der anderen Seite wieder raus.

"Klingel" doch das mal durch:

Paul B. schrieb:
> Edith sagt: Laut Schaltplan kommt ADC6 auf dem Anschluß 6 von J2 heraus
> und ADC7 auf dem Anschluß 5 von J2

MfG Paul

von Al. K. (alterknacker)


Lesenswert?

Zum Test habe ich solche Beinchen schon kontaktiert!
Meine Methode ist mit einer feinen Nadel das Beinchen anstechen, ist 
relativ sicher und einfach
Hiermit habe ich dieses Patent freigegeben!;-))

Paul B. schrieb:
> Eventuell geht die Leiterbahn unter dem Schaltkreis weg und kommt über
> eine Durchkontaktierung auf der anderen Seite wieder raus.

werde ich untersuchen!

: Bearbeitet durch User
von Paul B. (paul_baumann)


Lesenswert?

Al. K. schrieb:
> Meine Methode ist mit einer feinen Nadel das Beinchen anstechen, ist
> relativ sicher und einfach
> Hiermit habe ich dieses Patent freigegeben!;-))

Patent? Das Anstechen von Beinchen mit feinen Nadeln lernt jeder 
Medizinstudent gleich zu Beginn der Ausbildung.
:)

MfG Paul

von Toralf W. (willi)


Lesenswert?

Moin,

eventuell fangen die asiatischen Freunde ja an den Nano mit ATmega328PB 
zu bestücken (Bild vom Datenblatt hat ja Paul oben schon gepostet). Dann 
stehen diese PINs auch als normale digitale IOs zur Verfügung. In wie 
weit das die Arduino Umgebung unterstützt ist dann wieder eine andere 
Frage.

von Einer K. (Gast)


Lesenswert?

Arduino selber wird in dem Punkt die Füße still halten.

Aber Externe haben die ersten Schritte gemacht.
Die Unterstützung ist noch nicht ausgereift.
Funktioniert aber schon in weiten teilen.
Auch das nutzen von A6+A7 als Digital IO

Siehe dazu: https://github.com/watterott/ATmega328PB-Testing
Und: https://github.com/amoehl/uino-atmega328pb

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
Noch kein Account? Hier anmelden.