Was fehlt an der Minimalbeschaltung am ATTiny26

Gast #541890
Lesenswert?

Hallo

Ich habe ein Programm für den ATTiny26 geschrieben das soweit auf dem 
STK500 mit internem Oszilator 1Mhz läuft.

Jetzt habe ich einen Lochrasterplatine mit Spannungsregler 5V gebaut und 
das Ding läuft nicht.

Angeschlossen sind folgende Pins

5=Vcc mit +5V
6=GND
5+6 verbunden mit einem 33nF Kondensator

16=GND

Das müsste doch für einen Minimalbeschaltung reichen ?



Gruss

Firma Rast und Ruhe
Gast #541903
Lesenswert?

Hallo,
kommt darauf an, was passieren soll...

Du hast ja nicht verraten, was der eigentlich tun soll.

Ansonsten solltest Du noch AVcc (Pin 15) an 5V legen, das ist die 
Betriebsspannung für den PortA, an dem passiert ohne Saft z.B. nicht 
allzuviel sinnvolles.

Gruß aus Berlin
Michael
#541914
Lesenswert?

die Resetbeschaltung fehlt, es müssen über einen RC-Filter 5V auf den 
Resetpin damit er loslegt. AVCC und AGND ist die Betriebsspannung/Masse 
für den Analogwandler der PortA funktioniert trotzdem nur der 
Analogwandler nicht, wenn man ihn also nicht benötigt braucht man nichts 
an AVCC und AGND zu legen und wenn doch gleich einen LC Filter nehmen 
wies im Datenblatt angegeben ist.
Gast #541922
Lesenswert?

> AVCC und AGND ist die Betriebsspannung/Masse für den
> Analogwandler der PortA funktioniert trotzdem nur der
> Analogwandler nicht,

Es ist beim Tiny26 wie bei allen anderen AVRs mit ADC auch: "AVCC is the 
supply voltage pin for Port A and the A/D Converter". Ohne AVCC 
funktioniert auch der Port nicht, nicht nur der ADC.
Gast #541952
Lesenswert?

Geht immer noch nicht.

Ich habe der dem Lochrasterboard PB7 als Taktausgang genommen.
PB7 wäre Reset. Ich müsste also die Fuse:"Reset Disable" setzten und 
könnte ihn dann nicht mehr ISP programmieren?


Gruss


Firma Rast und Ruhe
#599420
Lesenswert?

Hallo, da ich heute ein LC-Display vom Port A angesteuert habe kann ich 
sagen das AVCC und AGND nicht umbedingt beschalten werden müssen, 
zumindestens funktioniert das bei den Eingäng eines Displaycontrollers 
die auch eher hochohmig sind und deshalb nicht viel Strom ziehen. LEDs 
hab ich daran allerdings noch nicht probiert.
Gast #599427
Lesenswert?

Im Auslieferzustand ist am RESET-Pin der Pullup aktiviert, es kann also 
ohne Last nix gemessen werden.
Und auch wenn der auf low gehen sollte macht der µC einen Reset und 
läuft neu an. Für einen Ausgang MUSST du den RESET disablen. Ich würde 
dazu raten einen anderen Pin hierfür zu benutzen.
Gast #618413
Lesenswert?

Hallo Leute!
Habe genau dasselbe Problem! Moechte mit einem tiny26 einfach nur eine 
LED zum Blinken bringen. Schaffe es nicht (frust...).
Habe Vcc, AVcc (5V) und beide GNDs angeschlossen. C zwischen Vcc u GND. 
/RESET mit pull-up auf Vcc und ein Taster auf GND.
LED mit 330 Ohm-R in Serie von Vcc auf PB5. Verbinde ich den PB3 mit GND 
leuchtet die LED. Kann den tiny flashen, RC-freq setzen usw.

Der C-code setzt DDRB auf 0x7F und danach PORTB auf 0x00.
Eigentlich sollte die LED leuchten - bloss sie tuts nicht!

Mit nem mega16 funktionierts problemlos!

Hat nicht noch jemand eine Idee wo der Hund begraben is??
Danke, klaus.
Gast #624226
Lesenswert?

ich hau bald den hut drauf!!!

habs nun auch auf nem steckboard mit nem nietnagelneuen tiny26 
ausprobiert.
Minimalschaltung:

Masse auf beide GNDs
Vcc auf Vcc und AVCC
Vcc - LED - R1K - PA0

code hab ich noch einen im Netz gesucht - siehe unten.
Kanns sein dass meine avr-gcc zu alt is?

ii  avr-libc       1.0.3-1        Standard C library for Atmel AVR 
development
ii  avrp           1.0beta3-5     Programmer for Atmel AVR 
microcontrollers
ii  avrprog        0.2.1-9        Programmer for Atmel AVR 
microcontrollers
ii  binutils-avr   2.14-1         Binary utilities that support Atmel's 
AVR ta
ii  gcc-avr        3.3.2-1        The GNU C compiler (cross compiler for 
avr).
ii  simulavr       0.1.2.1-1      Atmel AVR simulator


Hier der Code. (Im Makefile habe ich -mmcu=attiny26 definiert.)

#include <avr/io.h>


#define true  1


// delay for a minimum of <millis>
// with a 1Mhz clock, the resolution is 1 ms
void delay_ms( unsigned int millis )
{
    // Note: this function is faulty, see avrm8ledtest-0.2.tar.gz for
    //       updated code.
    unsigned int  outer1;
    unsigned int  outer2;

    for ( outer1 = 50;  outer1;  outer1 -- )
    {
        for ( outer2 = 1000;  outer2;  outer2 -- )
        {
            while ( millis ) { millis --; }
        }
    }
}


int main( void )
{
    /* INITIALIZE */
    /* enable PA0 as output */
    DDRA |= _BV(PA0);

    /* BLINK, BLINK ... */
    while ( true )
    {
        /* switch the LED off */
        PORTA &= ~_BV(PA0);
        delay_ms( 500 );

        /* switch the LED on */
        PORTA |= _BV(PA0);
        delay_ms( 500 );
    }
}


ick wees nich mehr weiter...

danke fuer jeden Input!

gruesse,
Klaus

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