klar reicht das^^ danke dir
klar reicht das^^ danke dir
Weiß jetzt wieder wie das Tool heißt:
rnAVR
Ist genial! Berechnet den Timerwert und gibt dann gleich ein Codeschnipsel in Bascom aus!
Mit dem verbautem 16MHz Quarz kommst Du auf einen Fehler von 0,006ms
Siehe HIER
'################################################# #############
' Timer Beispiel für das universelle Controllerboard
' RN-Control mit mega 16 oder mega 32
' Ausführliche Infos zum Controller Board findet man
' unter www.robotikhardware.de als auch im
' www.roboternetz.de
'
' Dieses ruft einen Timer Interrupt in ihrer gewählten Frequenz auf.
' Bei jedem Interrupt wird der Zustand der LED einmal umgeschaltet, dadurch
' blinkt die LED genau in der halben Frequenz
' Der generierte Code kann direkt in den Bascom-Compiler kopiert
' und kompiliert werden. Natürlich läßt sich der Code auch in
' bestehende Programme integrieren
' Autor: CodeGenerator rnAvr vom roboternetz.de
' Weitere Beispiele und Beschreibung der Hardware
' unter http://www.Roboternetz.de oder robotikhardware.de
' Eigene Programmbeispiele sind im Roboternetz gerne willkommen!
'################################################# #############
'wenn mega 32, dann ändern in $regfile = "m32def.dat"
$regfile = "m16def.dat"
'Quarzfrequenz, entsprechend ihren Angaben
'der passende Quarz muss in die Fassung gesteckt werden
$crystal = 16000000
'nur notwendig wenn RS232 benutzt werden soll
$baud = 9600
'Hier wird der Timer und der Teiler festgelegt
Config Timer1 = Timer, Prescale = 8
'Der Port mit der dritten LED auf RN-Control wird als Ausgang programmiert
Config Pinc.2 = Output
'Hier geben wir der Definition einen schöneren Namen
Led3 Alias Portc.2
'Hier wird das Unterprogramm festgelegt, das
'in dem von ihnen eingestellten Intervall aufgerufen wird
On Timer1 Timer_irq
'Diese Vorgabe wurde berechnet um die genaue Intervallfrequenz zu erreichen
Const Timervorgabe = 55827
'Hier werden die Timer aktiviert
Enable Timer1
Enable Interrupts
'Hier ist die Programmhauptschleife
Do
'Hier könnte Ihr Hauptprogramm stehen
Loop
'Dies ist der Programmteil, der in dem von ihnen gewählten
'Intervall aufgerufen wird
Timer_irq:
Timer1 = Timervorgabe
'Hier könnte nun ihre beliebige IRQ-Routine stehen
'Dabei sollte man darauf achten das diese nicht mehr Zeit
'benötigt, als das Intervall zuläßt
'Der Zustand der LED wir umgekehrt, wodurch sich blinken in der halben Frequenz ergibt
'Hohe Frequenzen sind natürlich nicht mehr sichtbar
Toggle Led3
Return
Hab jetzt ein ganz anderes problem.
Wollte die Schlatung nach den paar wochen wiedermal einschalten, mach strom drauf und dann machte es bum. Auf jeden fall ist die Motoransteuerung durch gebrannt aber du meitest doch das es auch ohne ginge mit dem ULN 2803A.
Was genau ist durchgebrannt? Der Atmega??
Kann mir eigentlich nur vorstellen das Du Gnd und +5v vertauscht hast oder was leitendes unter der Platine liegen hattest.
Deine Schrittmotorkarte hat ja Optokoppler in den Eingängen die mit 5V betrieben werden - schreib mal was für Typen da verbaut sind.
Kann mir aber beim besten Willen nicht vorstellen das die mehr als 40mA ziehen! 40mA ist die maximale Pin Belastbarkeit des Atmegas.
toshiba TB6560AHQ japan 126GA1 ist in der mitte gerissen
Geändert von Dandan (13.02.2013 um 23:31 Uhr)
ULN geht nicht da Du einen bipolaren Schrittmotor hast.
Ich habe noch eine L298 Karte im Regal? Kann aber nur Voll und Halbschritt.
Ansonsten einen TB6560AHQ für kleines Geld aus China bestellen?
Habe jetzt nicht den ganzen Thread verfolgt, aber der TB6560 ist mir auch schon mehrfach unter den Fingern weggestorben. Was er garnicht mag (wenn ich mich richtig erinnere), ist, wenn der Leistungsteil (Vma und Vmb) Spannung hat, der Logikteil (Vdd) aber nicht. Den TB6560 sollte man für ca 5€ irgendwo in D finden können.
Gruß
Malte
Lesezeichen