Forum: Mikrocontroller und Digitale Elektronik LAING DDC Pumpe µC gesteuert *help/beratung*


von Sonic G. (vegasun)


Lesenswert?

Hallo ich bin neu hier im Forum und hoffe ihr könnt mir beim Einstieg 
ein bischen helfen.

Ich möchte mit Hilfe eines Microcontrollers eine Laing DDC wasserpumpe 
ansteuern. Und zwar benötigt die pumpe beim start min. 12V und hat einen 
Anlaufstrom von ca. 5A. Die Anlaufphase ist ca. 10sec lang.

Ich möchte mit einem µC, der nach dem Start des PC 10sec die volle 
Spannung der Pumpe zur Verfügung stellt und dann auf 6~7V 
runterschaltet, eine Steuerung realisieren.

Jetzt würde ich gern die Bauteile bei Reihelt bestellen und weis 
garnicht wo ich anfangen soll, bzw was für einen µC ich nehmen soll.

--> Gedacht hab ich an einen AVRTiny XX (wechen kann man mit C 
programmieren und ist empfelenswert ? )

--> Kann ich das "flashen"  von einem AVRTiny mit dem einfachen 
LPT-Adapter auf der folgenden Seite durchführen ?? 
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm

--> Brauch ich zu meinen Zwechen einen externen Oszillator ?

(mir gehts hier bei unteranderem um einen Lerneffekt beim Umgang mit µC 
und C-Programmierung)

von Christian -. (kakuijin)


Lesenswert?

Uii Uii, gleich am Anfang soooo viel auf einmal...

Hattest du eigentlich schon einmal was mit Schaltnetzteilen o.ä. 
gemacht???
Das was du vor hast ist für einen ?Anfänger? alles andere als leicht, 
wie wäre es wenn du dich erst einmal mit den ganzen Grundlagen usw. 
vertraut machst?

lg

von Sonic G. (vegasun)


Lesenswert?

hehe ^^

bischen Ahnung habe ich von allem ;) mir fehlt die Praktische erfahrung 
mit den sachen, da man während des Studiums immer halbfertige sachen hat 
und kaum selber was macht. (bzw. viel Theorie )

Und erst wenn man anfängt selber was zu entwickeln und zu basteln ist 
der Lerneffk grösser.

Ich weis halt nicht was ich jetzt alles brauche um mit dem Programmieren 
und Testen anzufangen.

Die Umsetzung der Spannungsregelunug wollte mit folgenden Bauteilen 
realisieren: (Op-Amp,µA 741 DIP und IRF 5305, P-Kanal MOSFET )

Den Op wollte ich an den OUT von dem µC (ATtiny vllt."85") hängen.

Ein ATmega8 wäre für meine Zwecke glaub ich zu überdemensieoniert ^^ 
aber ich will mir auch einen ATmega8 (28DIP) zum Basteln und 
experimentieren bestelln.

Wollte am Anfags einen Timer N555 verwenden aber mich interessieret das 
Progrmaiieren und der Umgang mit µC doch sehr.

von Christian -. (kakuijin)


Lesenswert?

Da ich nur mit PICs Arbeite...
ma nen paar Tipps zum aufbau:

Ein PWM-Modul sollte MCU schon haben. Sowie ein ADC-Modul.
Ein Spannungsteiler oder OP benötigst du für das Feedback des Motors.
Den MCU solltest du vor Spannungsspitzen schützen.
Du benötigst auf jedenfall eine Extra Spannungsversorgung für den MCU, 
da der Start bei dir nicht ja nicht kleinlich ausfällt.. die 
entsprechenden Kondensatoren dafür.
Du musst das PWM-Signal von 5V nach 10V oder mehr wandeln da der IRX 
erst weit über 5V schaltet.
Vergiss nicht die Kritischen stellen die bei einem Defekt mehr als 5,5V 
am MCU mit einer Zener zu schützen.
Das Feedback signal am besten per Software Filtern.

