-
Thread
Stimmgerät-Gitarre / AVR ATmega2560
ich im Rahmen einer Fallstudie für die Uni ein Stimmgerät zu realisieren mit dem myAVR MK3 Board / ATmega2560. Ich benutze als Entwicklungsumgebung SiSy/C. Grundsätzlich funktioniert das Programm, allerdings habe ich Probleme beim auswerten der Frequenz. Bzw denke ich das ich das ganze dort einfach
allerdings noch. Wieso nimmt Jesper für die Strings immer das doppelte der eigl Frequenz? E_STRING - 164.8Hz, real schwingt diese Saite aber auf 82,41Hz. Werf ich 164,81 rein, zeigt die LEDs auch 'in tune' an. Änder ich die #defines in die richtige Frequenz, werfe dann zum Beispiel 82,41Hz rein, hab
-
Thread
Suche Pulse Train oder Pulse Pattern Generator
Timing. Wer sich daran erinnert, wie seinerzeit beim 68000 das Timeout für das DTACK-Signal per 74LS164 gesteckt wurde, kann den Gedanken schnell nachvollziehen. Ansonsten selber eine kleine Schaltung zur Impulsverkürzung ausdenken.
ich will eine Platine bauen, mit seriellem UART zu einem PC in ca. 15M Entfernung. Drauf ist ein ATMEGA2560 der den VCO ansteuert, mit dem ich eine Frequenz erzeuge, die variabel ist. Ausserdem ein Rauschgenerator mit Amplitudeneinstellung um damit das VCO-Signal zu verrauschen. Dann werden noch ein
-
Thread
[gelößt] Suche IC (Bezeichnung) Umwandler von 2 nach 4 Signalen
auch nicht ein. Jedenfalls habe ich ein Anschlussproblem. Würde ich die 4 Anzeigen direkt an den ATmega168 (Atmel ATMEGA168PA-PU, PDIP-28) anschließen würden mir zwei Selektierungsausgänge am Mikrocontroller fehlen. Ich habe also 2 Pins "zu wenig" für die direkt Selektierung der Anzeigen. Pin 27 und
Ein 74HC164 ginge auch und dann alle 4 Interrupts eine 1 reinschieben. Dann wäre auch eine Erweiterung auf 8 Digits möglich.
-
Thread
Wir basteln einen arduino MPP lader.
[code] #define PWM_CT2_B 3 //OC2B #define Vout A0 #define Vin A1 #define maxpwm 164 void ct2_init() { pinMode(PWM_CT2_B,OUTPUT); TCCR2A = (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); //fast PWM TCCR2B = (1 << CS20) | (1 << WGM22); // prescaler 0 OCR2A = maxpwm
zu kleine Induktivität hat und damit der Regler im lückenden Betrieb arbeitet. Oder daran das der ATMega es nicht schafft den Mosfet schnell genug ein und auszuschalten. Hast du mal geschaut, ob die Schaltflanken sauber sind? Die paar mA die der ATMega schafft könnten etwas knapp sein. Aber das wirst
-
Thread
+/-10V Analogspannung für Prozessoreingang
Was ist das denn für ein Prozessor? ATMega16 und grösser kennen auch AD-Wandler für Differenzspannungen zwischen 2 AD-Ports. Die dürfen dann auch negativ sein. In dem Fall sollte doch auch ein Spannungsteiler ausreichen.
Hab leider einen Infineon-Prozessor (XC164), der keine negativen Spannungen zuläßt. Ich hätte auch keinen zweiten Analogeingang zur Verfügung. Da muß es wohl doch die Lösung mit den OP´s sein....
-
Thread
Sinustabelle wird nicht richtig ausgelesen!
+ + + Ich programmiere im AVR Studio, Programmer ist nen mysmart usb mk2, uC ist ein Atmega32 16pu Hier noch der Code,den teil fürs Rechteck usw hab ich mal weggelassen. Vielen Dank im vorraus schonmal, mit gespannten Grüßen, Jendrik P.S. Da die anderen Wellenformen richtig ausgeben
reti .eseg sinustab: .db 127,130,133,136,139,143,146,149,152,155,158,161,164,167,170,173,176,178,181,184,187,190,192,195,198,200,203,205,208,210,212,215,217,219,221,223,225,227,229,231,233,234,236,238,239,240,242,243,244,245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254,254,254,254,253,253,253,252,252,251,250,249,249,248,247,245,244,243,242,240,239,238,236,234,233,231,229,227,225,223,221,219,217,215,212,210,208,205,203,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161,158,155,152,149,146,143,139,136,133,130,127,124,121,118,115,111,108,105,102,99,96,93,90,87,84,81,78,76,73,70,67,64,62,59,56,54,51,49,46,44,42,39,37,35,33,31,29,27,25,23,21,20,18,16,15,14,12,11,10,9,7,6,5,5,4,3,2,2,1,1,1,0,0,0,0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,9,10,11,12,14,15,16,18,20,21,23,25,27,29,31,33,35,37,39,42,44,46,49,51,54,56,59,62,64,67,70,73,76,78,81,84,87,90,93,96,99,102,105,108,111,115,118,121,124
-
Thread
Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?
(keine SMD > Bauteile). Ich kann es sehr gut nachempfinden :) Also ich habe einfach nen Atmega8 genommen. Heute würde ich vielleicht eher auf Atmega88 gehen, einfach weil er neuer ist und das eine oder andere Timer-Feature hat, was man gut gebrauchen kann und welches beim alten Atmega8 fehlt
ATmega328 ausgehen?
-
Thread
Bauteile Zweckentfremden
theoretisch auf sehr sehr viele erweitern wenn man nur 2/3 Pins frei hat. Wenn man anstatt den normalen HC164 die HC595 hernimmt (die haben nen Latch!), so gibts auch während dem Shiften selbst kein Problem. Wobei bei mir Schieberegister keine anderen Logikbauteile mehr ansteuern sondern meistens als Treiber
ATmega8 Ist für 16 Mhz vorgesehen. Habe diesen schon mit 32 Mhz betrieben.
-
Thread
Uhrenquarz an Atmega324P: Was für Kondensatoren?
Hallo zusammen ich möchte gerne einen Uhrenquarz (32768Hz) an einen Atmega324 anschliessen. Leider verstehe ich zuwenig von Lastkapazität und äquivalentem Serienwiderstand (ESR, Equivalent series resistance). Im Datenblatt vom ATmega164P/324P/644P steht auf Seite 34, dass
-
Thread
Zeigt her eure Kunstwerke (2014) Gesperrt Bilder
Der Atmega328 hat 3 Timer und nicht 5.
und "unverschlummerbaren" Rechtecksound des Atmega. Grüße, Konrad
-
Thread
PWM Signal Umrechnung
Guten Tag, ich habe mit einem Atmega32 ein PWM Signal generiert. Verwendet wird es für Servos, Motorregler, ... also der 50Hz Standard. Für z.B. 1ms habe ich 1975 als COMPARE-Wert (gemessen mit Oszi). Wie kann ich z.B. einen Wert von
macht man normalerweise über die bekannte Frequenz vom µC sowie der CaputerCompare Unit (also beim XC164 von Infineon). Hier gibts dann Relaodwerte und aktuelle Werte. Über die Frequenz kannst du ja dann zählen, wie wieviele Zyklen ein Count benötigt. Und anahnd der Frequenz weist du wielange ein Zyklus
-
Thread
AVR taktquelle im laufendem Programm ändern?
Ja, das geht. Z.B. beim ATMega162 kann man eine Prescaler setzen (1, 2, 4, .. 256). Peter
ist Atmel mit dem 324 erst in den Startlöchern. Frag doch einfach die BASCOM-Leute, ob die den 164/324/644 schon unterstützen. Jörg Wunsch hat das für den gcc jedenfalls schon hingekriegt (aber der macht das ja in seiner Freizeit, und weil man heutzutage davon soviel hat, sind die OS-Leute halt immer
-
Thread
DS1820, DS18B20 in C
@Peter: Frage 1 hat sich erledigt: bei mcu=atmega8 sind die Fehlermeldungen zu den SFRs weg. Matthias
am laufen. Hab mit dem original ZIP GCC Probleme, Bei den 'neueren' Prog's kompiliert er mit Atmega8 mit 0Error. Dann ändere ich im Makefile Atmega8->Atmega88, dann hagelt es ERROR's. Das Obige Prog ist auch auf M8 nicht auf M32 mit den selben Umstellungsproblemen. Hier meker er wegen PortA, den
-
Thread
Das ewige Thema... Temperaturmessung mit AVR und LCD!
Wie kann ich eine Spannung mit Atmega16 messen???????? Wie soll ich sie in °C unrechnen??? Das ist völlig dunkler Wald für mich!!!!!! Habe mir extra 2 LCD besorgt 16x2 und 27x4 um jetzt endlich was zu machen... aber ohne euch komme
>Wie kann ich eine Spannung mit Atmega16 messen???????? Mit dem AD-Wandler. >Wie soll ich sie in °C unrechnen??? Das geht i.d.R. aus dem Datenblatt des Sensors hervor. >!!!!!!!! Unnötig viele Satzendezeichen sind ein Zeichen
-
Thread
PC-Spektrometer - Problem mit Linien-CCD (AVR)
denke ich. Welcher AVR mit diesem 10Mbit/s - SPI, der genauso per ISP zubeschrieben ist, wie der ATmega8, käme denn da in Frage? Was ist eine Leererkeenung? Gruß, moritz
Hallo Moritz, z.B. Mega164p Die Leererkennung ist ein Flag zum Anzeigen das der Sendbuffer leer ist während das letzte Byte noch gesendet wird. Dann kann man nachladen und der Datenstrom wird nicht unterbrochen. Dazu wird
-
Thread
Zeit + Temperatur auf LCD mit AVR
. Das ist bei 77 Dez, oder 4d hex. Irgendwo ist da der Wurm drin. Die Takteinstellungen im ATMega hab ich auf Standart gelassen. d.h. 1 Mhz interner Oszi. Vielleicht stimmt damit was nicht. Sanlo
so... der ATMega hat irgendwie ne Macke, trotz eingestellter Standart-Werte hat er ne größere Freq.,ich hab zum Glück mehrere davon. Ich hab jetzt einen Neuen genommen und jetzt passt das mit der xtal-Formel. jetzt
-
Thread
Binärzahl umwandeln
. Eine reicht nicht, Du brauchst schon 4 Digits. Die übliche Lösung ist, man nehme einen MC (ATmega164) und ein paar Zeilen C. Peter
-
Thread
AVR Bootloader (butterfly) umschreiben
Hallo, ich habe den Prozessor ATmega328p und möchte eine neue Applikation mit Hilfe eines Bootloaders einspielen. Für einen anderen Chip (den ATmega164) habe ich das ganze bereits funktionierend vor mir. Als Bootloader verwende ich den
-
Thread
LCD Modul und Atmega 128
Hallo, ich grüße euch und brauche eure Hilfe. Ich habe einen µC von Atmel einen Atmega 128 mit einem 16 Mhz Quarz. Der µC ist auf einer Entwicklungsumgebung von Chip45 aufgebracht mit USP Schnittstelle etc. Zum Programmieren verwende ich AVR Studio 4 und einen Adapter AVRISP mk II.
wie Quarzangaben berücksichtigt. #define F_CPU 16000000 Daten Hardware: µC: Atmega 128 Display: EA W164B-NLW Code befindet sich im Anhang. Hoffentlich kann mit jemand helfen, sollte für viele ein Kinderspiel sein die sich mit LCD Modulen auskennen. Danke im Voraus
-
Thread
Eprombrenner/leser Entwurf
Nimmm doch einfach einen AVR mit *genug* AUsgangspins (z.B. ATmega16) und spar dir deine ganze Elektronik. Du solltest die Versorgungsspannugnen des EPROMS schaltbar machen, und zwar NICHT mit der falschen Schaltung die du verwendest und du solltest es so aufbauen
den Datenbus kannst Du einen 74HC299 nehmen, spart einen IC ein. Für den Adreßbus gehen auch 2* 74HC164, das Latch braucht man nicht, einfach nicht weiter takten. Hochvolt-CMOS (CD40xx) würde ich nicht nehmen, die könnten schon zu langsam sein für den MC, d.h. da könnten einige NOPs notwendig sein.
-
Thread
Attiny2313 Timer16 Bit, Normal Mode, unsauber
Anfang gehen, dann steht dort u.a. > #define GIS4 415.305 > #define A4 440.000 > #define AS4 466.164 > #define H4 493.883
euch auf dem Oszi anschauen. Alle anderen Timer Mode haben das Problem nicht. Zumindestens beim ATmega und Verwandte. Ansonsten, was passiert wenn man im Sinus Array alle '0' durch '1' ersetzt? Dann wären die Nadelimpulse, falls vorhanden, erstmal weg.
-
Thread
Wie umgehen mit doppelt belegten IO-Pins (Atmega88PA)?
Einen 40-Pinner kannst Du nicht nehmen? zB Mega164? Der Reset-Pin lässt sich nur per Fuse zum Portpin machen. Wenn Du keinen High-Voltage Programmer hast, ist das eine Einbahnstraße, d.h. ohne Rset-Pin funktioniert ISP nicht mehr. Das solltest Du
Steckbrett experimentiere. Dann sollte es aber auch kein Thema sein, stattdessen gleich einen ATmega16A oder sowas zu benutzen. Der bietet dann einfach ein paar Pins Reserve.
-
Thread
Atmega 8 LCD 2x16 Display
Bin gerade dran einen Atmega 8 Contoroller mit einem LCD 2x16 4BitMode Display zu verschalten. Habe die ganze geschichte schon im AVR Studio simuliert. Mit den Peter Fleury`s Dateien Funktioniert das einwandfrei. Nun meine
Ich habe ein ähnliches Display an einem Infinion c164 laufen. da siehst keinen aufbau vom Bild.. Aber wenn du sagst der Simulator verlangsamt das ganze noch werd ich mal den controller mit Display aufbauen und dann mal probieren. Danke schön schon
-
Thread
Betriebstemperatur ATMega
Logischerweise wird diese auch in einem KFZ stecken.... der Mikrocontroller den ich verwende ist ein AtMega 16, mit dem ich mich grad so richtig gut angefreundet habe.... und nun lese ich über meinen Freund, das er nur von 0-70°C freigegeben ist... im Auto können aber ja durchaus im Winter mal Minusgrade
durchweg mit -40..+85 spezifiziert zu sein. Wenn du also deinen Mega16 durch einen pinkompatiblen Mega164/644 ersetzt, hat sich das wohl erledigt.
-
Thread
AVR - Stimmgerät - wie Grundfrequenz bestimmen?
Akkubohrer, ist Dir klar, dass ein atMega einen 8x8Bit = 16Bit HW Multiplizierer hat? Das ist ein sehr gutes Argument für einen atMega.
TonE ist ist die Grundfrequenz ( 82Hz ) um 20dB schwächer als die Frequenz der ersten harmonischen ( 164 Hz ) und der noch höheren Frequenzen. 20dB bedeutet, dass die Amplitude der gesuchten Grundfrequenz um den Faktor 10 schwächer ist. Das Verhältnis wird beim TonB deutlich besser. Die Schwäche beim
-
Thread
2 LCDs an atmega
hat schon mal jemand 2 lcds am atmega betrieben? aber ohne einen kompletten 2. port zu verbraten. über den select sollte das kein problem sein.
Bis zu 16 LCDs bei Verwendung von 8 PCF8574 und 8 PCF8574A Displays seriell ansprechen über 74HC164 Bis zu 6 LCD an einem Port Grundschaltung für ein LCD siehe http://www.ulrichradig.de/home/index.php/avr/lc-display
-
Thread
MEGA1284P XPLAINED über USB mit avrdudue programmieren
folge ich gerne. Wenn ich aber auf https://github.com/MCUdude/MightyCore lese "An Arduino core for ATmega8535, ATmega16, ATmega32, ATmega164, ATmega324, ATmega644 and ATmega1284, all running the Urboot bootloader. ..." dann frage ich mich, ob ich nicht nur den Urboot bootloader brauche. Warum soll ich
against m1284p_xpld_ex.hex ... avrdude: 5532 bytes of flash verified $ avr-gcc -g -Os -mmcu=atmega1284p -c init.c $ avr-gcc -g -Os -mmcu=atmega1284p -c usart.c $ avr-gcc -g -Os -mmcu=atmega1284p -c mega_1284p_xplained_example.c $ avr-gcc -g -mmcu=atmega1284p -o m1284p_xpld_ex.elf init.o usart.o
-
Thread
AVR und C++ - ein Versuch
den Verzeichnissen "ex0" und "ex1" zwei Beispiele beigefügt, die sich mit [code]avr-g++ -mmcu=atmega8 -Os -std=c++11 -I ../includes/ -o main main.cpp[/code] übersetzen lassen.
> Flash ab 0x0000. Nein, nicht notwendigerweise. Die Interruptvectortabelle kann bei einem ATMega üblicherweise an 5 verschiedenen Stellen im Flash liegen...
-
Thread
mikrokontrolle mit 2 ausgänge
lamal tawtaw schrieb im Beitrag #2156141: > (2 schnittstelle) RS 232 Atmega 164/324/644 P mfg.
-
Thread
Display TC1602E.01
Hallo, ich hatte zwei Tage extreme Probleme dieses Display an meinem ATmega328 zum laufen zu bringen. Anfänglich half mir dieser Thread, wurde dann doch aber sehr verwirrend. Ich habe jetzt nicht die Ahnung wie die anderen hier, jedoch nun ein laufendes Display am uC
hatte damit angefangen, das Display im 3-Wire Betrieb zu nutzen und über ein Schieberegister 74HCT164 anzusteuern. Dann kann man es sogar problemlos an einem ATtiny85 betreiben, weil es nur 3 Leitungen belegt. Später, als die ATmega328 erschienen und alles preiswerter wurde, habe ich dann die Routinen
-
Thread
RFM12 als Empfänger für TFA THX301 Funk Wetter Sensor
USART auswerten? Ansatz: ------- Nutzung eines Binär-Eingangs am Parallelport! Empfänger -> ATmega-Port -> Rauschdetektor -> Signaldekoder -> Ausgabe Lösung: ------- Das Programm tastet PA0 eines ATmega644 periodisch ab und wertet ggf. Signale aus die außerhalb des Rauschens liegen. Wird
.Protocol ist FS20 OOK. 868 1/4 wave = 82.2mm sensitivity ok 0.7 - 70 meter 868 1/2 wave = 164.3mm sensitivity ok 0.7 - 100 meter 868 full wave = 345.5mm sensitivity ok 0.7 - 120 meter Folgende Einstellungen habe ich angewendet (0x8027); // 868 Mhz;disabel tx register; disabel
-
Thread
Einfache Multiplex Schaltung (Anfänger!)
alles komplett ab. Der muß also immer 0 sein. Noch einfacher geht das Ganze, wenn du z.B. einen Atmega48 nimmst. Der hat die ganze Multilexermimik mitsamt Ad-Wandler für 6 Kanäle schon eingebaut. Im SMD-Gehäuse sogar 8. Ein Atmega164/324/644 hat auch im DIP-Gehäuse 8 Eingänge. Im Prinzip funktioniert
-
Thread
Baudrate mit FTDI
denke, dass da mehr möglich sein sollte oder ist das schon ok so? Laut Datenblatt schafft der Atmega8 mit UBRR = 0 mit einem 20 MHz Takt maximal eine Baudrate von 2,5 MBps mit 0,0% Fehler. Der FT232R schafft noch etwas mehr. Von daher sollte noch einiges rauszuholen sein... Datenblatt, Seite 164
-
Thread
noch ein Eigenbau DSO.
relativ geringe Datenrate -> mehr als ein paar kB Speichertiefe geht kaum aber sollte reichen -ein ATMega lenkt alles -Analogteil wird abgekupfert von den zugänglichen Schaltplänen des PCS32/64 von Velleman. Besser fummelt man das als Bastler sicher nicht hin. -die Werte von 2 AD-Wandlern werden laufend
ich dann noch einen 74hc590, bei 40MHz geht das dann max runter auf 156kHz, darunter kann dann der ATMega den Krempel steuern. Hier und da wird dann noch das eine oder andere Gatter nötig werden - oh mann, was hab ich mir da bloß vorgenommen. > das ist ein DA-Wandler ups, falsch rum ;-) > Wie
-
Thread
AVR Interrupts TIMER/USART
Hallo zusammen, ich habe folgendes Problem (ATMEGA164P): Es wird alle 5ms eine Messung (Dauer ca 70µs) mittels externem AD-Wandler über die SPI - Schnittstelle durchgeführt. Dies habe ich mittels Timer (Compare Modus) gelöst. Die Messung funktioniert
PC im Nirvana. Du musst sie allerdings abholen. Bei 9600Bd hast Du dafür aber ca. 1ms Zeit. Der ATmega88 (Deinen kenne ich nicht, vermute aber, sie sind einigermaßen identisch) kann noch ein zusätzliches Byte puffern. Da sollten die 70us Deiner Wandlung nicht stören. Aber: Welches PC-Programm setzt
-
Thread
Zeitkritisch ?
Interrupt ca. 800 Takte in denen er alles neu berechnet und noch einige andere Sachen macht. Atmega8 16MHz Inhalt der Routine: { schrittWeite++; if (schrittWeite < endeRampe) { Cn=Cn-1 - ((2 * Cn-1)/( 4 * (n - m) + 1)); ICR1 = Cn; } else //Endesequenz einleiten
Hi, danke für die Antworten. Also, ich habe einen myAVRUSB-Board mit einem Atmega8 16PU, statt der 3,6864MHz habe ich einen 16 Mhz draufgelötet. Habe gerade kein Oszi da. Maschinencode...oha ;-) Gruss Frank
-
Thread
avr-gcc -O3 optimiert Variablen und If-else statements weg
hoffe jemand weiss, woran es hakt... sollte noch etwas unklar sein, fragt einfach. PS: MCU ist ATmega8
alle darin aufgerufenen Unterfunktionen) niemals unterbrochen werden kann (jedenfalls bei ATTiny/ATMEGA), gibt es auch keine Notwendigkeit, so eine Variable volatile zu deklarieren. Kostet nur Code + Zeit ;-) Gruß, Frank
-
Thread
Protokollumsetzer RS232 <> RS485
sind daher für > Dich nicht geeignet. 2 UARTs: 14 Pin: ATtiny841 20 Pin: ATtiny1634 44 Pin: ATmega164
-
Thread
Hammond B3 Clone mit ATMega
installiert haben :-) Da ich möglichst bei DIL Bauweise bleiben möchte käme irgendwas zwischen ATmega164A-PU bis ATmega1284A-PU in Frage. Den gibt es im handlichen 40Pin DIL Gehäuse mit reichlich IO Pins, so das er sich auch für die Manual-Scanner anbieten würde. Natürlich würde auf den Leitungen
gerade auf den 644 bzw 324 ein. http://www.distrelec.de/de/Mikrocontroller-8-Bit-DIL-40-Atmel-ATMEGA644P-20PU/p/17325149?q=atmega644&page=2&origPos=1&origPageSize=50&simi=96.54 Ich hab mir mal das Kapitel USART ausm Datenblatt durchgelesen. Wenn ich das richtig verstanden habe dann gibt es in den
-
Thread
"expected ')' before '*' token" -- Was ist da los?
MATH_LIB = -lm # External memory options # 64 KB of external RAM, starting after internal RAM (ATmega128!), # used for variables (.data/.bss) and heap (malloc()). #EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff # 64 KB of external RAM, starting after internal RAM (ATmega128!),
can.c: In function '__vector_1': can.c:164: warning: implicit declaration of function 'parser' Compiling: parser.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes