PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Feldmühlenprojekt



TheSkunk
04.08.2009, 17:58
Hallo Allerseits,

da ich neu hier bin, schon einiges gelesen habe, aber speziell diese Problematik / Kombination hier noch nicht vorfand, poste ich mal mein Anliegen (ps. ich bin kein Elektroniker, nur Physiker i.A. ;-)).

Ich baue zur Zeit eine Feldmühle mit der Messelektronik auf Basis http://www.hcrs.at/FELDMU.HTM, einer eigenen Spannungsversorgung für alle Devices (Motorsteuerung per Mega168 PWM), etc. (Mechanik ist eine Eigenentwicklung mit der KF-UNI Graz). Im Prinzip habe ich alles fertig und es funktioniert auch alles, nur ist es aber leider so, dass die AD-Wandler in dem Mega 168 nur max. 10 bit Auflösung besitzen. Dies bedeutet bei einem Signalbereich von ~ -5V bis +5V, also delta ~ 10 V eine Auflösung von rund 10mV, obwohl die Elektronik in meiner Ausarbeitung eine Auflösung von 1mV (+/- 0.3mV) besitzt. Ich habe mich daher entschlossen einen externen AD-Wandler, den Max121 mit 14bit (Vin -5 bis +5V) (http://docs-europe.electrocomponents.com/webdocs/0810/0900766b80810b8f.pdf) dazwischen zuhängen und per SPI zu betreiben. Ich habe um die ganze Schaltung zu testen zur Zeit ein RN-MiniControl in Verwendung, wobei ich den ISP Port an dem auch die SPI's hängen per parallelem Kabel zur Programmierung verwenden. (Das RN-MiniControl ersetze ich später durch ein eigenes, nachgebautes, Board mit genau den Ports die ich benötige)

Dazu meine Fragen:

1) Wenn ich das ISP-Feature nicht verlieren will (also immer wieder meine Updates dort/per dem reinspielen möchte), aber dennoch den Max121 per SPI betreiben will, wie konstruiere ich sowas (Meine Idee grob: Umschalten zwischen Slave und Master des Mega168 - per Logikbaustein und einer Diode wenn Paralellkabel angehängt ist?)

2) Der Max121 hat 3 Betriebsarten, Modus 3 (continous) ist vermutlich nicht zu empfehlen, oder? Was würdet ihr nehmen - bzw. wie würdet ihr das konstruieren?


Eckdaten:
* Signale der Feldmühle -5 bis +5 V - soll digitalisiert und vom Mega168 empfangen werden
* µC Mega168 mit 16MHz Quarz, und Max232
* AD-Converter Max121
* Spannungsversorgung: 230V --> 2x15V AC mit je 35W (Eisenkerntrafo) --> daraus +/- 7,5V DC mit je 1A max, +12V DC 1,5A max, +15V DC 1,5A max , +5V DC 1,5A max, 9V DC mit 2A max (davon 1,2A für Motor reserviert)


LG
Robert

Hubert.G
04.08.2009, 18:25
Die einfachste Lösung ist, wenn du den CS des MAX verwendest. Einen PullUp dran, etwa 10k, auf einen Pin des µC legen, der wärend der Nutzung des MAX CS auf GND zieht.

TheSkunk
04.08.2009, 19:03
Danke für den prompten Tip, aber geht auch folgendes:

Ich betreibe den µC als Master und setze per SW (also erst wenn der µC im normalen Betrieb ist, bzw. die in ihm befindliche SW "das will") über irgendeinen Port beim µC SS auf high und betreibe den Max121 dennoch als Slave. Dabei verwende/setze ich dann CS (also Betrieb in Mode2) auf low wenn ich was vom Max121 will (clk etc. wird nat. auch verwendet und richtig angehängt) - und lese dann 2x 1 Byte.

LG
Robert

