• Die Forumsregeln und Nutzungsbedingungen findet ihr in der Navbar unter Impressum !
    Bitte unbedingt beachten!
    Wie überall im Leben gibt es Spielregeln, so auch hier!
    Die Datenschutzerklärung zum DSGVO findet ihr ebenfalls in der Navbar unter Datenschutzerklärung !
    Hinweis nach DSGVO :
    Es ist hier keinerlei Angabe erforderlich. Alle Angaben in diesem Bereich sind öffentlich sichtbar und werden freiwillig gemacht. Mit einem Eintrag in diesem Bereich erkenne ich dieses an, und bestätige die Datenschutzerklärung zur DSGVO für das Forum gelesen zu haben.

    Danke
  • Hallo Gast, beschränke dich hier bitte auf den Bereich der Elektronik. Die Fahrzeuge oder Gebäude, wo diese Elektronik eingebaut wird bitte in dem passenden Fachbereiich behandeln. Auch wenn Teile des Projektes dadurch im Forum doppelt vorhanden sind! Danke.

ATTiny Kennt sich jemand von euch mit AVR bzw Attiny aus?

BenjaminDD

New member
Registriert
21.11.2012
Beiträge
218
Moin moin liebe Gemeinde,

gerade eben habe ich mir, mittels Anleitung bzw. fertigen Code einen Servosteller gebaut.
Dieser funktioniert soweit auch richtig gut.
Kurz zusammengefasst was passiert:

Attiny2313 wartet an zwei PINs auf Masse, kommt an dem einem PIN Masse, gibt er Impulse fürs Servo Voll links,
bei dem anderen PIN passiert das gleiche nur nach rechts und wenn kein Signal an den PINs anliegt gibt der Steller Impulse für neutrale Stellung aus.
Soweit schonmal gut, nun möchte ich aber nicht, das das Servo in der neutralen Position die gesamte Zeit angesteuert wird (ich sag nur Stromverbrauch.. ),
sondern das der Impuls nach ca 4Sec. weggenommen wird.
Leider hab ich so gar keine Ahnung vom programmieren und kenne leider auch keinen, der mir das mal verständlicher bei nem Bier erklären könnte oder
gar den Code so verändert, das der neutral-Impuls nach 4 sec. tot gelegt wird, vielleicht ja auch den Tiny schlafen schickt.

Nun hoffe ich, das es hier vielleicht einen gibt, der sich schon mal mmit den AVR`s auseinander gesetzt hat.
 
Hier mal der Code:
Code:
/*
Servosteuerung für Ruderboot
Copyright (c)2009 by Björn Roll (sushi@bug-soft.net)
http://modellbau.bug-soft.net
Erweiterungen/Änderungen sowie Weitergabe zu privaten, 
nicht kommerziellen Zwecken ausdrücklich erlaubt und erwünscht! 
Dabei darf dieser Kommentar nicht gelöscht werden.*/

/*Eingänge: Taster auf GND
PORTB 1 - Vollausschlag links
PORTB 2 - Vollausschlag rechts

Ausgänge:
PORTB 0 - Ausgang Servo-Impuls
Getestet mit Servo Graupner C577.*/

/*programmiert für ATtiny2313, kompilierbar auf AVR-GCC(WinAVR)

CPU-Takt = 8Mhz (intern) mit CKDIV/8, also 1Mhz!
µC programmiert mit AVRDUDE und AVR8-Burn-O-Mat*/

#include <avr/io.h>
#include <avr/interrupt.h>

volatile uint8_t ovf_cnt=0;

ISR(TIMER0_OVF_vect)
{
	if(ovf_cnt==0)
	PORTB|=(1<<PB0);
	ovf_cnt++;
	
	if(ovf_cnt>=9)
	ovf_cnt=0;
}

ISR(TIMER0_COMPA_vect)
{
	PORTB&=~(1<<PB0);
}

int main(void)
{
	DDRB=(1<<PB0);//Ausgang
	PORTB=(1<<PB1)|(1<<PB2);//Pullup-Widerstände
	TCCR0B=(1<<CS01); //Timer 0 anschmeissen mit Prescaler 1/8, bei 1Mhz ein Timerdurchlauf= 2,048ms
	TIMSK=(1<<TOIE0)|(1<<OCIE0A);//Interrupts enablen
	OCR0A=191;
	sei();
	while(1)
	{
		if(!(PINB&(1<<PB1)))
		OCR0A=126;//1ms, linker Grenzwert
		else if(!(PINB&(1<<PB2)))
		OCR0A=254;//2ms, rechter Grenzwert
		else
		OCR0A=190;//1,5ms, Mittelstellung
	}
	return 0;
}
 
Was meinst du denn wieviel du sparst wenn man den Steuerimpuls abschaltet?
Das kann man ja einfach messen:

Ampermeter in Reihe zur Spannungsquelle legen und-> messen
-> bei dem Servo einfach das Impulskabel abziehen und wieder
messen

Dann hast du mal ne Ahnung was da eingespart wird, ich glaube da ist kein gro0ßer Unterschied.
 
Wenn das Servo unbelastet ist mag das stimmen, da dieses Servo die Kipprichtung, genauer gesagt die Sperrbolzen steuert könnten
des öfteren kleine Bewegungen festzustellen sein und diese würde das Servo ja immer versuchen auszugleichen.
Hinzu kommt, dass das Servo manchmal bissel zittert, zwar nur leicht, aber das kostet ja auch Strom.
Ich denke mal, das die Digitalservos (hatte ich noch als Micro da) halt bissel empfindlicher reagieren und gerade die ziehen ja saft.

Bitte berichtigt mich, wenn ich falsch liege, da würde ich mir viel ersparen...;-)
 
Guten Abend in die Runde...

Im Nachbarforum (MTF.de) hat Jürgen eine perfekte Lösung gefunden,
leider hab ich vergessen Ihn zu fragen, ob ich seinen Code hier reinstellen darf.
Diesbezüglich melde ich mich nochmal zurück

Zu allererst sei der eigentliche Urheber genannt bug-soft.net
Von Ihm stammt der Servotester und der umgebaute, erste Code sowie die Grundzüge des Schaltplans.

Nun habe ich diesen auf einen Attiny25 umgestrickt. Vieles ist dabei in SMD-Form verbaut und somit ist die ganze Platine ganz 16x17mm groß.
Wer die Target3001 Projektdatei haben möchte schreibt mir bitte eine PN, gebe ich gerne weiter.

MFG
Benjamin
 

Servonaut
Zurück
Oben Unten