Atmega16 PortD

OP #3710436
Lesenswert?

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:
1
   PORTB=0b10000000;
2
   PORTD |= (( select[0]<<Zeile0) | (select[11]<<Zeile1) | (select[22]<<Zeile2) | (select[33]<<Zeile3) | (select[44]<<Zeile4)| (select[55]<<Zeile5) | (select[66]<<Zeile6) | (select[77]<<Zeile7));
3
  PORTA |= (( select[88]<<Zeile8) | (select[99]<<Zeile9) | (select[110]<<Zeile10));
4
   delay2();
5
   PORTD=0x00;
6
   PORTA=0x00;
7
   _delay_us(50);

Danke schon mal im Vorraus, vielleicht hat jemand ja einen schlauen 
Einfall.
Angehängte Dateien:
Gast #3710482
Lesenswert?

>> 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.
Gast #3710493
Lesenswert?

>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.
OP #3710542
Lesenswert?

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.
Angehängte Dateien:
Gast #3710554
Lesenswert?

>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?
OP #3710571
Lesenswert?

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.
Gast #3710577
Lesenswert?

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.
Gast #3710589
Lesenswert?

>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.
OP #3710596
Lesenswert?

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.
Gast #3710632
Lesenswert?

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.
#3710670
Lesenswert?

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.
OP #3710680
Lesenswert?

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.
Gast #3710696
Lesenswert?

>> 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?
OP #3710715
Lesenswert?

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.
OP #3711488
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren