Hallo,
ich habe ein kleines Problem, ich habe eine QlockTwo nachgebaut.
Ich verwende aber keine Schieberegister sondern habe nur einen ATMEGA16
der alles treibt.
Der PORTD PIND0-7 treibt die Zeilen Transistoren, sowie PORTA PINA7-5.
An PINA0 hängt ein LDR an PORTA 1 und 2 Taster zum stellen der Zeit.
Nun mein Problem die LEDs die von PORTA getrieben werden sind heller als
die die von PORTD getrieben werden. Obwohl laut Ansteuerung die PORTDs
einen Tick länger an sind.
Ich hab meine Schaltung schon mit einem Oszi gemessen. An PORTA sind es
die gewünschten 4,5 Volt und an PORTD sind es "nur" 3,7 Volt.
Warum? Weis es jemand? Die maximal Strombelastung des Ports ist ja nicht
überschritten.
Ich poste dazu mal ein paar Bilder was ich vergessen habe einfach fragen
dann lad ich es hoch.
Der Ansteuerungsquelltext ein Auschnitt:
holger schrieb:> Was für eine grottige Ansteuerung;)> NPN mit Kollektor an 12V und an der Basis maximal 5V.> Schliess mal R1 kurz.
Was sollte das bringen?
>> Schliess mal R1 kurz.>>Was sollte das bringen?
Dann fliesst vieleicht genug Strom in die Basis
um den Emitter auf 4,4V zu heben. Oder miss einfach mal
in deiner Schaltung wie sie jetzt ist die Spannung an der
Basis. Der Basisstrom erzeugt logischerweise einen
Spannungsabfall an R1.
holger schrieb:>>> Schliess mal R1 kurz.>>>>Was sollte das bringen?
Ok Missverständnis, ich weis jetzt was du meinst. Das bringt leider
nichts hab die Widerstände schon mal versuchsweise von 1K Ohm auf einmal
470 Ohm und 10 KOhm geändert. Ohne Erfolg.
Die Schaltung mag Mängel haben aber bis auf das beschriebene Problem
funktioniert sie.
>hab die Widerstände schon mal versuchsweise von 1K Ohm auf einmal>470 Ohm und 10 KOhm geändert.
Transistor falsch rum eingelötet?
>Die Schaltung mag Mängel haben aber bis auf das beschriebene Problem>funktioniert sie.
Schrott bleibt Schrott.
Transistoren sind richtig herum und es ist ja auch sehr ungewöhnlich mit
Transistoren an Mikrokontrollern 12 Volt und mehr zuschalten. Was
würdest du nehmen Schieberegister oder was?
Mir fällt es schwer mir vorzustellen, wie du das genau aufgebaut hast.
Hättest du noch jeweils ein Bild deiner Platine von unten und von oben
abgelichtet?
Hoffentlich nützt es was.
Das Grundproblem ist das die LEDs die in der Matrix von den PINAs
getrieben werden heller sind als die welche von PINDs getrieben werden.
An PORTC und PORTB hängen die MosFets.
>Das Grundproblem ist das die LEDs die in der Matrix von den PINAs>getrieben werden heller sind als die welche von PINDs getrieben werden.
Dann tausch doch mal bei zwei Transistoren die Anschlüsse.
Nimm einen der sonst an PORTA hängt und papp ihn an PORTD,
und umgekehrt. Was passiert dann?
holger schrieb:> Dann tausch doch mal bei zwei Transistoren die Anschlüsse.> Nimm einen der sonst an PORTA hängt und papp ihn an PORTD,> und umgekehrt. Was passiert dann?
Hatte ich auch schon probiert die Zeilen die an PORTA hängen (egal
welche Zeile) leuchten heller.
Deswegen hatte ich ja nach PORTD gefragt, ich dachte eigentlich das es
fehlertechnisch mehr bei Fuses oder generellen Einschränkungen am PortD
liegt.
Für mich sieht das aus als überlastest du ja deinen PortD und kommst
damit auf deine 3,6Volt, bei der die LEDs nur dunkel leuchten. Dein
LED-Strom kommt sicher nicht aus dem PortD? Das kannst du ja einfach
messen, ich würde einfach auch mal ein paar LED-Segmente abhängen und
dann den jeweiligen Portstrom nochmal messen. Vielleicht hast du auf
deiner Platine auch irgendwo einen Schluss im Bereich Basis Emitter?
Naja, wenn du sukzessive den problematischen teil abhängst und wieder
anschließt, müsste der Fehler doch zeitnah zu finden sein.
Ich würde die Leitungen nicht fest auf die Platinen Löten, ich verwende
da gerne Stecker und Buchsenleisten. Ist beim testen auch angenehmer,
wenn man einfach mal etwas umstecken kann.
Also erklären kann ich mir das auch nicht, der einzige Unterschied ist
doch R4 in der Versorgung für PORTA. Was passiert, wenn Sie diesen
kurzschließen?
>Es gibt keine Einschränkungen an PORTD.
Ahh, Moment mal;)
Hast du PORTD auf Ausgang geschaltet?
Sonst schaltest du nur die Pullups an und aus.
Das reicht dann nicht für deine Transistoren
und die LEDs sind dunkler.
Stromverdichter schrieb:> Für mich sieht das aus als überlastest du ja deinen PortD und> kommst> damit auf deine 3,6Volt, bei der die LEDs nur dunkel leuchten. Dein> LED-Strom kommt sicher nicht aus dem PortD? Das kannst du ja einfach> messen, ich würde einfach auch mal ein paar LED-Segmente abhängen und> dann den jeweiligen Portstrom nochmal messen. Vielleicht hast du auf> deiner Platine auch irgendwo einen Schluss im Bereich Basis Emitter?> Naja, wenn du sukzessive den problematischen teil abhängst und wieder> anschließt, müsste der Fehler doch zeitnah zu finden sein.> Ich würde die Leitungen nicht fest auf die Platinen Löten, ich verwende> da gerne Stecker und Buchsenleisten. Ist beim testen auch angenehmer,> wenn man einfach mal etwas umstecken kann.
Dann werde ich mich noch mal auf die Suche begeben.
der alte Hanns schrieb:>> Hast du PORTD auf Ausgang geschaltet?> Prima Idee, Glückwunsch! Das passt.> Aber bitte, das kann doch nicht wahr sein?
Das hab ich definiert.
//IO Definieren
// PortA = 0b11110000
// PA3 - PA0 für Input
DDRA=0xE0;
// Rest auf Output zum Multiplexing
DDRB=0xff;
DDRD=0xff;
DDRC=0xff;
Nun ja, mit diesen Schnipseln ist es so eine Sache, könnten Sie Ihr
komplettes Programm einstellen?
Die Idee von holger passt zu gut auf das Symptom, um sie so einfach von
der Hand zu weisen.
Das Oszi Bild von PORTD gibt es schon IMAG0825.jpg.
Den Quelltext eigentlich nur ungern, da mein Programmierstil nicht der
beste ist... Ich häng die .c und .h an
Vielleicht gibt es doch einen Zusammenhang mit R4; schließen Sie diesen
mal kurz, oder legen Sie im Programm die Helligkeitssteuerung probeweise
still.
Martin B. schrieb:> Habe gerade alle bis auf einen der PORTDs entfernt, um die Überlast> auszuschließen. Keine Änderung der Helligkeit.
und welchen Strom hast du am Portpin? Das kannst du jetzt auch einfach
prüfen. Einfach nochmal Strom und Spannung messen.
Die Subroutine Helligkeit() wird im Moment gar nicht aufgerufen,
trotzalledem habe ich die Initialisierung des ADC rausgenommen und
gerade auch einen anderen Controller geflasht. Beide Sachen haben keine
Veränderung gezeigt.
Entweder der Controller ist im Arsch oder
die Verbindung die unter dem Controller zu
VCC geht ist nicht in Ordnung.
Wie hoch sind die Spannungen an PORTB, PORTC?
Hallo Martin,
in Programm (WordClock4.c) gibt es diese IF Bedingungen
1
if((ADC>=0)&&(ADC<=150))
2
{
3
hell0=0;
4
}
5
if((ADC>=150)&&(ADC<=200))
6
{
7
hell0=1;
8
}
Das empfinde ich als etwas ungeschikt,
Wenn Du alle ADC werte auf 1/50 skalierst, dann kannst Du die Helligkeit
|hell0| über ein Array im Flash steuern.
Auch sind immer zwei Bedingungen bei jeweils genau einem Wert TRUE.
holger schrieb:> Wie hoch sind die Spannungen an PORTB, PORTC?
Kann ich im Moment nicht messen da ich den Oszi nicht zur Hand hab und
durch das pulsen mein Multimeter nichts vernünftiges anzeigt.
Uwe S. schrieb:> Hallo Martin,>> in Programm (WordClock4.c) gibt es diese IF Bedingungenif ((ADC>=0) &&> (ADC<=150))> {> hell0=0;> }> if ((ADC>=150) && (ADC<=200))> {> hell0=1;> }> Das empfinde ich als etwas ungeschikt,>> Wenn Du alle ADC werte auf 1/50 skalierst, dann kannst Du die Helligkeit> |hell0| über ein Array im Flash steuern.>> Auch sind immer zwei Bedingungen bei jeweils genau einem Wert TRUE.
Die Routine ist auch noch nicht 1. im Einsatz 2. ausgereift.
Hatte die nur Testweise in das Programm übernommen.
Aber danke für den Hinweis.
>> Wie hoch sind die Spannungen an PORTB, PORTC?>>Kann ich im Moment nicht messen da ich den Oszi nicht zur Hand hab und>durch das pulsen mein Multimeter nichts vernünftiges anzeigt.
Dann miss mit deinem Multimeter mal am VCC Pin wie hoch die
Spannung da ist. Und zwar von oben am IC. Wie hoch ist die
Spannung da? Steckt das Beinchen im Sockel oder nicht?
holger schrieb:> Entweder der Controller ist im Arsch oder> die Verbindung die unter dem Controller zu> VCC geht ist nicht in Ordnung.
Ja Recht hatte er. Irgendwie waren da nur 3,3 Volt am Vcc des
Controllers war wohl die Leiterbahn angekratzt oder kein Plan. Auf jeden
Fall funktoiniert es jetzt wie es soll.
Ein Hoch auf das Forum und Danke an alle die ihre Ideen gepostet haben
und so viel Geduld mit mir hatten. Wenn ich die Uhr fertig habe werde
ich noch mal ein Bild posten.
Bis dahin.
der alte Hanns schrieb:> Wäre der Fehler mit gesetztem BOD schneller einzukreisen gewesen?
Da hätte ich es 1. Aktivieren müssen und 2. auch eine Schaltung dazu
bauen müssen, dann hätte es mir das bestimmt angezeigt. Bezeihungsweise
den Controller resettet.
Allerdings bin ich leider nicht daraufgekommen, da es ja eine feste
Stromversorgung hat und nicht über Batterie läuft also konstant mit
Spannung versorgt wird (theoretisch).
Alex W. schrieb:> Max H. schrieb:>> 1) Bildformate. Die Fotos deines HTC One X musst du erst>> komprimieren.>> Beitrag "Re: was ist das?"
Wie du unschwer erkennen kannst, sind die später eingefügten Bilder
komprimierter als die ersten und auf die Frage wie man Bilder aus dem
Post löschen kann, hat sich keiner gemeldet. Wenn jemand sagt wie und ob
es geht, werde ich selbstverständlich die Bilder aus dem ersten Post
noch nacheditieren.
Martin B. schrieb:> Wenn jemand sagt wie und ob> es geht, werde ich selbstverständlich die Bilder aus dem ersten Post> noch nacheditieren.
a) geht nicht
b) haben die Mods das schon erledigt. Das soll aber keine Entschuldigung
fürs nächste mal sein :-)
Karl Heinz schrieb:> a) geht nicht> b) haben die Mods das schon erledigt. Das soll aber keine Entschuldigung> fürs nächste mal sein :-)
Danke. Ich werde es mir für das nächste mal merken.