Guten Tag ich hab ein kleines Problem mit einem PIC Controller den ich gerne Programmieren würde. Ich habe mir bei uns im Betrieb ein Netzteil gebaut da der Festspannungsregler eine knackige Temperatur von 90°C erreicht habe ich mir einen passiv Kühler anmontiert der das ganze auf 50°C drosselt was vollkommen ausreicht jedoch wollte ich mal zu Experimentierzwecken einen aktiven Kühler anbringen der ab 45°C für eine Halbe Minute anspringt. Nun mein Problem ist , da ich bisher mit dem genannten Controller (PIC16F84A) schon gerarbeitet habe aber mithilfe eines Emulations Programmes mit dem meine Schaltung einfach in Verknüpfungen aufgebaut habe und es mir diese dann in einen Programmcode umgewandelt hat, habe ich nun das Problem, dass dieses Programm leider nicht Umfangreich genug ist um eine Temperatur messung durchzuführen und da ich kein C beherrsche und nicht so kurzfristig lernen kann wollte ich fragen ob jemand für mich bitte einen kleinen Programm Code schreiben könnte um die genannte Funktion zu erfüllen. Er soll bei 45°C einen Lüfter für 30sekunden einschalten mehr nicht. Die Ausgänge des Prozessors sind irrelevant die könnt ihr gerne selber aussuchen. Zusätzlich müsste ich nur halt zum Programmcode weissen ob der Temperatur fühler PTC oder NTC für die entsprechende Programmier sein muss. Als Fühler möglichkeit aufgrund der Maße hätte ich an NTC 833 gedacht http://www1.conrad.de/conrad/layout2/detail.fh?fh_secondid=b2c188506&layout=layout2&fh_host=www1.conrad.de&fh_eds=%c3%9f&do_fh_search=1&fh_session=%2fscripts%2fwgate%2fzcop_b2c%2f~flN0YXRlPTIzMTg2OTI5NzM%3d&fh_location=%2f%2fb2cconrad_de_b2c%2fde_DE&fh_search=ntc+833&fh_refview=search Wer Rechtschreibfehler findet darf sie behalten ^^ Greetz von maddin
Microchip hat mal eine AN rausgegeben, den WDT als Temperatursensor zu verwenden, mit Assembler sourcecode. Vielleicht hilft dir das. Es ist manchmal sehr praktisch.
..dein link geht nicht 16f84a hat keinen ad wandler 1.problem der pic hat nur um die 30 befehle von denen du nur 10 o 11 für ein programm brauchst - das ist in 2 tagen gelernt. voraussetzungen: du benötigst eine gute vorlage. dein programm muss sicher im pic landen (größte herausforderung) @Francesco wie verwenden die den watch dog als temp sensor!? he? dennis
Der WDT ist temperaturabhängig, von 9-18ms timeout, je nach Temperatur, mit der Zeit bin ich mir nicht mehr sicher, kann auch eine andere sein. Weiters soll dieser Konstant sein und relativ linear, auch zwischen verschiedenen Geräten. Die lassen den einfach laufen, und zählen dabei die Überläufe eines 8bit Timers (inkl ev. Vorteiler). Die Genauigkeit ist 0.5 Grad Celsius mit einer zwei Punkte Kalibrierung, 2Grad mit einer ein Punkt Kalibrierung (Offsetfehler). Dieser Offsetfehler bewegt sich im Bereich +-7%, also ist auch Unkalibriert verwendbar.
...ich glaube wir meinen unterschiedliche dinge... kann das sein... ich kenne den wdt beim pic als watchdog timer. das ist ein zählregister das beim 'nicht rechtzeitigen resetten' einen internen reset auslöst... gruß, d.
@ Dennis das is der Haken mit "30 Befehle" ich habe nämlich verzweifelt nach einer Befehlsliste gesucht wo alle nutzbaren Kommandos drinne stehen doch irgendwie wollte google nich so wie ich wollte :D hab leider keine Gefunden. Wäre sehr informativ wenn mir jemand hier die Befehlsliste geben könnte, ihr könnt euch sicher ungefähr denken welche Befehle ich dafür brauche. Und sehr gut wäre dann noch zusätzlich eine Seite in der Variablen etc. aufgelistet sind die ich für die Programmiersprache brauche um meinen Prozessor zu programmieren. Wie gesagt die Aufgabe des PIC's : Bei 45°C einen kleinen Lüfter für 30 Sekunden anwerfen mehr nicht. Wenn ich mich mit dem Programmieren irgendwann ma besser auskennen sollte werde ich mir da noch zusätzliche Zeilen einfüge, sodass der Controller merkt falls es kurzzeitig hintereinander immer wieder zu temperatur ausschweifungen kommen sollte bis 45°C , dass er dann erstmal für eine bestimmt zeit in den dauerbetriebt geht und all so "spielereien" aber Grundliegend geht es wie gesagt um diese einfache Funktion : "45°C lüfter für 30sekunden einschalten" mehr nicht.
"Grundliegend geht es wie gesagt um diese einfache Funktion : "45°C lüfter für 30sekunden einschalten" mehr nicht." Dazu kannst du aber auch einen Bimetall-Sensor aus einem alten Toaster nehmen , und brauchst nix zu programmieren
Dennis wrote: > ...ich glaube wir meinen unterschiedliche dinge... kann das sein... > > ich kenne den wdt beim pic als watchdog timer. das ist ein zählregister > das beim 'nicht rechtzeitigen resetten' einen internen reset auslöst... > > gruß, > d. Microchip beschreibt sie in der Application Note AN828. Dabei wird die Temperaturabhängigkeit des WDT (Watchdog-Timer) im PIC ausgenutzt. Der Vorteil dieser Methode ist der Verzicht auf jegliche externe Bauteile. Die erreichbare Genauigkeit beträgt ca. 1°. Natürlich eignet sich diese Methode nur zur trägen Messung der Umgebungstemperatur.
@Wegstabenverbuchsler , Natürlich könnte ich das im Prinzip machen aber wir haben Zahlreiche MicroController von dem genannten Typ und da ich mich ein klitzekleines bischen schonma in C einarbeiten wollte und da ich das mit garantie nochmal in meinem Beruf brauchen wollte ich, dass mit dem PIC machen und einem EXTERNEN Sensor @ Dennis und Francesco Der sensor sollte den Durchmesser 2mm nicht überschreiten kleiner wäre besser er wird zwischen die Kühlrippengelegt und kriegt ein tröpfchen Wärmeleitpaste
Nimm dieses Programm als Beispiel, dies messt ein analogen Input mit einem Pic ohne ein ADC zu benutzen. http://www.phanderson.com/PIC/PICC/CCS_PCM/rctime.htm
Hallo Martin, Hier das Datasheet für tippschwache (1. Hit bei google): http://ww1.microchip.com/downloads/en/devicedoc/35007b.pdf Da findest Du auch den Assembler-Instruktionssatz (für alle PIC16xxx gleich). Auf so ein Problem mit C draufzuhauen ist m.E. etwas übertrieben (und geht mit dem von Dir präferierten Controller nicht so wirklich gut, da 1. zuwenig Speicher und 2. m.W. kein Compiler). Wenn Du das wirklich mit diesem PIC machen willst: - die Nummer mit dem WDT - eine recht aufwändige Zusatzbeschaltung um das Messergebnis des Fühlers zu digitalisieren - eine analoge Zusatzbeschaltung zur Schwellwerterkennung mit TTL-Ausgang an den PIC (dann kannst Du aber prinzipiell auch gleich einen Bimetall dranklemmen) Viel Erfolg! Besser wäre einer mit A/D-Wandler um dann z.B. einen AD22100KT (reichelt.de ~3€) dranzupappen (ein Widerstand und ein Tantal zur Signalglättung und gut ist), gibt ein sehr schnelles Ergebnis mit stabilen Messwerten. Wenn Du Dich wirklich mit PICs auseinandersetzen willst (und nicht nur jemanden suchst der schnell mal Dein Problem für Dich löst) findest Du über http://en.wikipedia.org/wiki/PIC_microcontroller eigentlich alles was es über PIC an Wissen gibt. BTW: Bei Microchip gibt's auch das MPLAB zum Download. Reicht als Lern-/Entwicklungsplattform für relativ simple Sachen wie dieses völlig. Gregor
auch Sprut hat den Trick mit dem WDT schonmal erwähnt: http://sprut.de/electronic/pic/projekte/logger/logger.htm Vielleicht sind dort ja auch weitere Hinweise zur Problemlösung zu finden. bye Frank
Danke Leutz für die Kommentare , speziell an Gregor das war wenigstens klare Kante was du da formuliert hast so kann ich was mit deinen Aussage anfangen , denn die ersten Antworten im Thread die kamen waren für mich wie Hyroglyphen. Ich werde mich mal mit den genannten Links befassen und mal schauen ob ich mich zu recht finde. Ihr könnt gerne weitere Tipps posten aber falls ich mit den Links und Tipps probleme haben sollte werde ich mich gegebenen Falls dann direkt wieder hier in diesem Thread melden nur grade kann ich in dieser Beziehung nichts ausprobieren da ich noch auf der Arbeit bin und noch was zu tun habe wenn ich zuhause bin werde ich mich mal drum kümmern. Greetz von Maddin
Hallo, im anhang einmal die Befehlsliste aus dem geposteten sheet(seite38) die gebräuchlichsten befehle sind rot unterstrichen, damit bekommt man schon recht weit, einige lassen sich auch noch durch 2 oder 3 andere zusammenbasteln. es wird immer viel bewegt, deswegen sind die 3 mov befehle grundlegend für alles weiter. zudem die befehle call und goto und die bs,bt (bit set und bit test befehle) nicht zu vergessen, damit und mit einer guten vorlage bist recht schnell nah am geschehen. die größter herausfroderung ist eh, ein programm lauffähig in den pic zu bekommen, bis dahin musst du dir das hier kaum antun. quarzossi richtig einsetllen wdt off, auf jeden fall nicht vergessen sprut ist für solche dinge recht gut, unbedung reinschauen. anstatt einen externen ad wandler zu kaufen, würde ich den pic16F876 nehmen, da sind welche mit an bord, und im verhältniss ist er günstiger als eine externe bastellösung, zudem ist viel platz darin. ob spurt einen programmer dafür hat, ich meine ja! zu dem pic 16f84. ich habe mit dieser ausgabe schon eine 20 stellige turnhallenanzeige realisiert, mit pc tasttatur, uhr, stoppuhr usw.. alles in dem einen chip - also die aussage "zu wenig speicher" für diese popel - lüfter aufgabe ist wohl mehr als hinfällig. zudem war es damals noch das 16C derivat, das nur knapp halb so viele bytes hat wie die hier faforisierte F Variante. so, dann mal viel spass, Dennis
"Programm lauffähig auf den PIC zu bekommen" falls du damit einen adapter oder etwas in der richtung meinst um das an den PC zu kriegen , sowas haben wir auf der arbeit in massen wir müssen für Anzeigen viele Flashproms laden etc. und wir haben auch schon Speziell auf den PIC16F84A ein Codeschloss programmiert also das is nich das problem falls das gemeint war
Hallo,
>>die größte herausfroderung ist eh, ein programm lauffähig in den pic zu
bekommen, bis dahin musst du dir das hier kaum antun.
--hmm, ich weiß nicht wie das sonst gemeint gewesen sein kann - aber es
soll ja Leute geben die viel zwischen den Zeilen lesen!
Na wenn IHR alles in der Firma habt und Ihr bereits etwas Programmiert
habt - dann frage ich mich warum IHR in diesem Forum wegen so einer
Lapalie um hilfe bittet...!?
Dennis
Ich bin ein Azubi bei uns und hab keinen Strahl von programmier Sprachen , wie ich auch am anfang gesagt hatte ich zitiere "da ich bisher mit dem genannten Controller (PIC16F84A) schon gerarbeitet habe aber mithilfe eines Emulations Programmes mit dem meine Schaltung einfach in Verknüpfungen aufgebaut habe und es mir diese dann in einen Programmcode umgewandelt hat" Also hab ich selber nicht mit programmier sprachen gearbeitet , und dieses Programm was normale verknüpfungen in den Programmcode umwandelt den ich nicht beherrsche ist aber leider nicht umfangreich genug um es für die temperatur senorik zu nutzen. Es beherrscht nur UND ODER etc. einen Zähler einen Timer das wars auch so im groben und ganzen. All diese Verknüpfungen haben vollkommen für eine Codeschloss programmierung gereicht nur wie schon erwähnt ist es nicht geeignet für die temperatur fühlung.
wenn du willst kannst du dir unter http://www.bbs1-kl.de/index.php?id=1196#2525 die ganzen befehle des pics ausdrucken oder ansehen. ich arbeite auch gerade in der schule mit dem pic16F84A und habe mir ein aehnliches projekt ausgesucht wenn notwendig werde ich mal um hilfe fragen^^ ciao
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.