Nano Testboard (KiCad)

Hallo,

ich möchte einmal mein Arduino Nano Testboard vorstellen bzw. zur freien Verfügung stellen. Grundsätzlich passen Nanos mit 328P, 328PB und Every drauf. Die aktuelle Pin Beschriftung vom Projekt ist für meinen Every. Kann jeder für sich abändern.

Bilder



I2C und SPI sind direkt mit den entsprechenden Nano Leitungen verbunden. Pullups sind vorgesehen, weil die orignalen Nanos keine onboard haben.

Der Footprint von K1 und K7 sind für meine Wago 250-14xx Klemmen. Ist aber doppelt ausgelegt und auch für RM 2.54 Schraubklemmen passend. Der Footprint der PT15 Potis ist ebenfalls "doppelt" ausgelegt. Es gibt Potis mit Abgriffpin am Gehäuserand und welche mit nach innen gebogenen Pin.

Die 5 Cursor Tasten und die vom Encoder sind auf einem Spannungsteiler zusammengefasst.
Die berechneten Widerstandswerte für den Spannungsteiler sind bspw.,
wenn man mit 10k anfängt: 10k, 2k, 3k, 5k, 10k, 30k
wenn man mit 20k anfängt: 20k, 4k, 6k, 10k, 20k, 60k
wenn man mit 30k anfängt: 30k, 6k, 9k, 15k, 30k, 90k
für eine gleichmäßige Verteilung der ADC Digits als Richtwerte.

K4 ist gedacht für eine Verbindung per Flachbandkabel und extra Platine auf ein Steckbrett o.ä..
K8, K9, K11, K13 und K19 sind bewusst nicht fest verdrahtet, damit man diese flexibel an den Nano per Jumperkabel verbinden kann. Damit hat man genügend Flexibilität. Programmiertechnisch kann man sich daran sicherlich austoben.

K4-33 und K4-34 sind bewusst nicht verbunden um eine Masseschleife zu verhindern. Kann man notfalls immer noch eine Brücke einlöten.

Eine Anmerkung zu den K14 ... K17. Platzmäßig passen neben den Molex Mini Spox RM 2.5 auch JST XH RM2.5/2.54 und Molex KK 6373 RM 2.54, wobei es Letztere von verschiedenen Herstellern gibt. Die 3 Footprints sind in der local... Libs enthalten. Der JST XH Footprint ist geändert auf 2.54mm, KiCad hat den Originalen mit 2.5mm. Die Chinesen verkaufen die JST XH auch gern mit 2.54mm. Muss man ggf. etwas verschieben.

Eine Anmerkung was es mit L1 auf sich hat. Das Everyboard ist hinsichtlich AREF etwas anders beschalten wie ein Nano mit 328P. Beim Every hängt ein 100nF und 4,7µF Kondensator an AREF. Wenn man 3,3V und AREF direkt verbindet sorgt das für einen Reset. Weil die Spannung kurz zu weit zusammenbricht. Deswegen habe ich am AREF Pin noch einen 0805er Footprint vorgesehen. Man kann einen Widerstand zwischen 10 und 100 Ohm oder einen 10µH Ferrit (bspw. TDK MLZ2012) einsetzen. Das dazu falls sich jemand wundert.

Bei dem Ein-Kanal 9001 OPV sollte man den richtigen Typ bestellen. Durfte ich Leidvoll erfahren. Der mit 'I' in der Bezeichnung IDBVR ohne 'U' ist richtig. Es gibt nämlich zwei verschiedene Pinbelegungen mit gleichen Gehäuse. Man kann auch wahlweise den 6001er nehmen. Generell sind die OPV Eingänge offen gestaltet um Einflüsse auf weitere Beschaltungen zu vermeiden. Deswegen sind die Leds auch mit OPV entkoppelt. Wer es "stabil" mag muss bei unbenutzten Pin die Pullups aktivieren.

Direkt steckbar sind Bluetooth Module HC-05 oder HC-06 und nRF24. Der Every kann auf Grund besserer Spannungsversorgung das nRF24 Modul direkt versorgen, beim Nano mit 328P sollte man spätestens bei höherere Sendeleistung extern 3,3V einspeisen. Dafür dient die Schraubklemme mit einfachen Verpolungsschutz und dem Jumper JP2.

Da es viele unterschiedliche Footprints für die DC Buchse gibt sind mehrere Footprints vorhanden. Alles in den local... Libs. Im Großen und Ganzen ist es noch lötfreundlich gestaltet. Viel mehr gibts dazu eigentlich nicht zu sagen.

Das .zip File ist ein KiCad 7 Projekt.
Nano-Every-AdapterBoard_230922_v1.02.zip (2,5 MB)

3D Modelle extra wegen Dateigröße. Siehe unten.

Mit "local... Libs" sind gemeint "localSymbols bzw. "localFootprints".

Sketch für die Tasterabfrage

