Forum: Mikrocontroller und Digitale Elektronik Sender/Empfänger mit PIC - Einstieg


von Tobias D. (der-tobi)


Lesenswert?

Hallo...

Ich hab mir vorgenommen, folgendes Projekt zu realisieren:

Ansteuerung von verschiedenen leuchtstarken LEDs, und zwar so ungefähr, 
wie es auch in diesem Conrad-Artikel Nr. 574749 funktioniert. (Die 
genaue Adresse wär jetzt ewig lang, sry)
Also RGB, jede beliebige Farbe kann erzeugt werden.

Das Problem an der Conrad-Lösung ist die geringe Leuchtstärke, für 
meinen Zweck ungenügend. Außerdem der relativ hohe Preis... ;)

Also hab ich mir überlegt, ob ichs nicht selber mal probier.

DA ich auf diesem Gebiet Einsteiger bin (Ahnung hab ich allerdings 
schon), wollte ich mich an dieser Stelle mal erkundigen, wie ich das 
ganze am Besten realisieren kann.

Erst mal die Fernbedienung: für meinen Zweck wäre ein System ideal, 
welches auch "ums Eck" funktioniert, da die Leuchte bzw. deren Licht nur 
indirekt zu sehen ist, und son hässlicher Empfänger, ich weiß nicht.... 
IR scheidet also tendenziell aus.

Deswegen hab ich mir mal das da näher angeschaut: Conrad Nr 130428, das 
ist ein Sender für serielle Datenübertragung. Würds mit etwas in der 
Richtung funktionieren, in Verbindung mit einem PIC? (Der PIC deswegen, 
weil ich damit schon einige einfache Dinge realisiert habe) Wie steuer 
ich einen Sender seriell an?

Rein prinzipiell bräuchte ich nur ca. 4 verschiedene Werte versenden 
(z.B. 2 verschiedene vorher gespeicherte Farbtöne, Weiß, und einen Wert, 
der das Farbwechseln aktiviert bzw. stoppt), das muss ich mir aber noch 
genauer überlegen.

Was für Schwierigkeiten könnten sonst noch auftauchen?

Grüße, Tobi

von P.K. (Gast)


Lesenswert?

Um eine Datenübertragung mittels RS232, ist eine
Pegalanpassung notwendig. Z.B. mit einem
MAX 232. Dann kannst du die Daten über das
Modul von Conrad schicken. Das selbe dann auf der
anderen Seite, wenn da auch ein Pic rein soll.
Bin selber im Moment mit der Datenübertragung beschäftigt, aber ich 
verbinde nur zwei Pics mit einander. Da ist der aufwand nicht so groß,
als bei dir.

mfg. Peter

von Tobias D. (der-tobi)


Lesenswert?

Ah Danke. Mit seriell ist also dasselbe wie RS232 am PC gemeint? Dann 
wirds mir klar.

Der Sender würde mit 3V arbeiten. Weiß jemand einen PIC, der UART 
besitzt und außerdem auch mit 3V funzt? Die mir bekannten brauchen 
eigentlich alle 5V.
3V hätte den Vorteil, dass ich es mit einer 3V Lithium-Knopfzelle 
hinkriegen könnte.

von P.K. (Gast)


Lesenswert?

Die meißten PICs laufen zwischen 2-5,5 Volt.
Welchen du nimmst, liegt an deiner Anwendung.
Z.B. der Pic 16f648 hat eine UART drin.
Gibt aber noch andere. Da mal im Datenblatt
genauer schauen, was du brauchst.

von Gera (Gast)


Lesenswert?

Nicht die meisten sondern die LF variante.
Die F Variante gehen von 4.0-5.5 V

z.B.
PIC18LF2321 - 2-5.5V, kleine Spannung = klein Quarz nehmen / siehe 
Datenblatt
PIC18F2321 - 4-5.5V,

von P.K. (Gast)


Lesenswert?

Laut Datenblatt kann der PIC18F2321, eine
Betriebsspannung von 2 - 5,5 Volt. Oder
hab ich da was falsch verstanden ?

von Darkleon (Gast)


Lesenswert?

Hi P.K.

Da hast Du etwas falsch verstanden. Laut Datenblatt kann der 18F2321 mit 
einer Spannung von 4,2 - 5,5 Volt arbeiten, wobei hingegen der 18LF2321 
mit einer Spannung von 2,0 - 5,5 Volt betrieben werden kann. Nachzulesen 
auf Seite 330 des Datenblattes. Die Seiten zuvor beinhalten auch eine 
Grafik, wo dies erläutert wird.

Wenn der 18LF2321 mit 2,0 Volt betrieben wird, kann er "nur" mit 4 MHz 
arbeiten. Alles andere ist ausserhalb der Spezifikation. Wenn man einen 
schnelleren Quarz verwenden will, dann steigt die Spannungsversorgung 
linear dazu bis zu 25 MHz. Mit 4,2 - 5,5 Volt kann man dann den PIC bis 
40 MHz betreiben. (Zusehen auf Seite 329 FIGURE 26-3).

