Gefunden für atmega8 timer ctc and - Zum Elektronik Forum |
1 - AVR-Assemblercode von Atmega88 auf -8 umstricken -- AVR-Assemblercode von Atmega88 auf -8 umstricken | |||
| |||
2 - Rechteckgenerator mit ATmega8 \"verschluckt sich\" -- Rechteckgenerator mit ATmega8 \verschluckt sich\ | |||
Hallo AVR-Experten!
Heute habe ich auch mal ein kleines Problem. Es ist zwar überhaupt nicht kritisch, aber ich hätte es gern prinzipiell geklärt und möchte auch etwas dabei lernen. Kleine Vorgeschichte: Ich habe auf meiner Arbeitsstelle ein kleines Prüfgerät für die Antriebselektronik von Turbomolekularpumpen gebastelt. (Das sind, vereinfacht gesagt, mit 1500 Umdrehungen pro Sekunde laufende Ventilatoren... ![]() Zunächst hatte ich eine Schaltung mit einem 556 gebastelt, die auch prinzipiell funktionierte. Nur war es leider so, daß die Frequenz nach oben hin extrem schnell zunahm. Dabei hätte ich mir schon eine gleichmäßigere Zunahme gewünscht, um im besonders interessierenden Bereich (Signalisierung von Drehzahl > 50 % bzw. Abschaltung der Pumpe bei zu hoher Drehzahl) feinfühliger einstellen zu können. Da hatte ich die Idee, einen (für dies... | |||
3 - Akku Dimensionierung für zyklischen Betrieb -- Akku Dimensionierung für zyklischen Betrieb | |||
Offtopic : Zitat : BlackLight hat am 12 Mai 2014 15:26 geschrieben : Zitat : Deneriel hat am 12 Mai 2014 14:31 geschrieben : wobei ich das tatsächlich auch mit einem kleinen µC machen würde, der 99% der Zeit schläft und alle 10 Sekunden mal kurz aufwacht um eine Messung zu machen.Damit spiele ich gerade auch rum. ![]() LP2950 + ATMega8 mit Uhrenquarz (32 kHz) im "Power Save" Mode braucht weniger als 0,1 mA. Quarz benutze ich nur, wenn es auf g... | |||
4 - Finde den Fehler im Programm nicht (avr-gcc) -- Finde den Fehler im Programm nicht (avr-gcc) | |||
Hallo,
ich hab mal wieder ein Problem. Und zwar hab ich nach längerer Zeit wieder mit dem Microcontroller programmieren angefangen. Aber das erstellte Programm will nicht laufen. Compilieren geht. Aber selbst wenn ich Interrupts nicht einschalte, scheint das Programm nicht durch die Hauptschleife zu laufen. Momentan bin ich ziemlich ratlos und würde euch bitten mal kurz drüberzusehen. Plattform ist ein Atmega8 der auf internen Takt 1 Mhz laufen soll. Viele Dank, Peter PS: eingefügte Codeschnipsel in der Main-Schleife werden scheibar willkürlich ausgeführt. Es ist nicht ersichtlich an wlecher Stelle der Controller abstürzt. Code : | |||
5 - 10 Relais per Funk ansteuern -- 10 Relais per Funk ansteuern | |||
Bei einem Meter und freier Sicht auf den Empfänger würde ich ja IR nehmen, das ist billig, unkritisch und es gibt unendlich viele fertige Fernbedienungen.
Die haben zwar alle keine genau Null Milliampere Standbyverbrauch, aber knapp darüber ![]() Voraussetzung ist, dass du weißt, wie man einen µC programmiert. Nimmt man den RC5-Kode als Grundlage, bei dem ca. alle 64 Millisekunden ein Datagramm geschickt wird, kann man in der Tat sowas wie eine Dauerdruck-Auswertung realisieren. Dazu muss man bloß einen Timer mit einer geringfügig höheren Periodendauer laufen lassen - sobald keine Datagramme mehr kommen, schaltet man den angeschalteten IO-Pin wieder ab. µC: ATmega8 oder ATtiny2313 Empfänger: TSOP1136 Dekoderprogramm: kann ich dir schicken Fernbedienung: RC5-fähig Edit: @Peter „Besser wäre hier Halbleiter zu verwenden!“ Hängt allerdings auch von den Signalen ab. Wenn es z.B. Audiosignale sind, kann es einfacher sein, Signalrelais zu nehmen. Je nach Bedingungen (Frequenz, keine galv. Trennung, max. Amplitude und Offset, etc.) könnte man auch Analogmultiplexer nehmen... [ Diese Nachricht w... | |||
6 - GSM-Fernschalter Funktionen verändern über µC? -- GSM-Fernschalter Funktionen verändern über µC? | |||
Hallo,
Da ich noch in den Kinderschuhen stecke was µC Betrifft, bräuchte ich eure Hilfe. Habe ein Problem, ich würde gerne ein GSM Fernschaltmodul von Elektor aufbauen hier http://www.elektor.de/jahrgang/2008/november/gsm-f... ist das Projekt einmal beschrieben. Nun ist es dort so das beim ansteuern das ersten Relais vom µC ATmega8 nur eine Sekunde geschaltet wird. Da ich am ersten Ausgang aber gerne die Standheizung für ca. 1800 Sekunden (30 Minuten) ansteuern würde, wollte ich fragen ob es möglich ist die Firmware die es bei Elektor zum Download gibt dahin gehend um zuschreiben? Meine Überlegung: Der Standard ist folgender: Exit1 Lässt sich immer nur für eine Sekunde ansteuern. Exit2 ist Toggelfähig und kann per Jumper umgeschaltet werden auf eine Sekunde ansteuern Exit3 ist über einen Timer der am µC angeschlossen ist Steuerbar dort lässt sich zwischen 1, 5, 10, 15, 20, 30, 45, 60, 90 und 120 Minuten schalten. So hätte ich es gerne: Kann man den AVR so umschreiben / Was muss ich umschreiben das: EXIT1 den Timer bekommt (halt darüber die Dauer... | |||
7 - Timerüberlauf in CTC Modus (OCR1A Problem) -- Timerüberlauf in CTC Modus (OCR1A Problem) | |||
Hallo,
hab mal angefangen beim atmega interrupts in kombination mit timern zu benutzen. Leider schert sich das Programm in keinster Weise um den Wert in OCR1A. Von der Ausgabe her scheint der Timer immer komplett vollzulaufen und dann erst den Interrupt auszulösen. Verwendet wird ein atmega8. Code : #include <avr/io.h> #import <avr/delay.h> #include <avr/interrupt.h> //Variablen definieren int main (void) { DDRD = (1 << DDD6); // Pin ... | |||
8 - Ausführungszeit von Befehlen in BASCOM -- Ausführungszeit von Befehlen in BASCOM | |||
Hallo zusammen. Um mein Problem zu beschreiben, zunächst was ich hier habe.
Mein ATMEGA8 steuert eine Reihe von Schieberegistern (CMOS 4094) an. Er ist mit 7,3728MHz getaktet. Das Schieben der Bits nehme ich von Hand vor, d.h. nicht mit SPI o.ä. sondern durch selbstständiges schalten der Ports. Das ganze ist als Ring aufgebaut, d.h. wenn ich Daten in die Schieberegister hineinschiebe, lese ich gleichzeitig an deren Ende die Daten wieder in den AVR ein. Alles funktioniert auch wie es soll und bei einem CMOS komme ich auf ~11000 Zyklen pro Sekunde. Komisch ist nun folgendes. Habe ich 2 CMOS dran, sind es nur noch ~ 5300 Zyklen und bei 3 noch ~4000 Zyklen. Das ist eindeutig zu wenig und ich wollte nun gerne bestimmen wo mir hier Zeit verloren geht. Ich programmiere in BASCOM und meine Frage ist: "Wie kann ich die Ausführungszeiten von Befehlen, bzw. Programmzeilen, messen. ODER: Bei was in BASCOM geht viel zeit verloren (Arrays, Funktionen etc.)?" Die angebotenen Timer (z.B. SysSec) beziehen sich nur auf Sekunden - was etwas zu langsam ist. hier noch der entsprechende Codeausschnitt: | |||
9 - Schreiben geht, lesen nicht - I2C und AVR -- Schreiben geht, lesen nicht - I2C und AVR | |||
Hallo Leute!
Ich habe meine AVR300.asm verloren, und zwar die bereits umgeschribene und komme nun nicht mehr raus, wie ich das vor Monaten geschafft habe einen SDA2516-2 auszulesen. Beschreiben funktioniert ohne ein weiteren Problem, nur das lesen nicht und brauche mal schnell eure Hilfe und bedanke mich jetzt schon. Im Anhang mein Code: Code : .include "m48def.inc" ; change if an other device is used ;**** Global I2C Constants **** ... | |||
10 - Mikrowellecontroller programieren -- Mikrowellecontroller programieren | |||
Offtopic :Fiech, mache bitte Gebrauch von den Code-Tags. So (=ohne) werden die Postings sehr schnell unübersichtlich im Fritz (äh Fred ![]() Edit: Erst die vorherigen Beiträge lesen, dann meckern ![]() Also im einfachen Windows-Style: 1. Möglichkeit: Code einfügen, markieren und den Button "Code" über dem Editor-Fenster drücken. 2. Möglichkeit: Code-Button drücken, Text einfügen, "Code*" Button nochmal drücken. 3. Möglichkeit: Den bbcode "(code)hier Code einfügen(/code)" mit eckigen Klammern selbst eingeben. Nochmal Edit, diesmal Themenbezogen: TCCR0 und TIFR sind so genannte Ports, in diesem Fall Timer/Counter Control Register 0 (TCCR0) bzw. Timer/Counter Interrupt Flag Register (TIFR) Näheres dazu im Datenblatt der AVR ATmega (ATmega8 oder ATmega16 z.B.), kostenlos bei ... | |||
11 - PWM für 4pol-Lüfter -- PWM für 4pol-Lüfter | |||
Hallo Zusammen,
ich stehe nach langer elektronischer Ruhepause mal wieder vor einem Problem. Ich möchte mir für meinen PC eine Lüftersteuerung bauen, soweit noch leicht, gibt ja genug Anleitungen. Allerdings habe ich mir Lüfter mit 4poligem Anschluss zugelegt, und zwar solche mit zusätzlichem Pin für die Steuerung der Geschwindigkeit. Diese erwarten an dem 4. Pin ein PWM-Signal von 25kHz. Insgesamt regeln möchte ich auf diese Art 5-6 Lüfter, wenn möglich getrennt, also mittels Software-PWM. Als µC hatte ich einen ATmega8 ins Auge gefasst, da es der kleinste mit genug Pins und I2C ist. Genug geschrieben, hier mein Problem: Der ATmega8 lässt sich maximal mit 16MHz takten. Bei 25kHz Zielfrequenz komme ich auf 640 Takte pro Durchgang. Für einen Timer-Interrupt gehen allein für das Standard-Zeugs (RJMP, RETI, SREG sichern/rückschreiben) 12 Takte drauf. Bei einer (Un-)Genauigkeit von 50 Schritten bleibt mir also keine Zeit für das eigentliche Port-setzen. Ich hoffe, ich übersehe hier etwas wichtiges.. ![]() Ausweichmöglichkeiten: Einen "speziellen" Chip, der mehrere PWM-Kanäle zur Verfügung stellt, die 5-6 Lüfter getrennt regeln können. Ich hatte a... | |||
12 - AVR zu langsam??? -- AVR zu langsam??? | |||
Hallo zusammen. Eigentlich geht es darum das die Kommunikation zwischen meinem AVR und dem PC nicht funktioniert. Es kommt immer nur 192dez. bzw. &hC0 an. Gefolgt von 1-3 mal &h00.
Weil mich das schon den ganzen Tag herausfordert, und ich nicht dahinter komme wo der Fehler liegt, hab ich mal einen kleinen Test gemacht und bin auf folgendes Problem gestossen: Ich habe am ATMega8 einen Quarz von 7,372800 Mhz. Am Port D.6 & D.7 ist jeweils eine LED. folgendes BASCOM Programm läuft: Code : $regfile = "m8def.dat" | |||
13 - Einsteigerfragen zu AVR Microcontroller und Allgemein -- Einsteigerfragen zu AVR Microcontroller und Allgemein | |||
Bei den Datenblatt des Atmega8 stehen dort sogar Beispielcodes. z.B.: Wie man einen Timer mit den Registern einstellt oder eine Uart-Schnittstelle ... | |||
14 - welchen Microcontroller und wie damit umgehen? -- welchen Microcontroller und wie damit umgehen? | |||
Zitat : Nukeman hat am 20 Jun 2008 00:45 geschrieben : Der "richtige" Prozessor ist eine Glaubens- und Anforderungsfrage.... Für den Anfang mal einen erlernen ... ![]() Pic oder Avr ist ungefähr das selbe wie VW oder Opel. Jeder schwört auf seine "Marke",kann aber nicht zweifelsfrei begründen warum... Ich stand vor nicht allzulanger Zeit auch mal vor dem Problem,mit was ich den nun mit meinem Bescheidenen Horizont anfange. Hab mich dann letztendlich für das Pollinboard und den Atmega8 entschieden.Der hat für die ersten Spielerein genügend I/O Ports,brauchbare Timer und nen A/D Wandler,den sogar ich schon begriffen habe.Und der interne Oszillator läßt sich einfach auf ein paar verschiedene Taktraten umstellen. Was will man als Anfänger mehr... Und auch wenn mich DonComi und Jornbyte wieder steinigen,ich "arbeite" nach wie vor mit "Bascom" | |||
15 - Hilfe bei DCF Testprogramm -- Hilfe bei DCF Testprogramm | |||
Hallo!
Ich hab da ein DCF Testprogramm geschrieben für einen ATmega8. Die Funktion des Programms ist als Kommentar im Quellcode ersichtlich, ebenso Beschaltung, usw. Das Problem ist, ich messe mit einem Timer, wie lange die DCF Perioden dauern und verschicke dazu die Timer Zählerstände über die RS232. Das schicken funktioniert soweit nur die Werte sind totaler Käse die können nicht passen, liegt wahrscheinlich an der Timereinstellung. Ich komm nicht weiter, schauts einmal drüber, vielleicht fällt euch ja was auf. Danke! mfg ... | |||
16 - PWM beim ATMega 8 -- PWM beim ATMega 8 | |||
Hallo Leute,
ich möchte einen Servo mit einem Atmega8 ansteuern. Damit das Ausgangssignal so genau wie möglich ist, wollte ich die Compare Unit vom 16Bit Timer nutzen. Wenn ich das Datenblatt richtig verstanden habe, kann die Unit direkt auf ein Ausgangspin zugreifen und ich wäre nicht mehr Softwareabhängig. (Prozessor läuft mit 1MHz) Es sollte so ablaufen: Ich schreibe in OCR1AH / OCR1AL einen Wert. Lösche den Timer (TCNT1H / TCNT1L). Und setze den Ausgang (B1) auf „1“. Wenn der Vergleicher abgelaufen ist, soll er den Ausgang wieder auf „0“ setzen (nach 1,5ms). Nach etwa 20ms (dieser Teil des Programms ist noch nicht fertig) soll wieder alles von vorn beginnen. Im AVR-Studio funktionert es, aber am Prozessorausgang liegt immer „0“ an! ![]() Besser gesagt: ich habe es so geschrieben, dass es im AVR-Studio läuft! ![]() Das die Lösung im Datenblatt liegen könnte, weiß ich! Es sind nur eine Menge Seiten und alle auf Englisch. Falls mir also jemand direkt eine Lösung vorschlagen kann, wäre das sehr hilfreich. Mein Testprogramm: .NOLIST .INCLUDE "C:\m008def.inc" .LIST .def Temp1 = R16 .def Temp2 = R17 .def Data = ... | |||
17 - Drehgeber mit Bascom auslesen und PWM regeln -- Drehgeber mit Bascom auslesen und PWM regeln | |||
Hallöchen.
ich bin jetzt in meinem roland walter buch so weit, daß ich bei der PWM bin. jetzt würde ich gerne, statt mit avr Term (ein Terminal programm) das ganze mit nem Drehgeber machen. Es geht darum mit dem Terminal programm die Helligkeit der PWM-Led zu regeln. da ich aber kein Nullmodemkabel habe würde ich das Gerne mit nem Drehregler machen. Ich habe auch schon bei der Bascom hilfe Hilfe gefunden, aber ich schaff es glaube ich nicht: - Ihn auszulesen - Den ausgelesenen wert zu verarbeiten.(also den Timerwert um 1 zu vergrößern bei rechtsdrehung, oder den Timerwert um 1 zu verkleinern bei linksdrehung Ist jemand so nett und würde mir unter die Arme greifen? Der Drecksack Hier mal das original Listing, daß ich auf Drehgeber abändern möchte '0604.BAS: Einfacher D/A-Wandler, LED-Helligkeitssteuerung 'Hardware: Nullmodemkabel zum PC, Pin PD5 mit LED verbinden '---------------------------------------------------------- $regfile = "m8def.dat" 'ATmega8-Deklarationen $crystal = 3686400 'Quarz: 3,6864 MHz $baud = 9600 '9600 Baud | |||
18 - AVR Entwicklungsumgebung -- AVR Entwicklungsumgebung | |||
Die ISP Variante ist uns tatsächlich lieber als die Controller extern zu programmieren, daher schauen wir uns das AVRISP MKII von Atmel mal genauer an.
Noch eine Frage zu den Controllern. So wie es aussieht haben die ATtiny keine USART eingebaut, richtig? Um den zu haben muss es zwingend ein ATMega sein, doch welcher? Von den Anforderungen her reicht der kleinste, wird wohl der ATMega8 sein. - UART - 2x PWM - diverse Digital IO - 1 freier HW Timer - Watchdog Reset Welchen ATMega8 würdet ihr empfehlen? Ideal wäre, wenn der kleinere (vorzugsweise eingesetzt) pinkompatibel ist zu etwas grösseren Exemplaren mit mehr Speicher. Gruss, Martin ... | |||
19 - welcher Atmel für Torzähler? -- welcher Atmel für Torzähler? | |||
frohe weihnachten,
also ich empfehle den atmega8. der ist zwar noch ein kleiner aber hat so ziemlich alles verbaut. wenn du einsteigen willst ist das schon mal was schönes da der A/D wandler timer/counter pwm (kannste fürs piepen benutzen) du brauchst 15 i/o ports. du kannst jeden i/o port als entweder eingang oder ausgang benutzen. bzw wenn dein programm und die schaltung drum herum es erfordert auch zwischendurch umschalten via programm. atmega8 hat ich glaub 22 IO ports. oder du bestellst dir 2 mal den z.b. atmega8535. der ist wie mega8 nur mehr io ports und mehr timer und mehr speicher und mehr flash usw.. auf atmel.com ist irgendwo auch ne tabelle. da stehen alle µCs aufgelistet und wieviele IOports wieviel speicher wieviel bla und blubb. oder zieh dir mal das pdf des atmega8. da steht auch auf der 1. alle besonderheiten inkl. anzahl io ports. MfG MinceR... | |||
20 - RGB-Farbregelung mit 3 LEDs -- RGB-Farbregelung mit 3 LEDs | |||
Hallo,
ich melde mich mal wieder zurück - diesmal mit neuem Wissen ![]() Habe mich jetzt etwas mit µC von AVR (ATMega8) beschäftigt. Das Problem was ich jetzt aber immer noch habe ist die Ansteuerung der 3 LEDs. Die Regelung mit 2 LEDs über einen Timer-Interrupt funktioniert schon ganz gut, leider laufe ich noch immer auf Eis, wenn ich die dritte irgendwie mit einbinden will. Ich habe das ganze in Bascom programmiert: Code : $regfile = "m8def.dat" ... | |||
21 - Anschaltautomatik? -- Anschaltautomatik? | |||
hmmmm,
wie wäre es wenn du dafür ein µC nimmst? ![]() ![]() ![]() Sowas wie einen ATMega8 oder 16 oder so. Quasi deine Chinchleitung überwachst ob da signale drauf sind, und dann über ein Relais deinen Verstärker einschaltest. Wenn der Pegel dann am Eingang abfällt, startest du einen Timer der dann nach 1 min. den Verstärker wieder ausschaltet. Da muss man sich mal richtig schlau machen, zusammenbauen kann ich dir das auch nicht, soweit bin ich auch noch nicht. ![]() Lieben Gruss Division [ Diese Nachricht wurde geändert von: division am 14 Jan 2004 23:52 ]... | |||
22 - MFV-Ton Decodierung -- MFV-Ton Decodierung | |||
Ich würde da einen ATmega8, 16 oder 128 verwenden. Die arbeiten mit 16 MHz (16 MIPS) und dürften hinsichtlich des Taktes reichen. Der Timer und Interrupt sowie der A/D-Wandler sind dafür völlig ungeeignet. Mache aus dem Sinussignal ein Rechtecksignal, lasse einen Counter (long) mit Laufen und vergleiche den Zeitintervall (generiert durch den Counter) der Signale (Low >High> Low Flanke). Das führt auf alle Fälle schneller zum Ziel. Bei diesen Routinen ist der Assembler klar im vorteil.
Das geht wenn nur die MFV Töne am ATmega anliegen. Sonst wird's, wie Perl geschrieben hatt, keine Kleinigkeit. PIC's (Perl wird es entschuldigen) und C-Controll haben da keine Chance. ... |
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 13 Beiträge im Durchschnitt pro Tag heute wurden bisher 4 Beiträge verfasst 4 Besucher in den letzten 60 Sekunden alle 15.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |