GO_Slow mit Tiny13  

von Volker S.                      
Elektronik-Labor  Projekte   AVR   T13-Contest



Im Modellbau sind manchmal keine passenden Bauteile vorhandenen. So wird zum Bau eines Osprey22 (Schwenkrotor) eine Mechanik erforderlich, der die Motorengondeln LANGSAM dreht. Ein Servo ist viel zu schnell dafür, außerdem steht oft nur eine Schaltfunktion zur Verfügung. Das Servo würde blitzschnell von einem zum Anderen Ende drehen. Eine Verlangsamung ist erforderlich. Mit einem Widerstand kann man zwar den Motor des Servo verlangsamen allerdings ist dann auch keine Kraft mehr da. Eine Elektronik die das Eingangssignal auswertet und das Ausgangssignal verzögert nachregelt ist gefragt. Der Tiny13 reicht da völlig aus. Mit PULSEIN wird über Portb1 das Signal gelesen und nach Anpassung, über PULSEOUT auf Portb2 verzögert wieder ausgegeben. Die Verzögerung wird erreicht indem die beiden Signale ständig verglichen und bei Abweichung schrittweise angepasst werden.

Download:  GoSlow.zip


' GoSlow mit Tiny13
'
'
' Tiny 13
'
' PB5/Reset >|o |< VCC
' PB3/ADC3 >| |< PB2/SCL
' PB4/ADC2 >| |< PB1/MISO
' GND >|_____|< PB0/MOSI
'
'
'
$prog &HFF , &H79 , &HFF ' generated. Take care that the chip supports all fuse bytes.

$regfile = "attiny13.dat"
$crystal = 4600000
$hwstack = 16
$swstack = 16
$framesize = 16


Dim Ein As Word
Dim Aus As Word
Dim Paus As Word
Dim I As Word

'Config Adc = Single , Prescaler = Auto , Reference = Avcc 'ADC Config

Enable Interrupts

Aus = 2000 'Anfangswert für Servoausgabe
Paus = 0
Ddrb = 4 'Portb.2 auf Ausgang setzen
Portb . 2 = 0 'Portb.2 auf 0 setzen

Do

Pulsein Ein , Pinb , 1 , 1 'Portb.1 Puls lesen von 0 nach 1
Ein = Ein * 10
Ein = Ein + 500 'Eingangswert für Pulseout anpassen

'Paus = Getadc(2)
'For I = 0 To Paus 'Verzögerungswert von Poti holen
'Next

If Ein > Aus Then Incr Aus 'liegt Eingangswert über Ausgangswert, verringern
If Ein < Aus Then Decr Aus 'liegt Eingangswert unter Ausgangswert, erhöhen
Pulseout Portb , 2 , Aus 'Portb.2 Puls ausgeben


'Waitms 2

Loop




Elektronik-Labor  Projekte   AVR   T13-Contest