Servotreiber RNS1 V1.0 Der Servotreiber RNS1 ist ein günstiger Controller (Atmel AT90S2313) welcher speziell zum steuern von Servos programmiert wurde. Er entstand aus einer Zusammenarbeit mit Fabian Greif und ist eine Alternative zu dessen Schaltkreis. RNS1 verzichtet vollständig auf
meine Eigenentwicklung im Fahrbereich auch auf DCC umstellen.Da meine Selbstbaudecoder mit dem AT90S2313 aufgebaut sind und mit dem eingebauten UART arbeiten, wäre Hardwaremässig ein Umbau möglich. Mein Hauptproblem ist der Takt, da der At90s2313 mit 8 Mhz getaktet wird und ich maddax seinen Code
;Programm für AT90S2313 ERSTE Korrektur!!! ; RAM-Platze 0x64...0x67 sind die vier Bytes der Summe, 0x68 ein Zähler für die Anzahl der Additionen, ; 0x69 speichert den Inhalt des Register "zaehler" ; Im Hauptprogramm wird
PortB0 bis PortB6 (Segment A an PB0 usw.) 'Digitansteuerung über 4 PNP Transistoren über PD2 bis5 'AT90S2313-Deklarationen $regfile = "2313def.dat" $crystal = 4000000 'Quarz: 4 MHz 'DS1820 Kommandos (Es werden nicht alle benutzt..aber später vielleicht mal) Const Read_rom = &H33 Const Skip_rom = &HCC Const
woanders für den halben Preis (und weniger) bekomme. Beispiele: L293D: 6,95 zu 2,00 AT90S2313: 6,11 zu 1,85 ATMega32-16: 23,10 zu 6,20 (!) 74HCT244: 0,79 zu 0,25 RAM62256: 5,09 zu 1,10 (und dann noch die schnelleren...) EEPROM 28C256: 14,06 zu
Seinerzeit gab es nur AT90S2313 mit 10MHz, sodass darauf basierend folgende Schaltung entstand: http://www.mino-elektronik.de/fmeter/fmeter.htm Meines Erachtens war (und ist) es sinnvoller, einen externen Vorteiler automatisch
dient hier nur zur besseren Verständlichkeit: [code] $regfile = "2313def.dat" 'AT90S2313-Deklarationen $crystal = 4000000 'Quarz: 4 MHz Dim Umlauf As Byte Dim X As Bit On Timer0 Ontimer0 Config Timer0 = Timer , Prescale = 64 '4Mhz/64 = 62500 Hz 'Timer auf
PB6: 7-segment - Segment A bis G ' PD1-PD5: 7-segment - Ziffer - Select $regfile = "2313def.dat" 'AT90S2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As Word At &H60 Overlay Dim Wcounthi As Word
PB6: 7-segment - Segment A bis G ' PD1-PD5: 7-segment - Ziffer - Select $regfile = "2313def.dat" 'AT90S2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As Word At &H60 Overlay Dim Wcounthi As Word
PortB0 bis PortB6 (Segment A an PB0 usw.) 'Digitansteuerung über 4 PNP Transistoren über PD2 bis5 'AT90S2313-Deklarationen $regfile = "2313def.dat" 'Quarz: 4 MHz $crystal = 4000000 'DS1820 Kommandos (Es werden nicht alle benutzt..aber später vielleicht mal) Const Read_rom = &H33 Const Skip_rom = &HCC Const
: 7-segment - Segment A bis G ' PD1-PD5: 7-segment - Ziffer - Select '$regfile = "2313def.dat" 'AT90S2313 $regfile = "attiny2313.dat" 'ATtiny2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As
: 7-segment - Segment A bis G ' PD1-PD5: 7-segment - Ziffer - Select '$regfile = "2313def.dat" 'AT90S2313 $regfile = "attiny2313.dat" 'ATtiny2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As
Bruder bekommen hatte. Lassen wir den AT90S1200 außer Acht, dann kamen mit dem AT90S8515 und AT90S2313 zu den bisherigen 8051-Derivaten pinkompatible AVRs (Ausnahme: /Reset) auf den 'Tisch'. Zu den günstigen Entwicklungsboards gab es einen kostenlosen Assembler und mit der erhöhten Taktfrequenz (8
www.asahi-net.or.jp/~qx5k-iskw/robot/usbhost/usbh08.jpg ein Bild der Hardware, auf der deutlich ein AT90S2313 erkennbar ist. Allerdings muss zusätzlich zum grundlegenden USB-Protokollstack auch noch Unterstützung für "Mass Storage Devices" - nichts anderes ist der Kartenleser - und für die zu erwartenden
PB6: 7-segment - Segment A bis G ' PD1-PD4: 7-segment - Ziffer - Select $regfile = "2313def.dat" 'AT90S2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As Word At &H60 Overlay Dim Wcounthi As Word
PB6: 7-segment - Segment A bis G ' PD1-PD4: 7-segment - Ziffer - Select $regfile = "2313def.dat" 'AT90S2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As Word At &H60 Overlay Dim Wcounthi As Word
PB6: 7-segment - Segment A bis G ' PD1-PD4: 7-segment - Ziffer - Select $regfile = "2313def.dat" 'AT90S2313 $crystal = 8000000 '8MHz Quarz Ddrb = &B11111111 'PortB = Ausgang Ddrd = &B0111111 'PortD = Ausgang bis auf PD6 Dim Icount As Long At &H60 Dim Wcountlo As Word At &H60 Overlay Dim Wcounthi As Word
Programm dient zur * ;* Steuerung von 2 Schrittmotoren * ;* im Vollschrittbetrieb mit dem * ;* AT90S2313. * ;* (c) August 2002 Johannes Raschke * ;**************************************** .def temp = r16 .def temp2 = r17 .def akt_phase1 = r18 ; nur register 16-31 lassen sich direkt laden... .def akt_phase2
/* Beispielprogramm fuer 'Reziproker Frequenzzaehler' fuer AT90S2313 kompatibel zu IAR C-Compiler. Funktionsbereich etwa 0,0025Hz - 140kHz bei 10MHz Prozessortakt Schaltung dazu siehe: http://www.mino-elektronik.de Alle Angaben wie immer ohne Gewaehr ! */ #include
;Programm für AT90S2313 ; RAM-Platze 0x64...0x67 sind die vier Bytes der Summe, 0x68 ein Zähler für die Anzahl der Additionen, ; 0x69 speichert den Inhalt des Register "zaehler" ; Im Hauptprogramm wird das Unterprogramm
data from wireless weathersensors ; via RS232 ; Version: 0.1 ; Last updated: 2002.08.09 ; Target: AT90S2313 ; ;----------------------------------------------------------------- ; ; ; RX/TX: MAX232 ; INT0 and INT1: AM-UHF-433MHz-Receiver ; ; ; Copyright (C) 2002 Thomas Fischl ; ; ; This program is free
-------------------------------------------------- 'Konfiguration µC: $regfile = "2313def.dat" 'AT90S2313-Deklarationen $crystal = 3686400 'Quarz: 3.6864 MHz 'Konfiguration Variable: 'Zaehler Dim Tuer_1 As Bit Dim Tuer_1_status As Bit Dim Tuer_1_zaehler As Byte 'Timer Dim Stunden As Byte Dim Minuten
man eine Jitter-freie Anwendung benötigt. Und nicht einfach den Datenblättern zu vertrauen. Ein AT90S2313 und ein ATtiny2313 erwiesen sich da schon mal als recht ungleiche Brüder. Dies ist eine Meinungsbekundung und keine Tatsachenbehauptung - muss ich hier vorsorglich hinzufügen. ;-) Kurzum -
specs ver. 1 which means up to 100 KHz clock rate) to RS-232 asynchronous protocol(at 115200). AVR AT90S2313-10 microcontroller’s External Interrupt pins are used to determine the falling or rising edges of the SDA line (Start or Stop condition) and are also checking to determine every bit of the transferred
specs ver. 1 which means up to 100 KHz clock rate) to RS-232 asynchronous protocol(at 115200). AVR AT90S2313-10 microcontroller’s External Interrupt pins are used to determine the falling or rising edges of the SDA line (Start or Stop condition) and are also checking to determine every bit of the transferred
Danke für die guten Tipps. Dieser Thread ist eine Fundgrube für mich. Ich habe schon einen AT90S2313 herumliegen, aber mir ist es mit meinem selbstgebastelten einfachst-Programmiergerät noch nicht gelungen was hineinzuschreiben. Ich werde mir also doch erstmal ein vernünftiges Prog bei ebay ersteigern
einen anderen Registersatz aktiviert, usw. Meinen 2051 Code habe ich mit einem IAR gut auf den AT90S2313 portieren können. FP war nur 1K groß, ISR-Aufrufe besser optimiert und wenn alles zu grob wirkte, wurde ASM verwendet. Zudem war ISP deutlich angenehmer, als den 2051 immer wieder in ein Programiergerät
AC_CONFIG_FILES([ avr/lib/avr2/tiny-stack/Makefile avr/lib/avr2/tiny-stack/at90s2313/Makefile [/pre] müssen generiert werden, die einzige Info die dazu verwendet wird: Es gibt ein Device "at90s2313" und die Infos auf $CC -print-multi-*. Hier könnte man ein m4 generieren;
-------------------------------------------------- 'Konfiguration µC: $regfile = "2313def.dat" 'AT90S2313-Deklarationen $crystal = 3686400 'Quarz: 3.6864 MHz 'Konfiguration Variable: Dim Resetpin As Bit 'Zaehler Dim Tuer_1 As Bit Dim Tuer_1_status As Bit Dim Tuer_1_zaehler As Byte 'Timer Dim Stunden