Besserwessi
04.08.2009, 20:10
Wird die Syncrongleichrichtung in Hardware oder in Software gemacht ?
Wenn man die Gleichrichtung in Software gemacht wird, und in Hardware nur einen Filter da ist, hat man auch mit dem internen AD Wandler eine Massive Überabtastung um kann deultich mehr als 10 Bit Auflösung für da endergebnis bekommen. Je Nach Zeit sollten 14 Bit duchaus drin sein. Allerdings muß man dann schon wirlich auf die Qualität der Referenz achten.
Mit dem 14 Bit AD kann man den Filter vor dem AD-Wandler deulich einfacher gestallten. Da macht es dann wirklich Sinn keinen hardware Syncrongleichrichter mehr zu nehmen. Wenn der µC das schaft, wäre es duchaus OK den AD wandler durchlaufen zu lassen. Man muß ja nicht den maximalen Takt nehmen. Zwischen den Vielleicht 100 Hz der Feldmühle und maximal 300 kSPS des ADs ist ja noch einiges an Luft.

Beim µC wäre zu überlegen einen dsPic zu nehmen. Da hat man einen 12 Bit AD intern und die Rechenleistung ist einiges höher, gerade für die benötigten Multiplickationen mit 16 Bit Zahlen. Wenn der Stromverbrauch einigermaßen klein ist, wäre auch Batteriebetreib möglich, wenn der Motor das mitmacht.

TheSkunk
05.08.2009, 11:14
*) 12 Bit geht einfach nicht - da habe ich dann 4096 zum Auflösen von 10V - also eine Auflösung von 1bit = 2,44 mV (Ich brauche aber mindestens >=1 mV Auflösung, und das geht nur mit >=14 Bit)

*) Welche Gleichrichtung? - ich erhalte von der Elektronik des Messinstruments (Feldmühle / oder auch jedes andere) ein Gleichspannungssignal (-5 bis +5V) welches ich noch max. ein wenige "hübschen" werde um ein etwaiges Rauschen im 0.x mV Bereich rauszubekommen, dieses hat also quasi keine Frequenz mehr (is alles erledigt ;-)).

Die Messelektronik und Signale sind einwandfrei, das ist gar nicht das Thema - da will ich auch nichts mehr ändern weil es perfekt und präzise mißt. Mir geht es nur mehr um die Ansteuerung/Verbindung des Max121 mit dem Mega168 - wobei vermtl. der Mega den Takt vorgeben wird (Master) und, wenn hier niemand schwere Einwände begründet (weil ich mich da gewaltig irre ;-)), vermtl. im Mode 2 operieren wird.

LG
Robert

Besserwessi
05.08.2009, 17:49
Wenn die Elektronik schon eine Gleichspannung rausgibt, ist der max121 nicht unbedingt die beste Wahl. Da braucht man dann eher was mit mehr Auflösung und dafür langsamer, z.B. MCP3421 oder LTC2440, auch wenn dann die Auflösung mehr durch den Analogteil bestimmt ist. Der max121 würde wohl auch gehen ist aber eher was für schnelle signale udn vermutlich relativ teuer.


Die Elektronik der Feldmühle macht eine Syncrone Gleichrichtung um aus der Wechselspannung eine geleichspannung zu machen. In der schaltung aus dem Link werden da CMOS Schalter genutz. Man kann den Teil mit den CMOS Schaltern auch schon diegital machen. Einfach das Signal hinter dem Verstärker digitalisieren und dann rechnerisch die Gleichrichtung machen. Damit hat man den Vorteil, dass man fast keine Drift mehr hat, denn der AD wandler verarbeitet nur noch ein AC Signal. Außerdem tastet man nicht nur einen Wert, sondern ein mehr oder weniger sinusähnliches Signal ab, bei dem man die Amplitude bestimmt. Daduch kann man auch mit einem 10 Bit Wandler für des AC Signal deutlich mehr als 10 Bit Auflösung bekommen. 14 Bit Auflösung sind da durchaus drin.

TheSkunk
05.08.2009, 20:30
Hm, klingt plausibel, nur bin ich "elektronisch" vermutlich noch nicht so weit, dass ich das sauber hin bekomme ;-).

