Hallo liebe Leute! Da die mechanische Umsetzung meines Projektes mit einem Bekannten langsam aber sicher dem Ende zugeht, muss sich nun auf die Erstellung/Umsetzung der Hardware-Kommunikation und Software konzentriert werden. Kurzer Umriss unseres bisherigen Projektes: -Eines Tages letzten Winters kam meinem Bekannten und mir die Idee auf, ein Blockheizkraftwerk selbst zu bauen. Er hatte einen alten Drehstrommotor (von einer Tischkreissäge); Wärmetauscher,Wasserpumpen(Heizkreislauf:), Dieselmotor, Rahmen, Lichtmaschine, Kleinteile (Dichtungen, Muffen und Übergangsstücke) und Schläuche haben wir dazukaufen müssen. Für Interessenten, die unser Konzept betrachten wollen: http://home.arcor.de/logic88/bhkw.html Kurze Beschreibung zum Prinzip eines BHKWs: -> Ein Dieselmotor treibt mittels Keilriemen einen Generator an, der wiederum den dabei erzeugten Strom ins Netz einspeist (Kaum zu glauben: Der Stromzähler dreht sich dabei rückwärts!). Die dabei entstehende Wärme wird in den Heizkreislauf eingespeist. Das Ganze funktioniert mit Pflanzenöl (oder eben Diesel). Da PÖl aber billiger ist, wird auch PÖl verwendet. Nun zum Teil der bisherigen "manuellen" Steuerung, die nun automatisiert werden soll: Alles ist im Moment auf einem Pult mit Schaltern realisiert. 1. Starten der Kühlwasserpumpen. Warmwasser von der Heizung wird durch den Motorblock gepumpt, verhindert einen Kaltstart des Motors, was den Spritverbrauch nicht unnötig erhöht und den Motor schont. Vorgang sollte etwa 1-2 minuten laufen. 2. Die Pumpen laufen weiter. Nun wird der Elektromotor gestartet (mittels Schütz), der zunächst den Dieselmotor antreibt. Durch die dabei entstehende Kompression ensteht wieder Wärme die den Motor weiterhin "aufheizt". Der Gashebel des Diesels steht jetzt noch auf "0"-Stellung. Das soll etwa 30 sec. passieren. 3. Dieselmotor wird nun hochgefahren. Es wird Gas gegeben (bisher eben manuell, später ein Schrittmotor), bis der Dieselmotor höher dreht als die Nenndrehzahl des Generators ist. (sprich höher 1500 + 50 Schlupf = etwa 1550 1/min). NUN wird Strom ins Netz gespeist. -> Das Ganze soll mit einem Drehzahlsensor erfasst werden und in Abhängigkeit zur gemessenen Drehzahl am Schrittmotor gesteuert werden. 4. BHKW befindet sich nun im Betriebszustand; 5. BHKW soll heruntergefahren werden: Zunächst soll der Dieselmotor ausgeschaltet werden. Schrittmotor: Gasstellung auf "0" senken. Anschließendes Stoppen des E-Motors (Schütz). Die Pumpen sollen noch weiterhin (etwa 10 min) laufen. 6. Pumpen werden nun gestoppt, BHKW ist komplett "ausgeschaltet". Die obengenannten Schritte beziehen sich auf den "Auto-Ablauf". Unter Auto-Ablauf verstehe ich einen automatisierten Ablauf zur Ansteuerung von Aktoren (ggf.in Abhängigkeit von den Sensoren, wie beispielsweise bei Drehzahlerhöhung des Diesels) Neben den Auto-Abläufen soll es noch "Messwerte" geben. Unter Messwerte verstehe ich Echtzeit-Werte, die mir angezeigt werden, während oder während kein Auto-Ablauf läuft. (z.B. Anzeigen der Kühlwassertemperatur). Das Ganze soll mittels AVR Mikrocontroller und der UART-Übertragung an einem Windows-PC erfolgen. Der Controller wäre über die serielle Schnittstelle ständig am PC angeschlossen, der PC wäre ein Industrie-PC, der stationär am BHKW seinen Platz finden würde. Hier tun sich schon mal die ersten Fragen auf. - Wieviel Controller werden für die zeitkritischen Sachen benötigt? - Welche Prozesse werden am PC und welche auf dem Controller abgearbeitet (z.B. Polling am PC oder am Controller) - Wie verschalte ich die Peripherie? Ein ATmega16 hätte zwar genügend I/Os um alle Sensoren einzeln an ihm zu verdrahten. aber ist diese Art der Verdrahtung dann "professionell"? - Wie übertrage ich die Daten vom Controller (UART) an den PC? --> PROTOKOLL! Die voerst benötigten Sensoren/Aktoren: - Stellmotor zum Steuern des Gashebels - Stellmotor für Dekompressionshebel ("NOT-Aus" des Dieselmotors) - Schütz für Elektromotor - PWM-Ausgänge am µC zur Drehzahlsteuerung der beiden Wasserpumpen - Drehzahlerfassung des Dieselmotors - NTCs/PTCs für ADC am µC zur Temperaturerfassung (Kühlwassertemp. /Motortemp.) Für nähere Infos bitte Fragen! Ich erzähle gerne über mein Projekt :-) Vielen Dank für euere Hilfe.
>Etwa auch für ein BHKW? Ja. Sogar die Ablaufbeschreibung kam mir sehr bekannt vor ;-) Ein bekannter nannte das Teil mal: Beitrag "Re: Eingangsschaltung mit variabler Spannungsbereich" >Darf ich an deinem Wissen teilhaben? ;-) Na sicher.
Na gut :) Jedenfalls schon mal gut, wenn es hier einen Gleichgesinnten gibt ;-) Wie hast du dann die Steuerung realisiert? Mit welchem Controller?
An Deiner Stelle würde ich auf den PC verzichten und die ganze Steuerung mit einer SPS machen. Eine LOGO von Siemens würde sicher auch schon reichen. Dann hättest Du eine sicher und zuverlässige Steuerung. Hast Du mit deinem VNB über die Einspeisung ins öffentliche Stromnetz gesprochen?? Bist Du wirklich so naive zu glauben, der VNB erlaubt die Einspeisung mit einer selbstgefrickelten Anlage? Ich hab mal ein Paar Unterlagen eines großen VNBs beigelegt. Würde ich erst mal studieren bevor ich loslege.
Hallo, >-> Ein Dieselmotor treibt mittels Keilriemen einen Generator an, der >wiederum den dabei erzeugten Strom ins Netz einspeist (Kaum zu glauben: >Der Stromzähler dreht sich dabei rückwärts!). ist das mit eurem Stromversorger abgesprochen??? Ich denke nicht das das so erlaubt ist!!!
Ein mega8. Es gibt - 6 Relaisausgänge, - 8 dig. Eingänge, Optokoppler getrennt, - 8 anal. Eingänge, 6x für Temp (kty81) und 2x für Füllstand - achtstellige 7Segment Anzeige mit Menuführung - 8 Tasten zur Bedienung des Menus. ( Menu+/-, Submenu+/-, Wert+/-, Wert übernehmen/abbrechen) Menustruktur: 0) Zustand BHKW 1) Zustand dig. IN 2) Zustand dig. OUT (können geforct werden) 3) Timer (Eingabe von Verzögerungszeiten =>EEPROM) 4) Temperaturen/Füllstand 5) Helligkeit der Anzeige ist aber unvollständig. muss abends mal zuhause im Programm gucken. EDIT: >ist das mit eurem Stromversorger abgesprochen??? >Ich denke nicht das das so erlaubt ist!!! Ist bei meinem Nachbarn aber genauso. Ich fragte ebenfalls nach dem EVU. Er sagte, dass es dafür ein Gerät gibt. Hat nen komischen Namen und soll genau dafür sein... Es scheint somit so gedacht zu sein...
@Gast/ @Ganymed: Naja, wer lang frägt geht lang irr ;-) Aber danke für das Anhängen der Dateien. Und schließlich könnte ja auch der Wind mein Kreissägenblatt derart anblasen, dass die Säge plötzlich Strom zurückspeist ;-) Soviel ich weiß muss das EVU nur dann bescheid wissen, wenn ich den dafür zurückgespeisten Strom verkaufen will (pro kWh Geld bekomme). Außerdem betreiben wir einen Asynchron-Generator was heißt, dass kein zusätzliches Gerät notwendig ist, da sich der Generator an das Netz selbständig synchronisiert. @Matthias Lipinsky : Hast du dann deine Sensoren/Aktoren einfach an die PINS des ATmega8 angeschlossen? (Also natürlich mit Transistoren etc) oder machst du das über irgendein Bussystem, wie etwa I²C o.ä.? Gruß
Die dig. Eingänge sind ünber Optopokoppler getrennt, und die Temp-fühler sind mit ner Konstantstromquelle ausgestattet und gehen über "Angst"widerstände direkt an den ADC. Verbesserungsideen hab ich da an der ganzen Sache schon...
<Naja, wer lang frägt geht lang irr ;-) Stimmt <Soviel ich weiß muss das EVU nur dann bescheid wissen, wenn ich den <dafür zurückgespeisten Strom verkaufen will (pro kWh Geld bekomme). Stimmt nicht <Außerdem betreiben wir einen Asynchron-Generator was heißt, dass kein <zusätzliches Gerät notwendig ist, da sich der Generator an das Netz <selbständig synchronisiert. Und was ist wenn z.B mal einer den Verteilerkasten um die Ecke mit seinem Auto umfährt (ist letztens bei uns passiert :) (oder bei euch die Hauptsicherung durchbrennt) und das Netz weg ist?
@Martin: Werde ich bald machen, habe im Moment noch kein Bild von dem Gerät :-) @Matthias Lipinsky: Wie fragst du die ganzen Messwerte zyklisch ab? Läuft auf deinem Atmega8 ein kleines OS, damit die Prozesse parallel laufen? Ich weiß nämlich noch nicht wie ich am besten anfangen soll mit der Programmierung.
>Wie fragst du die ganzen Messwerte zyklisch ab? >Läuft auf deinem Atmega8 ein kleines OS, damit die Prozesse parallel >laufen? Eigentlich gibt es zwei Schrittketten: Eine für die Visu/Bedienung und eine für die Technologie. Genaues weiß ich jetzt nmicht. Muss ich abends mal reingucken ins Programm. Ist ja schon etwas her.. >Für welche Sensoren nutzt du die wertvollen Interrupt-Eingänge? Nur für die Drehzahlmessung (glaub das hatte ich über ICP gelöst)
>Und was ist wenn z.B mal einer den Verteilerkasten um die Ecke mit >seinem Auto umfährt Dann liefert das Netz keinen Blindstrom mehr und der Asynchronmotor verliert die Erregung. Es sein denn er hat viele kapazitive Verbraucher in seinem Haus. Ich würde gerne ein Bild sehen!
>was meinst du mit ICP? input capture, somit wird die Drehzahl, resp die Periodendauer mit 1µs Genauigkeit ermittelt, auch wenns nicht sein muss ;-) >Und den Rest fragst du per Polling ab? Ja. in der Schrittkette. Ist nicht langsamer als wenn ich das per Timerint. abfrage. Und zeitkritisch (µs-Bereich) ist hier eh nichts.
Was hast du als Drehzahl-Sensor genommen? Ermittelst du optisch oder induktiv? Ok klingt gut :-)
>Ermittelst du optisch oder induktiv?
An dem seinem Motor ist ein Zahnrad mit etwa 60cm Durchmesser und
~500Zähnen dran. Dort guckt eine Lichtschranke Marke Eigenbau durch ;-)
Ok das ist ne guute Idee :) Könnte es auch so realisieren, denn bei Reichelt gibts solche U-förmigen Lichtschranken, sind so groß wie eine Briefmarke. Da könnte man dann auf dem Schwungrad einen Plastikstreifen befestigen, der dann durch dieses "U" durchrennt :)
Zum "sicheren Abschalten" des BHKW wird auf jeden Fall noch Technik benoetigt, die es ich glaube unter dem Namen ENS fertig zu kaufen gibt. Wobei sicher hier natuerlich heisst - zertifiziert usw... Schliesslich muss das BHKW auch dann abschalten, wenn es eine Netzabschaltung gibt und darf in slochen Faellen nicht den Elektriker in der Grube grillen, der glaubt es sei alles aus. Das Detektieren ist nicht ganz einfach, weil ja das BHKW noch Leistung liefert, die bei passenden Rahmenbedingungen durchaus dazu fuehren kann, dass das BHKW weiterlaeuft, obwohl das Netz eigentlich abgeschaltet ist. (Abnehmer etwa in der Groessenordnung der Leistung des BHKW) Gast
Das mit dem Abschalten sehe ich nicht so kritisch. Der Asynchronmotor nimmt auch als Generator induktive Blindleistung auf, die zur Erregung gebraucht wird. Im Inselbetrieb müssen dazu 3 Kondensatoren entweder im Stern oder im Dreieck geschaltet und anfangs aufgeladen werden, damit der Generaor überhaupt anlaufen kann. Wird das Netz abgeschaltet sind nur noch Verbraucher vorhanden, die in der Regel ohmsch/induktiv sind. Damit fehlt den Generator seine Erregung und die Spannung bricht zusammen. Das Einschalten sehe ich als das größere Problem. Ich denke es wäre am besten den Generator als Motor anlaufen zu lassen und mit dem Diesel dann auf eine Drehzahl höher als die Synchrondrehzahl zu beschleunigen.
>Ich denke es wäre am >besten den Generator als Motor anlaufen zu lassen und mit dem Diesel >dann auf eine Drehzahl höher als die Synchrondrehzahl zu beschleunigen. So wird das auch gemacht.
Das Anlaufen des BHKWs ist überhaupt kein Problem. Tatsache ist ja, und das weiß man, dass ab etwa 1550 1/min (bei einem Motor mit 4 Polpaaren) zurückgespeist wird. Dann braucht man ja letztlich nichts mehr tun, als den Schrittmotor in Abhängigkeit von der gemessenen Drehzahl steuern.
Moin,sehr interessantes Projekt,es gibt auch diverse Foren,die sich mit dieser Problematik beschäftigen. Ich würde die Steuerungsaufgaben teilen. Bereich 1: Steuerung der "lebenswichtigen" Aufgaben des BHKW durch erprobte Technik,wie schon angesprochen,eine Kleinsteuerung. 2.Messen der Betriebswerte durch einen PC/MC. Lohnt sich der Betrieb eine BHKW'S überhaupt,wenn eine Netzeinspeisung nicht stattfindet? Selbst mit Planzenöl könnte es dann teurer werden. Ich verstehe die derzeitige Politik der Stromerzeuger,und auch der BRD nicht! Es steht derzeit zur Diskussion,die Kernkraftzeit zu verlängern. Dagegen steht ein überhöhter Strompreis,auch für den Nachtstrom. Ein Kernkraftwerk kann über Nacht nicht ohne weiteres "gedimmt" werden. Bis zum engültigem AUS der Atomkraftwerke könnte der Nachtstrom also günstig abgegeben werden, in Belgien werden damit Autobahnen beleuchtet,hier zahlt mein derzeitiger Arbeitgeber so ziemlich die Hälfte für eine Kwh,als der Privathaushalt. Wohin kann man auswandern ? Mfg F.H.
Naja es geht mir in erster Linie um die Macht des Projekts, um etwas zu erschaffen, was eine Verbindung zwischen Software und reiner Mechanik ist :) MIch fasziniert diese Schnittstelle selbst zu erschaffen :) Du hast recht, das PÖl wird leider auch immer teuerer. Aber da muss man dann wohl wie die PÖl-Autofahrer in die METRO und dort das Öl in Fässern kaufen. Oder eben Frittenfett nehmen, hat aber den Nachteil, dass es vor dem "verbrennen" im Motor angewärmt werden muss. Gruß
>Oder eben Frittenfett nehmen, hat aber den Nachteil, dass es vor dem >"verbrennen" im Motor angewärmt werden muss. Nö. es muss nur "frisch" aus der Pommes-Bude sein ;-)
@michel: Hey Michel...du auch da?? Am Wochenende gehts los mit der Programmierung, und deine UART-Frage hätte ich dir auch beantworten können :-) An alle interessierten: Michel ist der Kumpel mit dem ich das BHKW baue.
@ Matthias: Hast du die ganze Steuerung erstmal als Prototyp aufgebaut? Also so eine Art Evaluationsboard? Wie hast du die Taster für die Menüführung an deinen Controller angeschlossen?? Danke!
>Hast du die ganze Steuerung erstmal als Prototyp aufgebaut? Also so eine >Art Evaluationsboard? Nö. Hardcore. Der Prototyp wird gleich verbaut. Ist bei meinen Hobbyprjekten immer so. Zumindest solange ich kein Pfusch auf der Platine habe ;-) >Wie hast du die Taster für die Menüführung an deinen Controller >angeschlossen?? see attached file...
@ Matthias Lipinsky der Schaltplan und die Platine sehen super aus! So würde ich auch gerne layouten können :)
>der Schaltplan und die Platine sehen super aus! So würde ich auch gerne >layouten können :) Jahrhunderte lange Erfahrung ;-) Auch wenn dus nicht glaubst, an so nem einfachen Layout sitzt man gern mal ein zwei Wochenenden...
Also sooo nicht!!! Ich betreibe seid 15 Jahren ein BHKW mit 2 x 450 Kw und kann euch nur sagen, dass viele Dinge zu beachten und zu überdenken sind. So einfach ist das nicht. - Keilriemenantrieb? Dieser wird nach kurzer Zeit in Rauch aufgehen. Der Generator sollte direkt über eine elastische Kupplung mit dem Motor verbunden sein. Der Motor muß mit ständig 1500 U/min schön laufen! - Netzparallelbetrieb ohne Synchronisierung? Die Schütz- oder Schalterkontakte werden vor lauter "Kurzschlüssen" bald nicht mehr zu erkennen sein. So ein EVU-konformes Gerät kostet ab 1000 Euro! - Die abgegebene Leistung muß über die Erregerspannung geregelt werden. Eine Kompensation braucht es nicht. Der Generator liefert auch Blindstrom! Dazu ist ein Spannungs- und CosFi-Regler im Generator erforderlicht. Wieder einige 1000 Euro! - Netzausfall? Ab einer Netzausfallzeit von 200 ms (Millisekunden!!!) muß das BHKW vom Netz getrennt werden!!! Oder wollt Ihr das ganze Dorf mit Strom versorgen? Die EVU schreibt dort einen Netzausfalldetektor vor! Wieder 1000 Euro! Und Und Und!!! Für einen Generator mit z.B. 450 kW benötigt man für den sicheren Betrieb 2 grosse Rittal-Schaltschränke für Elektronik und Elektrik Da wird auch heute mit einem Mikrokontroller nichts weniger! Hermann
>- Keilriemenantrieb? Dieser wird nach kurzer Zeit in Rauch aufgehen. Der >Generator sollte direkt über eine elastische Kupplung mit dem Motor >verbunden sein. Der Motor muß mit ständig 1500 U/min schön laufen! Bei 450kW ok, aber bei ca.3-4kW ist das kein Problem >- Netzparallelbetrieb ohne Synchronisierung? Die Schütz- oder >Schalterkontakte werden vor lauter "Kurzschlüssen" bald nicht mehr zu >erkennen sein. So ein EVU-konformes Gerät kostet ab 1000 Euro! Einfach Käse >- Die abgegebene Leistung muß über die Erregerspannung geregelt werden. >Eine Kompensation braucht es nicht. Der Generator liefert auch >Blindstrom! Dazu ist ein Spannungs- und CosFi-Regler im Generator >erforderlicht. Wieder einige 1000 Euro! Auch Käse, es wird ein Asynchrongenerator verwendet. >- Netzausfall? Ab einer Netzausfallzeit von 200 ms (Millisekunden!!!) >muß das BHKW vom Netz getrennt werden!!! Oder wollt Ihr das ganze Dorf >mit Strom versorgen? Die EVU schreibt dort einen Netzausfalldetektor >vor! Wieder 1000 Euro! Richtig! Gibts aber schon für 200-300 EU
>>Die abgegebene Leistung muß über die Erregerspannung geregelt werden. Erregerspannung bei einem als Generator verwendeten Asynchronmotor? >>Der Motor muß mit ständig 1500 U/min schön laufen! Was exakt der Netzfrequenz bei einem Motor mit 2 Polpaaren entspricht. Da wird dann garnichts eingespeist. Um einzuspeisen braucht man einen negativen Schlupf. >>Netzparallelbetrieb ohne Synchronisierung? Die Schütz- oder >>Schalterkontakte werden vor lauter "Kurzschlüssen"... Hier wird eine Asynchronmaschine verwendet, die als Motor startet. Es ist kein Synchrongenerator, bei dem es wichtig ist, dass beim Aufschalten die Polradspannung exakt der Netzspannung ohne eine Phasenverschiebung entspricht. Die Sache mit dem Netzausfall würde ich auch vorher nochmal abklären; wobei sich das Problem wahrscheinlich von selbst löst, weil ein Stromnetz induktiv ist und somit die Blindleistung zur Erregung nicht liefern kann. Deshalb braucht ein Asynchrongenerator im Inselbetrieb immer eine gewisse kapazitive Last, sonst läuft er garnicht an.
@ Matthias: Wie ich sehe, hast du die Schalter zur Menuführung an einen 74HC1650 angeschlossen. Was genau ist dieser IC? Finde kein Datenblatt darüber. Wie fragst du die Taster denn ab? Polling? Interrupt? Danke
>74HC1650 Du musst richtig lesen. Das ist ein 74HC165D >Wie fragst du die Taster denn ab? Polling? Interrupt? Interrupt macht man nict keine Tasterauswertung. Die werden über SPI eingelesen und klassisch entprellt.
Ok. Und die anderen Eingänge (dig. Sensoren) sind über einen Optokoppler an direkt an die Eingänge des Controllers angeschlossen und die fragst du über Polling ab!? Ok, dann werd ich mich mal mit dem IC 74HC165D vertraut machen müssen :)
Gut, wenn euch langweilig ist: Bist du sicher, dass die Asynchronmaschine es beim Anlaufen schafft einen Dieselmotor mitzunehmen? Bei einem Schleifringläufer könntest du beim Starten einen Widerstand in den Läuferkreis schalten, um das Anzugsmoment zu erhöhen. Ich gehe davon aus, dass du einen normalen Käfigläufermotor verwendest, die kein so hohes Anzugsmoment haben. Beide Motoren getrennt starten und dann zusammenkuppeln wäre eine Lösung.
>Bist du sicher, dass die Asynchronmaschine es beim Anlaufen schafft
Ja. Da diese BHKWs ohne Kompression anlaufen. Diese wird erst später
zugeschaltet.
Matthias Lipinsky wrote: > Ja. Da diese BHKWs ohne Kompression anlaufen. Diese wird erst später > zugeschaltet. Bleiben die Ventile dann offen? Wie ist das denn realisiert?
>Das mit dem Abschalten sehe ich nicht so kritisch.
DAS ist aber exakt der Punkt, den das EVU extrem kritisch sieht.
Sicher auch zu Recht.
Wenn durch dummes Zusammentreffen mehrerer Zufaelle jemand zu Schaden
gekommen ist, dann wird diesen Punkt auch der Richter extrem kritisch
sehen. Dann wanderst Du fuer einige Zeit in den Knast, wo Du - wie man
hier sieht - als Jemand, der auch nach Hinweisen jegliche
Sicherheitsueberlegungen ignoriert - auch hingehoerst. Sorry fuer die
harten Worte.
Gast
Gast wrote >....dann wird diesen Punkt auch der Richter extrem kritisch > sehen...... Gast bleib locker! Die Jungs (joh! und lippy) wollen doch nur spielen. Für ernsthafte technische Lösungen sind die nicht zu gebrauchen.
>Für ernsthafte technische Lösungen sind die nicht zu gebrauchen.
So ein Mist. Ich wurde durchschaut..
OH man und ich auch :-D Naja anscheinend sind hier einige im Forum die sich zuviel Gedanken machen und gleichzeitig keine Ahnung haben. Man sollte vielleicht noch berücksichtigen, was passiert, wenn im SELBEN Moment, in dem der E-Motor startet, eine Atom-Bombe einschlägt und die Mäuse im Keller..... ;-) Ach und noch was zum Thema Richter: Ich stell mir auch jedes mal an Neujahr vor, was denn passieren könnte, wenn ich meinen Chinaböller unter den Rock einer alten Oma werfe...Ob mir das der Richter glaubt? Der E-Motor schafft ohne Weiteres (und sogar OHNE Dekompression), den Diesel anzuwerfen. Wiegesagt, mechanisch ist bisher alles einwandfrei erprobt und realisiert, es geht hier einzig und allein um die Computergestützte Steuerung des Ganzen. Deshalb auch mein Beitrag. ;-) Liebe Grüße
@Matthias: Nochmal zurück zu den Optokopplern. die Sensoren mit den Optokopplern gehen direkt an die digitalen I/O-Pins des AVRs und werden per Polling abgefragt?
>Richter extrem kritisch Ich habe nichts an das Netz angeschlossen. Also hafte ich auch für nichts. >werden per Polling abgefragt? Wie sonst? In der Schrittkette werden die Eingänge direkt abgefragt.
Zur Zeit nicht. Da ich nicht zuhause bin. Evtl in zwei Wochen wenn ich dran denke.
Kann jemand meine Frage beantworten, wie ein Dieselmotor ohne Kompression betrieben werden kann. joh! nannte das Dekompression
Ein Dieselmotor kann nicht ohne Kompression betrieben werden!! wie denn auch? Phyiskalisch gesehen schon unmöglich: Keine Kompression -> Keine entstehende Wärme -> keine Explosion des Luft-Öl-Gemischs im Brennraum. Die Dekompression dient lediglich zum Starten: Dabei wird ein Ventil am Zylinder geöffnet, damit die Luft aus dem Zylinderinneren, entweichen kann und keine Kompression möglich ist. Ach übrigens, Dekompression gibts auch bei diesen Alt-Oma-Mofas, damit man beim Antreten des Mofas nicht zuviel Energie aufwenden muss. Wenn man das BHKW nun "mit Dekompression" starten will dann geht man wie folgt vor: - Dekompressionshebel ziehen (also das Ventil am Zylinder öffnen) - E-Motor einschalten (nun dreht der E-Motor den Diesel an) - Kompression freigeben und dann ....RATATATATATATAAAAA ;-) Läuft der Dieselmotor. Gruß
@Matthias: Kannst du mir deine Menutasterabfrage über SPI mal genauer erklären? Habe mit SPI noch nichts am Hut gehabt. Die Entprellung der Taster machst du über das 74HC15D? Ich habe vor die Entprellung ebenfalls NICHT softwaremäßig zu machen. Danke
>ebenfalls NICHT softwaremäßig Nein. Ich habe diese softwareseitig gemacht. Wobei das SPI schon eine gewisse Verzögerung bringt (spi frequenz relativ klein). >über SPI mal genauer Das ist ziemlich einfach. Ich habe vier Bausteine per SPI kaskadiert: 3x 8bit Ausgang und einmal 8Bit Eingang. Somit ist ein SPI-Zyklus vier Bytes lang. Danach muss das SS angefasst werden. Ich gebe sozusagen drei Informationen aus: Relaisausgänge, 7Seg-Zeile, 7Seg-Spalte, dummy-Byte. Innerhalb eines dieser Teilzyklen muss ich den Taster einlesen. Genau kann ichs erst erklären, wenn ich abends mal ins Programm gucke.. (TIming irgendwo im Schaltplan unten gemalt).
Ok. Also ich hätte das Tastenabfragen so vor: Die Taster schließe ich an ein RS-FlipFlop an (an den S-Eingang). Der R-Eingang ist mit einem Pin am AVR verdrahtet. Jetzt kommt ein Tastendruck...Das RS entprellt dabei UND hält diesen Zustand des Tasters fest, da der AVR ja in dem Moment des Eintreffens des Tasterdrucks in irgendeiner Routine sein könnte und den Tastendruck nicht mitkriegt. Sobald der Programmablauf nun bei der eigenltichen Tasterabfrage angelangt ist, merkt der AVR, dass da ein HIGH am Pin anliegt. Jetzt gibt er ein HIGH auf den R-Einang des FlipFlops und die Taste ist wieder "freigegeben". Auswertung des Tasters erfolgt. Wäre das so möglich?
>Wäre das so möglich?
Sicher ist das möglich, aber Unsinn.
Überlege mal, wie lang ist ein Tastendruck MINIMAL? Wenn du ne Stoppuhr
nimmst, kannst du es mal probieren.
Ich denke, so unter 100..200ms wirst du nicht kommen. Und innerhalb
dieser Zeit kann ein Atmel locker mehrfach nach dem Taster schauen.
Richtig gemacht wird es so:
Dein System benötigt sowieso Timer. (delays sind verpöhnt, weil der µC
dann wirklich nichts anderes machen kann). Dieser Timer generiert alle
10ms einen "Impuls" Somit wird alle 10ms ein spezielles Stück im
Programm abgearbeitet. Dieser sogenannte Timerinterrupt managt interne
Zeitprozesse (ich habe immer einen durchlaufenden Millisekunden-Tick)
und fragt die Taster ab. Wird einer als nicht gedrückt erkannt, so wird
ein Zähler auf Null gesetzt. Ist der Taster betätigt, so wird diese
Variable um eins erhöht. Das geschieht für jeden Tasster.
Überschreitet jetzt diese Variable einen Wert x, zB 20, so wurde die
Taste für mind 200ms ununterbrochen gedrückt. Das wird der restlichen
Software mitgeteilt, die dann was macht.
So macht man das. Das spart gleichzeitig diesen sinnlosen Aufwand mit
den FF.
Weiterhin benötigt jeder Taster so nur ein Eingang. Wärend du ein Ein-
UND einen Ausgang brauchst.
Werden es mehr Tasten, können diese auch als Matrix verschaltet werden.
Ich habe mal 32Tasten mit 8Eingängen und 4Ausgängen abgefragt. Ohne
zusätzliche Hardware. (von nem Pull-up mal abgesehen)
Hm Ja aber was macht denn der Impuls genau? Kann mir das grad nich vorstellen wie du das meinst. Ich könnts mir jetzt so vorstellen: Ich lass einen Interrupt auslösen wenn beispielsweise ein Timer-Overflow stattfindet. In dem moment frägt er einen taster ab..... Wie kann denn dieser Interrupt zeitprozesse managen? einen Interrupt auslösen lassen, wenn beispielsweise das TimerRegister überläuft. Aber was genau geschieht dann in der Interrupt-Routine? Verstehe ich das so, dass darin dann die Tasten abgefragt werden?
>Verstehe ich das so, dass darin dann die Tasten abgefragt werden? Ja. genau. >Ich lass einen Interrupt auslösen wenn beispielsweise ein Timer-Overflow >stattfindet Ja. nur im konkreten Beispiel verwende ich den SPI-Interrupt. Sonst identisch. >zeitprozesse managen? Ganz einfach. Ein Int, der exakt alle 1ms kommt, zählt eine 32bit Variable hoch. Etwa so:
1 | volatile uint32_t u32TimeMsTick; |
2 | ISR (Timer_x_overflow) |
3 | { // alle exakt 1ms |
4 | u32TimeMsTick++; |
5 | }
|
6 | |
7 | In der Ablaufsteuerung (Schrittkette) kann ich dann jedem Schritt beim Hineinlaufen einen "Zeitstempel" verpassen, den ich zu Timingzwecken verwende. Etwa so: |
8 | [c] |
9 | switch (schrittvariable) |
10 | ...
|
11 | //-- schritt ----------------------------------------------------
|
12 | 32: |
13 | //-- entry ----------------------
|
14 | if ( u8schrittvariableLast != u8schrittvariable ) |
15 | {
|
16 | u8schrittvariableLast = u8schrittvariable; |
17 | u32schritteintritt = u32TimeMsTick; |
18 | }
|
19 | //-- action ---------------------
|
20 | |
21 | //-- transition -----------------
|
22 | if ( (u32TimeMsTick-u32schritteintritt ) > 1000 ) |
23 | {
|
24 | u8schrittvariable = 33; // schritt nach 100ms verlassen |
25 | }
|
26 | //-- schritt ----------------------------------------------------
|
27 | 33: |
Beitrag "Re: Programm bzw. Ablaeufe steuern"
Achsoo. Du meintest mit Zeitprozesse das "Erzeugen einer exakten millisekunde. Also Timer initalisieren -> Timer loslaufen lassen -> TimerOVFL tritt ein -> Sprung in die INTERRUPT-Routine. In der Interrupt-Routine werden die PINS abgefragt. Je nach Zustand der Zustand in einer Var. gespeichert und für den weiteren Prog.ablauf ausgewertet?!
>Du meintest mit Zeitprozesse Nicht nur. Jeder Zeitvorgang wird davon abgeleitet. >weiteren Prog.ablauf Äh, ja.
joh! wrote: > Ein Dieselmotor kann nicht ohne Kompression betrieben werden!! Soweit ist mir das schon klar. Die Dekompression nur zum starten. > Die Dekompression dient lediglich zum Starten: Dabei wird ein Ventil am > Zylinder geöffnet, damit die Luft aus dem Zylinderinneren, entweichen > kann und keine Kompression möglich ist. Was ich meinte: Wie ist das technisch am Motor realisiert, das die Ventile offen bleiben. Wird dabei die Nockenwelle verschoben?
Das weiß ich nicht, aber ich denke nicht, dass man da gleich die ganze Nockenwelle verschiebt. Das wird ein simples Ventil sein, dass aufgeht.
Dann eben ein Schieber durch ein Loch, ist mir eigentlich auch relativ egal ;-) Mir reichts, das Prinzip zu verstehen, um Details kümmert sich die Maschinenbau-Fraktion.
Wahrscheinlich hat Joh! - außer der putzigen Internetseite (s. o.) - nichts weiter vorzuweisen.
Alexander Schmidt wrote:
> Da ich fürchterlich neugierig bin, wäre es schön wenn es jemand wüsste.
Also beim Motorrad (400ccm, Kickstarter) ist es einfach eine
Vorrichtung, die verhindert, dass das Auslassventil vollständig
schließen kann. (Natürlich nur soweit, dass der Kolben nicht anstößt)
Denke, hier wird es nicht wesentlich anders sein.
Ich plane Inbetriebnahme mehrer BHKW´s und bin an solch einer Steuerung interessiert. Fragen: Gibt es bereits funktionsfähige Prototypen? Herstellung in grösserer Zahl möglich? Zulassungen? Interesse, bitte melden! Gruß
Tolle Idee, Klingt auch schon mal gut. Hätte noch den einen oder anderen Hinweis für die Einbindung in dein Heizungsnetz. Du solltest unbedingt ein Tackten des Moduls verhindern. D h, wenn keine Wärmeabnahme besteht, wird dein Modul durch zu hohe Motoraustritstemperatur ausgehen. Nach ner Weile wieder an, wieder aus usw. Durch die vielen Starts wird der Generator und der Motor nebst Zündung stark beansprucht. Das kannst du zu einem grossen Teil verhindern, indem du zum einen: das Modul im Teillastbetrieb (zB mit 900 Umdrehungen) laufen lässt und zum anderen, und das wäre Optimal zusätzlich das Gänze über einen Pufferspeicher laufen lässt. Regelung erfolgt über die Analogwerte der Temperaturfühler(PT100) Netzgesammtrücklauftemp.sowie Füllstand Pufferspeicher. Deine Logo Steuerung, SPS oder sonstige Steuerung sollte daher über einige Analogeingänge verfügen. lg Bocker
Blocker schrieb: > Hätte noch den einen oder anderen Hinweis für > die Einbindung in dein Heizungsnetz. Meinst du nicht, daß er da nach 4 1/2 Jahren schon selber draufgekommen ist. mfg.
Das ist gut möglich. Ich sehe allerdings viele Anlagen bei denen gerade solche Dinge auch nach Jahren nicht berücksichtigt wurden. War ja auch nur gut gemeint.
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.