umm.. !glaub! das wars glaub so von meiner Seite so.. ;)

von Sonic G. (vegasun)


Lesenswert?

Wozu brauche ich in meinem Fall PWM `?

von Mario M. (icewind)


Lesenswert?

Hallo Sonic,
erstmal, nicht abschrecken lassen ;-)

Um deine Fragen mal einzeln durchzugehen:

Mit C programmieren lassen sich m.E. alle AVRs, eine gute Umgebung ist 
das AVR Studio von ATMEL zusammen mit dem WinAVR-Compiler(frei).

Für deine Zwecke und zum Einstieg ist z.B. ein Attiny13 oder Konsorten 
ganz brauchbar. Für eine zeitgesteuerte Abfolge hat der alles an Bord, 
sogar PWM wenn ich mich nicht stark irre. Für etwas größere Anwendungen 
gäbe es da z.B. den Attiny2313, aber ich behaupte mal das wäre für die 
Pumpe hier overkill. Zum Basteln ist ein Mega8 eine gute Grundlage!

Mit den Infos von http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
bin ich seinerzeit auch in die AVRs eingestiegen und der Programmer ist 
prima, ich empfehle dir aber den seriellen (COMPort) Programmer zusammen 
mit Ponyprog, der leistet mir immernoch gute Dienste. Der parallele hat 
manchmal seine Macken.

Einen externen Oszillator brauchst du für den Anfang nicht, für deine 
Zwecke reicht der interne Takt des Tiny, der auch ab Lieferung aktiv 
ist. Der ist zwar etwas ungenauer, aber bei der Taktrate und den Zeiten 
gleicht sich das aus. Für den ATmega könntest du z.B. einen 4MHz-Quartz 
oder einen 11.059200 MHz-"Baudratenquartz" heranziehen, wobei mit 
letzterem auch später Kommunikation mit dem PC gleich sauber klappt. 
Dazu kommen normal zwei ~27pF-Keramikkondensatoren von den 
Quartzanschlüssen nach Masse.
Um es gleich zu sagen: Datenblatt lesen!!! Wenn du die Fusebits des MC 
auf Quartz stellst und dann keinen dran hast, lässt sich der MC nur 
programmieren wenn ein Quartz oder eine brauchbare Taktquelle dranhängt. 
Also genau hingucken und zweimal checken bevor du die Fuses setzt ;-)

Wichtig sind immer ein paar 100nF-Folienkondensatoren um den MC vor 
Störeinflüssen zu schützen (kommen nahe beim Chip zwischen Vcc und 
Masse).
Dazu gehört auch eine saubere Spannungsversorgung, die du mit einem 
7805-Festspannungsregler und ein paar 100nF + einem kleinen Elko je vor 
und hinter dem Regler nach nach Masse realisieren kannst.

Zum Schluss, was Christian meint - man kann Pumpen und Lüfter über PWM 
ähnlich einem Dimmer steuern (ich vermute das Verfahren ist dir 
bekannt). Hier sind eben fließende Übergänge zwischen 0 und 100% möglich 
und die Beschaltung des MC besteht im besten Fall aus einem 
FET-Transistor in der Pumpenleitung und ein paar Widerständen. Wenn du 
von deinem MC nur einen Impuls willst, der deine externe Schaltung 
zwischen 7 und 12V wechseln lässt, dann ist das ok aber auf lange Sicht 
evtl. unter dem Potential deines Controllers.

Trotzdem spricht nichts dagegen langsam anzufangen! Erstmal zum laufen 
bringen und dann erweitern, sonst stehst du vor mehr Problemen als du 
auf einmal lösen kannst. Außerdem ist es immer mal sinnvoll, die 
allererste Übung mit einer einfachen LED zu machen, um ein Gefühl dafür 
zu bekommen, wie der MC arbeitet und wie nicht.

Gruß icewind

von Sonic G. (vegasun)


Lesenswert?

WOOOW ^^ danke für den sehr ausfühlichen Post, es freut mich sehr wie 
schnell und hilfsbereit hier die User sind :D

Ich werde natürlich wenn ich die sachen hier hab (muss erstmal alles 
zusammen suchen was ich bestellen will bei reichelt, damit ich nicht 2 
mal bestellen muss ^^ )

Hatte auch gedacht evtl. einen USBasp zu basteln ?? ist universeller 
oder ist das porblematisch ?


Wenn die MCUs da sind (will ATTiny45 einen ATmega8 und einen PIC?? ) 
dann bestellen, natürlich zuerst mit "Hello world LED" anfangen ^^


Bei der steurung der pumpe bin ich sehr hin und her gerissen:
A) Klein minimalistisch (tiny )
B) grössere MCU mit optional LEDs oder Sensoren  und mini LCD/SegmetANZ 
usw ..

Zur Pumpe !!!!! Diese verträgt keine PWM !!! und eigntlich will nicht 
diese steuern sondern nur 2 Zustände ( 12V und 5~7V <-- muss noch ma 
gucken min. Betriebsspannung )

von Christian -. (kakuijin)


Lesenswert?

Sonic Green schrieb:
> Zur Pumpe !!!!! Diese verträgt keine PWM !!! und eigntlich will nicht
> diese steuern sondern nur 2 Zustände ( 12V und 5~7V <-- muss noch ma
> gucken min. Betriebsspannung )

Du kannst einen Buck Converter nutzen.. aber dafür benötigt man ein PWM 
:)

Als alternative kannst du Mosfets nutzen und in denen die restliche 
Leistung verbraten was alles andere als eff. ist.

Oder du machst dir eine Phasen Schnitt Steuerung und richtest das Signal 
nachstehend gleich.. dafür benötigt man aber auch einen PWM.


Wieviel Strom saugt diese Pumpe eigentlich?? wenn es nicht allzuviel 
wäre könntest du auf die Mosfet variante zurückgreifen.

von Mario M. (icewind)


Lesenswert?

Naja, also ich würde dir empfehlen erstmal mit einer Timersteuerung für 
die Pumpe anzufangen, um ein Gefühl dafür zu bekommen, und dann nach und 
nach die Features zu "upgraden". Evtl. kannst du auch einfach gleich den 
Mega8 reinstecken, kleinere Aufgaben schaden dem ja nicht. Dafür kannst 
du nach Lust und Laune (und Speicherplatz ^^) nach und nach erweitern.

Zwischen dem normalen seriellen Progger und dem ASP gibt es jetzt 
funktional nicht sonderlich viele Unterschiede mal vom USB abgesehen - 
aber der ASP ist bestimmt schneller und vermutlich auch etwas weniger 
fehleranfällig als der serielle (der bei einem Bruchteil der Rechner 
wegen falscher COMPort-Spannung Mist baut).
Ponyprog braucht mit dem seriellen normal so ca. 30-40 Sekunden um einen 
kompletten Flash/Verify-Zyklus beim Mega8 durchzuführen, da kann man 
schonmal einen Kaffee trinken gehen.
Das lässt sich aber allein durch das Programm AVRDUDE schon verbessern, 
das ist der Kommandozeilen-Programmer der im WinAVR-Paket steckt. Der 
ist wahnsinnsschnell. PonyProg arbeitet da immer mit den laaaaangsamsten 
Timings, deshalb.

Natürlich musst du aber um den ASP zu bauen erstmal einen Atmel 
programmieren können ;)

BTW, nur als Anmerkung - Der PIC lässt sich meines Wissens nicht mit den 
selben Programmern beschreiben wie der AVR. Evtl. gibt es Ausnahmen, 
sind mir aber nicht bekannt und bestimmt nicht grade billig ^^.

von Christian -. (kakuijin)


Lesenswert?

Mario M. schrieb:
> BTW, nur als Anmerkung - Der PIC lässt sich meines Wissens nicht mit den
> selben Programmern beschreiben wie der AVR. Evtl. gibt es Ausnahmen,
> sind mir aber nicht bekannt und bestimmt nicht grade billig ^^.

Ob er jetzt ein PIC oder ein AVR nutzen wird ist relativ, alles hat vor 
und nachteile.

Ich nutze die PICs weil ich sie in der Schalung Proggen kann.
Weil ab PIC18 es einen 8x8 HW-Multiplikator gibt.
Ich keine extra Kondensatoren für den Quarz benötige.
Der ADC etwas besser als beim AVR ist.
Und ich buchstäblich die Qual der Wahl habe beim aussuchen eines 
passendes MCUs.

Das sind so meine Beweggründe, aber jedem das seinem.

lg

von Anon Y. (avion23)


Lesenswert?

An alle: Die Pumpe ist brushless motor! D.h. da ist eine Elektronik 
drin, die drei Phasen mit Rückkopplung und allem drum und dran erzeugt. 
Einen Brushless-regler dimmt man nicht per PWM.

Aber ein Vorschlag: Auf dem PCB der Pumpe ist ein Kontakt der aus der 
normalen Version eine Ultra macht. Zum Anlaufen oder für Volle Leistung 
kann man den überbrücken. Wenn man weniger Umdrehungen möchte, lässt man 
ihn offen. Das kann man per mikrocontroller machen. Wenn man möchte ;)

von Mario M. (icewind)


Lesenswert?

Christian --- schrieb:
> Ob er jetzt ein PIC oder ein AVR nutzen wird ist relativ, alles hat vor
> und nachteile.

Jo, ist mir bekannt, ich bin kein AVR-Verfechter ;-) Und am Ende benutzt 
eh jeder das, was er für sich am praktischsten findet - unabhängig von 
der Meinung anderer. Ist ja auch gut so.

Mir ging es nur darum zu erwähnen, dass Sonic einplanen muss einen 
anderen Progger für PICs zu verwenden, da er schrieb sich einen PIC 
mitbestellen zu wollen.

Gruß icewind

von Peter D. (peda)


Lesenswert?

Christian --- schrieb:
> Ich nutze die PICs weil ich sie in der Schalung Proggen kann.

Ist das denn was Besonderes?
Die AVRs können das alle, ohne Ausnahme.


> Der ADC etwas besser als beim AVR ist.

Kannst Du das irgendwie begründen oder ist das nur Dein Bauchgefühl.


Peter

von Karl H. (kbuchegg)


Lesenswert?

Wenn ich mich da kurz einklinken darf, da das noch nicht zurecht gerückt 
wurde.

Sonic Green schrieb:
> Ein ATmega8 wäre für meine Zwecke glaub ich zu überdemensieoniert ^^
> aber ich will mir auch einen ATmega8 (28DIP) zum Basteln und
> experimentieren bestelln.

Du hast schon recht. Für deine Anwendung ist ein Mega8 klar 
überdimensioniert. Auf der anderen Seite kostet ein Mega8 ein paar Cent 
mehr als ein Tiny, es spielt also praktisch keine wirkliche Rolle, ob 
der µC überdimensioniert ist oder nicht, solange nicht andere Probleme 
(physischer Platz) einen kleineren IC erfordern.

Entscheidender dürfte wohl sein, dass du einen Prozessor benutzt, bei 
dem die Stammleser hier nicht bei jeder popeligen Frage das Datenblatt 
konsultieren müssen. Mega8 (auf dem baut ja auch das Tutorial auf), 
könnte also dahingehend trotzdem eine gute Wahl sein.

von Sonic G. (vegasun)


Lesenswert?

Ja das war mir schon klar das der PIC einen anderen HW uns SW Porgger 
barucht ^^

Und zu pumpe: Ja die pumpe besitzt eigene elktronik und deswegen kann 
sie nicht über PWM gedrosselt werden.

START: ca 4,5 ~ 5 A

BETRIEB: 750 mA bei 12V (sinkt mit spannung)

Was es alles für Möglickeiten gibt, hab ich wiklich noch keine Ahnung :( 
kenne da vie zu wenig die verfügbaren Bauteile.

Das einzige was ich gesehen hatte auf der Seite Keiag.de wurde ein (IRF 
5305, P-Kanal MOSFET) verwendet um eine LAING pumpe zu drosseln.

http://img225.imageshack.us/img225/7249/pumpextensionsch.gif

von Sonic G. (vegasun)


Lesenswert?

Hab noch paar daten zu Pumpe:

DDC-2
Model name: MCP355
Nominal Voltage: 12 VDC
Operating Voltage range: 8 - 13.2 VDC
Minimum Starting Voltage: 9 VDC
Nominal Power (@12 V): 18 W
Nominal Current (@12 V): 1.46 Amp
Motor Type: Electronically commutated, brushless DC, spherical motor
Maximum Head: 20.2 ft (6.1 m)
Maximum Discharge: ~ 120 GPH (454 LPH)
Connection Size: 3/8" barbs
Maximum Pressure: 22 PSI (1.5 BAR)
Temperature Range: Up to 140°F (60°C)
Noise Level (Swiftech's Results): 30 ~ 32 dBA in a quiet room @ 2'
Electrical Connector: 4pin Molex
Weight: 7.3 oz (207 gr.)
RPM Sensor: 3 pin connector

von Mario M. (icewind)


Lesenswert?

> http://img225.imageshack.us/img225/7249/pumpextensionsch.gif

Der Leistungsteil sieht mir nach einem Längsregler mit Steuereingang 
aus...
Was du hier machen könntest: Ein PWM-Signal generieren und mit einem 
Kondensator zu einer sauberen Gleichspannung glätten, die du dann da 
einspeist, wo der AOut des IC hinführt. Resultat wäre voraussichtlich 
dasselbe. Die Spannung nach der Glättung ist dann durch die PWM 
regelbar.

Da die Prozessorausgänge im Normalfall nur Vcc, GND oder "offen" 
ausgeben können, bliebe alternativ nur eine Widerstandsmimik, die die 
entsprechenden Steuerspannungen an die Schaltung legt. In dem Fall ist 
eine PWM vermutlich schon das einfachere ;-)

von Sonic G. (vegasun)


Lesenswert?

Die DDC 2 ist glaube ich ich die ULTRA VERSION.

Die Normale hat:

DDC-1
Model name: MCP350
Nominal Voltage: 12 VDC
Operating Voltage range: 6 - 13.2 VDC
Nominal Power (@12 V): 8.3 W
Nominal Current (@12 V): .69 Amp
Motor Type: Electronically commutated, brushless DC, spherical motor
Maximum Head: 13.05 ft (4 m)
Maximum Discharge: ~ 92.4 GPH (350 LPH)
Connection Size: 3/8" barbs
Maximum Pressure: 22 PSI (1.5 BAR)
Temperature Range: Up to 140°F (60°C)
Noise Level (Swiftech's Results): 24 ~ 26 dBA in a quiet room @ 2'
Electrical Connector: 4pin Molex
Weight: 7.3 oz (207 gr.)
RPM Sensor: 3 pin connector

von Christian -. (kakuijin)


Lesenswert?

Peter Dannegger schrieb:
>> Der ADC etwas besser als beim AVR ist.
>
> Kannst Du das irgendwie begründen oder ist das nur Dein Bauchgefühl.

Hatte mal versucht ein HF-Sinus zu erkennen und abzugleichen...
Nach langer suche stellte sich heraus das ich mit nem PIC besser dran 
wäre weil der ADC nen Tick schneller ist ;) ca. 1,2MSPS schaff ich im 
Sleep mode

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
Noch kein Account? Hier anmelden.