INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Nano ATmega328 LED Madrix
28.12.2014, 16:06
Beitrag #9
RE: Arduino Nano ATmega328 LED Madrix
wenn ich nicht das B00000001<< verwende sondern, shiftOut(dataPinC, clockPinC, MSBFIRST, lc);
wir 1 dann 2 ...3...4 in das Schieberegister geschrieben was ja das gleiche ist wie B00000001; B00000010; B00000011; B00000100; B00000101; ...
somit wird nicht mehr jede der 8 Spalten nacheinander angesteuert sonder nur die ersten 4 und das teilweise gemeinsam.
Mit dem B00000001<<lr erreiche ich also, dass jede Zeile nacheinander aufgerufen wird.

Nach weiteren Stunden habe ich nun etwas gelötet und das Programm ausgebaut.
habe nun eine kleinere LED Matrix 11*10 gebaut + eine kleine Platine.
Der Code sieht so aus:

Code:
const int latchPinR = 3;
const int clockPinR = 5;
const int dataPinR = 4;
const int latchPinC = 6;
const int clockPinC = 8;
const int dataPinC = 7;


const int image0[4][11] = {\
{1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 2,},\
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,},\
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,},\
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,} };




void setup() {

pinMode(latchPinR, OUTPUT);
pinMode(clockPinR, OUTPUT);
pinMode(dataPinR , OUTPUT);
pinMode(latchPinC, OUTPUT);
pinMode(clockPinC, OUTPUT);
pinMode(dataPinC , OUTPUT);

digitalWrite(latchPinC, LOW); //Alle Schieberegister auf 0
digitalWrite(latchPinR, LOW);
shiftOut(dataPinC, clockPinC, MSBFIRST, 0);
shiftOut(dataPinC, clockPinC, MSBFIRST, 0);
shiftOut(dataPinR, clockPinR, MSBFIRST, 0);
shiftOut(dataPinR, clockPinR, MSBFIRST, 0);
digitalWrite(latchPinC, HIGH);
digitalWrite(latchPinR, HIGH);
Serial.begin(115200);




}

void loop() {


for (int lr = 0; lr <=10 ; lr++)
{
digitalWrite(latchPinC, LOW);
digitalWrite(latchPinR, LOW);

if(lr<=7){
shiftOut(dataPinR, clockPinR, MSBFIRST, image0[0][lr]);
shiftOut(dataPinR, clockPinR, MSBFIRST, 0);
shiftOut(dataPinC, clockPinC, MSBFIRST, B00000001<<lr);
shiftOut(dataPinC, clockPinC, MSBFIRST, 0);



}else{
shiftOut(dataPinR, clockPinR, MSBFIRST, 0);
shiftOut(dataPinR, clockPinR, MSBFIRST, image0[0][lr]);
shiftOut(dataPinC, clockPinC, MSBFIRST, 0);
shiftOut(dataPinC, clockPinC, MSBFIRST, B00000001<<(lr-8));
}


digitalWrite(latchPinC, HIGH);  
digitalWrite(latchPinR, HIGH);

Serial.println(lr);

}

}