Besserwessi
05.08.2009, 20:47
Wenn man nur das DC signal auswerten will, ist es nicht so wesenlich wie man den ADC verbindet, denn man muß nur recht langsam, z.B. alle 1 ms bis 100 ms messen. Da ist der max 121 dann wirklich überdimensioniet und nicht optimal. Die Signal delta Wandler wie LTC24xx haben auch noch den Vorteil, das man sich weniger um einen anti-aliasing Filter kümmern muß.

Idelerweise ist dann das Messintervall auch ein vielfaches der Periode des Wechselstromsignals, bzw. der 50 Hz. Etwas mitteln in Software kann da auch nicht schaden.

TheSkunk
07.08.2009, 09:19
Hallo Besserwessi, erstmal danke für Deine prompte Hilfe ;-). Leider habe ich den Max121 schon längst besorgt gehabt (ps. kostet 21EUR), nun will ich ihn nat. auch verwenden, sonst verstaubt mir das Ding noch irgendwo und das bringt auch nix. Der Max121 lässt sich mit min 100kHz betreiben, das ist nat noch Faktor 100 über der von Dir vorgeschlagenen 1 ms. Die Feldmühle hat ein Signal mit ~30-50 Hz (je nach Drehzahl) welches eben schon gleichgerichtet ist. Ich denke, wenn ich mit 100kHz messe, die Werte dann per SW behandle (glätte), dann müsste es ja gehen, oder hab ich da einen Denkfehler? (wenns so nicht geht, dann muss ich das Ding halt wegwerfen, bzw. verstauben lassen ;-))

(... ich hab's mittlerweile leider auch kapiert, dass das Ding zu überdimensioniert ist, tja, man sollt halt vorher fragen :roll: )

LG
Robert

Besserwessi
07.08.2009, 09:51
Kar geht es das Quasi Gleichspannungssignal auch so schnell abzutasten. Immerhin kreigt man duch das mitteln wohl auch mehr als 14 Bit Auflösung. Der Mega 186 sollte noch schnell genug sein für ein mitteln der so schnellen signale.

Duch die richtige Wahl der Zeit für die Mittelung kann man wenigstens eine der vermutlich vorhandenen Störfrequenzen unterdrücken. Das wären vor allem 50 Hz und das doppelte der Frequenz des Feldmühlen signals (60-100 Hz) und ggf. die differenz von 50 Hz zur Frequenz der Feldmühle. Für einen echten Digitalen Filter ist der AVR vermutlich etwas langsam, wenn man mit den vollen 100 kHz arbeitet. Man kann aber auch erstmal z.B. je 4-16 Samples addieren. Dann wird auch ein echter digitaler Filter möglich.

TheSkunk
08.08.2009, 15:46
Genau so habe ich mir das ca. gedacht - wobei ich zugeben muss, dass ich mich dadurch auch ein wenig selbst verdorben habe ;-). --> Ich hatte schon mal einen 12bit AD Wandler (ebenfalls selbst gebaut) an der selben FM-Elektronik hängen wobei ich die Signale dort alle 1ms per RS232 ausgelesen, über 10ms fix geglättet habe und dann noch variabel einstellbar eine weitere Glättung von/ab 10ms bis zu 5s programmierte. Das Rauschen konnte bei ~ 1 bis 1,5s dann ziemlich unterdrückt werden und das Signal schwankte dann auch nicht mehr. Ich habe damals aber nur den positiven Betrag (0-5V) ausgewertet und konnte ~1,2mV auflösen.

TheSkunk
09.08.2009, 16:37
Hallo Leute,

ich habe einen Schaltplan für die komplette Spannungsversorgung für die FM-Elektronik (S_3), für ein Board mit µC & AD-Wandler Max121 (S_4 - Board noch unter Konstruktion), für einen Gehäuseventilator (S_10) und für den Motor (S_8 - max. 1,5A) zusammengebastelt. Weiters sind dort noch Anschlüsse drauf, die direkt mit dem µC verbunden werden können, wie die Motorgeschwindigkeitsregelung (S_7 - per µC PWM), Lüfterregelung (S_9 - PWM oder I/O), sowie ein Temperatursensor (S_11). Board #1 (S_0) wird über einen externen Gleichrichter versorgt (S_12), Board 2# 1x von Board #1 (S_1 --> S_5) und ein anderes mal für die Spannungsaufteilung direkt vom Trafo (S_13 --> S_2)