struct Taster {
const uint8_t pin {A0};
uint32_t lastMillis {};
uint8_t temp {};
uint8_t alt {};
uint8_t neu {};
} taster;

uint8_t oldButton;

void setup (void)
{
Serial.begin(250000);
Serial.println(F("\nuC Reset ####"));
}

void loop (void)
{
// Demo für eine Anzeige bzw. Ausgabe
const uint8_t n = aktiverTasterIst(taster);
if ( oldButton != n ) {
Serial.print(F("Taster ")); Serial.println(n);
oldButton = n;
}
}

uint8_t aktiverTasterIst (Taster &b)
{
const uint32_t ms {millis()};
bool stabil {false};

if (ms - b.lastMillis >= 10) {
b.lastMillis = ms;
b.temp = readAnalogTasterPin(b.pin);

if (b.neu == b.temp) {      // wenn eingelesener Taster gleich vorherigen eingelesen Taster,
  b.alt = b.temp;           // dann wird aktueller Taster als stabil betrachtet
  stabil = true;
}

else if (b.neu != b.temp) { // wenn eingelesener Taster verschieden vom vorherigen eingelesen Taster,
  b.neu = b.temp;           // dann Änderung merken
}

}

return (stabil ? b.neu : b.alt);
}

uint8_t readAnalogTasterPin (const uint8_t pin)
{
const uint8_t BUTTONS {6};
const uint16_t RESOLUTION {1024};
const float AVG = RESOLUTION / float(BUTTONS);
uint8_t taster {0};

const uint16_t val = analogRead(pin);

for (uint8_t i = 0; i < BUTTONS; i++) {
if (val < ((i + 0.5) * AVG)) {
taster = i + 1;
break;
}
}
return taster;
}

Das Projekt ist nach besten Wissen und Gewissen erstellt. Die Infofelder sollten ausreichend sein. Ich kann nur noch viel Spaß damit wünschen oder für eigene Zwecke abändern oder oder ...

Edit:
Schaltplan einzeln: Nano-Every-AdapterBoard.pdf (1,1 MB)

Edit:
Ich hatte noch kurzerhand ein zweites HC-05 3D Modell hinzugefügt und aktiviert, aber vergessen das .zip zu aktualisieren. aktualisiertes 3D Modell .zip Paket

7 Likes

Wie sind die LED angeschlossen?
Grüße Uwe

via 9001 - Im zip ist ein Schaltplan.pdf. :wink:

zip's mag ich nicht so gerne öffnnen.

Dann frage ich mich ob es sinnvoll ist an A6 und A7 eine LED zu haben.
Beim ATmega328 sind das nur analoge Eingänge.
Beim ATmega4809 weiß ich nicht ob das auch digitale Ein/Ausgänge sein können.
Grüße Uwe

1 Like

also beim Uno ist es so das egal ob digital oder Analog um eine LED zum Leuchten zu bringen, die musste ich auch benutzen da eine Additionsuhr 16LEDs hat. (wenn man 1+2 Binär anlegt kann man auf 3 LEDs verzichten)

der UNO hat kein A6 und A7

Moin,

Eine gesunde Portion Paranoia ist okay. Gegen übertriebene Paranoia kann ich nichts machen. Ich mach eine Ausnahme. Schaltplan ist oben eingefügt. Aber sei vorsichtig es beißt. :wink:

Noch etwas Allgemeines gegen Paranoia, scheint ja hier niemand zu kennen von den betroffenen Leuten. :wink: virustotal

Die Frage oder der Gedanke ist irrelevant.

Bitte erklähr mir wieso Du es als irrilevant erachtest.
Grüße Uwe

Hallo,

du solltest dir erstmal den Schaltplan anschauen und die Pinouts vom Standard Nano und vom Every. Die Antwort lautet, weil sie nicht stören.

Edit:
Uwe, nimms mir nicht übel, aber den Seitenhieb kann und will ich mir nicht verkneifen. Den Elfmeter lasse ich nicht aus.

und dann eigenes .zip File
Wie passt das zusammen? Du weißt hoffentlich worauf ich hinaus möchte.

Hallo,

es haben sich neue Erkenntnisse ergeben bezüglich verwendeten OPV. Die TLV900x Serie ist zu empfindlich, deswegen reagieren die Leds mehr oder weniger auf "geladene Luft". :wink: Auf Dauer stört mich das doch mehr oder weniger. Dafür muss ich das Layout für die 1 Kanal OPVs ändern. Es kommen dann LMV321 und LMV324 drauf.

Hallo,

OPVs sind gewechselt. Layout ist daraufhin geändert. Die OPV Ausgänge bzw. Leds sind jetzt "High" stabil mit offenen Eingängen. Das Gezappel bzw. langsame Helligkeitsänderung wegen ESD ist weg. Mehr Änderungen ist an der Platine nicht geplant. Alle neuen Dateien sind im Eingangsthread geändert.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.