MfG Darkleon

von Tobias D. (der-tobi)


Lesenswert?

4MHz würden ja wohl locker reichen. Ich muss ja eigentlich bloß ein paar 
Ports überwachen + ein paar Daten versenden. Bleibt die Frage... wo 
krieg ich so einen LF Typ her?

von P.K. (Gast)


Lesenswert?

Aha. Stimmt, habe es jetzt auch gefunden.
Das heist das der Pic 16f648 bis 10 MHz bei 3 Volt
betrieben werden kann. Natürlich ist dann auch noch
die Temperatur von bedeutung. Was man ja im Diagramm
ablesen kann. Habe mir darüber noch keine Gedanken
gemacht, da ich die PICs immer mit 5 Volt betreibe.
Aber gut zu wissen. Also könnte der Thread steller,
diesen nehmen.

mfg Peter

von Darkleon (Gast)


Lesenswert?

Hi Tobias.

Es muss ja nicht unbedingt ein LF Typ sein. Schau mal ein paar PIC Typen 
an, da gibts z.B.: den 18F46J11. Der arbeitet mit einer Spannung von 
2,15 - 3,6 Volt. Bei 2,15 Volt arbeitet dieser PIC bis zu 8 MHz, und für 
48 MHz reichen schon 2,35 Volt. Den gibts auch in 28-Pin SPDIP.

Mach Dir zuvor klar was genau Du brauchst und dann such dir auf der 
microchip Homepage den geeignetsten Controller raus. Klar, das dauert 
etwas, aber Microchip bietet auch das "Product Selection Tool" an, mit 
dem Du schnell ungeeignete Controller ausschließen kannst.

Es ist nur ungeeignet, wenn man nur einen oder zwei Controller 
vorgeschlagen bekommt und die meist voll mit Funktionen sind, die man 
NIEMALS in der Anwendung braucht. Das ist wie mit Kanonen auf Spatzen 
schießen.
Wenn Dir den passenden Controller selbst raussuchst, dann lernst auch 
schnell worauf es ankommt und Du stehst nicht bei jedem neuen Projekt 
vor dem gleichen Problem.

MfG

von was-willst-du (Gast)


Lesenswert?

>Ah Danke. Mit seriell ist also dasselbe wie RS232 am PC gemeint?
>Dann wirds mir klar.

Wahnsinn! Und irgendwie doch falsch.

von Chris (Gast)


Lesenswert?

Welchen Pic hast du dir als Lampencontroller vorgestellt ?
Für 5-6 Leds brauchst du 12 Pins bei 5V. Also wirst du warscheinlich
auf ein 18 Pin ausweichen müssen, 16f6xx als Beispiel.
Als Sender kannst du dir ein 12f509/505 aussuchen, oder wenn du die
nicht hast, ein 12f629 oder dergleichen.

von Master S. (snowman)


Lesenswert?

ich würde - und vor allem als einstieg in die uC - die 18(L)Fxxx nehmen 
und auf keinen fall die 16er oder sogar 12er!!!
mit den 24er (3.3V) habe ich noch keine erfahrung und kann sie daher 
noch nicht richtig beurteilen, aber sie wären preislich nicht teurer als 
die 18er (wäre zwar für dein projekt ein overkill, aber egal).
falls interesse: ich gedenke im verlauf des nächsten monats bei 
Microchip den ICD3 zu kaufen und könnte dir also einen beliebigen PIC 
mitbestellen, falls es nicht eilt (kann wirklich gut und gerne noch 
einen monat gehen).

von Master S. (snowman)


Lesenswert?

ach ja, die 5V-PICs haben meist ein internes EEProm, die 3.3V-PICs 
nicht. nur falls du was im EEProm speichern musst, müsstest du bei den 
3.3V-PICs ggf. noch ein externes EEProm kaufen und ansteuern.

von Gera (Gast)


Lesenswert?

>ach ja, die 5V-PICs haben meist ein EEProm, die 3.3V-PICs nicht.

was meinst du damit??? also die PIC18LFXXXX haben Eproms und können 
löcker bei 3,3 V betrieben werden.


Tobias, ich würde auf deine Stelle PIC18 nehmen und LF Variante...
Damit sparst einiges bei Software-Entwicklung, wenn du in Asm schreibst.

Bänke umschalten war bei PIC16 für mich die Qual :-)))))

von Josef (Gast)


Lesenswert?

Oder einfach dieses Tool kaufen, dann hast Du schon Prozessor und Funk 
integriert in einem Modul. Compiler und JTAG Emulator kostenlos 
inbegriffen. -> 
http://focus.ti.com/docs/toolsw/folders/print/ez430-rf2500.html

