-
Thread
Fernbedien RC5 Empfänger
Hi! Erst einmal vielen Dank. Ich hätte gerne beides für den AT90S2313 mit einem 2,4576 Mhz Oszillator! Ich finde es wirklich super von euch, dass ihr euch extra für mich diese Mühe macht. Felix
MAIN.C die Zuweisung für UBRRH und UCSRC auskommentiert werden, läuft das ganze auch auf den älteren AT90S. Ich habs mit einem AT90S4433 und einem AT90S2313 getestet. @max.p Also im Datenblatt des ATMEGA16 bedeutet TCCR0 = 1<<CS02 einen Teiler durch 256, ein Teiler 128 ist überhauptnicht vorhanden.
-
Thread
uC-Lösung gesucht für exakte Pulsausgabe
Schau dir mal die AT90PWM Serie von Atmel an, dort kannst du über die Powerstages flickerfreien PWM erzeugen, ohne Rechenleistung der CPU zu verlieren, die PWM´s der Power Stage laufen bis zu 64 MHZ. Quarz ist keiner notwendig
wie folgt aus 5 Volt Spannungsregler µC z.B. AT90PWM3 232 Konverter für die serielle Schnittstelle ein paar C´s und R´s Ausgangstufe zusammen keine 10 Euro und fast kein Platz Benutze den AT90PWM3 für ein Schaltreglerdesign und programmiere
-
Thread
was nimmt man für eine PWM jetzt als µC ?
dem ich programmiert hatte, war ein AVR Butterfly und davor mit AT90S2313. Ist der AT90S2313 noch gängig oder nimmt man was anderes heutzutage? Zur Programmieruung hätte ich das Dragon Board. Und noch gleich eine Frage zur Versorgung des µC: Es stehen +/-160V DC
Beitrag #3983614: > Das letzte mit dem ich programmiert hatte, > war ein AVR Butterfly und davor mit AT90S2313. Ist der AT90S2313 noch > gängig oder nimmt man was anderes heutzutage? Ist doch vollkommen egal, was "gängig" ist. Zumal dir ohnehin jeder den du fragst etwas anderes antworten wird. Nimm
-
Thread
attiny USI Slave Implementierung
__) | defined(__attiny26__) #define PORT_USI_SCL PORTB2 #endif #if defined(__at90Tiny2313__) | defined(__attiny2313__) #define PORT_USI_SCL PORTB7 #endif Gruß Axel
if (PWM >= PWM2_Wert) { PORTD &= ~(1 << PIN2); } else { PORTD |= (1 << PIN2); } if (PWM >= PWM3_Wert) { PORTD &= ~(1 << PIN3); } else { PORTD |= (1 << PIN3
-
Thread
Selbstbau eines guten 30m-Empfängers
ist schmalbandig. Einen Bandpass am Eingang. Direktmischer mit Seitenbandunterdrückung. Ich würde 2 Mischer (NE602) nehmen, einen Quarzoszillator (temperaturstabilisiert), dieses Signal würde ich dann mit eine LC noch um 90° drehen. Die beiden Audiosignale würde ich dann mit einem Phasenschieber (2x
35 MHz am Mixer-Eingang > - Mischer auf 40 MHz-ZF kriegt ein QM-Signal, per Quarz und diskreter > 90°-Phase > - ZF und Demodulation im Basisband per SDR > > Wäre billig und flexibel. Die Frage ist, ob die Propeller-PWM die > erforderliche PWM-Genauigkeit zur Steuerung des Synthezisers liefert.
-
Thread
Quadratur Decoder mit DSP
zu können. kleiner uC mit eigener clock per spi vom host-system angesteuert. infos siehe 1.+2. bitte bei interesse deinerseits an tom at tktronic punkt de
es zunehmen. 2. Ja der Phasenversatz zwischen beiden Spuren muss verstellbar sein. Die B Spur soll die Richtung weisen. Also entweder 90 Grad vor oder nachlaufen. Der DDS von AD bietet mir eine Aufloesung von 1uHz
-
Thread
uC für 0,20€ CH552 / CH554 von WCH Billig Micro mit USB Funktion, Chip vorstellung
= bPWM2_POLAR | bPWM2_OUT_EN; PWM_DATA2 = 0x40; [/c] > - welchen Teiler verwendest du bei welcher fSys? Ich habe Fsys=6 MHz, Das PWM Teiler Register fasse ich (bisher) nicht an. Allerdings wird
kann. - PWM_CK_SE := 0 -> PWM_CK = FSYS/256 - PWM_CK_SE := 1 -> PWM_CK = FSYS/1 - PWM_CK_SE := 2 -> PWM_CK = FSYS/2 - .... Bei 12MHz FSYS und PWM_CK_SE := 1 ergibt sich somit eine Grundfrequenz von 46.9kHz
-
Thread
Atmel AVR in der Industrie
zum Thema: Ich meine mich zu erinnern, in einem Bosch-Akkuschrauber (ein blauer) mal einen AT90PWM gesehen zu haben. Schönen Gruß
wie beim AT90(-S) um einen AVR handelt. Würde dann mehr zum Thema "Atmel Microcontroller in der Industrie" passen.
-
Thread
L6208 - Mikroschrittbetrieb
127,139,152,164,176,187,198,208,217,225,233,239,244,249,252,253,254,253,252,249,244,239,233,225,217,208,198,187,176,164,152,139,127,115,102,90,78,67,56,46,37,29,21,15,10,5,2,1,0,1,2,5,10,15,21,29,37,46,56,67,78,90,102,115}; const int duty2[64]={254,253,252,249,244,239,233,225,217,208,198,187,176,164,152,139,127,115,102,90,78,67,56,46,37,29,21,15,10,5,2,1,0,1,2,5,10,15,21,29,37,46,56,67,78,90,102,115,127,139,152,164,176,187,198,208,217,225,233,239,244,249,252,253
(duty_cycle < 63) { duty_cycle++; } else { duty_cycle = 0; } } void pwm_init() // 8-Bit Timer { // Wellenform TCCR2A |= (1<<WGM20)|(1<<WGM21); //Phasenrichtig //OC2 Verhalten TCCR2A |= (1<<COM2A1)|(1<<COM2B1); //Set on match
-
Thread
DSP von Texas Instruments oder Infineon fuer den privaten Gebrauch?
processors cores: TMS320C28x, TMS320C54x, TMS320C55x, TMS320C64x+, TMS320C674x and TMS320C66x. V2: Support for the following processor cores: TMS320C28x, TMS320C54x, TMS320C55x, TMS320C64x+, TMS320C674x, TMS320C66x, ARM 9, ARM Cortex R4, ARM Cortex A8, ARM Cortex A9 and Cortex M3 (requires CCSv4.2.2
Die funktionieren dann aber nur 90 Tage, oder? habe heute telefonisch wen erreicht, der meinte, dass das ccs beim ezdsp nicht limited waere und ich doch das ccs5 90 Tage lang testen soll.
-
Thread
Signalnachbildung über PWM
Idee: Ein Microcontroller erzeugt mir das nachzubildende Signal, dieses soll dann per UART an einen AT90PWM3B Controller übertragen werden, welcher mir dann das zugehörige PWM Muster generiert. --- --- --- Bietet es sich an, das Muster mittels Software PWM zu generieren, oder gibt es eine Möglichkeit die Hardware PWM zu verwenden? --- --- --- Zwei Controller sind deshalb notwendig, da der AT90PWM3B nicht über genügend A/D Wandler bzw. IO Ports verfügt. Ich hoffe, ich habe das Problem hinreichend genau
-
Thread
6kW Buck Converter, Mikrocontroller gesteuert
da nur bei mehrphasigen Wandlern > und mehreren Stufen einsetzen. Wie sieht es dezidiert mit dem AT91SAM3X8E aus? Der sollte alles haben was ich benötige oder? DCDC schrieb im Beitrag #5325202: > schnelle Komparatoren, die direkt die PWM abschalten können Ok das währe nett. Da du STM32 erwähnt
sind. Da arbeite ich am Code. PWM geht über Timer, wobei T und t_on in Anhängigkeit von der Eingangs- und Ausgangsspannung (2xADC) so berechnet werden, dass die Drossel näherungsweise im Transition Mode (also zwischen Kontinuierlichem
-
Thread
Input Capture am AT90PWM3B funktioniert nicht
wie ich am Overflow-Interrupt sehe), die Flanken kommen auch am ICP1B-Eingang an, da dieser mit INT2 verbunden ist, und der INT2-Vektor wird angesprungen. Mein Testcode soweit: [c] #if defined(__AVR_AT90PWM3__) # undef __AVR_AT90PWM3__ #endif #define __AVR_AT90PWM3B__ 1 #include <avr
aufgerufen. Hat keiner eine Idee warum das mit dem ICP1B nicht klappt? Vielleicht hat jemand einen AT90PWM3B und könnte das ausprobieren?
-
Thread
Erzeugung eines (ca .+15V/-15V) Drehstromsignals
obersten 8Bits des Phasen Akkumulators geht man auf eine Sinustabelle. Da bekommt man die Zahl für das PWM-register. Dann addierst man 120° bzw 240° zum Phasenakkumulator und liest auch dafür den Sinuswert aus und schreibt ihn in die 2. und 3. PWM. Damit bekommt man 3 phasenverschobene PWM Signale. Um die
gebraucht. Tesla hat die ersten Drehstromgeneratoren nicht mit 120 Grad Phasenwinkel gebaut sondern mit 90 Grad. Als dann auf 120 Grad umgestellt wurde nahm man 2 Trafos und machte aus den 90 Grad der Generatoren die 120 Grad des Netzes.
-
Thread
Heißlüfter mit PVM ansteuern
1. PWM - PulsWeitenmodulation, nicht PulsVeitenmodulation. 2. Wohl eher Phasenanschnitt als asynchrone PWM.
Ansteuerspannung: 1-5 VDC / 3-12 VDC / 6-24 VDC oder TTL Rechteckimpulse 5V 1-10KHz Impulsbreite 10-90% PWM. Nun habe ich da noch Fragen zu: 1) Kann man das mit dem AT91SAM7X512 zu realisieren? 2) Kann mir jemand sagen was der AT91SAM7X512 für Eingangsspannungen oder Ströme benötigt. Ich hoffe
-
Thread
IR Abstandsmelder
"Welchen Controller willst du benutzen? Den antiquierten AT90S8515?" Ja leider :-( Ist der etwa ungeeignet???
Gleichheit des Zählerstandes und des Vergleichsregisters ("compare") ein Interrupt ausgelöst. Beim 90S8515 ist es sogar möglich, nicht nur einen Interrupt auszulösen, sondern auch einen Ausgangspin zu (umzu-)schalten. zu 2: Neben den drei PWM-Modi, die du angeführt hast, gibt es auch noch den CTC
-
Thread
Compilerfehler Programm springt aus der Initialisierung zum Start zurück
Hallo, ich arbeite an einer USB Kommunikation für einen AT90USB162 mit dem LUFA USB Stack. Nachdem ich den Datenempfang überarbeitet habe, ist das Programm nach der USB Initialisierung immer wieder zum Start zurück gesprungen, anstatt zur naechsten Zeile nach
wie deine defines sicherstellen, daß da keine > Konstanten im Ram liegen, und den Codeteil mit der PWM-Tabelle im Flash? [c] //selbsterstellter PWM Tabelle uint8_t pwm_time[256] PROGMEM = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3
-
Thread
AVR digital/analoge pins
Beim arduino sind ja analoge und digitale pins deutlich gekennzeichnet. Wie ist das bei meinem at90can mikrocontroller? hier habe ich "nur" i/o-ports. welche sind digital/welche analog? oder muss ich sie besonders ansteuern? hoffe, ihr könnt mir helfen
waren das die zwei analogen und zwei digitalen pins. wie setz ich das also softwaretechnisch beim at90can um?
-
Thread
PWM-Beschaltung mehrerer LEDs
Helligkeitsstufen geschaltet werden können(AUS, MITTELHELL, HELL). Die nötigen Anweisungen erledigt ein AT90can128. Dieser hat leider nicht genug PWM-Ausgänge für den Anschluss von je einem LED-Treiber TLE4241 für jede LED. Bevor ich einen zweiten µC zur Aufbereitung der Signale verwende (z.B. aus der AT90PWM-Reihe) wüsste ich gerne, ob jemand einen einfacheren und besseren Vorschlag hat, die 7 (praktisch wohl 8 - 12) PWM-Signale zu erzeugen. Schönen Dank für viele Antworten, Sören
-
Thread
Mosfet IRFP4568PbF wird extrem heiß - warum?
Ricco S. schrieb im Beitrag #6846025: > diesen für PWM > über einen GPIO Pin von Rasp verwenden kann? Ok, PWM stand am Anfang nicht dabei. Bist du dir sicher, dass PWM mit mehreren Hz benötigt wird? Die Peltier-Elemente haben ja eine gewisse thermische
am MOSFET, sondern an der Last verbraten werden. Nur der Strom ist hier wichtig. 2. Peltierelemente mögen keine PWM. 3. Eine Pegelwandlung auf 12V bekommt man auch gut ohne Optokoppler hin. Ich frage mich, warum im Hobbybereich immer wieder diese Optokoppler empfohlen werden.
-
Thread
Programmable Waveform Generator
. Eine Zwischevariante möglich: mit AD9833 Taktsignal von Schallfrequenz x 256 gewinnen, danach 2x 4bit-Counter und SRAM... Jetzt habe ich gleich gesehen: AT 90PWM3B SOIC. Wäre das vielleicht eine Lösung? Sogar DAC 10 bit vorhanden - für AT 8 bit wohl eine Ausnahme. Es sieht zwar so aus, daß
benutzen als Referenz für PLL RC-Generator und können PLL nicht von Quarz stützen. Eine Ausnahme soll AT90PWM3B sein, aber solange ich mit allem fertig bin, wird es sicher nicht mehr zu finden (das bringt unwohles Gefühl, auf Details zu setzen, deren Produktion ausläuft)... Und Stimmgenauigkeit kann nur
-
Thread
komplizierte Berechnung
Hallo Forum, unzwar gibt es folgendes Problem: Ich baue gerade einen Temperaturmesser mit dem AT90PWM316 und die Temperatur soll anschließend auf 4 7-Segment-Anzeigen dargestellt werden. Die Anzeigen(im Multiplexbetrieb) sind direkt mit dem Controller verbunden. Die Temperatur wird über den MCP9700 gemessen, dass heißt der 90PWM316 bekommt z.B. den Wert "200" vom Sensor. Das Problem hierbei ist, dass ich nicht weiß wie ich den Wert vom Sensor in einen binären Wert umwandeln soll, um die dezimale Temperatur an den 7 Segment-Anzeigen
-
Thread
UV-Laserdrucker
Ich weis nicht ob man das anpassen kann,sieh es Dir mal an. Nun gibt es noch eine Differenz. PB2 (PIN 14)ist der PWM-Ausgang, da kommt aber nichts raus.An Pin 15 liegt ein Rechtecksignal,das dann umschaltet. In der regler.h steht #define PWM_PORT PORTB #define PWM_BIT 3 etwas unlogisch.
Ggf am leterplaten Rand alle 10 mm einen. Ggf 2 mal 45 grad anstelle von einmal 90 Gruss und Daumen hoch. Tolle Arbeit.
-
Thread
welchen AVR?
Ich hab hier mal ein kleines Beispielprogramm gemacht. Es gibt den am 2. Kanal des AD-Wandlers eines AT90S4433 gemessenen Wert über die serielle Schnittstelle an den PC aus: <hr> .include "include/4433def.inc" .def temp = r16 .def temp2 = r17 ;Stackpointer initialisieren
@Andreas Schwarz >Dafür sind der AT90S2333 und der AT90S4433 sicher am besten geeignet (mit 6 AD-Wandlern). Soviel ich weiss nur 1 AD Wandler der über einen Multiplexer an 6 Portpins angeschlossen ist. mfg Klaus Mehrle
-
Thread
AVRDUDE 6.0 freigegeben
level. * New devices supported: - ATmega48P (patch #7629 add support for atmega48p) - AT90PWM316 (bug #21797: AT90PWM316: New part description) - ATxmega16D4, ATxmega32D4, ATxmega64D4, ATxmega128D4 - ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2, ATmega1284RFR2
#7693: Fix config file atmel URLs (+ URLs in avrdude.texi and avrpart.h) - bug #21663: AT90PWM efuse incorrect, bug #30438: efuse bits written as 0 on at90pwmxx parts - bug #35261: avrftdi uses wrong interface in avrftdi_paged_(write|load) - patch #7437 modifications
-
Thread
Controller mit 12 PWMs
AT90PWM3 hat 10 PWMs ATMega 2560, 1280, 640, ... haben 16 PWMs
Wobei davon der AT90PWM3 die eindeutig handlichere Variante ist ...
-
Thread
RFM12 - Funkmodul
wenn sie parallel dicht an der Platine liegt. Die Reichweite beträgt je nach Ausrichtung nur noch 2-10m (frei mit 90° auf der Platine stehend: 20-100m !)
=0; OCR1A += (uint16_t)T_PWM; if (pwm_setting[0] > pwm_cnt) tmp |= (1<<0); if (pwm_setting[1] > pwm_cnt) tmp |= (1<<1); if (pwm_setting[2] > pwm_cnt) tmp |= (1<<2); if (pwm_setting[3] > pwm_cnt) tmp
-
Thread
LED-Streifen für Beleuchtung im Wohnzimmer
nette Ausgangsbasis. Ich verwende gern 256 Helligkeitsstufen mit dahinterliegender 16-Bit-Hardware-PWM und bin mittlerweile auf ATtiny841 (4 16-Bit-Kanäle) und ATtiny10 (2 16-Bit-Kanäle) gekommen. > Ich sorge mich allerdings noch etwas um das Spektrum (siehe Link aus > meinem Post weiter oben).
> verschiedenen Streifen, wenn kalt und warm gleichzeitig leuchten? Man braucht natürlich fünf PWM-Kanäle. Bei Amazon: [code] 28.90€ QUMOX 10m (5m x2) 1000CM RGB 5050 600 SMD LED 60LEDs/Meter Strip Leiste Streifen + 44 Key Fernbedienung 12.99€ J&G 5M 3528 SET Strip LED Leiste Lichtband
-
Thread
Phasenverschobene PWM
Kann der AT90PWM3B alles was Du benötigst? Die nächstbeste Alternative wäre ein PIC für "Motor Control", gibts z.B. als PIC18 oder als dsPIC33.
Bitte korrigiert mich wenn ich falsch liege, aber kann der AT90PWM "nur" Totzeit, keinen Versatz? Ich möchte mit 15-20kHz pulsen und 120° also max. 22µs versetzt die Signale rausgeben. Wenn der es nicht kann, dann mach ich es halt auf die herkömmliche Methode
-
Thread
Inventer Lüfter Ansteuerung
ich mir zu Analog->PWM eine Platine basteln oder kaufen (im 3.2.1?). Vielen Dank im vorraus...
20kHz // fPWM = fclk_I/O / (N * (1 + TOP)) // fPWM = 16000000 / (1 * (1 + 799)) // fPWM = 20000 Hz ICR1 = 799; // Startwerte Timer1 OCR1A = ICR1 / 2; OCR1B = 0; // Timer1 starten TCCR1B
-
Thread
16-Bit Timer im Comparemode funktioniert nicht
bliebe mir nur noch rätselratenderweise zu vermuten, dass du dem Linker nicht die korrekte -mmuc=at90s2313 Option mit auf die Reise gegeben hast.
*Edit: Die Bilder sind leider vertauscht. PWM2 ist das Signal an den Eingängen des L298 und PWM1 das an den Ausgängen - sorry!*
-
Thread
Vor- bzw. Nachteile AVR / 8051
trotz weniger MIPS leistungfähiger und kostengünstiger wäre. :-) Meine Empfehlung für den Einstieg: AT90S8515. Dieser ist pinkompatibel zum 8051 ! Weitere Typen: AT90S4433 als Komplettlösung für kleinere Aufgaben, oder die Nachfolger ATmega8 oder ATmega16. Alle Typen gibst im DIL-Gehäuse - Schaltungen
nutzt genau wie beim AVR an einen Hersteller bindet. @Meiserl: Wenn man ein Projekt z.B. mit einem AT90S4433 beginnt und plötzlich Hunger auf mehr Speicher bekommt, dann kann man doch einfach auf den mega8 umsteigen. Hab ich zwei Tage vor der Fertigstellung meiner Facharbeit so gemacht: 90S2333 raus
-
Thread
LM3406 Prototypenaufbau
Platine: 5m Ausgangsstrom am ATMEGA PWM-Ausgang 10mA (worst case) Leitungsqerschnitt: 0,5qmm (worst case) (2*5m*10mA)/(58(Kupfer-Leitfähigkeit,Einheit?)*0,5qmm)= 3,44mV -> Vernachlässigbar. Selbst bei 40mA und 0,2qmm läge der Spannungsfall
1+2) Der AVR hat wohl für die Pins genügend Strom, allerdings kommt die Kabelkapazität noch dazu. Aber das und die Sache mit der Impedanz halte ich bei den PWM-Frequenzen eher für nebensächlich. Ob jetzt
-
Thread
432 mal 0..20mA per PWM - beste Lösung gefunden?
µC nach dem Kriterium "wenig cent pro GPIO" und mache Software-PWM per Timer. Der AT89LP51 erfüllt mit seinen 36 GPIOs für 0,64€ das o.g. Kriterium am besten. Mit 27 der 36 GPIOs des AT89LP51 kann ich 27 PWMs erzeugen, dann brauche ich 16 Stück von den AT89LP51
einen TLC5940 & Co, gibt es sogar bastlerfreudlich im DIL Gehäuse. 16x Konstantstrom 0-120mA, 12 Bit PWM, was will man mehr. >Aber mit den MOSFETs und den 16 AT89LP51-µCs komme ich auf ca. 7,7 ct. >pro RGB-Pixel, um die die PWM-Signale zu erzeugen. Du bist der richtige Pfennigfuchser! Weiviel Milllionen
-
Thread
richtige Übergabe an OCR1AH
mein uC 8-bit instruction set simulator besitz? Folgendes trifft nämlich auf meinen uC zu. •AT90CAN*/ATmega*C*, AT90USB*/ATmega*U*, AT90PWM*, and ATtiny87/167 devices will never be supported by simulator models, for these devices the 8-bit instruction set simulator will have to be used. Ich
Compiler das auch können, weiß ich nicht. > Folgendes trifft nämlich auf meinen uC zu. > > •AT90CAN*/ATmega*C*, AT90USB*/ATmega*U*, AT90PWM*, and ATtiny87/167 > devices will never be supported by simulator models, for these devices > the 8-bit instruction set simulator will have to be used.
-
Thread
Elektroautos - Wie machen die das?
zur Senkung der Schaltverluste ziemlich tief ansetzen. > Vielleicht 100-200Hz. 100-200Hz PWM, aha! >>Das ist doch blödsinn! Da wird ja die Feld Frequenz höher sein, als die PWM!<< PWM bei BLDCs sollte um die 20-22kHz betragen, 1. damit man es nicht hört 2. Schaltverluste sind bei
das das klappt. Bartek K. schrieb im Beitrag #2572804: > Der Crestfaktor ist nämlich auch bei PWM nicht 1, sondern eher etwas > zwischen 0,9-0,98. Dieser Effektivwert muss ermittelt werden und daraus > ergeben sich locker 2-10% Verlust am Fet. Du hast natürlich recht. Die PWM Frequenzen und
-
Thread
Anfängerfrage zu Variablen und Timer
und die Forumsteilnehmer. Ist erste Klasse hier! Ich hab seit ein paar Tagen ein STK500 mit einem at90s8515 und bin eifrig am experimentieren. Also, meine Fragen. Ich möchte 2 Variablen vertauschen. Gibt es da einen Befehl der wie SWAP arbeitet aber nur halt mit Variablen? Momentan behelfe ich mit
ist r17 nach dem mov-befehl leer? Dann eine generelle Frage. Ich will schlußendlich mit meinem at90s8515 ein Servos steuern können. Um das zu erreichen brauch ich ja ein PWM-Signal. Dieses Signal setze ich mit dem Timer und dem Timer-Interrupt zusammen. Momentan ist mein Testprogramm soweit, dass
-
Thread
Unverschämt: schwankende PWM-Frequenz
Hallo. Während des Betriebes von Timer 1 im PWM-Modus stellte ich eine Schwankung der PWM-Frequenz um ca. 3% fest! Ich verwende einen AT90S4433 mit 4 MHz. Der Timer 1 ist auf 8bit PWM eingestellt, mit einem Vorteiler von 256. Das ergibt eine Grundfrequenz
Wenn ich das richtig verstanden habe dauert eine PWM mindestens 2 Timerüberläufe. Du solltest also besser erst jeden 2. oder 4. Überlauf einen neuen Wert laden. Dann müßte es stabil laufen. Peter
-
Artikel
STK600
STK600-SOIC. ©2008 by Atmel Corporation Das STK600-SOIC unterstützt folgende AVR's im SOIC-Gehäuse (AT90PWM2, AT90PWM216, AT90PWM2B, AT90PWM3, AT90PWM316, AT90PWM3B). STK600-TQFP100. ©2008 by Atmel Corporation Das STK600-TQFP100 unterstützt folgende AVR's und AVR32's im TQFP100-Gehäuse (ATmega1280, ATmega2560
TQFP64. ©2008 by Atmel Corporation Das STK600-TQFP64 unterstützt folgende AVR's im TQFP64-Gehäuse (AT90CAN128, AT90CAN32, AT90CAN64, AT90USB1286, AT90USB1287, AT90USB646, AT90USB647, ATmega128, ATmega1281, ATmega165, ATmega165P, ATmega169, ATmega169P, ATmega2561, ATmega325, ATmega325P, ATmega329, ATmega329P
-
Thread
3 Phasen PWM - Verständnisfrage
Prinzipiell ja. Allerdings legt man die Zeiten eigentlich nie fest, sondern sie ergeben sich aus der PWM Frequenz. Ein Beispiel: PWM Controller sein ein AT90PWM3, dessen PWM Stufe mit 64MHz läuft und 12bit Auflösung bietet. Eine mögliche Frequenz beträgt also z.B. 64MHz/4096=15,625kHz, was ein recht
@Tobias Für einen 3-Phasen Motor brauchst Du keine PWM-Modulation, drei um jeweils 120° phasenverschobene "Rechtecksignale" ist völlig ausreichend. [c] Phi [°] L1 L2 L3 0-30 0 -1 1 30-60 1 -1 0 60-90 1 -1 0 90-120
-
Thread
PWM-Signal mit Phasenverschiebung 180°
STM32F103Cx (Bluepill) an A8 und A9. Die Initialisierung der Gpios ist hier nicht drin! [c] #define PWM_ARR 20000 void InitPWM() { RCC->APB2ENR|=RCC_APB2ENR_TIM1EN; TIM1->PSC=0; TIM1->ARR=PWM_ARR; TIM1->CCER=TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC1P; TIM1->CCMR1|= TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_0; TIM1->BDTR |= TIM_BDTR_MOE; TIM1->CR1|=TIM_CR1_CEN | TIM_CR1_CMS_0; } void SetDutty(int Proz) { int dt=(PWM_ARR