- 3D-Druck Einstieg und Tipps         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 42

Thema: Einfache Blinkschaltung für ATTiny13

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    07.08.2005
    Ort
    Schleswig-Holstein
    Alter
    36
    Beiträge
    41
    Anzeige

    Powerstation Test
    @Marco78:
    Die Tinys habe ich von HIER. Hab schon bevor ich einen laufenden ISP hatte gleich ein paar mehr bestellt:
    7x Tiny13 20pi
    2x Tiny13 20si (SMD)
    1x Tiny13 20ssi (SMD aber noch kleiner)
    5x Tiny45 20pu

    Die 13er waren Restposten und vergünstigt, laut dem händler sollen neue 13er und zwar in einer bleifreien Version auf den Markt kommen.

    @Hanni:
    So etwas wie ich es angehen muss habe ich verstanden. Hab nur Probleme mit so manchen Vokabeln, da muss ich wohl noch ordentlich lernen! Also wenn es dir nichts aus macht, und du es für sinnvoll hältst, würde ich mich über ein Beispiel sehr freuen. Nur brauche ich vermutlich auch eine gute Erklärung damit ich überhaupt durchsteige.

    @izaseba:
    Ersteinmal ein lautes "GEIL", wenn ich hier den Platz hätte würde ich Purzelbäume schlagen! Das Video zeigt genau was ich brauche!

    Verstehe ich es richtig, dass die Pins den Masse Pol darstellen und dauerhaft mit VCC verbunden sind?

    Leider habe ich kein STK500, alles was ich zum testen habe sieht so aus:
    Bild hier  
    ...wobei der Restpin zum Testen nicht angeschlossen ist.

    Wenn ich es richtig sehe kann ich den Chip nur einmal mit dem Programm bespielen? Ist eigendlich kein Problem, bei dem relativ geringen Preis sollen sie eh dauerhaft in die Autos eingebaut werden. Nur muss es halt funktionieren, damit ich nicht reihenweise AVRs verbrate. Deshalb (ich werde mal sehen ob ich das irgendwie hinbekomme und mich nochmal melden) würde ich erstmal den PinB5 RST außenvor lassen, damit ich erstmal sehe ob das bei mir alles funktioniert.
    An meinem Testboard muss ich, wenn ich das richtig sehe noch einige Veränderungen vornehmen, oder?

    MfG
    Jannes

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    naja ich hab es genau andersrum, also PB - widerstand - LED - VCC
    wegen dem blödem Resetpin, denn kann man nicht als ganz normalen Ausgang nutzen.

    Mal sehen, wenn ich naher mal Zeit und Lust habe kann ich das Programm auf Tn13 abändern, und den Reset erstmal weglassen.
    Mit welcher Frequenz arbeitet der tn13 normallerweise?(Sorry hab gerade kein Dattenblatt zur Hand).

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Von Werk aus mit 9.6 MHz und interner 1/8 Takt Teilung ausgeliefert.

    Also im Lieferzustand mit 1.2 MHz

    Grüße,

    da Hanni.

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    07.08.2005
    Ort
    Schleswig-Holstein
    Alter
    36
    Beiträge
    41
    Da sieht man wieder meine Unwissenheit...
    Also in den Scripts, die ich in Bascom habe steht oben $crystal = 1200000

    In den Fuses hab ich Folgendes Bild:
    Bild hier  
    Bisher habe ich es übrigens so gemacht, dass ich in Bascom die Scripts geschrieben habe und dann die HEX mit dem AVR-Studio auf den Tiny programmiert habe...

    Wäre echt cool wenn du die Zeit dazu finden würdest, aber ich will hier niemandem etwas aufzwingen! Evtl. bekomme ich dann ja sogar, wenn ich überhaupt irgendwo durchsteige, die Version mit allen Pins hin.

    Aber ich habe gerade ein Problem, womit kann ich die Datein öffnen, bei meinem USB-ISP waren nur Bascom, AVR-Studio, WinAVR und AVR Dude bei. Wo bekomme ich das entsprechende Programm?

    Grüße
    Jannes

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Also im Lieferzustand mit 1.2 MHz
    Danke Hanni, dann wird der Timer ja schon fast passen Tn15 hat 1,6Mhz

    Aber ich habe gerade ein Problem, womit kann ich die Datein öffnen
    Meinst Du jetzt tar.gz ?
    Winzip müßte es an sich kennen, wenn nicht dann werde es bei meiner Frau zipen, kein Problem.

    oder meinst Du *.asm ?
    Ich denke AVR-Studio oder ein normaler Texteditor ....
    Software is like s e x: its better when its free.
    Linus Torvald

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    07.08.2005
    Ort
    Schleswig-Holstein
    Alter
    36
    Beiträge
    41
    die .gz-Datei habe ich geöffnet bekommen, war kein Problem! Nur die main.asm will AVR-Studio scheinbar nicht öffnen, jedenfalls wird nichts angezeigt.

    Die main.asm~ lässt sich aber öffnen wie ich gerade bemerkt habe!

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo,
    Hier eine geänderte Version für den Tiny13,
    es waren kleine Änderungen nötig, wie Stackpointer init, da der Tiny 15 Keinen Ram hat, und die Register für Timer 0 haben etwas andere namen.

    Ich hab die 6 Led deaktiviert, weil sie ja am Reset hängt guck erstmal ob es so klappt.
    Ich hoffe daß das Programm klappt, hab es nicht ausprobieren können, weil ich keinen Tiny 13 hab.

    Code:
    .include "tn13def.inc"
    
    .equ TIMERVALUE = 256 - 30
    .equ LEDDDR = DDRB
    .equ LEDPORT = PORTB
    .equ LED1 = PB0
    .equ LED2 = PB1
    .equ LED3 = PB2
    .equ LED4 = PB3
    .equ LED5 = PB4
    .equ LED6 = DDB5
    
    .def sregsav = R1	
    .def time1 = R2
    .def time2 = R3
    .def time3 = R4
    .def time4 = R5
    .def time5 = R6
    .def time6 = R7
    .def schritt1 = R8
    .def schritt2 = R9
    .def schritt3 = R10
    .def schritt4 = R11
    .def schritt5 = R12
    .def schritt6 = R13
    		
    .def tmp1 = R16
    .def tmp2 = R17
    .def tmp3 = R18
    .def tmpi1 = R19
    	
    
    .org 0x0000
    	rjmp reset
    .org TIM0_OVF0addr
    	rjmp timer5ms 	
    reset:	
    	ldi tmp1,RAMEND
    	out SPL,tmp1
    	ldi tmp1,(1<<LED1)|(1<<LED2)|(1<<LED3)|(1<<LED4)|(1<<LED5)
    	out LEDDDR,tmp1
    	 
    	;; Timer 0
    	ldi tmp1,(1<<CS02)
    	out TCCR0B,tmp1
    	ldi tmp1,(1<<TOIE0)
    	out TIMSK0,tmp1
    	ldi tmp1,TIMERVALUE
    	out TCNT0,tmp1
    	sei
    	
    	ldi tmp3,1
    	clr tmp2		
    	clr schritt1
    	clr schritt2
    	clr schritt3
    	clr schritt4
    	clr schritt5
    	clr schritt6
    	
    	
    	
    loop:	
    	tst time1
    	brne loop_1 
    	rjmp led1update
    loop_1:	
    	tst time2
    	brne  loop_2
    	rjmp led2update
    loop_2:	
    	tst time3
    	brne loop_3
    	rjmp led3update
    loop_3:	
    	tst time4
    	brne loop_4
    	rjmp led4update
    loop_4:	 
    	tst time5
    	brne loop_5
    	rjmp led5update
    loop_5:		 
    	tst time6
    	brne loop		
    	; 	rjmp led6update RESET erstmal weg
    	rjmp loop
    
    led1update:	
    	ldi ZH,HIGH(timesled1*2)
    	ldi ZL,LOW(timesled1*2)
    	add ZL,schritt1
    	adc ZH,tmp2
    	lpm
    	cp R0,tmp2
    	breq led1update1
    	sbi LEDPORT,LED1
    	rjmp led1update2
    led1update1:	
    	cbi LEDPORT,LED1
    led1update2:	 
    	add ZL,tmp3
    	adc ZH,tmp2
    	lpm
    	mov time1,R0
    	inc schritt1
    	inc schritt1
    	ldi tmp1,8
    	cp schritt1,tmp1
    	brlo loop
    	clr schritt1
    	rjmp loop
    	
    led2update:
    	ldi ZH,HIGH(timesled2*2)
    	ldi ZL,LOW(timesled2*2)
    	add ZL,schritt2
    	adc ZH,tmp2
    	lpm
    	cp R0,tmp2
    	breq led2update1
    	sbi LEDPORT,LED2
    	rjmp led2update2
    led2update1:	
    	cbi LEDPORT,LED2
    led2update2:	 
    	add ZL,tmp3
    	adc ZH,tmp2
    	lpm
    	mov time2,R0
    	inc schritt2
    	inc schritt2
    	ldi tmp1,4
    	cp schritt2,tmp1
    	brlo loop
    	clr schritt2
    	rjmp loop
    
    led3update:
    	ldi ZH,HIGH(timesled3*2)
    	ldi ZL,LOW(timesled3*2)
    	add ZL,schritt3
    	adc ZH,tmp2
    	lpm
    	cp R0,tmp2
    	breq led3update1
    	sbi LEDPORT,LED3
    	rjmp led3update2
    led3update1:	
    	cbi LEDPORT,LED3
    led3update2:	 
    	add ZL,tmp3
    	adc ZH,tmp2
    	lpm
    	mov time3,R0
    	inc schritt3
    	inc schritt3
    	ldi tmp1,4
    	cp schritt3,tmp1
    	brlo led3update3
    	clr schritt3
    led3update3:	
    	rjmp loop
    
    led4update:
    	ldi ZH,HIGH(timesled4*2)
    	ldi ZL,LOW(timesled4*2)
    	add ZL,schritt4
    	adc ZH,tmp2
    	lpm
    	cp R0,tmp2
    	breq led4update1
    	sbi LEDPORT,LED4
    	rjmp led4update2
    led4update1:	
    	cbi LEDPORT,LED4
    led4update2:	 
    	add ZL,tmp3
    	adc ZH,tmp2
    	lpm
    	mov time4,R0
    	inc schritt4
    	inc schritt4
    	ldi tmp1,14
    	cp schritt4,tmp1
    	brlo led4update3
    	clr schritt4
    led4update3:	
    	rjmp loop
    
    led5update:
    	ldi ZH,HIGH(timesled5*2)
    	ldi ZL,LOW(timesled5*2)
    	add ZL,schritt5
    	adc ZH,tmp2
    	lpm
    	cp R0,tmp2
    	breq led5update1
    	sbi LEDPORT,LED5
    	rjmp led5update2
    led5update1:	
    	cbi LEDPORT,LED5
    led5update2:	 
    	add ZL,tmp3
    	adc ZH,tmp2
    	lpm
    	mov time5,R0
    	inc schritt5
    	inc schritt5
    	ldi tmp1,14
    	cp schritt5,tmp1
    	brlo led5update3
    	clr schritt5
    led5update3:
    	rjmp loop
    
    led6update:
    	ldi ZH,HIGH(timesled6*2)
    	ldi ZL,LOW(timesled6*2)
    	add ZL,schritt6
    	adc ZH,tmp2
    	lpm
    	cp R0,tmp2
    	breq led6update1
    	cbi DDRB,LED6
    	rjmp led6update2
    led6update1:	
    	sbi DDRB,LED6
    led6update2:	 
    	add ZL,tmp3
    	adc ZH,tmp2
    	lpm
    	mov time6,R0
    	inc schritt6
    	inc schritt6
    	ldi tmp1,14
    	cp schritt6,tmp1
    	brlo led6update3
    	clr schritt6
    led6update3:
    	rjmp loop
    	
    timer5ms:	
    	in  sregsav,SREG
    	clr tmpi1
    	cpse time1,tmpi1
    	dec time1
    	cpse time2,tmpi1
    	dec time2
    	cpse time3,tmpi1
    	dec time3
    	cpse time4,tmpi1
    	dec time4
    	cpse time5,tmpi1
    	dec time5
    	cpse time6,tmpi1
    	dec time6
    	ldi tmpi1,TIMERVALUE
    	out TCNT0,tmpi1
    	out SREG,sregsav
    	reti
    	
    
    timesled1:	
    .db	0,10,1,10,0,10,1,100
    
    timesled2:	
    .db	0,10,1,100
    
    timesled3:	
    .db     0,100,1,100
    
    timesled4:	
    .db	1,100,0,7,1,7,1,7,1,7,1,7,1,7
    	
    timesled5:	
    .db	1,100,1,7,1,7,0,7,1,7,1,7,1,7
    	
    timesled6:	
    .db	1,100,1,7,1,7,1,7,1,7,0,7,1,7
    Wenn es zu langsamm oder zu schnell blinkt mußt Du TIMERVALUE anpassen.

    Gruß Sebastian

    EDIT: beim Anhang oben hab ich irgendwas verbockt, habe es gerade geändert
    Ich habe leider keine oder wenig Komentare drin, wenn erwünscht kann ich das nachholen...
    Software is like s e x: its better when its free.
    Linus Torvald

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    07.08.2005
    Ort
    Schleswig-Holstein
    Alter
    36
    Beiträge
    41
    ok, vielen dank! Ich hab nur noch ein Problem, bisher habe ich immer eine fertige HEX-Datei raufgespielt, wie mache ich es nún in AVR Studio?

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    1. Neues Projekt erstellen
    2. den oben geposteten Quelltext via Copy & Paste einfügen
    3. speichern
    4. Build anklicken
    5. das resultierende Hex, welches sich nun im Projektverzeichniss befinden sollte in den Tiny flashen.


    Grüße,

    Hanni.

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    07.08.2005
    Ort
    Schleswig-Holstein
    Alter
    36
    Beiträge
    41
    Ok, Hab da jetzt ein paar Fehler drin:
    http://home.arcor.de/einschwein2/fehler6.jpg

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress