Forum: Mikrocontroller und Digitale Elektronik PSoC und der Rest der MC-Welt


von Peter Spiegel (Gast)


Lesenswert?

Hallo

Für ein grösseres "Hausautomations-Projekt" bin ich seit einiger Zeit
am Suchen nach und Probieren mit dem geeigneten "Herz" der Sache.
Nachdem, unter anderen, C-Control und PIC ausgeschieden waren, blieben
AVR und PSoC. Hab mir von beiden das kleinste Evaluationsdings besorgt
(Butterfly und PSoCEVAL) und erste Erfahrungen gesammelt.
Und die sind so unglaublich, dass ich sie noch gar nicht glauben kann.
Ich möchte jetzt mal behaupten, dass sich mit dem PSoC ein Projekt mit
Messung von Umweltgrössen, Ansteuerung von z.B. Relais und
Datentransfer zu anderen Systemen (I2C,SPI,RS232/485), in einem
Bruchteil der Zeit (< 10%) im Vergleich zum AVR realisieren lässt. Dies
betrifft auch, wenn vielleicht nicht in diesem Mass, das Erstellen der
Platine und nicht nur die Programmierung.
Ich bin dankbar, wenn mir hier jemand widerspricht und auf etwas
hinweist, das ich übersehen habe. Ich weiss, dass der AVR ein richtiger
Prozessor mit vielen Registern ist und auf eine umfangreiche
Unterstützung mit (kostenlosen) Compilern und Platinen und Foren und
Beispielcode zählen kann. Aber all das, mit Ausnahme der Foren, wird
nebensächlich - nach dem ersten Kontakt mit dem PSoC.

Also, vielleicht findet sich jemand, der mir die Flausen aus dem Kopf
treibt

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hey

is ja interesant: hält uns das Zuckerl vor die Nase und düst wieder ab:
Erzähl ma etwas ausführlicher, wie sind gespannt.....


Gerhard

von Peter Spiegel (Gast)


Lesenswert?

Es war ja auch schon früh am Morgen :-)

Und ich kann eben noch gar nicht viel auf die Reihe bringen da mir der
Kopf immer noch schwirrt von den vielen Möglichkeiten.
Nur soviel: Nach ca. 15 Stunden Einarbeitungszeit (10 Stunden Studium
der ANs und 5 Stunden für den PSoC Designer) konnte ich Temperatur und
Lichtstärke messen und auf dem LCD und über RS232 ausgeben. Und zwar
mit einer (theoretischen) Genauigkeit von 0,01 Grad in einem
Temperaturbereich von 90 Grad ! Theroretisch, weil mein KTY nur 1%
Genauigkeit bringt.

Im Moment brüte ich über einem RS232 Konzentrator. Er soll Nachrichten
von 5 Messmodulen über RS232 entgegennehmen und, auch über RS232, an
den PC weiterleiten. Ich denke, dass der Aufwand für die Programmierung
bei ein paar Stunden liegen wird und die Kosten für die Hardware (ohne
MAX232 und Stecker) bei knapp 10 Euro.

Es ist einfach umwerfend !

Schönen Sonntag
Peter

von Peter Spiegel (Gast)


Lesenswert?

Hab noch was vergessen:

Um Blut zu lecken, empfiehlt sich ein Besuch bei http://www.cypress.com
Die Site ist recht unübersichtlich aber man kommt mit der Suchfunktion
schnell ans Ziel. Für das Datasheet nach "CY8C29466" und für ein
bezauberndes Ohmmeter nach "AN2028" bzw. "AN2017" suchen.

Viel Spass
Peter

von Markus (Gast)


Lesenswert?

Wie lange die Einarbeitungszeit für die AVRs ist, hängt natürlich immer
auch von den Vorkenntnissen ab, d.h. wie schnell kann man aus dem
Datenblatt die notwendigen Informationen ziehen.

Du schreibst, mit dem PSoC könnte man das Ganze in <10% der Zeit
realisieren und hast bis jetzt 15 Stunden gebraucht. Mit ein bischen
Vorkenntnissen allgemeiner Art und der passenden Programmiersprache
braucht man aber bei den AVRs ganz sicher keine 150 Stunden Zeit.

Beispiel Bascom.
Ausgabe über die serielle Schnittstelle:
$baud = 9600
print "hallo"

Für ein LCD braucht man zwei Zeilen Code zur Konfiguration und kann
dann mit
LCD "Hallo"
die Werte ausgeben.

Auch A/D-Wandler, I2C, SPI usw. sind einfach anzusprechen.

Allerdings sollte auch ein großer Nachteil von derartigen System
angesprochen werden: Die vorgefertigten Komponenten können nicht alle
möglichen Anwendungsfälle abdecken. Was machst Du, wenn Du auf so einen
Fall stößt? Dann brauchst Du doch wieder Grundlagenwissen und mußt das
System genau kennen.

Schönes Beispiel: Ein digitaler Temperatursensor mit 1wire-Bus (z.B.
DS1820) und eine gemultiplexte 7-Segment-LED-Anzeige. Beides ist
zeitkritisch, aber z.B. in Bascom mit den vorgefertigten Routinen nicht
vernünftig zu realisieren. Man muß die beiden Komponenten eben von Hand
aufeinander abstimmen - wozu man den Code für den Temperatursensor
selber schreiben muß.

Zur Hardware:
Eine Schaltung mit einem AVR kostet sicher deutlich unter 10Euro, je
nach konkretem Anwendungsfall auch deutlich unter 5 Euro.

Markus

von Peter Spiegel (Gast)


Lesenswert?

Stimmt, an BASCOM hab ich bei den < 10% nicht gedacht. Aber so ernst
waren sie auch nicht gemeint. Es ist einfach mein persönlicher Eindruck
nach einer langen Evaluationsphase.
Vielleicht liegt es auch da dran, dass es für den AVR ein unheimlich
umfangreiches Angebot gibt und man schon viele Abende damit zubringen
kann, das geeignete EvalBoard auszuwählen. Schlussendlich hab ich mich
für den Butterfly entschieden, mir noch ein ISP und ein JTAG-ICE
zugelegt. Alles zusammen für ca. 80 Euro. Und dann passte nichts
zusammen - Der ISP bot den BLUEEMP3 Stecker, der Butterfly das ATMEL
Gegenstück und der JTAG-ICE hatte auch eine andere Pinbelegung als der
Butterfly sie wollte. Natürlich kann man das alles umlöten und es hat
dann auch funktioniert.
Und dann kommt die Entscheidung mit was programmiere ich denn? Wie Du
schon erwähnt hast, hat jede Sprache ihre Stärken und Tücken und
Schwächen. Und jede braucht Aufwand um sie zu beherrschen, selbst wenn
man in jeder schon mal (andere Systeme) programmiert hat.

Beim PSoC war das recht einfach. Basic gibt es nicht, C kostet was und
Assembler ist dabei. Wobei die Programmiersprache bei diesem System
eher Nebensache ist. Die grosse Herausforderung ist der "PSoC
Designer". Ich hab in einem anderen Forum schon geschrieben, das ist
wie Lego spielen im Kopf. Und am Schluss wird es in Silikon gebrannt
und die Schaltung ist fertig.

Zu den 15 bisher verbratenen Stunden: Ich möchte sagen, dass ich noch
das 10-fache brauchen werde, nur um überhaupt sagen zu können, wo die
Grenzen dieses Systems liegen. Was damit überhaupt machbar ist und was
nicht.

Ich möchte hier auch keine Wertung abgeben, welches denn nun "das
Bessere" System ist. Dazu kenne ich beide zu wenig. Ich möchte mich
einfach vergewissern, dass ich den richtigen Weg eingeschlagen und
nichts übersehen habe bevor ich mich an den grossen Aufwand mache und
den PSoC richtig kennenlerne.

Und vielleicht ein paar Begleiter finde :-)

Peter

von Hagen (Gast)


Lesenswert?

Über PSoC bin ich auch schon gestolpert, habe mir einiges an AN's
reingezogen (die Cypress Side ist echt unübersichtlich und zudem nicht
gerade auf Internationalität ausgelegt) und habe danach die
Verfügbarkeit überprürft. Und genau da sah es für den Hobbisten sehr
schlecht aus, meiner Meinung nach. Erstens bietet Cypress garnicht alle
schon beschriebenen Chiptypen an, und zweitens gehen die Preise für
größerer Chips sehr schnell in die Höhe. Wenn dieser Punkt nicht wäre
dann würde auch ich garantiert PSoC austesten. Denn was nützt einem ein
AVR mit vielen ADC's wenn man in einem PSoC den Rest der nötigen
Schaltung per schnellem Design in einen Chip integrieren kann.
Interessant finde ich es allemale, wenn halt das Problem der
Verfügbarkeit nicht wäre.

Gruß Hagen

von Michael (Gast)


Lesenswert?

So ich habe mir die Sache auch mal angeschaut, und gestern ist auch mein
Eval1 Board gekommen, was mich rießig gefreut hat.

Ich finde es auch sehr interessant und denke so wie Peter,

würde mich auch freun, wenn man noch ein paar Gleichgesinnte treffen
würde ...

den alleine durch zu kämpfen ist etwas mühsam ...

Grüsse

Michael

von Peter Dannegger (Gast)


