Hallo Ich habe folgendes problem Habe einen 90s8515 und möchte folgendes bewerkstelligen ! Für meinen Brunnen muß ich zum wasser immer PH mindernde Tabletten zusetzen. dabei habe ich folgende werte 5 gramm und 10 gramm tabletten. über eine originale steuerung wird das wasser gemessen und entschieden wieviel gramm pro 24 std. zugegeben werden muß. Nun mein Problem die Steuerung die fünf und 10 gramm impulse gibt ist OK die andere die Dosiert ist defekt und das schon zum dritten mal. Jetzt möchte ich das Problem gerne mit dem 90s8515 lösen. ich brauche hilfe wie ich das machen könnte. Von der steuerung bekomme ich low impulse (z.b. für 25 gramm wird immer aufgerundet bekomme ich zwei impulse von 10 gramm und 1 impuls für 5 gramm) Also sollte der atmel erst einmal die zwei eingänge adieren können. dann kommt das ausführen also sollten auf zwei ausgängen vom 90s8515 mit high pegel meie dosiermotoren gesteuert werden. nach jeder Tablette wird durch eine lichtschranke ein high impuls zur ausgabe bestätigt. Und jetzt kommts wenn z.b. die 10 gramm tabletten leer sind was ja oft der fall ist sollte der atmel also nach 15 sec. wenn vom 10 gramm motor kein high impuls mehr kommt ist ja die 10 gramm tablette defenitiv leer automatisch statt einer 10 Gramm 2 Stck 5 Gramm tabletten hernehmen. Habe schon überal nach lösungen gesucht leider vergeblich. Hoffentlich könnt Ihr mir helfen. Danke im voraus Gerold aus Essen
Hallo Mein problem liegt darin wenn er angefangen hat mit 10 gramm tablette und möchte 5 Stck. davon auswerfen und hat nur noch 2 Stck. er soll also wenn 15 sec. lang keine 10 gramm tablette kommt automatisch den rest mit 5 gramm tabletten erledigen. währe in diesem fall (gesamt 50 gramm) 2 stck. 10 gramm (dann leer) 6 stck 5 gramm (weil 10 gramm leer) Für lösungen währe ich dankbar Gruß Gerold
Also das ist doch nun wirklich nicht schwer. Einfachste If..Then Geschichte mit ner Warteschleife. Schreib dir die Bedingungen einfach "umgangssprachlich" auf (Am besten auf separaten Zetteln) Am besten in der Groben unterteilung Was muß gegeben werden und was ist schon gegeben. Geben Warten Wenn nichts kommt abbrechen und auf neue Strategie verzweigen.(Unterprogram) Ansonsten Vorgang als Erfolgreich beenden und in Wartestellung gehen ----------------------- Das Unterprogramm behandelt den lerren Schacht (in diesem Beispiel die 10g Tabeletten) und gibt an die Ausgabe die Order aus es eben mit den 5g Tabeltten zu machen.Dabei wird der Ausgabewert der 5g Tabletten mit angegeben. Das ganze läst sich natürlich generell auf alle Schächte (Es waren doch 5/10 und 20g ja ?) anwenden. Nebenbei: Ich weiß ja nicht was die einzelnen Größen kosten aber wäre es nicht einfacher generell nur die 5g Tabletten zu nehmen ? aus di9esen Reglen kannste schnell passende Proceduren und Bedingungen ausarbeiten.
Hallo Tableten sind im einkauf als VP um 10 Euro billiger . Im Originalen wird das auch so gemacht. Irgendwie fehlt mir der anschluß (Denkproblem) Hier mal mein listing. es kann hald nicht weitermachen wenn eine sorte leer ist. $regfile = "8515def.dat" $crystal = 8000000 Ddrb = 255 : Portb = 0 Dim A As Byte Dim B As Byte Do Debounce Pind.0 , 1 , 5gramm_in , Sub Debounce Pind.1 , 1 , 5gramm_out , Sub Debounce Pind.2 , 1 , 10gramm_in , Sub Debounce Pind.3 , 1 , 10gramm_out , Sub Loop 5gramm_in: Portb.0 = 1 Return 10gramm_in: Portb.1 = 1 Return 5gramm_out: Incr A If A = 2 Then Gosub 5gramm_out1 Return 10gramm_out: Incr B If B = 1 Then Gosub 5gramm_out2 Return 5gramm_out1: Portb.0 = 0 A = 0 Return 5gramm_out2: Portb.1 = 0 B = 0 Return
Yo,so gehts auch nicht. 1.Die Variablen übernehmen zuerst die Zahl der jeweiligen Tabeltten. 2.Dann ausgabe der geforderten Sorte. 3.Warten bis die Tablette gefallen ist 4.Löschen des jeweiligen Zählers. Bis jetzt geht das nur wenn auch noch ne Tabelette da ist. Aber wenn keine kommt ist schicht und das Prog hängt. Zwischen punkt 2 und 4 fehlt eine Warteschleife in der Punkt 3 ergebnislos abgebrochen wird und auf eine andere Sorte umgeschaltet wird.(Also 2x5g statt 1x10g usw.). Erst dann kann der Vorgang abgeschlossen werden.
Hallo Danke erst einmal. Irgendwie bekomme ich das nicht hin . Hallo Ratgeber hab versucht die Variablen als werte 5 und 10 gramm zu setzen, aber dann funktioniert es auch nicht. wie geht das löschen des jeweiligen Zählers ?? Gruß Gerold
Sorry, wenn der folgende Post niemand hilft : Irgendwie habe ich nicht das Gefühl, dass sich hier schon mal einer erst mal einen "Algorithmus" ausgedacht hat. Deswegen folgendes : Hole auszugebende Grammzahl -> g solange (g > 20)UND(noch 20g Tabletten vorhanden) gebe eine 20g Tablette aus g = g-20 ende solange (g>10)UND(noch 10g Tabletten vorhanden) gebe eine 10g Tablette aus g = g - 10 ende solange (g>5)UND(noch 5g Tabletten vorhanden) gebe eine 5g Tablette aus g = g - 5 ende falls g != 0 ALARM Leider kann ich nicht sagen, wie man das in BASCOM implementieren könnte, denn ich kann eigentlich mehr Assembler und C. Vielleicht hilft's Euch ja trotzdem. CU, Daniel
Danke Daniel Jetzt müßte ich nur noch wissen wie ich das im bascom umsetzen soll ?? Danke Gerold
Hay Gerold Hatte mal so etwas ähnliches vor zu machen, leider auch ohne Erfolg. Ich denke mit Bascom geht so etwas nicht.
@Gerold ""Hallo Danke erst einmal. Irgendwie bekomme ich das nicht hin . Hallo Ratgeber hab versucht die Variablen als werte 5 und 10 gramm zu setzen, aber dann funktioniert es auch nicht. wie geht das löschen des jeweiligen Zählers ?? Gruß Gerold"" "Ratber" reicht ;) Um da weiter was zu sagen fehlt mir einwenig der aufbau deiner anlage. Ich kann nur vermuten das es sich um einen einfachen Dosierer mit Schieber handelt (so ähnlich wie die Süsstoffspender) und das nicht festgestellt werden kann wieviel Tabeltten noch vorhanden sind. Desweiteren vermute ich mal das 3 Kammern da sind (5/10 und 20g) Die Dosierung besteht vermutlich darin das der Entsprechende Schieber einfach kurz betätigt wird und keine weitere Kontrolle vorgenommen wird. Ist das soweit richti ? Weiter vermute ich das die Dosiereinrichtung nun der Controller übernehmen soll und das eine Lichtschranke den Abwurf kontrollieren soll. auch richtig ? Eine Skizze wäre nicht schlecht.
Ich könnte sowas auch nur in C machen. Für die Reaktionszeit (15s) würde ich meinen Scheduler nehmen. Denn Warten darf man ja nicht, sonst könnten einem weitere Impulse durch die Lappen gehen. Für das konkrete Programm währen aber noch sämtliche anderen Zeitbedinungen notwendig: - Eingangsimpulsdauer, Abstand zwsischen den Impulsen, Entprellen notwendig ? - Ausgangsimpulsdauer, Wartezeiten zwischen den Impulsen notwendig ? Ich würde für jeden Typ einen extra Zähler nehmen, der die Eingangsimpulse hochzählt. Bei jeder Zeitüberschreitung zählt dann der 10g-Zähler -1 und der 5g-Zähler +2. Und solange einer der beiden Zähler != 0 ist, werden die Tabletten ausgegeben. Peter
Hallo Ratgeber Danke das Du mir helfen willst. Ja stimmt die Dosiereinrichtung besteht aus einer art Spindel die von einem 12 V Elektromotor angetrieben wird. Hinten am Ausgang ist eine Lichtschranke die die tabletten zählt. (ist ein Transistor dran und gibt bei jeder tablette einen High impuls). Solange am motor 12 Volt anliegen werden tabletten ausgeworfen. Es sind drei verschidene größen von spindeln wegen der verschiedenen Tabletten. Die Meßschaltung die alle Stunde einmal das Wasser mißt (PH wert) gibt auf drei verschiedenen leitungen einen High Impus (ca. 100 ms) aus. 5 gramm pin 1 10 gramm pin 2 20 gramm pin 3 40 gramm pin 4 50 gramm pin 5 dann währe da noch ein impulsausgang der je 5 gramm einen High Impuls ausgibt(auch ca. 100ms). War bis jetzt nicht benutzt aber Funktioniert. Viele Grüße Gerold
Bei 1 Impuls je Stunde, darf man natürlich auch 15s verwarten. Oben in den 25g-Beispiel klang es aber so, als ob 3 Impulse kurz hintereinander kommen. Peter
Hallo Peter Auch Dir Herrzlichen Dank. Als Eingangsimpulsdauer ca. 100 ms pause auch ca.100ms Entprellen müßte man ausprobieren kann aber glaube ich nicht schaden. Am Ausgang (3 ausgänge) sind drei motore (ein motor je sorte) und je eine lichtschranke ( eine lichtschranke je sorte) zählt die tabletten. Gruß Gerold
Hallo Peter Das währe der Impulsausgang der in der Original Steuerung nicht benutzt wurde der je 5 gramm einen impuls ca. 100ms ausgibt. Gruß Gerold
Also darf ich das so verstehen das die 100ms für den Spindelantrieb reichen um ne Tabeltte auszuwerfen oder ist das nur der Startimpuls für ne weitere Elektronik die den Motor steuert ?
Hallo Ratgeber nein 100 ms ist der eingangswert von der Meßsteuerung. also der MC bekommt eine ansteueung von ca. 100 ms. entweder so 5 gramm pin 1 10 gramm pin 2 20 gramm pin 3 40 gramm pin 4 50 gramm pin 5 oder Impulsausgang (auch ca. 100ms) pin 6 gib je 5 gramm einen impuls aus . die Ausgangszeit ist verschieden (ca. 1 - 5 sec) und wird von der lichtschranke gezählt. Gruß Gerold
Yo,gut. Ich schau mal ob ich was zusammenbekomme damit wir ne gemeinsame Basis haben.
Yo,bin bis jetzt noch nicht dazu gekommen aber ich hab da noch ne frage. Werden bei der Ursprünglichen Anlage die Tabletten komplett einzeln abgearbeitet oder kommen die impulse schnell und werden aufaddiert ?
Hallo Ja werden einzeln abgearbeitet . Wartete immer auf signal von der auswurf Lichtschranke die die tabletten registriert, erst wenn eine tablette registriert wurde wird die nächste ausgeworfen. Gruß Gerold P.S. Danke für die Hilfe
Aha,es werden also "generell" nur Einzelimpulse abgearbeitet. Den Rumpf hab ich schonmal. bis denne
So ! Erstmal sorry wegen der Verzögerung (Is schhließlich nur ne Halbe stunde Tipperei mit Komentaren) aber es ist mal wieder Dezember und alle spielen verrückt (Vorallendingen die Kunden). Hier mal was zum Probieren. Ich hab versucht aus den Angaben herauszulesen welcher Natur die Schaltung ist. Wennes nicht stimmt dann mußte nochmal erklären wie der automat ursprünglich funktioniert und welche Signale er liefert und welche er braucht. (Cut here) ------------------------------------------------------------------------ -------------------- '********************************************************************* 'Ich gehe von folgender Beschaltung aus. ' ' 'Pin D0 5g Eingangsimpuls 'Pin D1 5g Bestätigungsimpuls (Lichtschranke) 'Pin D2 10g Eingangsimpuls 'Pin D3 10g Bestätigungsimpuls (Lichtschranke) 'Pin B0 Motor 5g 'Pin B1 Motor 10g ' ' 'Die Variablen hab ich in anlehnung an ihre Funktion benannt ' 'Also "G" für die geforderten Gramm die noch ausstehen. '"M" und "N" als Merker dafür das ein Vorgang läuft bzw. das die Zeit überschritten ist. '"Fehler" um anzuzeigen das ein Fehler aufgetreten ist und man ihn dann auch behandeln kann. '"Zeit" und "Zeitverstrichen" sind für die Warteschleife da. 'Ein Zeitüberlauf ist erst nach einigen Jahrtzehnten gegeben. gg ' 'Das Programm ist nur ein Vorschlag. 'Sicher kann man es noch optimieren aber erstmal muß es funktionieren 'Deswegen hier nur ein grobes Gerüst. 'Ich habe es absichtlich nicht zuweit Paralellisiert da es ja offensichtlich eh nur alleine läuft. 'Desweiteren hab ich es einfach gehalten damit man auch einfach folgen kann. 'Dh. das Bedingungen einfach gehalten wurden und nicht Kaskadiert sind. ' 'Schreibfehler sind natürlich nicht beabsichtigt. 'Ich hab das Programm nicht getestet da mein letzter Controller gerade 'seine Testphase durchläuft '(Langzeitstabilität.Naja wenigstens für eine Woche) ' 'Soweit es nötig war und soweit ich es auch nicht vergessen habe sind die 'wesentlichsten Punkte Komentiert damit man leichter nachvollziehen kann was läuft. '********************************************************************* 'Definitionen $regfile = "8515def.dat" $crystal = 8000000 Enable InterruptsConfig Clock = SoftConfig Debounce 35 Dim Zeit as Long Dim Zeitverstrichen as LongDim G as Byte Dim M as Byte Dim N as Byte Dim Fehler as Byte 'Grundeinstellungen '(Aus reiner Vorsicht.Man weiß nie was unterschiedliche Compiler jeweils anders machen) G=0 M=0 N=0 Fehler=0 'Hauptroutine Do Debounce Pind.0 , 1 , 5gramm_in , Sub Debounce Pind.1 , 1 , 5gramm_out , Sub Debounce Pind.2 , 1 , 10gramm_in , Sub Debounce Pind.3 , 1 , 10gramm_out , Sub If M=1 then Gosub Zeitlimit If M=2 then Gosub Zeitlimit If N=1 then Gosub Zeitueberschritten 'If Fehler=1 then Gosub.........Diese Zeile würde den Sprung für die Fehlerbehandlung beinhalten. 'Die getrennten Werte für M sind damit man unterscheiden kann welche Sorte gerade läuft. Loop 5gramm_in: G=G+5 Portb.0 = 1 '5g Motor an. Zeit = SysSec() 'Zeitstempel holen. M=1 '5g Behandlung läuft. Return 10gramm_in: G=G+10 Portb.1 = 1 '10g Motor an. Zeit = SysSec() 'Zeitstempel einholen. M=2 '10g Behandlung läuft. Return 5gramm_out: G=G-5 If G=0 Then Portb.0 = 0 '5g Motor aus. M = 0 'Alles erledigt. Endif Return 10gramm_out: G=G-10 If G=0 Then Portb.1 = 0 '10g Motor aus. M = 0 'Alles erledigt. Endif Return Zeitlimit: If SysSecElapsed(Zeit) >15 Then N=1 'Wenn länger als 15 Sekunden nix kommt dann anderen Weg suchen. 'Ich habe hier mal 15 Sekunden als Zeitlimit genommen.Kann beliebig angepasst werden.Return Zeitueberschritten: If M=1 Then Fehler=1 'M=1 zeigt an das die 5g alle sind also geht auch nix mehr. M=0 'Die 5g Behandlung wird gelöscht. N=0 'Die Zeitüberschreitung wird gelöscht. Endif If M=2 Then M=1 'Die Behandlung wird von 10g auf 5g umgestellt da die 10g leer sind. Portb.1 = 0 '10g Motor aus. Portb.0 = 1 ' 5g Motor an. Endif Return. 'Hier könnte jetzt noch die Fehlerbehandlungsroutine stehen. 'Zb. kann nur ein Text auf nem Display ausgegeben werden oder auch zusätzlich nen Alarm. ' 'Sicher,es gibt mit weitere nRoutinen und meßeinrichtungen genügend möglichkeiten genauer festzustellen '"was" nicht stimmt aber das ist hier nicht mein Bier. ' 'Desweiteren habe ich bei einem leeren 5g Dosierer den Auftrag letztendlich storniert. 'Man könnte natürlich die Dosierung bei Zeitablauf einstellen,speichern und in Intervalen oder auf Tastendruck 'neu versuchen wenn es einen Alarm gibt und jemand es nachfüllen würde. 'Dann kann man abhängig von der aufgelaufenen Dosierung von oben anfangen und die Teilung dann 'nach unten weitergeben. ' 'Aber wie ich schon oben sagte ist das Programm nur eine Möglichkeit das Problem zu lösen und ich hab mir auch keine 'übergroße mühe auf einen Coolen Programierstil gegeben oder gar bis ins kleinste Eck Zeit rausgeschunden. 'Einfach mal frei von der Leber weg. ' 'Da ich es nicht testen kann übernehme ich keine Verantwortung für Schreib- ,Logische- oder Syntaxfehler. 'Zumindest der Grundgedanke sollte rauszulesen sein. ' ' ' 'Und nun kommt das was immer kommt ! ' ' ' The....... End ------------------------------------------------------------------------ --------------------- (Cut here)
Wow Das höhrt sich ja Super an . währe ja jetzt schon genauso gut wie das original. Ja display währe vieleicht nicht schlecht wo man sieht am anfang wieviel ausgeworfen werden soll, und alles abgezogen wird was schon ausgeworfen worden ist also zum schluß wenn alles OK war muß wieder 00 am display stehen. Dann währe es sogar noch besser als das original. Habe es gerade im bascom versucht, bringt mit aber 4 Fehlermeldungen. Habe ich das was falsch gemacht ?? Vielen dank und Gruß Gerold
Keine Ahnung. Ich kann von hier aus nicht in deinen Rechner sehen also weiß ich auch nicht welche Fehlermeldungen du hast. Wie gesagt hab ich das Program nicht getestet weil ich derzeit keine Hardware zur verfügung habe. Du mußt dir den Rest schon selber anpassen.
Hallo Ratgeber Bis zur Hardware bin ich noch nicht gekommen. Den fehler bekomme ich schon im bascom. Hier nochmal das File als anhang, kannst Du nochmal schauen was ich da falsch gemacht habe. Viele Grüße Gerold
Mein Name sollte doch lesbar sein oder ? Zum Programm. Irgendwie war das nicht so die gute Idee das Prog in die Nachricht zu setzen. Einige Zeilenvorschübe sind flöten gegangen (Bei Config und den "If Then") Die Fehlermeldungen sind soweit weg aber da dein Controllertyp die Timersteuerung nicht kann fallen alle befehle zur Zeiterfassung unterm Tisch. Lad dir mal die Korrigierte Fassung und versuch zu übersetzen. Zeile 4 mit "Config Clock = Soft" wird nicht genommen da der 8515 das nicht unterstützt. Damit mußte dir die Zeiterfassung anders stricken. Viel Spaß
Hallo Ratber Ja stimmt Sorry wegen meiner Namensverwechslung, hab wieder mal nur überflogen und das passiert mir das öfter. Ja stimmt jetzt würde es gehen bis auf die Config Clock = Soft Nur schade das ich die schaltung schon fertig habe, 8515 ist aber gesteckt, könnte ich den nicht gegen einen pinkompatiblen austauschen ?? Würde der AT Mega 8515 gehen ?? Könnte notfalls die schaltung auch nochmal Neu machen. Welchen AVR würdest Du nehmen ?? P.S. Bin echt froh wenn das teil mal wieder automatisch funktioniert denn ich laufe momentan alle 1-2 Stunden im Keller und mische mit der Hand hinzu auf einer Led Platine kann ich die ausgegebenen Impulse lesen und dann bin ich der Mischer . (Nervt mich schon ganz schön) Gruß Gerold
Ein 8535 würde gehen Aber du brauchst nicht gleich nen neuen Controller zu nehmen. Wenn die Softclock nicht geht dann machen wir es eben etwas Infantiler per Zähler. Ist nicht so bequem aber funktioniert auch. Da ja M auf 1 oder 2 Gesetzt wird können wir un der Subroutine Zeitlimmit einfach un ergreifen bei jedem durchlauf einen Zähler raufzählen. Der Rest bleibt dann wie gehabt. Natürlich hängt die Zähldauer vom Takt ab so das man etwas Experimenteiren muß aber es geht.
Höhrt sich gut an . Hab mich schon damit abgefunden gehabt die schltung neu mit anderem avr aufzubauen. Aber da ich ja schon alles fertig habe ist mir eine programmänderung am liebsten. Gruß Gerold
Ich muß morgen eh meine beiden anderen Kisten umpartionieren was für reichlich Wartezeit sorgt da ich die Daten nicht verlieren will also kann ich dann auch mal schnell am Programm stricken. Dürfte ne Sache von einigen Minuten sein. Bis denne cu
So,schsu mal hier. Den finalen Wert für Z mußte selber rausfinden. als LONG dürfte das kein Problem sein.
"Hab mich schon damit abgefunden gehabt die schltung neu mit anderem avr aufzubauen." Also, daß der 8515 nicht ausreicht, kann ich gar nicht glauben. Im Gegenteil, der ist doch sogar noch hoffnungslos unterfordert. Ein 90S2313 oder Tiny26 tuts dicke. Wenns Dich interessiert, könnte ich das in C (WINAVR) zusammenstricken. Ist bloß nicht so einfach Deine Angaben in einen PAP umzusetzen: Was passiert z.B. wenn ein Behälter leer ist ? Sollen dann die Motoren ewig weiterlaufen ? Soll eine Leer-LED das anzeigen ? Man bräuchte wohl noch einen Taster, um nach Wiederbefüllung neu zu starten. Was passiert, wenn die 5g zuerst alle sind ? Soll dann beim 2. 5g-Impuls eine 10g ausgeworfen werden ? Peter
Hallo Ratber Danke habs versucht aber scheint noch nicht ganz zu funktionieren, Irgendwie werden ab und zu die Impulse am eingang übersehen. Aber das Grundprinzip scheint richtig zu sein. Werde noch ein bischen rumexperimentieren. Hallo peter dannegger Danke erst mal, Natürlich bin ich auch an einem C Programm Interessiert. Wenn ein Behälter leer ist sollte er wenn es geht auf einen anderen Wert ausreichen und wenn es der 5 gramm ist, soll beim 2. 5g-Impuls eine 10g ausgeworfen werden. Motore sollen maximal 15 sec. laufen und dann der wert als leer angesehen werden. (im zweifelsfall soll aber nie mehr ausgeworfen werden, Tabletten sind Teuer) Eine leer led und ein taster währen natürlich nicht schlecht. Super währe natürlich ein LCD das den auszuwerfenden wert anzeigt und gleich immer den ausgeworfenen wert abzieht. Da könnte man am display sehen was noch abgeht. Vielen Dank euch beiden für die bereits geopferte zeit. Danke Gerold
@Gerold Ja,das ist entweder die Impulsformung oder die Tablette wird nicht erkannt. Kann ich wegen unkentnis der Harware nicht sagen. Das Programm ist natürlich nur ein Vorschlag. @Peter Der 8515 reicht da vollkommen. Eigewntlich rewicht jeder MC mit genügend Portpinnen und etwas Speicher bei 1 Mhz. Die "Behälter Leer" Geschichte hab ich ja oben schon angedeutet. Was geschehen soll das muß er selber entscheiden.(Lampe,Tröte,Speicherung bei Intervallmäßigen Wiederholungen oder per Tastendruck nachdem man nachgefüllt hat.) Möglichkeiten gibt es viele und man kann die anlage fast beliebig erweitern (Vieleicht eine art Füllstandskontrolle die schon vorzeitig alarm schlägt wenn wenig Tabletten vorhanden sind usw.) Das Programm oben ist ja nun nicht gerade Kompliziert und die Aufgabenstellung auch nicht. @Nochmal Gerold Vieleicht solltest du der Lichtschranke einen Impulformer verpassen damit auch kurze Signale zuverlässig erfasßt werden können. Wie gesagt ist die Ausführung nicht so wild wenn feststeht was gefordert ist.
Alles Klar Danke Werde mir morgen nochmals einen genaueren ablauf plan erstellen, aber wie gesagt es ist ein eigenes projekt das mit sicherheit verbessert werden kann. (Und auch soll) Wahrscheinlich wenn wir mal fertig sind wird es so eine gute Wasserqualitätssteuerung nich einmal zu kaufen geben. g Gruß Gerold
Anbei der Code in C. Ich hoffe, die englischen Kommentare sind verständlich. Alle Signale sind als Low-Aktiv definiert, kann man aber leicht ändern. Wenn Du nicht den WINAVR downloaden willst, kann ich Dir auch noch das fertige Hex geben. Peter
Ich hab eben entdeckt das ich bei der Umstellung auf nen Zähler als Zeitmessung etwas mist gebaut habe. Da ja vom ursprünglichen Automaten alle Stunde neneue messung vorgenommen wird und damit vorher nicht gegebene Tabletten automatisch über den dann stärker abweichenden PH-Wert korrigiert werden ist es natürlich Sinnvoll das das Programm bei nem Fehler den Tablettenzähler nulliert. Hab ich hiermit behoben. Desweiteren war da noch nen Fehler bei der Übergabe von 10 auf 5g wodurch der Zähler nicht mehr ging. Ist auch behoben. Ich habs durch den Simulator gejagt. Jetzt macht das Programm das was es eigentlich sollte. Probiers mal.
So, ich habs jetzt auch noch auf dem STK500 getestet. Läuft alles genau so, wie ich es verstanden habe. Hier ist noch eine kleine Berichtigung, CS11 darf natürlich nicht gesetzt werden: TCCR1B = 1<<CTC1^1<<CS12^1<<CS10; // divide by 1024 // clear on compare Peter
Hallo Ratber und peter dannegger Habe beide Files getestet und beide funktionieren Wunderbar. Bin absolut begeistert und Happy. Vielen Dank für die Hilfe (ohne Euch würde ich immer noch alle 2-3 Stunden im Keller laufen, währt Ihr in meiner nähe würde ich Euch zu einem Bier einladen.) Da das alles so Super Funktioniert habe ich mir bei Ebay heute einen neuen Dosierer ersteigert (51) Der Neue Dosierer kann 500 Tabletten aufnehmen. Das würde ca. 1 Monat reichen (der alte kann 80 aufnehmen) Ich hoffe das dann alles mit dem Neuen auch so gut Funktioniert. Wünschen würde ich mir noch die sache mit dem Display. (Purer Luxus g) Also nochmal vielen Dank Euch beiden. P.S. Darf ich mich nochmal melden, wenn der Neue Dosierer probleme macht ? (irgend etwas anders ist) Gruß Gerold
Yo,kein Problem. Wenn de mal nach Düsseldorf kommst dann kome ich auf dein Angebot zurück gg
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.