Kennt jemand sowas? Die PWM-Frequenz muß um die 80 kHz liegen sonst passt das mit dem Trafo nicht (mittelpunktgespeister Gegentaktwandler, 6V je Windung), die Breite beider Gegentakt-Pulse soll gleich breit und sollte mit 8 Bit auflösbar sein. In Software kriegt man das mit einem einfachen AVR nicht hin. Also vielleicht eine der neuen AVR ATMega-Varianten, die ein ähnliches PWM-Modul haben wie der AT90PWM? Bei diesem ist leider der Flash zu klein für mein Projekt. Und er hat auch kein DIP-Gehäuse. Habe schon viele Datenblätter durchsucht aber nichts gefunden. Vielleicht hat jemand einen Tip. Danke!
Hallo, PIC24H und dsPIC33 gibt's im DIL28 und laufen mit bis zu 40MIPS. Das sollte reichen. Beziehbar bei "MicrochipDirect". Grüße, Dosmo
Das sollte ein ATMEGA644 schaffen, wenn Du ihn geringfügig übertaktest (20.480Mhz). 64kB Flash sind schon eine Hausnummer. Lieferbar in DIL40.
Ben _ schrieb: > Also vielleicht eine der neuen AVR ATMega-Varianten, die ein ähnliches > PWM-Modul haben wie der AT90PWM? Bei diesem ist leider der Flash zu > klein für mein Projekt. Und er hat auch kein DIP-Gehäuse. Es gibt bei den dsPICs Typen für Motorsteuerung. Die können das, und die gibts auch in verschiedenen Größenordnungen. fchk
ATtiny25 oder ATtiny261 können PWM bis 64MHz und einstellbarer Totzeit. Peter
Ja, der dsPIC33FJ128MC802 sieht schon extrem interessant aus für ein DIP28-Device. 16 Bit sind ja auch gar nicht so schlecht. Mal sehen wo ich den herkriege. Mag aber die PICs nicht besonders (was mich nicht davon abhalten würde sie zu nutzen wenn Atmel nichts brauchbares im Programm hat), gibt's sowas wie einen "dsAVR"? ;) Den ATMega644 habe ich hier. ich wüßte aber nicht, daß der sowas in Hardware kann. Werde aber sein Datenblatt nochmal durchsehen falls ich was übersehen habe. Die ATTiny haben leider nicht genug Flash.
Ben schrieb:
>Mag aber die PICs nicht besonders
Das ging mir genauso, weil ich nur die 8-Bit-PICs gekannt hab.
Die 16-Bit-PICs sind aber wirklich gut, sie haben eine moderne
RISC-Architektur und nichts mit den 8-Bittern zu tun. Und mit dem
PicKit3 bekommst für wenig Geld einen ganz brauchbaren Debugger.
Wie gut lassen sich diese in Assembler programmieren? Gibts dafür eine ähnliche kostenfreie Entwicklungsumgebung wie für die AVRs? Gibts die auch als DIP-40 wenn man mal mehr Pins braucht? Wo kriegt man die als Otto-Normal-Verbraucher preiswert zu kaufen? Reichelt hat sie nicht, Conrad fällt von vornherein aus wegen zu teuer. Fragen über Fragen...
Ben _ schrieb: > Den ATMega644 habe ich hier. ich wüßte aber nicht, daß der sowas in > Hardware kann. OCR0A und OCR0B mit gleichen Werten füllen, einen Kanal invertieren. Fertig. Dasselbe geht mit Timer2. Da der M644 für 20Mhz spezifiziert ist, schafft er die zusätzlichen 0.5Mhz locker.
Ben _ schrieb: > Wie gut lassen sich diese in Assembler programmieren? Architektur ist ähnlich wie AVR, aber 16 Bit Register. Dazu noch zwei 40 Bit Akkus für DSP-Operationen. > Gibts dafür eine ähnliche kostenfreie Entwicklungsumgebung wie für die > AVRs? MPLAB 8 > Gibts die auch als DIP-40 wenn man mal mehr Pins braucht? Ja. Geht hoch bis TQFP100 und BGA121. > Wo kriegt man die als Otto-Normal-Verbraucher preiswert zu kaufen? > Reichelt hat sie nicht, Conrad fällt von vornherein aus wegen zu teuer. Reichelt hat eine Auswahl an dsPICs (30 und 33), aber bei weitem nicht alle Typen. Ansonsten halt die üblichen Quellen. Die 30'er sind noch 5V-fähig, aber langsamer (4 Takte pro Maschinenzyklus bei 120 MHz intern), die 33'er sind schneller (2 Takte pro Maschinenzyklus), aber nur noch 3.3V. fchk
> OCR0A und OCR0B mit gleichen Werten füllen, einen Kanal invertieren. > Fertig. > Dasselbe geht mit Timer2. Ich versteh nicht wie Du das meinst. ;-( Die beiden Kanäle müssen synchron zueinander laufen und die gleichen Pausen- und Impulsbreiten haben. Der Impuls eines Kanals muß genau mittig in der (breiteren) Pause des anderen Kanals liegen. Das bedeutet auch, daß ein Kanal maximal 50% duty cycle haben darf, da niemals beide gleichzeitig eingeschaltet sein dürfen. Mit einem 8 Bit Timer erreiche ich so nur 7 Bit maximale Auflösung. Mit zwei 16 Bit Timern könnte man das probieren wenn die synchron laufen können, erreicht aber für 8 Bit Auflösung nur 39 kHz bei 20 MHz. Wenn schon dsPIC dann sollte ich mich auf das beste Verfügbare einschießen. Das hieße dsPIC33. Der hat soweit ich gelesen habe auch 5V-tolerante Eingänge. Allerdings hab ich keinen mit DIP-40 gefunden. Klar gibts größere mit TQFP oder BGA, aber das ist eben kein DIP-40. Die 16 Bit wird wohl ziemlich jeder prinzipiell begrüßen und den oben genannten (den ich bei Reichelt nicht gefunden habe) finde ich wegen 16 kb RAM sehr interessant. Das gibts sonst wohl nirgens.
der PIC18F1330 hat 3 HW PWM, jeder davon auch einen eigenen Gegentakt Ausgang. Es lassen sich verschiendene Betriebsmodi konfigurieren. DIL Gehäuse ist jedenfalls verfügbar und die Kosten sehr gering.
Frank K. schrieb: > Architektur ist ähnlich wie AVR. Fundmentaler Unterschied: AVR ist weitgehend eine Load-Store Architektur. PIC30%Co hingegen trotz des relativ starren Befehlsformats und des grossen Registersatzes deutlich speicherorientiert. Für Programmierung in Assembler ist das eher angenehmn (für die Implementierung des Cores nicht ganz so). > Reichelt hat eine Auswahl an dsPICs (30 und 33), aber bei weitem nicht > alle Typen. Ansonsten halt die üblichen Quellen. Gut vertreten beispielweise bei TME. > Die 30'er sind noch 5V-fähig, aber langsamer Und im Nebenjob auch ganz gut als Geräteheizung zu gebrauchen. Werden für die Verhältnisse von Controllern dieser Grössenordnung ziemlich warm, d.h. hoher Stromverbrauch.
Ben _ schrieb: > Gibts die auch als DIP-40 wenn man mal mehr Pins braucht? Nur die erste Generation, die dsPIC30. Die neueren PIC24 und dsPIC33 gibts m.W. nur bis 28pin in DIL.
Ben _ schrieb: > Also vielleicht eine der neuen AVR ATMega-Varianten, die ein ähnliches > PWM-Modul haben wie der AT90PWM? Bei diesem ist leider der Flash zu > klein für mein Projekt. Und er hat auch kein DIP-Gehäuse. DIL48 Gehäuse für Leute mit mehr Anspruch an den Inhalt als in DIL sonst oft geboten wird: STM32 bis 128KB Flash 72MHz in LQFP48 auf DIL48 Trägerplatine. Diese Platinchen gibts in gleicher Breite wie DIL40 billig bei ebay und einlöten vom Chip geht auch ohne SMD-Praxis problemlos. Komplexe Timer für PWM haben die STM32 reichlich.
Ben _ schrieb: > Die beiden Kanäle müssen synchron zueinander laufen und die gleichen > Pausen- und Impulsbreiten haben. Der Impuls eines Kanals muß genau > mittig in der (breiteren) Pause des anderen Kanals liegen. Das bedeutet > auch, daß ein Kanal maximal 50% duty cycle haben darf, da niemals beide > gleichzeitig eingeschaltet sein dürfen. Mit einem 8 Bit Timer erreiche > ich so nur 7 Bit maximale Auflösung. Mit zwei 16 Bit Timern könnte man > das probieren wenn die synchron laufen können, erreicht aber für 8 Bit > Auflösung nur 39 kHz bei 20 MHz. Dann nimm doch einen Tiny261 als Treiber für Deine Gegentaktendstufe (mit Timer1 im PWM_6 Modus) und steuere den mit einem ATMEGA Deiner Wahl. Dann hast Du genügend Auflösung, Geschwindigkeit und FLASH. Der Tiny unterstützt auch eine Fault-Protection in Hardware.
Meine Test-PIC16 damals in Assembler zu programmieren war eine echte Qual und ich glaube da hat sich zum PIC18 nicht viel geändert. Der fällt also raus wegen mag ich nicht. TME kenne ich nicht, verkaufen die an Privatkunden? Mit Adapterplatinen kann ich alles verwenden was da ist, aber Manhattan-Style wollte ich gerne vermeiden. STM32 kenne ich ebenfalls nicht, wenn schon so eine große Architektur dann wollte ich es am ehesten mit dem Cortex M3 probieren. Soviel Rechenleistung brauche ich aber für dieses Projekt nicht. Ich brauche nur ein PWM-Modul weil ich es für die sauberste Lösung halte. Den Rest würde ein schnöder 8 Bit AVR mit etwas Flash und 1 MHz locker schaffen. Wenn die dsPIC30 vor allem als gute Heizung taugen und auch noch langsamer sind kann ich damit nichts anfangen. Dann sollte man den Versuch mit 3,3V wagen. Hast Du schon mit den dsPIC33 gearbeitet und kannst damit vielleicht ein beschriebenes Signal erzeugen? Haben die auch gute ADCs und Pin-Change Interrupts? Ich find die 16kByte RAM klasse. Ich glaube so viel kriegt man nirgendwo anders...
Ben _ schrieb: > TME kenne ich nicht, verkaufen die an Privatkunden? Ja. > STM32 kenne ich ebenfalls nicht, wenn schon so eine große Architektur > dann wollte ich es am ehesten mit dem Cortex M3 probieren. STM32 ist Cortex-M3. > Wenn die dsPIC30 vor allem als gute Heizung taugen und auch noch > langsamer Etwas langsamer als die dsPIC33 (30 zu 40MHz oder so) aber immer noch weit schneller als AVR.
Wie gesagt, viel Rechenbumms brauche ich eigentlich nicht. Ich brauch nur das PWM-Modul in einem (assembler-geeignetem und natürlich möglichst stromsparenden) µC mit genügend Flash. Kann sich ja jeder denken, daß ich den µC für meinen Wechselrichter bzw. EVU-Elektromeister-Toaster wie manche das Ding nennen brauche. Ich muß die 80 kHz PWM also mit 100Hz Sinus-Halbwellen und in der Amplitude/Ausgangsleistung modulieren. Dafür wollte ich Sinustabellen verwenden, mit denen könnte ich auch Nichtlinearitäten des nachgeschalteten Wandlers ausgleichen. Nachteil des Konzepts: braucht viel Flash. Eine Menge RAM wäre ein Bonus weil man damit die Leistung über den Tag speichern und anzeigen könnte. Der ATTiny261 nur als PWM-Treiber und was anderes für die eigentliche Steuerung zu verwenden wäre vielleicht möglich. Der Tiny hat nur mal wieder recht wenig Flash, da müßte ich die Sinusmodulation berechnen anstatt sie in Tabellen zu packen. Ist vielleicht auch das bessere Patent, aber schafft auch neue Probleme (Phasenverschiebung durch die Rechenzeit vielleicht).
Ben _ schrieb: > Der Tiny hat nur mal > wieder recht wenig Flash Wenn 6kB für Deine Tabellen reichen, wäre da noch der Tiny861.
Und was mir da noch einfällt: DataFlash dranbenzeln an den T261...861.
Den dsPIC30F4011 gibts bei Reichelt. Das ist zwar die ältere 30'er Serie, aber DIL40, Motor Control Unit für Deine PWMs, und für Dich kaufbar. 120 MHz intern, 30 MHz CPU Clock Cycle, damit eine ganze Ecke schneller als ein AVR. Neuere und ggf. schnellere und stromsparendere Controller gibts wohl nur in SMD. Da müßtest Du dann mit einer Adapterplatine arbeiten. fchk
Ben _ schrieb: > Ich muß > die 80 kHz PWM also mit 100Hz Sinus-Halbwellen und in der > Amplitude/Ausgangsleistung modulieren. Dafür wollte ich Sinustabellen > verwenden, mit denen könnte ich auch Nichtlinearitäten des > nachgeschalteten Wandlers ausgleichen. Nachteil des Konzepts: braucht > viel Flash. Na dann rechnen wir mal: 80kHz / 50Hz = 1600, mehr Stützstellen geht nicht. Und dann braucht man auch nur den Sinus von 0..90°, der Rest ist spiegeln/invertieren. Ergibt also den sagenhaften Verbrauch von 1600 / 4 = 400Byte Flash. Ein Attiny261 reicht also schon. Peter
Für PIC24 und dsPIC30/33 gibt's einen kostenlosen C-Compiler von Microchip ("C30"). Der Unterschied zwischen der kostenlosen Version und der kommerziellen Version liegt nur in den möglichen Optimierungsstufen, die kostenlose kann maximal Stufe 1 verwenden, wobei die recht brauchbar ist. Die Notwendigkeit für Assembler sehe ich eigentlich nicht. Die Controller kann man über MicrochipDirect beziehen, aber Lieferzeiten beachten!
PS: Die dsPIC30F laufen bis runter zu 2.5V, wenn Du nicht unbedingt die volle Rechenleistung brauchst. Bei 3V sind es noch 20 MHz CPU-Befehlszyklus. Entsprechend sinkt die Verlustleistung. fchk
Naja die Notwendigkeit für Assembler sehe ich schon weil man uns in der Scheiß Schule damals trotz anderslautendem Wunsch fast der gesamten Klasse (ein paar Ausnahmen war das egal) den sterbenden Schwan namens Turbo Pascal anstelle von C unterjubeln mußte. Wohl der Hauptgrund warum ich bis heute nicht mal Anfänge in C kann. Wenn man die Skalierung der Sinushalbwelle berechnet anstatt für jede Leistungsstufe eine optimale Kurve zu hinterlegen dann reicht ein ATTiny. Müßte man probieren ob der schnell genug dafür ist. Ich wollte mit 200 Punkten pro Halbwelle arbeiten, macht 400 für eine komplette Vollwelle und eine daraus resultierende Timer-Interruptfrequenz von reichlich 20 kHz. Heißt bei 10 MHz Taktfrequenz hätte man maximal 500 Takte zur Skalierung. Nachteil: Falls bei verschiedenen Leistungen verschiedene Stromkurven durch den gesteuerten Wandler entstehen (z.B. überproportionale Anhebung der Spitze ab einer bestimmten Leistung) kann ich dies nicht durch verschiedene Kurven kompensieren.
Ben _ schrieb: > Heißt bei 10 MHz Taktfrequenz hätte man maximal 500 > Takte zur Skalierung. Jo und bei 20MHz 1000 ;-). Sollte für einfache Multiplikationen reichen.
Ben _ schrieb: > Falls bei verschiedenen Leistungen verschiedene Stromkurven > durch den gesteuerten Wandler entstehen (z.B. überproportionale Anhebung > der Spitze ab einer bestimmten Leistung) kann ich dies nicht durch > verschiedene Kurven kompensieren. Ja, aber Du kannst die Abweichung gegenrechnen und die Werte aus den Tabellen entsprechend stauchen/strecken.
Wofür ich dann wieder mehr Rechenzeit brauche...
Mal ganz ehrlich, was soll das ? Hast du auch den Frequenzgang des Trafos mit eingerechnet ? Der verzerrt dir den Sinus auch nicht gerade unerheblich. Als Stichwort hier mal die magnetische Sättigung. Für welche Anwendung wird nur wirklich ein solche Sinus Form benötigt ? Wenn du jede Halbwelle in 3-4 Schritte aufteilst, wird am Ausgang vom Trafo eine Wellenform rauskommen die nur unwesentlich von dem abweicht was so aus der Steckdose kommt. Den Aufwand den du hier treiben willst, ist für einen Spannungswandler meiner Meinung nach extrem weit überzogen. Machbar ist es, aber das Verhältnis von Nutzen zu Aufwand ist weit außerhalb jeden sinnvollen Bereiches.
> Mal ganz ehrlich, was soll das ? Möglichst gut werden und funktionieren. > Hast du auch den Frequenzgang des Trafos mit eingerechnet ? > Der verzerrt dir den Sinus auch nicht gerade unerheblich. Ich hatte vor das Ergebnis zu messen und ggf. die Kurven anzupassen damit der Wandler so gefahren wird, daß hinten das bestmögliche rauskommt. > Als Stichwort hier mal die magnetische Sättigung. Die ist beim Trafo nie gut, ich liebe meine Transistoren! > Für welche Anwendung wird nur wirklich ein solche Sinus Form benötigt ? Für einen Einspeisewechselrichter wär's schon toll. > Wenn du jede Halbwelle in 3-4 Schritte aufteilst, wird am Ausgang vom > Trafo eine Wellenform rauskommen die nur unwesentlich von dem abweicht > was so aus der Steckdose kommt. Ja - und ich drücke das Netz mit dem gleichen Müll voll wie ein 500W Phasenanschnitt-Dimmer. > Den Aufwand den du hier treiben willst, ist für einen Spannungswandler > meiner Meinung nach extrem weit überzogen. Mag sein, aber ich hätte es eben wirklich gerne so gut wie's geht. > Machbar ist es, aber das Verhältnis von Nutzen zu Aufwand ist weit > außerhalb jeden sinnvollen Bereiches. Wenns danach geht könnte ich auch ein Jahr sparen und ein entsprechendes Gerät kaufen, ja. Inzwischen ists für mich aber mehr als das, kommt mir vor wie ein bißchen Trotz weil die Scheißdinger so teuer sind (will halt jeder einen möglichst großen Teil von der beschissenen Solarförderung in der eigenen Tasche haben). Einfach mal sehen ob ichs mit Teilen aus meiner Bastelkiste auch selber hinkriege.
Ben _ schrieb: > Für einen Einspeisewechselrichter wär's schon toll. Da solltest du dich mal mit deinem Energieversorger unterhalten ob die eine Selbstbauvariante an ihrem Netz erlauben. Die Gutachten die du wirst liefern müssen kosten garantiert soviel das du davon 5 Wandler kaufen kannst.
Wenn die Leistung letztendlich innerhalb des Anschlusses verbraucht wird, gäbe es keine großen Probleme. Klar, erlaubt ist es so nicht. Die Zähler laufen auch nur in eine Richtung.
@Ralph TOPIC?! Die meisten Zähler laufen in beide Richtungen. Ist also durchaus möglich das Netz als großen Wechselstromakku zu benutzen.
Ich glaube, wir sollten hier keine Tipps mehr geben. Dein Engagement in Ehren Ben, aber solche gefährlichen und unsinnigen Spielereien sollte man nicht noch unterstützen. Verbrauche Deinen selbst erzeugten Strom doch selber und lebe besser ohne rückläufige Netzanbindung. Vergütet bekommst Du es mit Deiner Bastellösung ohnehin nicht. Ganz davon abgesehen, wenn Dein Versorger das mitbekommt. Inzwischen wissen ja auch genug Mitleser, was Du da planst.
Ich bau das Ding definitiv fertig. Zur Not mit einem D/A-Wandler gesteuerten PWM-IC. Das Ding bekommt eine ENS die ich auch testen werde, damit schaltet sich das Ding spätestens nach 2-3 Vollwellen ab weil es keinerlei eigene Frequenzführung hat. Wenn das Teil wider allen Erwartungen auf sich selbst synchronisiert dann wird es in der Frequenz um mehr als 0,3-0,5Hz abdriften, was den Schutz auslösen wird. Wahrscheinlicher ist aber, daß die Spannung aus dem Bereich von 210-250V herausläuft, dann erfolgt ebenfalls eine Abschaltung. Und bei Inselnetzbildung wo sich ohne einspeisendes Netz ein stabiler Zustand einstellt wo Frequenz und Höhe der Netzspannung genau stimmen würde auch kein professionell gefertigter Netzschutz einen Fehler messen können. Und kaufen darf ich so ein Gerät ja wohl oder wollt ihr mir das auch noch verbieten? Nochmal - es geht um einen 500W Wandler. Nicht um eine 3MW Windkraftanlage und auch nicht um ein 1400MW Atomkraftwerk. Wenn ihr mir unterstellt ich würde Elektriker toasten wollen dann kann ich in Zukunft jedem der eine Uhr mit Weckfunktion baut unterstellen er würde das für den Zünder einer thermonuklearen Bombe brauchen. Denkt doch mal nach bevor ihr solchen Schwachsinn von Euch gebt!
Das Projekt klingt schon interessant! Hast du dir schon mal Gedanken darüber gemacht, wie du die Testszenarien hinkriegst? Also 230V Wechselstrom mit grenzwertiger Frequenz, grenzwertiger Spannung, mit aussetzenden Vollwellen etc.?
Da läßt sich in größter Not schon etwas mit einem Trafo und 2-3 Lastwiderständen machen. Dann hebt das Ding die Spannung selber über die Abschaltschwelle. Nach unten gehts dann mit einer Glühlampe. Was den Ausfall von Halb- oder Vollwellen ausgeht mache ich mir keine großen Gedanken. Mit etwas Pech speist das Ding ein paar Halbwellen auf einen Kurzschluß ein - das werden die verwendeten Teile locker aushalten. Danach wird sowieso die Schutzschaltung auslösen und das Ding läuft erst weiter wenn das Netz wieder steht. Ist aber ein anderer Thread, ich hatte das extra getrennt weils mir hier nur um einen dafür brauchbaren PWM-IC ging.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.