-
Thread
Zugriff auf SRAM Speicher in Assembler
<avr/io.h> .text .global init_usart, usart_transmit_byte init_usart: ldi r16, lo8(51) out UBRRL, r16 ldi r16, hi8(51) out UBRRH, r16 ldi r16, (1<<RXEN) | (1<<TXEN) | (1<<RXCIE) out UCSRB, r16 ldi r16, (1<<URSEL)|(1<<USBS)|(3<<UCSZ0) out
ausgeführt sondern mittel avr-gcc und als Parameter -mmcu=atmega32 übergeben, wie beim Compilen. Und jetzt funktioniert das Ganze. Was mich jetzt aber wirklich irritiert ist, dass wenn ich nach dem erfolgreichen Linken wieder auf avr-ld umstelle und "-m avr5" oder
-
Thread
Codesammlung und Tutorial
zumindest besser als so (ja, wieder nur (m)eine Meinung) Zum anderen sind zwischen Code und Signalplot (+ Erklärung) leider ab und an Unstimmigkeiten: "ATMega16 Timer0 Normal" -> - DDRA wird genutzt, Kommentar sagt "Set PB3 as Output"
damit zu rechnen der Kommentar ist falsch) - Bei der Legende zum Plot wird auch von "PB0" und "PB1" gesprochen, PA0 und 1 dürften gemeint sein Ich gehe nicht alle Seiten durch, diese Unstimmigkeit ist aber auch anderweitig zu finden (noch bei ATMega8->Timer0 Overflow -> hier sprichst du beim Plot
-
Thread
WIe bestückung auf Platine?
oberhalb 4 A reden. Dann sinkt die Stromverstärkung rapide ab. Das heißt der Transistor kann mit 20 mA MAXIMAL 2 Ampere Kollektorstrom schalten (konservativ betrachtet, es könnten auch 2,5 A laut Kennlinie sein). MEHR GEHT NICHT, wenn der ATMEGA Ausgang nicht mehr als 20 mA rausrückt. Darüber hinaus
Basisstrom wird bei den "oberen" Transistoren /immer/ fließen: mit 5V am uC-Pin Ib = (12V-5V-0,7V)/1k = 6,3mA mit 0V am uC-Pin Ib = (12V-0,7V)/1k = 11,3mA > Der soll nicht bei den 5V sperren sondern der soll wenn "high" also 5V+ > vom AVR anliegen soll er "auf machen" und bei "low", also wenn
-
Thread
Doppelklick abfragen - Welches ist die beste Strategie ?
wahrscheinlich als Matrix ausgewertet -> das Aus für die INT-Erkennung (würde ggf. mit einem moderneren ATmega funktionieren mit Pin-On-Change-Interrupts). Den verwendeten ATmega16 legt man wohl eh nur ungern in den Tiefschlaf, da er von sich aus nie mehr aufwachen kann (nur möglich durch externes Ereignis
sehr große Interruptroutine, also etwa 1000 Zyklen. Das sind dann bei 100Hz*1000/10MHz gerade mal 1% CPU-Last. Eher hört man Flöhe 1km weit husten, als 1% weniger CPU-Leistung zu bemerken. Peter
-
Thread
Stromversorgung für LED Tetris
Hallo, wir planen den Bau eines LED Tetris Spiels mit 16x9 Osram LRTB SMD LEDs. 1-2 Zeilen mit 16 "pixel" wird dabei von je einem Atmega 48 mit Software-PWM versorgt. Als "Master" fungiert vorerst ein Atmega 168, welcher die einzelnen Zeilen über SPI steuert
nur Tetris :). Soll schliesslich eine Zeit hängen bleiben... Aber mal im Ernst, ich dachte bei 16 LEDs (also 3*16 PWM Kanälen) ist ein Atmega 48 mit Software PWM ganz gut beschäftigt. Der Prototyp ist grad in der Mache.... Sollte sich rausstellen, dass es dem Controller langweilig ist dann auch gerne
-
Thread
SD-Karten-Wave-Recorder
Völlig wertfrei, also quasi nur, um dich unter Druck zu setzen, mal meine Vorstellung *grins*: - 44,1kHz bei 16 Bit - ATmega16 vermutlich - symmetrische XLR-Ein- und Ausgänge - SD-Kartenslot zum Datenaustausch Viel Erfolg und Chapeau!
wear-levelling ausführt und nicht schnell genug die Daten abnimmt. > mal meine Vorstellung *grins*: >- 44,1kHz bei 16 Bit >- ATmega16 vermutlich >- symmetrische XLR-Ein- und Ausgänge >- SD-Kartenslot zum Datenaustausch Echtes Wave mit ATMega16? Das wird sportlich. An welche externen Wandler hast Du dabei
-
Thread
Verständnisprobleme mit FuseBits
auf einem alten 486er aufgesetzt habe, wollte ich nun ein Programm das Werte über den USART eines ATmega8L (bzw. ATmega8-16) ausgibt, in einen solchen hineinflashen. Avrdude läuft und auch das Flashen war erfolgreich. Da es sich aber um einen fabrikneuen ATmega8 (L bzw. -16) handelt, muß ich ja
gleich gebookmarked. Danke für eure Hilfe. Ich habe aber trotzdem nur mit avrdude -c stk200 -p m8 -P /dev/parport0 -U lfuse:w:0xEF:m die Fuses für den externen Quarz gesetzt und die Brown-Out Detection unprogrammiert gelassen. Mit dem Wissen werde ich nun wohl auch den ATmega8-16 auf 16MHz
-
Thread
Stromstoss Relais 24VAC per mC ansteuern
, denn mehr automaten gehen nicht auf eine hutschiene. (ich hab 3 reihige unterverteiler genommen, 1 reihe schalter, 1 reihe sicherungsautomaten und 1 reihe für controller und FI's) ich plane mit 1 Atmega 8 und 2 Atmega1280 oder einem Atmega8, einem 1280 und einem 2560 auszukommen. einer davon sitzt
reihig oder 2x3 reihig ETV - erspart späteres Gewürge an zu engen Verteilungen. > > ich plane mit 1 Atmega 8 und 2 Atmega1280 oder einem Atmega8, einem 1280 > und einem 2560 auszukommen. einer davon sitzt im keller und steuert > diese etage (1280), des weiteren meine terrarien (beleuchtung, > beregnung
-
Thread
µC spinnt - Programmieren geht nicht
für die LEDs? Wie groß ist der Maximalstrom (beim ATmega16 darf in Summe max. 200mA über Vcc und GND fließen)? Dann fehlt noch das Layout. Dazu: Hast Du genügend Stützkondensatoren verbaut? Sind sie nahe genug am µC und am Taktgenerator? Ist das GND-Netzwerk
Pin-Begrenzung in Target nicht mehr auf den Plan machen konnte. Soll ich den auch mit hochladen? > (beim ATmega16 darf in Summe max. 200mA über Vcc und GND fließen)? Das muss ich mal prüfen. Aber eig. sollte das nicht das Problem sein, da ich das Programm noch nicht aufgespielt habe und somit noch kein Strom
-
Thread
FPGA contra Mikrocontroller
@FPGAküchle: Ein "moderner MC" besteht ja nicht nur aus einem Core. Wir setzen hier z.B. den M32192 von Renesas ein. Der hat 1MByte Flash und 176KByte RAM. Der kleinste Spartan3 mit >= 176KByte RAM ist der Spartan3-4000 ...
recht gern :-) Hier ein Beispiel wie sich drei Technologien vertragen und sogar miteinander spielen: 1. old Style CPU: Z80, 2. MCU: ATMega 162, 3. FPGA EP1K50. Ich habe mich ja inzwischen dem Retrocomputing verschrieben und dafür ist das Board eine ideale Plattform. Der ATMEGA konfiguriert den FPGA
-
Thread
ULN2803 brennt ab
habe mal ein Prinzip-Schaltbild angehängt, vielleicht fällt euch was dazu ein. Die C´s rund um den Atmega und den Regler etc. sind vorhanden. das geht auch alles und da liegt auch nicht das Problem. Die Lämpchen haben 60mA und werden über den Atmega per PWM gedimmt. Manchmal passiert es dann, dass
Danke für die Antwort! Kannst Du mir das bitte kurz erläutern? Im Moment schalte ich die DDxn auf 1 und lasse Portxn per PWM-Routine wackeln. Was kann man noch tun? Ich messe also an den Ausgängen des Atmegas die Spannung? Atmega16A ist verbaut. Gruss, Micha
-
Thread
Euer Lieblingscontroller
atmega8 schön klein, genug pins, billig, und genug platz für die meisten programme atmega16,62,64 wenn ich mehr anschlüsse benötige, anfangen tuh ich mit den atmega16 und wenn das programm später größer
mit AUTOSAR so schön auf den Keks geht AT90CAN128 weil mir FreeRtos so schön auf den Keks geht ATMEGA128 schön Universell Last but not Least: Mega16/32/64 ebenfalls weil schön Universell :D
-
Thread
Signalrichtung MISO/MOSI?
auch hier die Spannung auf 3,35V zusammensackt. Kann mir das aber nicht erklären, da ich doch nur 1,8mA entziehe. Und an diesem Problem hänge ich jetzt. :( mfg Christian
Zietz: Die Eingangsschutzdioden sind so wie ich das aus dem Datenblatt ersehe nur bei den IO-Ports (ATmega16L.pdf FULL, Seite 48: IO-Ports sind hier mit Schutzdioden) aber nicht beim /RESET angebracht (ATmega16L.pdf FULL, Seite 36: RESET-Pin ist hier nur mit PullUp aber ohne Schutzdioden). Christian
-
Thread
Atmel mega64 Timer dringend
ach... Ich möchte aber gar nichts mit Timer 0 machen sondern mit dem 16-bit Timer1
.equ CLOCK = 2000000 .equ BAUD = 9600 .equ UBRRVAL = CLOCK/(BAUD*16)-1 .def mp, r16 ldi mp, 0x00; out UBRR0H, mp ldi mp ,UBRRVAL ; Baud einstellen out UBRR0L, mp ldi mp, (1<<RXEN0) ; Empfang aktivieren out UCSR0B,mp ldi
-
Thread
Controller gesucht, interner ADC und DAC?
Frequenz und hoher > Auflösung hinbekommt. Was ist bei dir "hohe Frequenz und hohe Auflösung"? Ein Atmega kann PWM mit 10 bit immer noch ~16 kHz (bei 16 MHz Systemclock). Reicht sowas nicht? Der oben vorgeschlagene Atmega32M1 ist sogar noch schneller dabei, er hat noch ne 12 bit PWM mit 64 MHz PLC
> Also sowas wie den Atmega32M1 muß man erstmal bekommen. Setzt > voraus, daß die geforderte Peripherie überhaupt verfügbar ist. Auch wenn ich Atmel ja eher negativ gegenueber stehe, sowas ist doch quatsch. Wenn du Bastler
-
Thread
Led Matrix mit 1 5x7 LED Modul
@Matthias: BC558 mit 500mA? Laut ECA tdv1 kann der nur 100mA Dauer, 200mA Spitze. 7 * 20mA sind 140mA, wäre im Multiplex-Betrieb sehr hart am Limit. Hängt das Ganze auf einer Spalte fest, könnte es eng werden. Mehr geht
Der M32 wird von Caterpillar hergestellt... http://images2.catmms.com/catimage/vision/jsp/imageCenter/hiresDownInfo.jsp?assetId=C159656&app=trade_press&back=1
-
Thread
Atmega88 aus 10bit ADC 16 bit machen
Hi Danke für die schnelle Antwort. Es geht eingentlich darum,dass ich die interne Spannung vom atmega88 benutze, die liegt bei 1.1v--> 1.1/1024(10bit) es ergibt sich eine Auflösung von 1 mV, dies ist leidet zu klein für meine Messung, da die Spannung sich unter 1mv bereich ändert. Danke
Aron schrieb im Beitrag #2072533: > zu klein für meine Messung, da die Spannung sich unter 1mv bereich > ändert. Also: a) Deine Spannung ist unter 1mV, du willst diese messen oder b) Deine Spannung kann zwischen 0V und 1.1V liegen, du willst Werteänderungen von 1mV erfassen.
-
Thread
LED Treiber gesucht
Jens M. schrieb im Beitrag #8045948: > PCA9685 evtl.? Der hat sogar 16 Kanäle und eine um einen Faktor 16 höhere Auflösung. Was der jetzt allerdings speziell mit der Arduinowelt zu tun hat, ist irgendwie
… (255,255,255). Das Video zeigt zwischen AUS (0,0,0) und der niedrigst-möglichen Einstellung (1,1,1) zusätzliche 48 Abstufungen. (Umgebung ist übrigens Tageslicht, aufgenommen mit Wischfernsprecher, ISO 50, Blende zu und Belichtung kurz.)
-
Thread
Freescale Drucksensor an Atmega8
Problem der Drucksensor liefert mir ein signal von 1,2mV / kPa köönt ihr mir helfen wie Ich das Signal richtig auswerten kann ? weil über google finde ich leider nichts passendes.
dem Reichelt-Preis. Der hat aber einen 2,8V FS Ausgang (Vcc=3V). Zusammen mit einem XTR111 (4-20mA 1,72) ergibt das ein einfach auszuwertendes und auch über 35m stabiles Signal. Das einzige Problem dabei ist die Stromaufnahme des Drucksensors von max. 10mA. Dadurch ist eine echte Zweidrahtlösung
-
Thread
16 x PWM erzeugen
Hab mal kurz simuliert (ATmega 8). Lösung: 16 Software-Timer incr. im Timer1 Interrupt.16 Vorteiler für diese Timer. Man kann also die PWM Frequenz mit den Vorteilern einstellen und das Tastverhältnis mit 16 duty cyclen Registern
Bei 16Mhz, 8 Kanälen, 7bit Auflösung und gleicher Frequenz müsste ein Atmega 6kHz schaffen. Es müsste also bei maximal 1kHz auch mit variablen Frequenzen zu schaffen sein, allerdings müsstest du mal ausrechnen
-
Thread
Zahlenrätsel: Wer knackt den Code?
USART ist wie folgt konfiguriert: 1 Parität, kein Stoppbit und 9600 Baudrate Der ATMEGA8 hat den internen 8Mhz Oszi aktiviert, beim STM32 weiß ich's ehrlich gesagt nicht (72 Mhz?). Das Muster sehe ich da: 2 -> 12 3 -> 14 4 -> 16
das drittletzte vertauscht sind? Wenn die richtige Reihenfolge so ist 0 2 12 14 16 18 254 0 254 dann wäre ein Baudratenfehler tatsächlich ein Erklärung. Und zwar ist die Baudrate des Empfängers um den Faktor 1,5 bis 1,625 höher als die des Senders. Dieser große Unterschied
-
Thread
Welcher Controller für Unterrichtszwecke?
H-Brücke) ansteuern, mit Timer und PWM und Encoder in Betrieb ehmen dann mittels IMU und PID Regler 1m vorwärts fahren drehen und wieder zurück auf die Ursprungsposition (3-4Wochen) War sehr cool, aber auch anspruchsvolle Lernkurve. Aber das Wesentliche ist hängen geblieben. Ohne Informatikbackground
kann dir sagen: Ich fand das ganze Thema µC sehr anstrengend... Wir haben Interrupts et. an einem ATMEGA16 gelernt und ich bin froh zu wissen wie das ganze funktioniert. Datenblätter lesen lernen und verstehen, finde ich, sind die wichtigsten Punkte bei diesem Thema. "Wie finde ich das passende Bauteil
-
Thread
ATmega32 und PORTC
wählte er den endlosen Titel. ;-) Werner P.S. Hat einer mitgezählt wer den Rekord hält? ATmega128 mit der M103 Fuse oder ATmega16/32 mit JTag Fuse?
Werner B. wrote: > Hat einer mitgezählt wer den Rekord hält? > > ATmega128 mit der M103 Fuse oder ATmega16/32 mit JTag Fuse? Ach was. Das hier: http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_fuses hab' ich geschrieben, nachdem ich einen Abend lang auf
-
Thread
Wie krieg ich meinen ATMega8 programmiert? [Anfängerprobleme]
jeweils zwischen LED und > uP-Ausgang geklemmt. den Oszi in Reihe zu Port und LED? mit seinen 1M bis 10M Ri was soll das werden?
aus, dass dieser Code soweit stimmt, was die "Rechtschreibung" angeht. [avrasm] .include "m8def.inc" ldi r16, 0xFF ; Zeile 1 out DDRB, r16 ; Zeile 2 ldi r16, 0b00000001 ; Zeile 3 out PORTB, r16 ; Zeile 4 ende
-
Thread
Wahl eines passenden Mikrocontrollers zur Ansteuerung des M90E32AS Energy Metering IC
Meinem Verständnis nach werden die Messwerte in den Registern mit etwa > 3Hz aktualisiert. (Seite 16 im Datenblatt des M90E32AS) genau, da es für die Ausgabe auf dem Display reicht maximal 1x pro Sekunde neue Werte auszugeben währe der AVR selbst mit 1MHz noch schnell genug. Sascha
Meinem Verständnis nach werden die Messwerte in den Registern mit etwa >> 3Hz aktualisiert. (Seite 16 im Datenblatt des M90E32AS) > genau, > da es für die Ausgabe auf dem Display reicht maximal 1x pro Sekunde neue > Werte auszugeben währe der AVR selbst mit 1MHz noch schnell genug. > > Sascha
-
Thread
Atmega 8 Led fading
rein!! Habe den Atmega 32 in einer Schaltung verbaut und da kann man das Interne nur auf ca. 1Mhz einstellen. Gruß
@ Schockii (Gast) >Der Atmega 8 hat doch gar kein internen Taktgenerator der 8 Mhz erzeugt, >es kann lediglich mit ca. 1Mhz arbeiten. Nicht so viel kiffen, locker bleiben, Brille putzen, 8 MHz einstellen. >Habe den Atmega
-
Thread
Absoluter Anfänger
M.A. S. schrieb im Beitrag #5358624: > Irgend ein Kabarettist sagte einmal sinngemäß: > Die Berliner kommen billiger zu einem Großflughafen, indem sie ihr > Berlin abreißen und 1:1 am Flughafen Frankfurt
bzgl. irgendeiner Mikrocontroller-Familie eine andere Meinung hat. > Wenn PIC<>AVR müsstest du PIC16/PIC18 <> ATMEGA vergleichen. > Und PIC12, PIC16 mit ATTINY. Selbst das ist schwierig, denn es gibt > steinalte PICs, und nagelneue, schlechte AVRs und gute. > Weder AVR noch PIC16/18 sind veraltet
-
Thread
Spannungsmessung mit internem ADC 0 bis 30V Absicherung
Hallo Leute, jetzt habe ich ein paar andere µC getestet. Darunter war ein ATMEGA16 und ein ATMEGA32. Bei allen ist es das selbe. Das ist doch nicht normal?? Gruss, Georg.
@Georg X. (schorsch666) >Darunter war ein ATMEGA16 und ein ATMEGA32. Bei allen ist es das selbe. >Das ist doch nicht normal?? Dann leigt es wohl an deinem AUfbau oder deinen Messmethoden. Ein Oszi ist denkbar ungeeignet, um Spannung im mV Bereich
-
Thread
PWM glätten über OP
Hallo, ich experimentiere in den letzten Tagen ein wenig mit PWM über den ATMEGA 16 rum. Letztendlich landet meine PWM-Frequenz bei knapp 1 kHz (8 MHz, Prescaler 32, Fast PWM). Nun ist ist so, dass ich damit verschiedene Lüfter betreiben möchte. Diese machen aber mitunter nervige
16 mA treiben. Muss ich jetzt noch ein Darlington-Transistor einbauen. Oder gibt es noch einen anderen Trick?
-
Thread
undefined reference to "__mulhi3" Gesperrt
\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe -m avr5 -Tdata 0x800100 -o main.elf C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\lib\avr5\crtm128.o -LC:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\avr5 -LC:\WinAVR\bin\
reference to `__mulhi3' Das bedeutet, daß beim Linken __mulhi3 nicht gefunden wird, was für einen ATmega128 nicht weiter erstaunlich ist: Diese Funktion gibt's für diesen µC nicht da 16=16*16 Multiplikation inline abgehandelt wird und nicht per libgcc-Aufruf. Du hast dein Projekt durcheinander, zB
-
Thread
Datenlogger Pendeluhr
bevorzuge. Das hat aber persönliche Gründe. Aber da du fragst, der Arduino NANO basiert auf einem ATmega328, der hat genau einen 16 Bit Timer mit dem eine der beiden Lichtschranken abfragen könnte. Dieser Timer kann über OC1A und OC1B gestartet und gestoppt werden, oder man benutzt die vom OP genannten
1ppm reicht nicht, oder? 1s/100d sind 0,1x ppm... Und ein Messfenster von 3 Stunden ist m.E. auch doof, weil die Umgebung der Uhr längere Phasen hat (vulgo Tag/Nacht bzw. deren z.B. Temperaturänderung
-
Thread
ST Visual Develop STM8 compiler error - was mach ich falsch?
uint16_t readAnalogValue(void); uint16_t readAnalogValue(){ if((ADC1->CSR & (1<<7)) == 1){ //check End of Conversion Bit uint8_t hRegister = ADC1->DRH; uint8_t lRegister = ADC1->DRL;
(wie es bei den Atmegas auch ist) sinnvoller. Wie > man auf 2^16 kommt, ist mir nicht klar. Aber nur wenn das entsprechende Config-Bit 0 ist. Wenn es 1 ist muß man auch beim ATmega mit 2^16 rechnen (oder mit 2^8, je nachdem wie man den ADC Wert ausliest).
-
Thread
Erster eigener Schaltplan für ein DEV-Board (ATmega644)
Berücksichtigung der Anschlüsse > gegen was anderes tauschen lässt. Kompatibel mit AT90S8535 (veraltet), ATmega8535, ATmega163 (veraltet), ATmega16, ATmega32, ATmega644 (ohne P, der hat nur eine UART), ATmega324P, ATmega164P und (hoffentlich bald) ATmega1284P. > PS: Warum ich mit einem ATmega644 anfange
einfach im Schraubstock crimpen. Die Idee gefält mir gut, so kann ich recht easy mit zwei, statt 16 Kabeln die zwei "Module" 1:1 verbinden - Danke! - erledigt > Keine Ahnung, was dein LV50CV sein soll (Gugel kennt ihn nicht). War auch falsch beschriftet *schäm Ist ein LF 50 CV von Reichelt (
-
Thread
my new Flame
Für die Animation ist nur ein Atmega328 und zwei IS31FL3731 notwendig. Beim Bausatz ist noch ein 550mAh LiPo mit Ladeschaltung (USB), Schaltregler und Schaltung für An/Aus integriert. Die Firmware basiert auf dem Adafriut FirePendant
Ich habe es mir einfach gemacht und Adafruit Komponente eingesetzt. 1. Adafruit 16x9 Charlieplexed PWM LED Matrix Driver - IS31FL3731 Board 2. Adafruit LED Charlieplexed Matrix 9x16 LEDs - Warmwhite Board 3. ESP8266 WEMOS D1 Mini (grosser Flashspeicher) Board Verdrahtungstechnisch
-
Thread
ATMega8L-8PU mit 16mHz Quarz
Schaltung ein 16mHz Quarz, den ich hier hab, doch leider kein Mega8-16. Ist das tragisch? Vielen Dank und Gruss Micha
da der ADC (oder dessen Referenzspannungsquelle) nicht mehr richtig läuft ... Takt | 1 2 4 8 12 16 MHz ---------------------------------------------- ATmega L - 8 | 2.1 2.2 2.3 2.5 2.6 2.7 Volt ATmega - 16 | 2.2 2.3 2.4 2.6 2.7 2.8 Volt ... aber alles
-
Thread
ATmega328P mit mehr Pins
Und wie immer der Hinweis, dass der ATmega1284P über 16 KiB RAM verfügt.
S. Landolt schrieb im Beitrag #5296981: > dass der ATmega1284P über 16 KiB RAM verfügt. und damit doppelt so viel wichtiges SRAM wie der m2560!
-
Thread
Atmega328P SIM900 Spannungsversorgung
wieviel Strom braucht das denn?) könntest du Strom sparen mit einem Photomos Relais AQV252g welches mit 3mA bis 5mA >1A (bis 2,5A) schalten kann und das sogar soft ohne Freilaufdiode. Der Photomos dürfte in der Ontime deutlich genügsamer sein. Mehr Strom sparst du mit 8 MHz denn dort funktioniert der
sowieso nicht. Damit der Einschaltstrom den SIM900 Mouduls nicht so sehr die Stromversorgung des ATmega328 herunter zieht, könntest du eine Diode und einen Elko hinzufügen: [pre] X2-1 o---|>|---+---o VCC vom ATmega | === 100µF | GND [
-
Thread
SRAM in C direkt auslesen
bspw. so machen Ach ja, die Pointer. Damit stehe ich noch auf Kriegsfuß. Sorry, es ist ein ATmega32. Da müßte der Pointer ein uint_16 sein, um den gesamten Ram zu adressieren, oder?
vom Himmel erzähle. > Es wäre möglich, daß der ohne > den -packed Compilerschalter IMMER von 16 Bit Alignment ausgeht, auch > auf 8 Bit Maschinen. Schließlich macht er auch Integer-Promotion auf 16 > Bit Ints, auch wenn das manchmal nicht nötig ist. Nein, es ist definitiv so: Bei ATmega/
-
Thread
Encoder mit ATMEGA8
= (uint8_t)(XTAL / 64.0 * 1e-3 - 0.5); // 1ms TIMSK |= 1<<OCIE2; } [/C] Statt WGM21 hast du WGM20 bei TCCR2 gesetzt, das passt nicht. Bei den Signalleitungen kannst du mit der Atmega16 Belegung arbeiten Atmega16 Atmega8 ================================================================ #define PHASE_A (PINC & 1<<PC0) PC0 vorhanden #define PHASE_B (PINC & 1<<PC1) PC1 vorhanden #define LEDS_DDR DDRD
-
Thread
PDP11 KL11 SLU in altem CPLD?
irgendwie Quatsch. Nicht unbedingt, ich habe bei mir einen kleinen W65C02 SBC gebaut, genannt ROMulus 1st, und der setzt einen Atmel ATmega1284P ein der dient als Bootloader, VGA und PS/2 interface, den W65C02 betreibe ich bei 12.5MHz, da findest du kein ROM mehr das da mitmacht. Gut primärer Grund
Quatsch. > > Nicht unbedingt, ich habe bei mir einen kleinen W65C02 SBC gebaut, > genannt ROMulus 1st, > und der setzt einen Atmel ATmega1284P ein der dient als Bootloader, VGA > und PS/2 > interface, den W65C02 betreibe ich bei 12.5MHz, da findest du kein ROM > mehr das da > mitmacht. Gut primärer
-
Thread
ATMega 8: _delay_ms(500) --> Unterschiedlich lange Wartezeiten
Peter II schrieb im Beitrag #4486679: > Mit welchem Takt betreibst du denn dein Atmega? Das ist mir gerade auch durch den Kopf gegangen. Diesen ATMega8-16PU hatte ich hier noch rumliegen (seit 7 Jahren) ... und ich habe keine Ahnung, ob ich damals irgendwelche "Taktfrequenzen" geändert
Im Datenblatt über den ATMega8 findet man auf S.26: The device is shipped with CKSEL = “0001” and SUT = “10” (1 MHz Internal RC Oscillator, slowly rising power). --> D.h. also, obwohl es ein 16Mhz Mikrocontroller ist, wird
-
Thread
Atmega32u4 - HWB Pin - 8MHz - Arduino Bootloader?
Vorhaben überhaupt mit einem 8MHz Quarz funktioniert. In dem Beitrag hier heißt es, dass der Atmega32u4 default mit 16MHz läuft: https://www.mikrocontroller.net/topic/332867#3644879 Daraus werde ich trotzdem nicht ganz schlau. Also: Kann ich bei einem Atmega32u4 bestückt mit einem 8MHz Quarz
D. M. schrieb im Beitrag #5137852: > In dem Beitrag hier heißt es, dass der Atmega32u4 default mit 16MHz > läuft: Der Atmega32u4 läuft "default" ab Werk mit dem internen OSC und Div/8 - also mit 1Mhz
-
Thread
Mikrocontroller empfehlung
Atmega48 (>1€).
Böser Kommunist schrieb im Beitrag #3382848: > Psoc PSoC1 ist M8 PSoC3 ist 8051
-
Thread
Kleines Simulink-Modell auf µC flashen
schrieb im Beitrag #4055936: > Nehmen wir grob an, dass jeder Befehl einen Takt langbraucht: > > A: 1/400 [s] / (1/16M) [n/s] = 40.000 Befehle Die Rechnung versteh ich nicht ganz. Geht das vll. bitte ausführlicher ?
dir. Ich habe da mal jetzt dafür 400Hz angenommen. Das heißt, dass dein Regelalgorithmus maximal 1/400 Sekunden (= 2500µs) brauchen darf. Wenn man davon ausgeht, dass jede Instruktion deines Kontrollers einen Takt braucht und dieser 16MHz beträgt, dann wird alle 62,5 ns (=1/f_cpu=1/16M) ein Befehl
-
Thread
Wii Nunchuk I2C Problem ?
Nunchuk relativ niederohmig gehalten werden um die Länge der Anschlussleitung besser zu kompensieren. 1m I2C ist ja auch eher ungewöhnlich :-D Grüße Mani
ATMega16 / 3,3V / 16MHz alles drei zusammen passt nicht. Grüße
-
Thread
TIMER ATMEGA
Das ist totaler Unsinn. Angenommen dein Controller verbrät einmal pro Sekunde für die Zeit von 1ms 10mA. Ein Atmega88PA im Sleepmode braucht für die restlichen 999ms dieser Sekunde 0,75µA. Daraus ergibt sich ein Durchschnittsverbrauch von ca. 11µA. Mit 2 AA-Batterien in Reihe mit 2000mAh läuft
das ist alles noch sehr großzügig gerechnet. Der Interrupt zum Sekundenzählen braucht nie und nimmer 1ms, der Stromverbrauch liegt weit unter den angenommen 10mA und eine AA hat wesentlich mehr als 2000mAh Kapazität. Allerdings solltest du einen Atmega88P, PA oder A nehmen. Der alte 88ohnewas verbraucht
-
Thread
sehr schnelle Signale messen
= 0; unsigned int capture1 = 0,capture2; SR(TIMER1_CAPT_vect) { capture2 = ICR1; Messung[M_Nr++] = overflow + (capture2 - capture1); if (M_Nr == 100) M_Nr = 0; overflow = 0; capture1 = capture2
und Auslesen von ICR1 overflow += 65536UL; RESET_TIMER1_OVF(); } } Messung[M_Nr++] = overflow + (capture2 - capture1); if (M_Nr == 100) M_Nr = 0; overflow =
-
Thread
OLED Sammelbestellung
Hallo, ich habe mal bei Glyn in Deutschland nachgefragt, für ein OLED FullColor 2.8", 240xRGBx320, 16.7M Colors, Visible 43.20x57.60, Abmess. 50.0 x 68.0 würden die bei kleineren Mengen ca. 27€ pro Stück verlangen. Also ab etwa 20Stck. Bestünde da Interesse? Datenblatt soweit ich es schon hab ist
Mein vorraussichtlicher Controller ist im Moment ein PIC18F452, später dann auch platzgründen ein M16C(256K Flash) oder sogar ein M32C(512KB bzw. 1M Flash on Chip) von Renesas. Sofern die Software in C programmiert wird, ist es ja eh kein Problem diese auf andere Controller zu portieren. Vielleicht
-
Thread
SVPWM Ansteuerung eines BLDC
error + GainI * SUM(previous errors) + GainD * (actual error - last error) m1.Vd = ((m1.PI.kp1)*d_actual_error) + ((m1.PI.ki1)*(m1.PI.i_err1)) + ((m1.PI.kd1)*(m1.PI.d_err1)); m1.Vq = ((m1.PI.kp2)*q_actual_error) + ((m1.PI.ki2)*(m1.PI.i_err2)) + ((m1.PI.kd2)*(m1.PI.d_err2))
Geschwindigkeit willkürlich. An den Parametern habe ich schon ein wenig rumgespielt. Code: [c] m1.PIParmD.InMeas = m1.Id; m1.PIParmD.Err = m1.PIParmD.InRef - m1.PIParmD.InMeas; m1.PIParmD.Sum += m1.PIParmD.Err; m1.Vd = m1.PIParmD.Err * P + m1.PIParmD.Sum * I; if(m1.Vd > m1.PIParmD.OutMax) m1
-
Thread
Programm auf ATmega8 übertragen
habe die Schaltung noch einmal neu aufgelötet nun funktioniert auch fast alles so wie gewollt. Der ATmega denn ich im Betrieb hatte wurde durch irgendeine Überspannung zerstört. Nun aber doch noch eine Frage an alle Programmierer. Folgendes Programm: .include "m8def.inc" ldi r16, 0xFF
Startzustand out PORTB, r16 ;Port B Startzustand .cseg Anfang: sbis PinD, 1 ; Aus Betätgit? rjmp Ende1 ; Wenn ja dann Ende1 sbic PinD, 0 ; Ein Betätigt? rjmp Anfang ; Wenn Nein dann Anfang