Lesenswert?

"Also, vielleicht findet sich jemand, der mir die Flausen aus dem Kopf
treibt"


Also das ganze klingt für mich nach einer Art Codewizzard.

Solange man Standardaufgaben und einfache Projekte hat, sagt man es dem
Codewizzard und der setzt das dann um.
Aber nur eben solche Aufgaben, die die Entwickler des Wizzards
vorausgedacht haben. Ein Teil der Entwicklungszeit wurde sozusagen
schon im voraus getan.


Aber sobald es etwas komplexer wird oder spezieller, d.h. Aufgaben, die
man sich selber ausgedacht hat, muß man doch wieder ganz von vorne
anfangen.
Denn die Ausgaben des Wizzards sind in der Regel schlecht erweiterbar
bzw. von ihren verbrauchten Ressourcen und Seiteneffekten eine Art
Black Boxes, also nicht durchschaubar.



"Und zwar mit einer (theoretischen) Genauigkeit von 0,01 Grad in
einem
Temperaturbereich von 90 Grad !"

Wenn man sich mit Meßaufgaben beschäftigt, sollte man sich zuerst mal
Klarheit über die Begriffe verschaffen.

Wo hier oft der Begriff "Genauigkeit" fällt, rollen sich bei mir
regelmäßig die Fußnägel hoch.

Es ist überhaupt keine Kunst, eine Temperatur mit 6-stelliger
"Auflösung" anzuzeigen (z.B. 20,00001°C) und ganz ohne Ausrufezeichen
dahinter !

Allerdings hat das nicht den geringsten praktischen Nährwert, da die
"Genauigkeit" weit darunter liegt.


Und da schließt sich schon wieder der Kreis. Ich kann dem Codewizzard
sagen, daß er ein Ergebnis mit 6-stelliger "Auflösung" anzeigen soll.
Aber ich kann schlecht beurteilen, wie groß die wirkliche
"Genauigkeit" der internen Algorithmen ist, da ich sie ja nicht
kenne, es sind und bleiben eben Black Boxes.

Um echte "Genauigkeit" zu erreichen, muß ich die Algorithmen kennen
und verstehen. Und wenn ich das kann, dann ist es auch leicht, sie
selber zu programmieren, ohne Codewizzard.

Die Hauptarbeit des Programmierens ist nicht das schnöde Coden, sondern
die Programmvorbereitung und Ablaufplanung.
Es sieht nur oft so aus, weil viele erst beim Coden darüber nachdenken,
wie eigentlich alles ablaufen soll.
Effektiver ist aber immer das getrennte Planen und Coden, denn man muß
dann nicht schon geschriebenen Code wegschmeißen, wenn man mal in einer
Sackgasse gelandet ist.



Neben "Genauigkeit" und "Auflösung" gibt es in der Meßtechnik aber
noch viel weitere Begriffe, die man genau kennen und unterscheiden
können muß, denn ansonsten gilt unweigerlich: "Wer mißt, mißt Mist
!!!"


Sehr oft ist die Temperatur der größte Feind der genauen Messung, sogar
bei der Temperaturmessung selber, denn viele physikalische und chemische
Vorgänge, die zur Meßgrößenumformung dienen, sind stark
temperaturabhängig.


Peter

von Willi (Gast)


Lesenswert?

Hallo Michael,
>>gestern ist auch mein Eval1 Board gekommen,
>>was mich rießig gefreut hat.
Freut mich für Dich,
ich auch versuche schon länger, eins zu bekommen.

Wo hast du das EVAL1 Board bestellt,
und was kostet es ?
Weisst du auch, wo man die Chips, z.B. den auf
dem Eval1 Board eingesetzten, als Privatperson
in kleinen Stückzahlen beziehen kann ?


Mfg

Willi

von Michael (Gast)


Lesenswert?

@ Willi

Ich hab meins bei der Firma Firma, Future Electronics in München
bestellt. Nach glaub 3 Tagen hatte ich das Board.

für 44€ + Versand 14,50€

Die Bestellung muss von einer Firma ausgehn, die Rechnungsanschrift
kann dann woanderst hin gehn.

Was die Chips angeht, da hab ich auch schon was gesehn, weis nur nicht
mehr genau wo ...

muss ich nochmal schaun ...

von Manfred (Gast)


Lesenswert?

beinahe OT...
@Peter
Hallo Peter, funktioniert eigentlich das lange Kabel an deinem ISP?
;-)...

[...]Der ISP bot den BLUEEMP3 Stecker[...]

das war aber nicht mein ISP-Dongle? Weil das eigentlich mit dem
Butterfly funktioniert (zumindest bei mir)...?

Grüße
Manfred

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
Noch kein Account? Hier anmelden.