Hallo, ich suche jetzt schon längere Zeit herum, finde aber keine Lösung zu meinem Problem. Folgendes: Ich soll eine Schaltung entwerfen, mit der ich 64 Peltierelemente gleichzeitig regeln soll. Die Messung der Temperaturen übernimmt ein PIC18F4550 (sollte mit PT100 und MUX kein großes Problem sein), die Vorgabewerte kommen über USB auch zum PIC, welcher die Regelung übernehmen soll. Nun kommt das Problem - die 64fache PWM. Da ich heizen und kühlen muss, benötige ich eine H-Brücke. Nun weiß ich aber nicht, ob und wie ich die PWM am besten erzeugen soll bzw. überhaupt kann. Eine Möglichkeit wäre eventuell die Verwendung mehrerer Slave-PICs, die jeweils einige PWMs erzeugen. Jedoch schreckt mich hier erstens die Kommunikation zwischen den PICs ein wenig ab. Daher habe ich mir überlegt, dass ich als Eingang für die H-Brücken Flip-Flops verwende, die ich mittels PIC alle gleichzeitig setze (bzw. bei invertierter PWM rücksetze) und dann mit Hilfe einer vorgeschaltenen Logik einzeln nach Ablauf der jeweiligen Pulsdauer rücksetze. Damit müsste ich für 64 Peltierelemente (und somit 128 Flip-Flops, da ich eine Vollbrücke habe) mit 7 Ports am PIC auskommen. Um mir den Aufbau der Logik mit 74Hxyz zu ersparen, denke ich an ein CPLD. Sind nun meine Überlegungen absoluter Mist oder bin ich da schon auf dem richtigen Weg? Vorweg schon Mal danke für eure Bemühungen! Berni
nimm ne fpga... spartan-3an, die ist von aussen betrachtet wie eine cpld, da sie ihr konfigurationsflash beinhaltet... und in einer fpga hast du genug puffer, um dir eine pwmperipherie reinzusynthetisieren einen zähler rein, 64-compare register rein... dann einen spi oder I2C slave reinimplementieren... un gut aufwand vllt 2 manntage...
Das mit dem Aufwand von 2 Manntagen ist so eine Sache, wenn man von FPGA keine Ahnung hat ;-) Das heißt, der PIC kommuniziert mit der FPGA per i2c, und die pwm wird in der fpga umgesetzt, verstehe ich das richtig? Dazu benötige ich dann wohl ein Development-Kit von Xilinx und jede Menge Zeit, um mich da reinzuarbeiten :-\ Aber danke für die Anregung!
hmmm, ok, wenn brauchen tust das webpack (IDE von xilinx, kostenlos) und den programmier dongel kann man für den PC-parellelport mit 2 logikgattern nach frei verfügbarem schaltplan selbststricken... vhdl solltest du beherrschen... ich will so mutig sein, und sagen, wenn du mit dem webpack cplds im griff hast, das spiele 2 tage mit der fpga dann passt es... klaa, ein fpga-testboard brauchst du ...und ja, so wie du dachtest stellte ich es mir vor die unbekannte namens einarbeitung halte ich allerdings ebenfalls für zeitlich riskant... grüße ...
Vor allem braucht man das Wissen, dass PEltiers keine PWM mögen, das verringert nämlich den Wirkungsgrad zum Teil erheblich. Du brauchst 64 steuerbare DC/DC Wandler. Viel Spass ;-) 64 PWMs könnte man bei niedriger PWM Frequenz und Auflösung per Soft-PWM machen, das braucht aber ein grossen uC mit VIELEN Pins. Gehäuse TQ100++ MFG Falk
Du solltest erstmal feststellen, wie schnell und wie genau Du regeln mußt, ob es plötzlich Lastsprünge gibt, wie träge Dein System ist usw. Temperaturregelungen sind in der Regel sehr träge, daher hat sich die einfache Zweipunktregelung sehr gut bewährt. Man schaltet immer voll ein und aus und die Trägheit des Systems übernimmt automatisch die Glättung. Eine PWM braucht man dann garnicht. Oftmals sind die einfachen Lösungen die besten. Peter P.S.: Ich bezweifle auch, daß man VHDL in nur 2 Tagen lernen kann.
>P.S.: >Ich bezweifle auch, daß man VHDL in nur 2 Tagen lernen kann. lies richtig, ich schreib er sollte es bereits beherrschen...
Ich würde den MCP4725A0T-E/CH einsetzen, einfach A0 (i2C Adress selection) über den Multiplexer zusätzlich ansteuern und i2c (HW) sowie die Temperaturmessung kombinieren. Ok, in Wirklichkeit würde ich einen 14 Pin Pic nehmen, vorkalibrierte NTC, und dann jeweils 4 Peltier über so einen Pic steuern. Das macht 16 Pics mit I2C auf zwei unterschiedlichen I2C Leitungen sowie ein usb->i2c Pic.
Ich bin auch der Meinung, dass du prüfen solltest, ob es mit einer einfachen 2-Punkt-Regelung nicht getan ist. Dann bleibt nur noch das "Problem", dass du so nen Haufen Pins brauchst. Aber das kannst über ne Porterweiterung mit Registern und Adressdecodern machen oder seriell über ne Kette von Schieberegistern.
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.