Aufgabe: In abhängigkeit von einem Taster und einer Lichtschranke ein Elektromagnetisches Ventil anzusteuern. - Öffnungszeiten des Ventils 10-15ms, Pausenzeiten des Ventils 15-55ms, Genauigkeit 0,5ms - Abfrage des Schalters alle 1ms - Abfrage der Lichtschranke in 1-2ms vor Öffnung des Ventils, Lichtschrankenüberwachung soll per Software deaktivierbar sein. Die ganze Schaltung wird aus einer 9V Block-Batterie gespeist, Anzeige per LED das Schaltung aktiv und wenn Ventil schaltet. Die Batteriespannung wird mit dem Spannungswandler (zB. MAX639) überwacht und soll im Fehlerfall auch per LED (muss nicht unbedingt vom PIC gemacht werden) angezeigt werden. Per Software soll die Ventil Schliess/Öffnungszeit (sh. oben) dauerhaft (EEProm) über 2 extra Schalter (Wert +/-) einstellbar sein (Statusanzeige per akustisches Signal). In Abhängikeit der Anzahl der Schalter Betätigungen (je nach Voreinstellung) sollten folgende "Modi" möglich sein. Abhängigkeittabelle: Anzahl der Anzahl der Voreinstellung Schalterbetätigungen Ventilbewegungen normal 1 1 extra ab 4/s 15/s weitere Modi sollten möglich sein und per 3. Schalter aktiviert werden können. Das heisst ich brauche 3* DO (LED, Ventil, Beeper), 4* DI (4*Schalter) Programmieren würde ich gerne mit dem freien C-Compiler, mit Assembler habe ich bis jetzt noch nicht's gemacht. Ich hoffe das der PIC mit internem 4 Mhz Takt ausreichend schnell genug ist ? Zur Auswahl ständen damit der 16F630 oder 16F6(6-7-8) oder 18Fxxxx notwendig ? Was würdet Ihr verwenden ? Danke im voraus Dirk
Ich würde sowas mit dem NE555 machen. Da spart man sich eine Menge Programmierprobleme... Wenn Du im ms-Bereich bleibst, kannst du auch einen PIC mit einem internen Takt von 1MHz oder weniger benutzen. Da ich noch nie wirklich von PICs überzeugt war, kann ich dir bei der Auswahl eines entsprechenden Bausteins keine Ratschläge geben. Nur einen: Nimm keinen PIC! 7 I/O-Leitungen stellt so ziemlich jeder ATTiny zur Verfügung. Dazu kommt vernünftige Unterstützung hier im Forum und ein freier C-Compiler. Schönen Gruß Rahul
@Rahul und alle anderen PIC-Hasser Ich weiß nicht was ihr alle gegen die PIC´s habt. Für manche Applikationen gibts nichts vergleichbares, vor allem wenns klein werden soll, z.B. PIC 12F629 oder so. Der kann einiges in einem Gehäuse, welches man bei anderen Chipherstellern vergebens sucht. Nur so nebenbei, ich benutze für manche Schaltung auch ATmega oder auch andere uCs aber ich finde die PICs gar nicht so s******. Und was man MICROCHIP lassen muss, die Dokumentation ist vorbildlich, wenn man weiß wo man suchen muss.
stimmt, was die Doku und die Programmierumgebung angeht, ist Microchip echt Spize, das soll denen einer nachmachen. Übrigens, es gibt noch kleinere PIC-Varianten, wie 10FXX. Und was den C-Compiler angeht, es gibt zwar keinen freien Compiler, aber käufliche. Die lassen sich bis z.B. 1K Programmcode einsetzen , aber diese kleine Einschrenckung lässt sich leicht umgehen, wenn mann den Programmcode in Module einteilt und dann getrennt kompiliert(siehe cc5x). Dazu gibts eine gute Anleitung unter http://www.cc5x.de/. 'Andy P.S. und noch etwas, ich glaube, dass es keinen perfekten Mikrocontroller gibt, der alles kann und der sich für jede Andwendung eignet. Deswegen hat jeder µC seine Existenzberechtigung. Und wir sollten damit aufhören, die Sachen, von denen wir nicht viel Ahnung haben schlecht zu machen, zumindest nicht in diesem Forum, wo man hilfe erwartet und nicht etwa den Spruch "...nimm lieber einen kleinen AVR...".
@Andy Endlich mal jemand der nicht einfach behauptet die PIC´s seien s******. Wenn sie so schlecht wären, hätte Microchip ja auch nicht diesen Erfolg mit diesen putzigen Kerlchen. P.S. Die 10FXX muss ich mir mal anschauen.
Ich würde zu einem ATTiny26 oder ATTiny2313 raten. Allerdings sind 9V-Blocks nicht gerade Kapazitätsmeister, da wirst Du also nicht lange Freude mit haben. Und ein großer Strom (>100mA) für das Ventil ist auch nicht drin (hoher Innenwiderstand). Den MC kannst Du ja in Sleep versetzen, aber der notwendige Spannungsregler nuckelt Dir den 9V-Block ruckzuck leer. Besser sind 2 oder 3 Mignon, da entfallen sämtliche Verluste im Spannungsregler, da gar keiner benötigt wird. Der ATTiny2313V läuft ab 1,8V, geht also sogar mit nur 2 NiMh-Akkus. Peter
Hallo Leute, Danke für die Antworten. @Rahul: Die Öffnungs/Schliesszeiten sollten per Tasten und nicht mit einem Poti eingestellt werden -> dafür ist der NE555 aber garnicht geeignet, außerdem sollten die Zeiten einen Batterie Wechsel überleben :) @Peter: Die "Orginal Steuerung" verwendet einen ATMega8 und einen 9V Block (der ist für die Ventilansteuerung nötig und reicht als Energiequelle aus) und einen Spannungswandler von Linear (LT1962EMS8) ich glaube der MAX639 ist noch sparsamer. Ausserdem bin ich aus Platzgründen darauf angewiesen SMD Bauteile zu verwenden und möchte deswegen den Mikrokontroller mit so wenig wie möglich Anschlüssen verwenden. Dirk
@Peter: Auch "PIC-Hasser"? @Dirk: Es gibt eine Menge kleiner AVR (8Pin und mehr, auch SMD...). Wenn da sowieso schon einer drin war, würde ich nicht auf PIC umsteigen. Das erleichtert dann auch anderen den Übergang von der vorherigen Schaltung in die neue zu verstehen. Ausserdem kann man dann noch den vorhanden C-Code übernehmen... Dabei gehe ich davon aus, dass das Projekt quasi kommerziell verwendet wird. Wenn Du das nur für dich brauchst, will ich nichts gesagt haben. Die Sachen mit dem NE555 waren nicht wirklich ernst gemeint. Möglich wäre es damit aber auf jeden Fall (digitale Potis steuern man über Tasten...). Gruß Rahul
@Rahul Nein meine Bastelei ist nicht kommerziell! Ich bin einfach mit dem Orginal nicht zufrieden und will wieder mal den Lötkolben in die Hand nehmen. C-Code oder ähnliches ist nicht vorhanden, muss alles von Grund auf programmiert werden. Deswegen auch die noch offene Entscheidung welchen Mikrokontroller ich verwende...... Dirk
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.