Hallo miteinander, ich habe schon einiges hier im Forum gelesen, kann mir diese Frage aber selbst nicht sicher beantworten, da ich auf dem Gebiet "Mikrocontroller" kompletter Neuling bin. Deshalb frage ich hier nun einfach mal nach. Geplant ist die Umsetzung der angehängten Schaltung (ja es ist eine einfache Skizze, da ich nicht aus der Elektrotechnik-Branche komme und mit komplexen Schaltungen nicht sonderlich vertraut bin ;-) ). Meine Erklärung: Der Prozessor soll ein Signal "AN" bekommen in Form eines fließenden Stroms und sich daraufhin anschalten. Nun erfassen die beiden Sensoren ihre Daten. Diese liegen in der Form vor, dass Strom fließt (1) oder nicht (0). Zu Beginn fließt bei beiden Sensoren kein Strom (0,0). Der Prozessor soll sich nun merken welcher der beiden Sensoren zuerst einen Strom leitet (also 1,0 oder 0,1) und diese Zustände speichern (nennen wir sie Zustand A = 1,0 und Zustand B = 0,1). Nach einer Zeit von X Sekunden soll das System aus Energiespargründen abgeschaltet werden und erst bei einem erneuten Signal "AN" oder beim Druck des Tasters angehen. Wird der Taster betätigt so soll er den gespeicherten Zustand A oder B auswerten und entsprechend an eine rote oder grüne LED senden. Diese soll dann leuchten. Ich hoffe die Erklärung ist präzise genug :-) Meine Anforderungen sind: Das ganze sollte möglichst klein sein (SMD-Bauweise) und zudem sollte der Prozessor nicht viel mehr können als das oben beschriebene (günstig). Eine Energiesparende Version ist ebenfalls wünschenswert, da der Betrieb mit Batterie geplant ist. Meine Fragen: Welcher Controller eignet sich für die beschriebenen Zwecke? Gerne auch mit Links. Was brauche ich noch alles um ihn in Betrieb nehmen zu können? Sonstige Tipps und Tricks die ich beachten sollte? Ich habe bereits Erfahrungen im Programmieren in C und C++, Assembler könnte notfalls angelernt werden. Vielen Dank schonmal für Eure Hilfe. Grüße Ruben
Ich Empfehle Dir einen PIC18 µC von Microchip. Der hat alles drin. Siehe Artikel: PIC Es gibt auch die "Nanowatt" Varianten die sehr wenig Strom benötigen. Auf der Microchip Homepage gibt es viel Demo-Code und der Compiler/IDE MPLAB ist kostenlos.
:
Bearbeitet durch User
@Rubencz (Gast) >Welcher Controller eignet sich für die beschriebenen Zwecke? Gerne auch >mit Links. Jeder halbwegs aktuelle. AVR, PIC, MSP430, 8051 etc. >Was brauche ich noch alles um ihn in Betrieb nehmen zu können? Einen Programieradapter, siehe AVR ISP. >Sonstige Tipps und Tricks die ich beachten sollte? Sleep Mode. >Ich habe bereits Erfahrungen im Programmieren in C und C++, Assembler >könnte notfalls angelernt werden. Naja, diese Seite hier ist halt sehr AVR-haltig, darum würde ich einen AVR empfehlen. Aber alle anderen können das genauso gut.
Rubencz schrieb: > Meine Erklärung: > Der Prozessor soll ein Signal "AN" bekommen in Form eines fließenden > Stroms und sich daraufhin anschalten. Heißt das "AN" ist die Versorgungsspannung? > Nun erfassen die beiden Sensoren > ihre Daten. Diese liegen in der Form vor, dass Strom fließt (1) oder > nicht (0). Zu Beginn fließt bei beiden Sensoren kein Strom (0,0). Der > Prozessor soll sich nun merken welcher der beiden Sensoren zuerst einen > Strom leitet (also 1,0 oder 0,1) und diese Zustände speichern (nennen > wir sie Zustand A = 1,0 und Zustand B = 0,1). Strom oder Spannung? Stromsignal kann kein einfacher µC. Müsste man erst in ein Spannungssignal umwandeln > Nach einer Zeit von X Sekunden soll das System aus Energiespargründen > abgeschaltet werden und erst bei einem erneuten Signal "AN" oder beim > Druck des Tasters angehen. Wenn die Messung eher selten ist, kann man die Schaltung komplett abschalten. Ansonsten Sleep mode. Was für Sensoren sind das? Die brauchen meistens mehr Strom als der µC. Sollte man vielleicht auch schaltbar machen. > Wird der Taster betätigt so soll er den gespeicherten Zustand A oder B > auswerten und entsprechend an eine rote oder grüne LED senden. Diese > soll dann leuchten. Soll sich der µC mehrere Zustände merken, oder nur den letzten. Wenns nur wenige Werte sind, kann man die im EEPROM speichern und den µC danach komplett abschalten. > Meine Anforderungen sind: > Das ganze sollte möglichst klein sein (SMD-Bauweise) und zudem sollte > der Prozessor nicht viel mehr können als das oben beschriebene > (günstig). Eine Energiesparende Version ist ebenfalls wünschenswert, da > der Betrieb mit Batterie geplant ist. Ich arbeite sowohl mit Pic als auch mit AVR. Letzere sind für Anfänger einfacher. Insbesondere das neueste Atmel Studio macht das Programmieren relativ einfach dank Syntaxvervollständigung. ATmel Attiny25. 5x6mm groß. Aktivbetrieb 300µA im Sleep modus 10µA. Mit 3 AA-Akkus läuft das rund 4 Jahre lang. Der µC kostet je nach Stückzahl 0,50€-2€ > Sonstige Tipps und Tricks die ich beachten sollte? Keine 3.Anbieter programmiertools kaufen!
.. wie sollen wir uns "in Form eines fließenden Stroms" für den AN-Eingang vorstellen und was/wie/wo tun die Sensoren? Grüße leo PS.: Ansonsten würde ich mit einem beliebigen µP mit wenigstens 6 IOs, einem Steckbrett, Minimodul, zur Not auch ard... anfangen und erst im zweiten Schritt auf Kleinstheit optimieren.
Erstmal vielen Dank für die ganzen Antworten in der kurzen Zeit. Echt super :-) Die verwendeten Sensoren sind bisher noch einfache quecksilberfreie Neigungswinkelschalter. Sie dienen letztendlich dazu eine Drehrichtung zu bestimmen (links oder rechts herum). Falls Ihr bessere (vor allem kompaktere) Sensoren parat habt, ich bin gerne für Vorschläge offen. Ich hatte mich nur für diese Sensoren entschieden, da sie ein einfaches Wirkprinzip haben. Sie liefern quasi nur das Signal "Strom" oder "kein Strom". Dies erschien mir relativ einfach für eine spätere Auswertung. Das "AN" ersetzt mir quasi einen mechanischen "An/Aus" Schalter. Realisiert werden soll das ganze mittels Reed-Schalter. Danke nochmals für die schnellen Antworten. Echt top. :-) Zu den angesprochenen Controllern werde ich mich mal einlesen. So habe ich immerhin schon eine richtige Richtung…wie gesagt, bin noch blutiger Anfänger. Grüße Ruben
Wenn du in C fit bist, guck dir mal die STM32 Discovery Boards an. Haben einen Programmieradapter drauf und lassen sich mit den Bibliotheken von ST recht einfach bedienen, insb. mit der Entwicklungsumgebung Coocox und den Beispielen von http://mikrocontroller.bplaced.net/wordpress/?page_id=744 Liebe Grüße Jan
Als Neigungssensor würde ich eher ein LIS302 oder so etwas nehmen. Suche mal nach "3D Acceleration Sensor". http://www.st.com/web/catalog/sense_power/FM89/SC444/PF152913?sc=internet/analog/product/152913.jsp
:
Bearbeitet durch User
Jan Berg schrieb: > STM32 Discovery Boards Warum nicht gleiche einen i7 mit 8 Kernen? Ich würde das ganze mit einem kleinen 8bit PIC lösen. MPLAB X IDE und den XC8 Compiler kann man sich gratis bei Microchip downlaoden. Als Programmer würde ich das PICkit3 empfehlen, mit diesem kannst du so gut wie jeden PIC programmieren und auch debuggen.
Bitte nicht schon wieder Flamewar. Das PicKit kostet z.B. Faktor drei und der ST ist einfacher zu Programmieren mit den Libraries als ein Pic ohne. STM32L0 sind auch sehr energiesparend und klein zu kriegen.
Jan Berg schrieb: > Das PicKit kostet z.B. Faktor drei Dafür hat er dann einen tollen Programmer/Debugger. > ST ist einfacher zu Programmieren mit den Libraries als ein Pic ohne. Für PICs gibt es auch Libraries... Sind z.B. beim XC8 dabei.
Ich würde sagen das kommt auf den Arbeitsaufwand an den du betreiben möchtest. Mehr Aufwand wäre es mit dem stm32f429 discovery board. Hat für 27€ alles drauf was man brauch ( rote und grüne led, Taster, neigungssensor/gyro, wenn einem langweilig ist auch ein touchdisplay) Einarbeitungszeit ist allerdings größer, da auch komplizierter. Doch für die meisten Bauteile gibt es fertige libs wie bei Mikrocontroller.bplaced.net Einfacher geht es mit "kleinen" Mikrocontrollern wie den attiny. Zumindest wenn man von 0 anfängt. (Da diese weniger Konfigurationsmöglichkeiten haben)
kopfkratz Tja nun da gibt es 8bitter, 16bitter, 32bitter und sogar 64bitter als µCs. Wenn es wie genannt nur darum geht festzustellen ob ein Zustand erreicht worden ist reicht jeder 8bitter aus. Nur wenn man sich dann ansieht das man z.B. einen 32bitter der keinen Programmer braucht für 6 Euro bekommt relativiert sich das schnell. Denn Programmer plus 8bitter µC kosten idR auch 6 Euro, 5 für Programmer und 1 für den µC. Geht es um Stückzahlen ist natürlich die Variante mit kleinem µC vorzuziehen. Aber hier denke ich das es keinen Unterschied macht ob 8bit AVR/PIC oder 32bit ARM ...
Also für das Bildchen da am Anfang und wenn die Sensoren einfache Schalter sind reicht hierfür auch eine diskrete Schaltung. Ein paar Logikgatter, Schmitttrigger und Ausgangstreiber. Ein µC ( auch der kleinste 8 Bitter) an der Stelle ist total übertrieben.
> Ein paar Logikgatter, Schmitttrigger
Also mehr als ein Chip. Mit Mikrocontroller hat man nur einen Chip. Wer
die Schaltung kompakt haben will, mag daher den µC bevorzugen.
Ein Attiny kostet nicht mal 1€. Der zusätzliche Platz auf der Platine für die Analogbausteine kostet ja mehr...
Danke für eure zahlreichen Antworten. So wie es aussieht tendiere ich zu einem µC mit 8Bit. Wahrscheinlich ein PIC samt PICkit3. Erscheint mir so als Anfängervariante ganz i.O. und in Summe komme ich da nicht über 40€-50€. Das ist ok :) Falls ich weitere Fragen habe werde ich mich melden. Ihr habt mir jedenfalls schonmal deutlich weitergeholfen. Vielen Dank Grüße Ruben
Rubencz schrieb: > Danke für eure zahlreichen Antworten. So wie es aussieht tendiere ich zu > einem µC mit 8Bit. Wahrscheinlich ein PIC samt PICkit3. Erscheint mir so > als Anfängervariante ganz i.O. und in Summe komme ich da nicht über > 40€-50€. Das ist ok :) > > Falls ich weitere Fragen habe werde ich mich melden. Ihr habt mir > jedenfalls schonmal deutlich weitergeholfen. > > Vielen Dank > > Grüße > Ruben Beim AVR komme ich auf ca. 6€ "Einstiegskosten". 2,50€ AVR ISP bei Ebay 1,50€ Mini Steckbrett bei eBay 1,00€ AVR ATTiny 1,00€ Kleinkrams
El Jefe schrieb: > Beim AVR komme ich auf ca. 6€ "Einstiegskosten". > 2,50€ AVR ISP bei Ebay > 1,50€ Mini Steckbrett bei eBay > 1,00€ AVR ATTiny > 1,00€ Kleinkrams Hirn einschalten, Lernen, ausprobieren: Unbezahlbar. Nur das will niemand. Bei den meisten reichts dann grade zu einem Arduino und selbst dafür sind se noch zu doof.
El Jefe schrieb: > AVR ISP Ein Debugger scheint mir für den Anfang ganz nützlich, und wenn wir schon nachgebaute Tools kaufen, kann man auch einen PICkit3 Nachbau für <15€ kaufen.
Nik schrieb: > El Jefe schrieb: >> AVR ISP > Ein Debugger scheint mir für den Anfang ganz nützlich, und wenn wir > schon nachgebaute Tools kaufen, kann man auch einen PICkit3 Nachbau für > <15€ kaufen. Trugschluss. Ein Anfänger braucht erstmal keinen Debugger. Und auch keinen Simulator. Die machen da mehr Probleme als sie lösen. Das sind beides Tools für Fortgeschrittene die wissen was sie tun.
Oder ein Launchpad von Ti. Da bekommt man gleich 2 MSP430, hat Programmer und Debugger. Kosten: 10 Euro.
cyblord ---- schrieb: > Trugschluss. Ein Anfänger braucht erstmal keinen Debugger. Und auch > keinen Simulator. Die machen da mehr Probleme als sie lösen. Da habe ich als ich angefangen habe andere Erfahrungen gemacht und sollte es so sein wie du geschrieben hast: Man muss den Debugger ja nicht nutze. > Das sind beides Tools für Fortgeschrittene die wissen was sie tun. Auch gut, dann kann er mit dem Pk3 viel anfangen wenn er fortgeschritten ist.
cyblord ---- schrieb: > Ein Anfänger braucht erstmal keinen Debugger. Und auch > keinen Simulator. Die machen da mehr Probleme als sie lösen. Das verstehe ich jetzt nicht. Ich finde so einen Debugger wie den Pickit3 eigentlich auch für Anfänger recht praktisch. Da kann man auch mal leicht Schritt für Schritt durchs Programm um z.B. fehlerhafte Abbruchbedinungen von Schleifen zu finden oder mal schauen ob das Ausgangsregister der Ports auch angesprochen wird oder der Fehler der nicht leuchtenden LED am falschen Tris Register liegt.
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.