Das Flaken ist jetzt weg solange ich Serial.begin(115200); (anstatt Serial.begin(9600); benütze.

Leider ist jetzt ein neues Problem aufgetaucht... oder es ist mir vor lautem flakern nicht aufgefallen.
Es leuchtet zu der LED die sollte, zusätzlich noch schwach die nächste nebenan.

die verwendeten Transistoren sind:
http://www.reichelt.de/BC-517/3/index.ht...ARCH=bc517

die Schieberegister:
http://www.reichelt.de/74HC-595/3/index....SEARCH=595
falls es evt an dem liegtWink

Hat hier evt. noch jemand eine Idee woran das liegt?
Oder eine andere Variante ein Multiplexing zu Programmieren?

Ich möchte mich hier auch mal bei den Leuten bedanken die sich Zeit für meine Probleme genommen habe.


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 00:15
Beitrag #10
RE: Arduino Nano ATmega328 LED Madrix
Eine gute Idee woran das "Nachleuchten" liegt habe ich leider auch nicht.
Eine Vermutung wäre dass die Transistoren für die Zeilen noch nicht gesperrt sind oder schon angesteuert sind bevor das neue Muster komplett in den 595er steht.
Sind die Bilder von einem Standbild der Matrix oder aus einem laufenden Muster?

Vielleicht hilft ein kurzes delay (1-2ms) vor:
Code:
digitalWrite(latchPinC, HIGH);  
digitalWrite(latchPinR, HIGH);
im loop()

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 00:53
Beitrag #11
RE: Arduino Nano ATmega328 LED Madrix
Wäre doch mal schön wenn alles auf Anhieb laufen würde. Wenigstens gibt es so etwas GehirntrainingWink
Ja das Bild ist aus dem laufenden Muster. Genau der Code den ich auch in dem Beitrag angehängt habe.

Habe das mit dem delay versucht leider ohne Verbesserung. Mit 2ms fängt die Anzeige schon an zu flackern.
Trotzdem danke.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 01:05
Beitrag #12
RE: Arduino Nano ATmega328 LED Madrix
Hallo,
AUWEH...da hat aber einer viel Zeit zum verdrahten aufgewendet....RESPEKT Exclamation

Allerdings hätte ich bei Q1 bis Q8 PNP Transistoren verwendet weil da weniger Spannung abfällt. Schätze mal das bei den BC517 am Emiter bei der Schaltung so maximal 3,4 Volt rauskommen ? Bei einem einfachen PNP Transistor BC327-40 würden da so umme 4,7V rauskommen. Dann wäre auch ein sinnvoller Spannungswert übrig um mit einem Vorwiderstand den LED Strom zu begrenzen was laut deinem Schaltbild nur bei Q6 bis Q8 der Fall ist. Da die Q1 bis Q8 gegen den Verbraucher arbeiten begrenzen die ihren Basisstrom selber. Die nicht gezeichneten Stromkreise beachte ich nun mal nicht da sie ja sicherlich eh gleich sind.
Bei den Transistoren ab Q16 kann es schon sein das der Transistor mit dem sperren ein bischen hinterherhinkt weil das ist erst mal ein Darlingtontransistor der eine sehr hohe Stromverstärkung hat und mit nur 2,2 KOhm Basisvorwiderstand ist der deutlich mehr als übersteuert da er ein Beta von min. 30.000 hat. Wenn man von einer Ua der Multiplexer von 4V ausgeht was noch als nieder anzusehen ist und eine Ube von 1,5V annimmt dann ist der Transistor um den Faktor 22 Übersteuert wenn ich mich in der Eile nicht vertan habe. Üblich ist bei Schalttransistoren der Faktor 3...Rolleyes
Von daher kann das nachleuchten schon kommen... daher hätten es auch einfache Transistoren getan.... BC327-40 als PNP oben und BC337-40 unten. Das -40 bedeutet das es die Typen mit der höchsten Verstärkung sind...so ab 400 dann.

Wobei ein Arduino und zumal ein gemultiplexter Ausgang für einen Transistor mit 220MHz Grenzfrequenz ja fast nur Gleichstrom ist den er da zu bewältigen hat....

Von daher würde das delay was Arne anspricht am ehesten helfen.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 03:05
Beitrag #13
RE: Arduino Nano ATmega328 LED Madrix
Haha danke die Platine hat mich auch viel zeit gekostet. Wenn das ganze dann richtig Funktioniert werden ich auch die Klebestreifen durch leim ersetzt + alle Kabel schön verlegen.

Da hast du promt einen Fehler im Schaltplan gefundenAngry Nach den Q1-Q5 habe ich auch Widerstände angebracht nur sind die auf dem Papier vergessen gegangen.
Habe gerade mal nachgemessen am Emiter liegen 2.58V an.
Och ja das mit den Transistoren berechnen ist schon lange her. Habe gerade in den alten Schulbücher nachgeschlagen und komme nicht mehr ganz so draus.
Kann es sein das ich für den Basiswiderstand des BC517 ca. 192KOhm brauche?

Werde mir als die von dir empfohlen Transistoren bestellen und dann schauen ob ich meine Anzeige hinbekomme.
+ 2.6KOhm für den BC337-40 und BC327-40 stimmt das so?

Werde das Ergebnis dann hier Posten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 11:56
Beitrag #14
RE: Arduino Nano ATmega328 LED Madrix
Hallo,

einfach nur der Vollständigkeit wegen.

Sind das weiße LEDs mit max 20mA?
Gibt es eine Angabe über Uf für diese LEDs? (Datenblatt)
Welchen Wert haben die Vorwiderstände der LEDs, an den Emittern von Q1...Q8.
Woher kommt die Stromversorgung für alles? über USB?

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 12:37
Beitrag #15
RE: Arduino Nano ATmega328 LED Madrix
Ja genau es sind weisse LEDs 5mm diffus 16000mcd /35° U=3.2V I=20mA.
Zurzeit habe ich 90.9Ohm Widerstände verbaut. denke aber das die nicht mehr ausreichen sobald ich die neuen Transistoren verbaut habe.
Die Stromversorgung mache ich momentan über USB habe aber schon einen Spannungsregler 7805 rumliegen den ich aber zuerst noch testen muss bevor der eingebaut wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.12.2014, 16:33 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2015 15:35 von Bitklopfer.)
Beitrag #16
RE: Arduino Nano ATmega328 LED Madrix
Sodele,
ich habe mal ein verkleinertes Ersatzschaltbild für den Einsatz der PNP Transistoren gemacht und die Widerstände dazu mal berechnet.
   