Das Layout der Platinen ist ein wenig verrückt, da es 2 Teile sind die in einem runden Gehäuse (R=10cm) untergebracht werden müssen.

Falls wer Lust und Laune hat, so bitte ich ob Ihr nur mal kurz drüber schaut um eventuell grobe Fehler aufzuzeigen (bevor ich das ganze Werk auf Platinen bringe).

LG
Robert

Besserwessi
09.08.2009, 18:00
Der Elko beim PWM Signal zum Motor ist falsch. Wenn man das PWM Signal unbedingt glätten will/muß, sollte da eine Induktivität und Freilaufdiode zu. Eine Freilaufdiode wird man für den Motor sowieso brauchen.

Das Netzteil ist ziehmlich unübersichtlich. Es sind zu viele Regler drauf. Die ganzen Regler in Reihe machen nicht viel Sinn. Leiber ein regler mit richtigem Gleichrichter. Die 78xx Regler sollte auch noch eine Rückwärtsdiode haben, als Schutz gegen Spannung an Ausgang, ohne Spannung am Eingang. Wenn man Probleme mit der Verlustleistung an den Reglern hat, könnte man auch einfache Vorwiderstande nutzen. Wenn man die Widerstände zwischen seperatem Gleichrichter und Elko hat, wird dadurch sogar der Power Faktor etwas besser und der Gesamtverlust wird niedrieger.

Die Kondensatoren zu den Reglern sollte so dicht wie möglich an die Regler.



Der Temperatursensor braucht nun wirklich keinen eigenen Spannungsregler.

TheSkunk
09.08.2009, 19:41
Danke für die überaus wertvollen Tips, als "Anfänger" versucht man viel und testet halt rum, nur alles kann man halt nicht wissen ;-).

@PWM-Signal glätten (sonst hörte man den Motor ein wenig rattern - deshalb der Elko), aber wie mach ich das genau mit der Spule?

(-)---MFET---L?---Motor-------(+)
|
(-)-----Diode>--------------|

...und wie stark soll die Spule L sein (µH), damit ich so was ähnliches wie mit dem 470µ Elko erhalte (der glättet das recht net ..)

@Rückwärtsdioden: Die häng ich einfach so wie auch schon beim IC2 und IC10 rein? (fressen die mir nicht zuviel weg bzgl. µC oder AD-Wandler?)

@Verlustleistung und Vorwiderstand und Elko: verstehe ich das so richtig?:

------------Cg-----
| |
GLR(+)---Rv---Cv---78xx---GLR(-)
|
|
out

..bzw. wie gross soll der Rv und Cv dann sein?

Besserwessi
09.08.2009, 20:33
Die Rückwärtsdioden kommen parallel zum Regler. Beim 78xx mit der Kathode zum Eingang und der Anode zum Ausgang.

Das mit dem Serienwiderstand macht vor allem dann sinn, wenn man eine relativ hohe Spannung am Eingang und niedriege am Ausgang hat. Hier wird man aus den 15 V AC etwa 17-18 V DC bekommen. Der 78xx sollte wenigstens 2,5 V besser 4 V zum Regeln haben. Den Rest könnte Man am Widerstand verbraten. Beim Strom muß man berücksichteigen, das der eher nur gepulst fließt. Entsprechend muß der Widerstand eher kleiner werden als man sonst denkt. Da wird man wohl entweder etwas Probieren oder simulieren müßen wennman passende Werte haben will. Sonst lieber etwas kleiner.
Als Beispiel für den 5 V Regler:
Der Regler solle 5V+4V= 9V haben. Die Eingangsspannung wird etwa 17 V sein, macht also 8 V für den Widerstand. Für einen mittlere Strom von 1 A wird der Spitzenwert etwa 2 A sein. Der passende Widerstand also etwa 8V/2A = 4 Ohm. Von der Leistung muß man mit 8 Vx1A = 8 W rechnen, eher weniger, denn die 2 A als Spitzenstrom sind schon eher groß angesetzt. Wenn der maximale Strom kleiner wird, können die Widerstände größer werden.
Der Elko für die +-12 V Regler sollte einen unabhängigen Gleichrichter bekommen, damit hier klein Strom zurück in die anderen Elkos fließt.
Der Elko sollte die Typischen 2200 µF je A sein. Für die +-12 V Regler lieber etwas mehr, bei anderen kanns auch etwas weniger sein. Die 7,5 V und 9 V könnte man wohl auch bei den Elkos zusammenfassen.

