-
Thread
Billiges Cortex-M4-Board STM32F4DISCOVERY jetzt erhältlich
Vergleich der STM32 Atollic Voll- und Lite Version hier: http://www.atollic.com/download/2.2/Atollic_TrueSTUDIO_Feature_comparison_v2.2.pdf (pdf 2MB)
Utility nicht mit der MCU verbinden: liegt wohl an der Chip Revision Z. https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Discovery/DispForm.aspx?ID=1888&RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2FSTM32Discovery%2FSTM32F4DISCOVERY%20%20%20Cannot%20connect%20to%20the%20MCU%20device
-
Thread
negative Berechnung der Temperatur
Hallo alle zusammen, ich habe eine Leiterplatte mit dem "Atmel AT90PWM316" und 4 7-Segment-Anzeigen. Mein Problem ist jetzt aber, dass die Angezeigte Temperatur im positiven Bereich in Ordnung ist aber im negativen Bereich "komische" Werte (z.B.948) angezeit werden
segmenttable [einer]; // Ausgabe der EINER auf 1. Anzeige _delay_ms(5); PORTB = T2; // Anzeige 2 aktivieren PORTC = segmenttable [zehner]; // Ausgabe der ZEHNER auf 2. Anzeige _delay_ms(5); PORTB = T3; // Anzeige 3 aktivieren
-
Thread
Leitungssuchgeräte - Funktionsweise / Selbstbau
liegende Leitungen detektieren als die anderen? Laut technischen Daten wird bei allen nämlich bis 2m Tiefe angegeben. Wenn man eine Schleife legt, auch jeweils bis 2,5m (bzw. einfach >2m beim Voltcraft) laut Herstellerangabe. Wie verstärkt man ein 125kHz entsprechend und welche Ausgangsimpedanz sollte
teilen, etwas bremsen. Oder sind die China Cable Tracker inzwischen so gut, dass sie auch mal 1/2 m im Raum „empfangen“? Gruß! Andi
-
Thread
Newbie braucht Hilfe: 9 Servos mit 1µs Auflösung ansteuern? (AVR)
Bei 16Mhz Takt vergehen in 1µs gerade mal 16Takte. Was ich schon geschafft habe ist eine Fast-PWM mit einer Frequenz von 2,250ms wo ich die Servos hintereinander ansteuere und somit bei 9 Servos ca. 50Hz für jedes Servo hinbekomme bei einer Auflösung von 1µs. Aber so schaffe ich keine 330Hz und
Spannung am Motor von 100% umsetzt. Hi Test, Danke für Deinen Beitrag, ich habe mich um den Faktor 2 geiirt. 10-90 sind meine "Timerwerte" die ich jetzt irrtümlich als µs angegeben habe. In Wirklichkeit sind das 5-45µs Schrittweite. Genau genommen habe ich eine kleinste Schrittweite von 0,5µs.
-
Thread
ATmega8 lässt sich nicht mehr flashen
unknown) Device code: 0x26 = (unknown) Device code: 0x27 = (unknown) Device code: 0x28 = AT90S4414 Device code: 0x29 = (unknown) Device code: 0x2a = (unknown) Device code: 0x2b = (unknown) Device code: 0x2c = (unknown) Device code: 0x2d = (unknown) Device code: 0x2e = (unknown) Device code: 0x2f = (unknown) Device code: 0x30 = AT90S4433 Device code: 0x31 = (unknown) Device code: 0x32 = (unknown) Device code: 0x33 = (unknown) Device
-
Thread
Konstantstromquelle LM 317 Überschwinger beim Einschalten
Netzteil doch eingangsseitig und nicht ausgangsseitig schalten, falls keine anderweitige Steuerung (PWM, Poti, usw) vorliegt. Meanwell z.B.
Chips bestimmt. Wenn ich die Verlustleistung in dem Vorwiderstand weiter veringern will, oder statt 90% mittlerem Strom mit +-10%, 98% und +-2% Variation erreichen will, muß ich einen aktiven Stromregler einsetzen. Dafür gibt es viele Schaltungen. Alle brauchen aber eine Mindestspannung, um zu funktionieren
-
Thread
kurze Frage zur AVR fast pwm sinus-ausgabe?!
werden. Abschnitt 1: fsin(0),..,fsin(89) 2: fsin(90),..,fsin(1) 3: -fsin(0),..,-fsin(89) 4: -fsin(90),..,-fsin(1) fsin(x) ist der Tabellenwert, -fsin(x) der an der X-Achse gespiegelte Wert.
als der ATmega8 ist! Cool finde ich ja den eingebauten Temperatursensor! Und das mit dem fast pwm soll ja genauso wie bei der fast pwm des Atmega8 gehen? wenn ich dann meinen Sinus mit 90 Stützstellen ausgeben wollte hätte der dann eine Frequenz von 2,7kHz? f = (64MHz/256)/90 256 repräsentiert
-
Thread
Frequenz im Fast PWM modus
schon belegt, hab nur noch 8bit timer >und diese besitzen kein ICR :/ Aber es gibt 8 Bit-Timer mit 2 OC-Registern. Dann lässt sich OCRxB für die PWM und OCRxA für die Frequenz benutzen. Welchen Controller benutzt du denn? MfG Spess
und ich benutze ein at90can128
-
Thread
XMEGA reif für den produktiven Einsatz?
> kleinste erzeugbare Puls-Breite für PWM beträgt nur 1/(32MHz). Der maximale PWM Takt der Counter ist und bleibt 32MHz = Clk_CPU. Nur die untersten 2 Bits diesere Counter werden durch den HiRes mit x4 Takt bedient. Damit ist die Frequenzauflösung
ein Projekt die neuen CAN-AVRs einsetzen. Ich hab dann aber wegen der Verfügbarkeit doch den Oldie AT90CAN128 genommen. Ich hätte schon gerne die UARTs als gepuffertes SPI genommen (je 16Bit in einem Rutsch senden). Peter
-
Thread
PWM Timer springt (AT90CAN128)
fragen, ob einer von euch das schon mal hatte bzw. weiß was hilft. Es geht um folgendes: Auf einem AT90CAN128 soll im Timer3 ein PWM-Signal für eine Servoansteuerung erzeugt werden. Nebenbei laufen noch 2 weitere Timer für andere Anwendungen. Das PWM-Signal wird auch erzeugt und prizipiell ist auch
Die PWM ohne ISR machen und statt dessen als Hardware-PWM. Gibt dieser AVR das her? Könnte man die PWM auf einen Timer legen der das kann? Wenn ISR-Routinen benutzt werden, diese kürzer machen. Dann sollte
-
Thread
pollin kamera au-85
mPORTDSetBits(BIT_1); mPORTDClearBits(BIT_1); } } while( picLine != 240 ); // ** pwm on ConfigIntTimer2(T2_INT_ON); [/c] Zum testen habe ich in main wie folgt verändert: [c] /* Open Timer2 with Period register value */ OpenTimer2(T2_ON, T2_PS_1_1 | 0x10); //10 = 5 MHz; /* Enable OC | 32 bit Mode | Timer2 is selected | Continuous O/P | OC Pin High , S Compare value, Compare value*/ OpenOC2( OC_ON | OC_TIMER_MODE32 | OC_TIMER2_SRC | OC_CONTINUE_PULSE | OC_LOW_HIGH , 0x10, 0x08); // ** pwm off
-
Thread
ATMega32: 18 PWM Kanäle benötigt
, er nennt das nur PWM. MfG Klaus
use in this function) main.c:13: error: 'OCIE0A' undeclared (first use in this function) main.c: At top level: main.c:27: warning: 'TIMER0_COMPA_vect' appears to be a misspelled signal handler make.exe: *** [main.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:01 [/c]
-
Thread
Handydummy (Attrappe)mit richtigem Display 10Zoll - u.a.Motorola Xoom
MonoChrome = 0 Interlaced = 0 Pictures in DPB = 9 Pictures in Multibuffer PP = 9 --E-- mem_malloc Fail at MAIN_HEAP by Task-4, need 12464144!! --E-- ¸d¡Jj 2Ÿ«u: malloc fail for Task-12464132, need 2818646272 Free memory space is 9059088KB Idu_GetStringHeight(), psWin->wHeight=800 Idu_GetStringHeight
SystemCardPlugInCheck: Invalid drive index 84 ! -I- Load xpg from flash... --E-- mem_malloc Fail at MAIN_HEAP by Task-1, need 34960!! --E-- Out of memory for tmppool !!! --E-- Out of memory for CurPool !!! --E-- mem_malloc Fail at MAIN_HEAP by Task-2, need 256!! --E-- : malloc fail for Task-255
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil5)
with the Autoscale function in ALL firmware versions after 2.15 (March 2011!). Basically, hitting autoscale fails to correctly set the time AND voltage scales 90% of the time (and when it does seem to catch the input signal, it's likely random as it's at slightly
At least I'm not alone! (sorry for your troubles!) Try v2.15 or before. Like I said, I tried the final version of every major release (the final "Y" of every "X" in "1.2.BF.X.Y"). Every single one failed
-
Thread
Tutorial 10x10x10 LED-Cube
und wieviel dann alle kosten. Jeder kann es ja so > schreiben, wie er will, aber ich würde jetzt 2 Rollen á 86m kaufen, da > die Beschreibung sagt 86m und dahinter Stückzahl 2 steht. Ja, das so wie es da bei mir steht ist völlig korrekt. 2 Rollen a 86m!!! Ich benötigte ca. 90m!!! > > 2. Wieso
Ja aber wenn du 90m brauchst und 2 Rollen á 86m kaufst, hast du 172m. Oder anders gesagt, von der 2. Rolle brauchst du nur 4 Meter um auf die 90m zu kommen. Also hast du 82m über (172-90). Dann könnte man sich doch ne
-
Thread
Sinus sehr seltsam
include <stdint.h> #include <avr/pgmspace.h> #include <util/delay.h> // Noten-Frequenzen #define c 2 #define d 90 #define e 50000 #define p 0 // Pause struct notendauer { uint16_t note; uint16_t dauer; }; struct notendauer entchen[3] = { {c,1200}, {d,1200}, {e,500} }; // einfache Sinuswelle
Das Problem ist, dass immer die gleiche Frequenz raus kommt. Wenn scale klein ist also so zwischen 2 und 90 höre ich diese Frequenz schwingend lauter und leiser werden. Wenn scale sehr groß ist, brummt es. Wenn ich PROGMEM nicht verwende scheint alles schneller zu laufen: bei hohem scale hört man
-
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
Einstieg USB + Mikrokontroller
max) { timer = 0; P1OUT |= BIT0; P1OUT |= BIT1; P1OUT |= BIT2; } if (timer == pwm[0]) { P1OUT &= ~BIT0; } if (timer == pwm[1]) { P1OUT &= ~BIT1; } if (timer == pwm[2]) { P1OUT &= ~BIT2; } } [/c] Ist sicher noch nicht
Lösung, aber für den Anfang bin ich ganz zufrieden damit ... später muss daraus aber eine 27-Kanal-PWM-Steuerung werden - vermutlich mithilfe 2er TLC5940 - also habe ich noch einiges vor mir. Nun aber noch 2 kleine Fragen: - Gibt es epmfehlenswerte Bücher zur MSP430G - Reihe (ValueLine, Launchpad-kompatibel
-
Thread
direkter Zugriff auf Low/High Byte von 16bit-Werten
_a[2]; } tBuffer16; [/c] Funktioniert so aber nur auf Little-Endian-Prozessoren... Frage: Kann man "At-Compile-Time" den Endian des Prozessors (am besten per Preprocessor) herausfinden? Ich habs
, r16 7c: 02 96 adiw r24, 0x02 ; 2 7e: 6f 2d mov r22, r15 80: e3 df rcall .-58 ; 0x48 <itoxx> } 82: 1f 91 pop r17 84: 0f 91 pop r16 86: ff 90 pop r15 88: 08 95
-
Thread
AVR debuggen unter linux
KiB at90can32 0x9581 32 KiB 1 KiB at90can64 0x9681 64 KiB 2 KiB at90pwm2 0x9381 8 KiB 0.5 KiB at90pwm216 0x9483 16 KiB 0.5 KiB at90pwm2b 0x9383 8 KiB 0.5 KiB at90pwm3 0x9381 8 KiB 0.5 KiB at90pwm316 0x9483 16 KiB 0.5 KiB at90pwm3b 0x9383 8 KiB 0.5 KiB at90usb1287 0x9782 128 KiB 4 KiB at90usb162
-
Thread
AVR-Studio 5 und Stange USB-ISP Programmer funktioniert nicht.
beim Programming. Er ist unter den Programmern angeführt, jedoch wenn man auf „Apply“ geht kommen 2 Fehlermeldungen: 1. „Unable to connect to tool STK500 (COM3)“ 2. „Failed to get interface clock value.“ Gibt es eine Chance den Programmer mit AVR-Studio 5 zum Laufen zu bringen? Hat jemand
. Ich habe auch den Programmer. Gibt es mittlerweile eine Lösung um mit AVR Studio 5 einen Atmega AT90PWM3B und Atmega328 zu flashen?
-
Thread
zwei if-Anweisungeg funktionieren nicht zusammen
der AD-Wandler entfernt, funktioniert alles einwandfrei. Wenn ich so die PWMs am Oszilloskop darstelle, sieht man eine kontinuierliche Veränderung des duty cycles. Ich hoffe ich hab jetzt nichts vergessen. Der µC den ich benutze ist der AT90PWM316.
nichts mehr testen bis Montag, da das Labor bis dahin geschlossen ist. Als Controller benutze ich den AT90PWM316 und das Board Stk500 mit das Ergänzungsboard Stk520. Beim AD-Wandler versuche ich blos nur eine kontinuierliche Messung zu erreichen.
-
Thread
Pulse im ns Bereich mit µC möglich?
Auflösung erzeugen. Das könnte für die XBOX ausreichend sein. :) Noch besser gehts wohl mit einem AT90PWM...der hat eine PLL drin, die PWM ausgänge können da meines Wissens mit bis zu 64MHz laufen, was 15,625ns minimale Pulsbreite wären. Damit kommst du den 20ns für den Prozessor-Hack schon Nahe...
den I2C bedienen
-
Thread
PWMs mit AT90PWM316
Hallo, ich möchte mit einem at90pwm316 µC drei fast PWMs ausgeben, von denen ich das Dutycicle im Programm einzeln verändern kann. Die Frequenz der PWMs soll bei allen drei gleich sein. Ich habe schon sehr lange versucht es alleine
Ausgang gesetzt). UNd mit der Änderung müsste auch an PE1 das PWM-Signal vom B-Kanal vorhanden sein. Im Simulator zumindest ist es da.
-
Thread
Atmega kurzzeitig aus Kondensator betreiben - geht das ?
Spannung. Ich habe mal getestet ab wann der ATmega8 zu arbeiten anfängt. Atmega8L: 1MHZ 2.05V Atmega8: 1MHz 2.20V Atmega8: 12MHz 2.55V ATmega644PV: 12MHz 1.90V (bei jedem AVR ist das etwas anders, aber als Richtwert kannst du das nehmen) Was willst du eigentlich
getakteten Prozessor hin? Der Atmega88V erreicht 4MHz ab 1,8V. Damit schafft er es per Assembler. Mit der PWM-Einheit sollte es, denke ich, auch gehen. Ab 2,7V darf er dann auch mit 10MHz betrieben werden, spätestens dann ist es kein Problem mehr.
-
Thread
ATmega32C1 vs. ATMega 32M1 cs. AT90CAN32
hat 6 MOBs der ATmega32M1 ist eigentlich für Motoren hat aber 6 MOBs für CAN. der AT90CAN32 ist für CAN optimiert und hat 15 MOBs Heißt das also der M1 ist auf jeden Fall besser als der C1 richtig? Gibt es sonst noch spezielle Unterschiede, bis auf die PIN Anzahl und die Anzahl der MOBs? Man findet nämlich kaum etwas über die kleineren AtMega32 C1/M1 sondern eher nur etwas zu den großen AT90CANxx. Schönen Gruß aus Österreich, Franz
-
Thread
Revolution Entwicklungsumgebung Microcontroller ?
einem AVR bzw. ARM in C zu machen, finde in dieser Zeit nicht als machbar. Kleines Beispiel für PWM: PWM pwm = new PWM(pwm1); pwm.Set(1000, 12); und schont hat man PWM mit 1kHZ und 12% duty. Den Preis den du ansprichst finde ich nicht mal so "böse". Das EMX Modul kostet 60€. Ein Debugger
den Bastler... Naja, ich find das Zeug geil und ein bisheriger C# Programmierer hat das ganze in <2 Stunden drin.
-
Thread
timer0 at90can stört can-stack
abhängig sind oder sonst was. oder irre ich mich? wäre für ein wenig hilfe dankbar den timer0 des at90can habe ich wie folgt initialisiert: [c] #define clock_factor F_CPU/(64*256) //interruptzähler volatile uint16_t clock = clock_factor, second; void timer0_init(){ // Timer0 TCCR0A |
danke für die antwort setLedBrightness stellt nur die PWM für die LED ein, sprich ich setze dazu das entsprechende OCRnA bzw OCRnB Reg. ich habe das problem gerade folgendermaßen gelöst(vorzeitig zumindest) im can-stack, empäfnger ISR: ich hatte am ende
-
Thread
Zustands-Problem bei LED Lichtsensormessung
Ich möchte eine LED togglen lassen. z.b. alle 2 sekunden AN und AUS. AN, 2 sekunden warten, AUS, 2 sekunden warten und so weiter dies soll am besten unabhängig laufen. parallel möchte ich den zustand der LED mit hilfe eines sensors messen. Wenn
varieren können. mal langsam mal schnell. deshalb hatte ich mir nun überlegt über den timer0 meines at90can128 einen sekunden oder millisekundentakt zu erzeugen um die leds per ISR zu steuern damit diese unabhängig von der messung sind. denn die messung läuft dauerhaft in der main routine nun bin ich