Und hier wird zum neuen Standard fuer Consumer Fernbedienung berichtet:
-> http://www.ti.com/corp/docs/landing/RF4CE/index.htm

von Chris (Gast)


Lesenswert?

Wenn du 3.3V nimmst, kannst du nicht 2 Leds in Serie bedienen,
und da gehen dann nur 3 RGB Leds bei 12 Pin, hingegen mit 5V gehen
dann schon 6, eben weil du die dann in Serie nehmen kannst.
Auch für die 16f gibt es freie C compiler von Hitech.

von Master S. (snowman)


Lesenswert?

als anfänger würde ich nicht mit ASM beginnen sondern den kostenlosen 
C18 mit MPLAB von Microchip ;-) ..und stimmt die 18LF haben EEProm und 
können bei 3V betrieben werden (mindestspannung damit EEProm noch 
gebraucht werden kann?).

von Chris (Gast)


Lesenswert?

Hier geht es doch um eine Appl. 5V, sonst braucht man doppelt so viel
Pins, wo es darum geht, 6 RGB Leds im Dauerbetrieb, da volle Leistung
gebraucht wird, und Mux eigentlich wenig Sinn macht, zu betreiben.
Das wird generell so gelöst, daß je 2 Leds seriell miteinander verbunden
werden, und dadurch logischerweise als 3 RGB Leds angesehen werden.
Je RGB Led sind es 4 Einzelled, welche über PWM betrieben werden,
warscheinlich, so würde ich es machen, ohne Vorwiederstand, und damit
mit 25mA gepulst, für den Anfänger sollte (kann) man einen 
Vorwiederstand
reinmachen. Das sind dann 12 PWM-Ausgänge, wobei aber nur 3 verschiedene
PWM gleichzeitig laufen, mit dem 18C tut man sich da schon schwer, weil
der relativ viele Klimmzüge macht, und man es dann nicht besonders gut
hinbekommt. Da ist der Hitech Compiler besser, und der Baustein 
billiger.
Ein Anfänger kann mit dem Hi-Tech Compiler problemlos einen 10bit
PWM mit 50KHZ bei 3 Kanälen machen, welche dann auf 12 Pins ausgegeben
werden. Was halt beachtet werden muß ist die max Strohmaufnahme eines
Portes, das nicht überschritten werden darf. Wenn er es sich dann
bequem machen will, nimmt er sich einen RF-Empfänger mit RS232 HW,
und braucht sich dann auch nicht um eine State-Machine für das RS232
kümmern. Für den Handsender, kein WDT, Wake-up on pin change, sowie
SW RS232 Codierung, welche man dem Beispielcode entnimmt.

von Tobias D. (der-tobi)


Lesenswert?

Hi Leute, is ja richtig was los hier :)

@ Master Snowman: Danke für Dein Angebot (PIC mitbestellen), ich denk 
mal, das werd ich wahrnehmen (da ich in nächster Zeit wegen Abi eh viel 
zu tun hab), ich werde darauf zurückkommen, wenn ich die richtigten PICs 
gefunden hab.

Mit Assembler hab ich sowieso nicht vor, anzufangen :D, das is mir 
ehrlich gesagt zu blöd.

Prinzipiell is es mir auch ziemlich egal, wenn ich jetzt mit ner Kanone 
auf die besagten Spatzen ziele - vorrangig ist für mich die möglichst 
einfache Realisierung des Projekts, es ist ja sowieso bloß eines, das 
ich nur einmal brauche. (Wobei ich mir gar nicht mehr soi sicher bin, ob 
sich das ganze wirklich so einfach machen lässt - siehe diverse 
Forumsbeiträge zum Thema PWM...)

Und noch was zu den LEDs, es wird wohl keineswegs genügen, 5-6 LEDs 
dranzuhängen, nein, ich denke da eher an leuchtstarke LED-Spots (falls 
sich das irgendwie als RGB realisieren lässt, vorausgesetzt).

Und zu guter letzt soll die Fernbedienung auch noch möglichst stylish 
sein ^^ d.h. ich werd um SMD ned herumkommen.

@ Chris
Ich versteh ned ganz - wieso 12 PWMs? Ich brauch doch bloß 3, für R, G & 
B.
Natürlich hinten dran noch ein Treiber (um den ich mir bis jetzt noch 
keine Gedanken gemacht habe). Insgesamt dürften so ca. 3x 5W nötig sein, 
wenn nicht noch mehr. Kann natürlich sein, dass ich vollkommen auf dem 
Holzweg bin ;)

mfg, Tobi

von Tobias D. (der-tobi)


Lesenswert?

Mal ne einfache Frage:
Wie krieg ich am besten LEDs einer Gesamtleistung von ca. 6W an ein 
PWM-Signal hin? Einfach mit einem Kondensator um ein analoges Signal zu 
erzeugen + einem (Hochleistungs-)Spannungsfolger? Oder macht man das 
anders

mfg Tobi

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.