Zum PWM Signal:
ZUm glätten des PWM Signals sollte der Elko Parallel zum Motor sein. Die Spule wie schon gezeigt zwischen MOSFET und Motor/Elko. Die Diode (Shottky) kommt vom MOSFET nach (+).
Wie groß die Spule werden sollte, hängt von der PWM Frequenz ab. Die Dimensionierung ist wie bei einem Schaltnetzteil. In der ein zeit von z.B. 50% sollte der Strom um weniger als etwa 30% des Nennstroms steigen. Für eine Frequenz von z.B. 20 kHz und einen Motorstrom von z.B. 1 A bei 5 V: L = 25µs/0.3A * 5 V = 417 µH. So ganz kritisch ist der Wert aber nicht.

Für eine höhere PWM Frequenz sollte der Widerstand vor den Gate aber deutlich kleiner sein, eher 220 Ohm.

Edit: der gezeigte FET ist kein Logic Level, geht also nicht direkt am µC.

TheSkunk
10.08.2009, 02:20
..ups, sorry .. alles ein wenig verrutscht, hier nochmals:


PWM
|
(-)--MFET--L?--Motor---(+)
|
(-)-----Diode?>--------|


..und das zweite:


------------Cg------
| |
GLR(+)---Rv---Cv---78xx---GLR(-)
|
|
out

TheSkunk
10.08.2009, 13:36
@Simulieren, was gibt's da für SW, bzw. ich verwende Eagle Prof. (auch erst das erste mal hier beim Projekt) - kann ich da was damit simulieren? (Im Menü find ich jedenfalls nix)

@Spule: Ich find im 100-500µH Bereich nur Drosseln die riesig sind und max 500mA vertragen (?!?!), der Motor rennt ja dann direkt über die Spule (in Serie), d.h. da fließt der gesamte Strom drüber, was in meinem Fall bei ~9V (max PWM) eben um die 1A ist und im Einschaltvorgang so um die gemessenen 1.3 bis 1.5 A

TheSkunk
11.08.2009, 17:17
Soda, ich hab mal das so gemacht wie du vorgeschlagen hast: ich bin mit 9V (einem 7809) auf (+), habe eine Freilaufdiode zwischen Ausgang 7809 und den Ausgang am Mosfet reingehängt und nach dem Mosfet zum Motor 2x 200µH hintereinander reingehängt. Nun geht das zwar, aber der Motor hört sich an wie eine alte Strassenbahn - (PWM 16MHz, timer0, prescale 64 also ~ 980 Hz) - man hört so ein typisches "Elektro-Surren" was nicht zum aushalten ist ;-). Es macht auch keinen Unterschied ob ich die Spulen entferne. Wenn ich den Prescaler runter setze so wird's höher (logisch), aber auch der Bereich wo der Motor überhaupt reagiert wird gegen Max. verschoben und in Summe geringer (auch logisch). Bei prescale=0 ist zwar kein Surren mehr da, aber der Motor reagiert erst ab einem compare von ~80 (bei 256 ist's 250!) ... - also unbrauchbar für mich

Das Problem ist, wenn der Motor mit ~ 4,5V betrieben (50%PWM) wird, braucht er um die 0.7A da er einige Last zu bewegen hat (mein Flügelrad ist aus Alu gefräßt, hat einen Durchmesser von 20cm ist 5mm dick und 4-blättrig - also nicht so ein Miniding wie bei den anderen Feldmühlen - dazu kommen noch Lagerreibungen etc.)