...die Widerstände R1, R2 sind deshalb hochohmiger wie die anderen Basisvorwiderstände weil hier der BC327 ja nur 20mA schalten muß.
R3 + R4 sind dazu da das wenn die Ausgänge vom Schieberegister nicht voll auf 5V kommen die Transistoren trotzdem schnell zum sperren kommen. Hier ist auch zu beachten das du dies Mux-Ausgänge nun invertiert ansteuern mußt. Den 90 Ohm Widerstand als RV für die LED's kannste wohl belassen....allerdings dürften dann bisher da kaum 20mA geflossen sein. Bei der Berechnung von R7, R8 bin ich von 20mA LED Strom ausgegangen bei Uf 3V.
Bei diesem Aufbau geh ich mal davon aus das in der Q3 / Q4 Reihe jeweils immer nur ein Transistor durchgeschaltet ist wobei bei der Q1 / Q2 Spalte je nach Bedarf auch alle durchgeschaltet werden ansonsten passt das mit der Platzierung der Vorwiderständen nicht.
Also wenn du dazu noch Fragen hast....nur zu.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ardunio Nano 3,3V Mathias 5 125 24.11.2016 22:38
Letzter Beitrag: Tommy56
  Arduino NANO mit zwei 1.8 SPI-tfts Thandor 2 100 15.11.2016 23:18
Letzter Beitrag: Thandor
  Arduino Nano - VIN Mathias 16 690 22.09.2016 21:39
Letzter Beitrag: ardu_arne
  Arduino Nano und SD Card emjott 3 333 09.09.2016 12:15
Letzter Beitrag: Bitklopfer
  Atmega328 Pin A6 und A7 Mathias 4 296 10.08.2016 21:37
Letzter Beitrag: hotsystems
  Arduino Nano. Externe Stromversorgung reimundko 1 623 26.06.2016 13:44
Letzter Beitrag: hotsystems
  Arduino Nano - RGB LED Controller MasT3r-A 13 832 29.04.2016 11:43
Letzter Beitrag: hotsystems
Photo 2 RC-Kanäle am Arduino Nano Clone do1xxy 1 443 04.04.2016 21:10
Letzter Beitrag: hotsystems
  Arduino Nano + Funkmodul nRF24L01+ luxusl 1 815 26.02.2016 17:05
Letzter Beitrag: arduinopeter
  Raspberry Pi mit Arduino Nano ein- und auschalten Genderman2 7 877 18.02.2016 21:12
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste