Forum: Projekte & Code Universeller Schieberegister-Controller


von Brüno (dominic_m833)



Lesenswert?

Da wir regelmäßig unterschiedlichste Ausgangskonfigurationen auf 
applikationsspezifischen PCBs haben, habe ich mich an einen kleinen 
Controller mit ATMEGA328PB gemacht, welcher möglichst universell 
konfiguriert werden kann. Das Ergebnis in branchless findet ihr im 
Anhang :)

Mit channelassignment[channelcount] können dabei beliebige 
Ausgangskonfigurationen der Schieberegister gemapped werden. So ist z.B. 
Channel 0 dem 18. Schieberegisterausgang zugeordnet.

Habt ihr einen Tipp für eine Library, mit der ich die unterschiedlichen 
Kommandos per FTDI TTL-232R-5V empfangen und möglichst schlank 
interpretiert bekomme? So soll z.B. das Kommando setoutput(1) den 0. 
Channel setzen.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Schieberegister? Ich sehe da kein Schieberegister. Ich sehe aber auch 
keinen Schaltplan.

Und was soll das Video?

> unterschiedlichste Ausgangskonfigurationen auf
> applikationsspezifischen PCBs

Das klingt auf jeden Fall bullshitbingokompatibel. Respekt!

von Brüno (dominic_m833)


Lesenswert?

Mal ab davon, dass ein Schaltplan für die Beantwortung der Fragen völlig 
irrelevant ist und es hier um Code geht, neben einem ISP-Header, einem 
16MHz Quarz, einem UART-Header passend zum FTDI-Kabel und ein paar 
Header zum Anschließen gäbe es da exakt nichts zu sehen. Die Header zum 
Anschließen werden dann auf die applikationsspezifische PCB aufgesteckt, 
auf der z.B. 74HC595 oder ähnliche Schieberegister verbaut sind. Solange 
sie mit SRCK, RCK, SER und Q7S oder vergleichbar daherkommen, ist auch 
das völlig frei wählbar. Das Video zeigt einen Versuchsaufbau mit vier 
595 auf einem Breadboard.

Diese lange Prosa zum Schaltplan und den Schieberegistern hätte man sich 
übrigens auch komplett sparen können, weil ersteres absolut trivial ist 
und zweiteres selbsterklärend in den ersten vier Zeilen steht. Durch 
Anpassung dieser vier Zeilen kriegt man den Code übrigens auch auf jedem 
anderen arduinokompatiblen Board zum Laufen, völlig ohne Schaltplan. 
Außerdem, ich wiederhole mich, geht es hier um Code.

: Bearbeitet durch User
von Chris S. (schris)


Lesenswert?

Nimm cmdArduino
Ich mag sie nicht besonders wegen dem Malloc, aber die Lib braucht wenig 
Einarbeitung und der Code ist übersichtlich, speziell wenn man einige 
c-macros verwendet.

von Brüno (dominic_m833)


Lesenswert?

Um den ewig negativ-Bewertern ein bisschen auf die Sprünge zu helfen, so 
schaut z.B. die Minimalbeschaltung eines 328PBs aus: 
https://github.com/MCUdude/MiniCore#minimal-setup

Wie man da dann entsprechend der ersten 4 Zeilen ein paar 
Schieberegister anschließt, findet sich im Notfall ebenfalls im 
Internetz, z.B. hier: https://arnowelzel.de/schieberegister-74hc595

Ich freue mich weiterhin über zielführende Tipps zu einer entsprechenden 
lib. cmdArduino werde ich mir schonmal ansehen, auch wenn ich ebenfalls 
kein Fan von Malloc bin. Vielleicht kann sich ja sogar wer für eine 
ähnliche Anwendung den Code zu nutze machen - diesen zu Teilen, darum 
ging es mir hier primär. :)

: Bearbeitet durch User
von Stefan S. (chiefeinherjar)


Lesenswert?

Die ganzen Minus-Bewertungen kassierst du (unter anderem) weil dies das 
"Projekte und Code"-Subforum ist. Es steht hier sogar explizit:
"Hier könnt ihr Projekte, Schaltungen oder Codeschnipsel vorstellen. 
Projekte bitte nur mit Code oder Schaltplan posten (falls ihr nur Fotos 
vorstellen möchtet, bitte in "Zeigt her eure Kunstwerke"). Bitte hier 
keine Fragen posten."

Und den Sinn bzw. das Problem, welches dein "Projekt" zu lösen versucht 
ist auch noch ziemlich im Dunklen...

von Harald K. (kirnbichler)


Lesenswert?

Brüno schrieb:
> Mal ab davon, dass ein Schaltplan für die Beantwortung der Fragen völlig
> irrelevant ist und es hier um Code geht

Nee. Mit der Bullshitbingo-Einführung, dem großartigen Gewalle, da kann 
es doch echt nicht um eine 08/15-simpelst-Anwendung nur zum Ansteuern 
banaler Schieberegister gehen. Das geht nicht zusammen, das passt nicht. 
Wer hoch fliegen will, muss auch liefern.

Einfacher kann mans übrigens haben, wenn man die MPSSE des FT232 nutzt, 
der nämlich kann SPI selbst machen. Dann klimpert man ein paar Zeilen 
Software auf dem PC zusamemn (die mit dem D2XX-Treiber kommuniziert) und 
der Drops ist gelutscht.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Harald K. schrieb:
> da kann
> es doch echt nicht um eine 08/15-simpelst-Anwendung nur zum Ansteuern
> banaler Schieberegister gehen.

Naja, für manche ist das was ganz was tolles, wenn sie es hinbekommen 
haben - für andere nicht.

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.