Ps: Motor hat Bürsten und macht bei 12V (max) 5000UpM wobei er dabei bis zu ~5A ziehen kann, wenn ich ihn mit 9V betreibe macht er ~ 3000 UpM mit der drauf befindlichen Last eben.


@Kondensator: wenn ich den Motor so betreibe, wie im Schaltplan dargestellt, dann läuft er ruhig, lässt sich per PWM über den gesamten von mir bevorzugten Drehzahlbereich regeln.

Besserwessi
11.08.2009, 17:53
So ein großer Motor ist für eine Feldmühle völlig überdimensioniert. ICh würde da eher so etwas nehmen wie den Motor aus einem alten tragbaren Kassettenspieler. Die sollten eher so 10-100 mA an Strom brauchen. Auch für ein größeres Rad sollte das reichen. Wenn man so viel Lagerreibung hat, läuft das Lager irgendwann heiß. Die Extra masse Gibt halt einen langsameren Anlauf.

Die Schaltung sollte etwa so aussehen:


GND ---- FET ---- Spule ----- Motor ---(+)
|
-----|<| ----------------(+)

ggf. noch ein Elko Parallel zum Motor. Besonders bei einer eher niedriegen Frequenz wird die Spule auch etwas größer sein. Bei 1 Khz müßte die Spule schon richtig groß sein, deshalt sollte man schon etwa 20 kHz nehmen, dann hört man auch nichts mehr. Auch bei 20 kHz wird die Spule nicht ganz klein. Man könnte als Spannung für den Motor auch gleich einen höhere Spannung (z.B. 12 V) nehmen und dafür weniger beim PWM Verhältnis.

Eine andere Alternative wäre es ein Schaltregler IC (z.B. LM2576) zu nehmen und da ein Gleichspannung (aus einem PWM Signal) bei der Rückkopplung einzukoppeln, um die Spannung zu verändern. Dann könnte man auch ganz ohne vorherigen Spannungsregler auskommen und hätte deutlich weniger Wärmeentwicklung. Das wäre hier vermutlich die bessere Wahl.

TheSkunk
12.08.2009, 10:47
Also der Tip mit dem LM2576 war sehr gut ;-), danke. (ausserdem habe ich den Trafo von 2x15V auf 2x12V reduziert)


ps. Bzgl. Motor und Mechanik - das ist im Forum nicht so einfach zu beschreiben, dass müsstest du schon selber dir mal ansehen. Das ganze Ding ist recht groß (R=11, H=50), aus Stahl und Alu gedreht, absolut wasserdicht, korrosionsbeständig, etc. und wiegt ~15kg mit dem Gehäuse. Es ist keine Bastlerlösung mehr, wo auf der Motorwelle das Flügelrad draufsitzt, usw. Dementsprechend der etwas stärkere Motor - der schaft dies aber auch wieder - ein Kassettenrekorder-Motor schaft das gar nicht was ich da antreibe, bzw. nicht mit der Drehzahl bei Last (die Lager werden übrigens auch nicht heiß, sie sind halt nur da ;-) weil Motor und Welle nicht direkt miteinander verbunden sind - wegen Vibrationen, etc.) Ich mach Dir mal ein Foto und stells da rein.#

LG
Robert

TheSkunk
12.08.2009, 20:04
Bzgl. Netzteil: Folgende nun im Schaltplan dargestellte Variante habe ich getestet und über einen längeren Zeitraum laufen lassen. Dabei wird nix wirklich heiß, so daß man sich die Finger verbrennt oder irgend ein Schutzmechanismus was abschaltet. Weiters funktioniert die Drehzahlregelung per PWM nun auch wieder (ohne lästiges Surren) und auch in dem von mir vorgesehenen Drehzahlbereich. (ps. Spule hab ich noch keine, muss erst bestellen - wenn ich weiß was ich bekommen kann, dann bau ichs ein, läuft aber auch so recht fein)