Hallo wer kann mir bitte helfen?
-----------------------------------------------------------------------
1)
Ich möchte mit dem Pic 12F675 an einem Port eine Frequenz von 0-3MHz
einlesen ändern und an einem anderen Port wieder ausgeben.
Info zum ändern:
Es wird z.B. eine Frequenz von 1500Hz eingelesen, dann möchte ich die
Frequenz um +-30% ändern und wieder ausgeben (z.B. 1200Hz).
Wer kann mir hierfür ein Beispiel mit einem Pic 12F675 geben?
-----------------------------------------------------------------------
2)
Ich möchte an einem port eine Analoge Spannung 0-5V einlesen und Digital
verarbeiten.
z.B. eingelesener Wert 155 am AD Eingang
Im Programm abfragen, ob der Wert:
#anfang
abfrage des AD-Ports
AD-port = 155
if wert <= 0 goto port3
if wert > 0 and wert <147 goto port4
if wert > 147 and <180 goto port 5
goto anfang
#port3
ausgang port3 aus
return
#port4
ausgang port4 aus
return
#port5
ausgang port5 an
return
Wer kann mir hier ein Beispiel geben, wie ich dieses Problem mit eiem
Pic 12F675 lösen kann?
-----------------------------------------------------------------------
Vielen Dank
Alex
du wirst den pic mit einem externen quarz betreiben müssen denn der
interne oscillator geht nur bis 4MHz damit verlierst du nochmal 2 pins.
d.h. du hast nur noch 4 io pins und so wie ich aus deinem beitrag
ersehen kann fehlt dir jetzt schon ein pin
schau dir doch mal einen anderen pic an
zur lösung des problems könnte man die eingangsfrequenz mit hilfe eines
timers zählen also wieviel takte pro zeit? und dann mithilfe eines
anderen timers die veränderte frequenz an einem andren pin ausgeben
indem man ihn bis zu einem bestimmten wert zählen lässt und dann den pin
invertiert
nen paar beine mehr hat z.b.
16f684 der is auch soweit pincompatibel bis auf die weiteren 6 pins
Sorry,
also 0-2Mhz reichen aus.
Das unter 1) ist eine Problemstellung für sich
und das unter 2) ist eine eigene Problemstellung.
Also es sollen nicht beide in einem Pic 12F675 sonder je ein Pic 12F675.
@ Alex (Gast)
>also 0-2Mhz reichen aus.
Was auch nicht wenig ist. In dem Bereich ist die Zeitauflösung
bescheiden. Man kann ja nur ganze Takte zählen.
8 MHz Quarz:
:4 = 2 MHz
:5 = 1,6 MHz
:6 = 1,33 MHz
:7 = 1,14 MHz
:8 = 1 MHz
>Das unter 1) ist eine Problemstellung für sich
Wozu soll das überhaupt gut sein?
>und das unter 2) ist eine eigene Problemstellung.
Das ist ja eher trivial. Datenblatt lesen, umsetzen, fertig.
MFG
Falk
Dein Beispiel verstehe ich nicht.
Wenn ich nur mit dem Datenblatt zurecht komme, würde ich hier nicht um
Hilfe bitten.
Ich habe von Pic's keine Ahnung und benötige deshalb für beide
Problemstellungen Beispiele, damit ich sehen kann wie man das
Programmiert.
Danke
@ Alex (Gast)
>Ich habe von Pic's keine Ahnung und benötige deshalb für beide>Problemstellungen Beispiele, damit ich sehen kann wie man das>Programmiert.
Beispiel direkt für den PIC gibt es hier nicht, im wesentlichen nur für
den AVR. Das Prinzip bleibt das Gleiche. Stichworte Input Capture und
Output Compare Funktion, Timer.
Ausserdem:
>Ich möchte mit dem Pic 12F675 an einem Port eine Frequenz von 0-3MHz>einlesen ändern und an einem anderen Port wieder ausgeben.>Es wird z.B. eine Frequenz von 1500Hz eingelesen, dann möchte ich die>Frequenz um +-30% ändern und wieder ausgeben (z.B. 1200Hz).
In welchem Frequenzbereich brauchst du das denn nun wirklich? 0-3 Mega
hertz oder sollten das 3 Kilo Hertz sein? 3 kilo hertz sind schon
wesentlich einfacher machbar.
MFG
Falk
>die Frequenz sollte von 0-2MHz am Eingang bzw. Ausgang gehen.
Die 2MHz vergiss mal ganz schnell. Selbst wenn du den
extern mit 20MHz taktest kommst du da nicht hin.
Alex wrote:
> die Frequenz sollte von 0-2MHz am Eingang bzw. Ausgang gehen.
0Hz geht prinzipiell nicht!
Du mußt schon nen sinnvollen unteren Wert festlegen, der damit die
Reaktionsgeschwindigkeit festlegt.
Z.B. 0,1Hz = 10s Reaktionszeit.
Und 2MHz ist auch viel zu viel für nen MC, selbst für nen 20MHz AVR, da
hast Du keine Auflösung mehr.
Peter
@ Alex (Gast)
>es ist schön, das Du mir sagst was nicht geht.>Wie wäre es mal damit das Du mir sagst was geht.
Sag lieber mal, wozu das gut sein soll. Das kann man vermutlich
anders/besser lösen.
MfG
Falk
Mir geht es darum genau dies mit Pic's 12F675 zu lösen.
Es hat keinen bestimmten Grund sonder ich möchte nur wissen wie dies
funktioniert und es verstehen.
MfG
Alex
@ Alex (Gast)
>Mir geht es darum genau dies mit Pic's 12F675 zu lösen.
Es geht nicht wirklich! Über 1..10kHz können wir reden, darüber wird es
ziemlich schnell Unsinn.
Eingangssignal mit Input-Capture funktion messen.
Frequenz umrechnen.
Ausgangssignal mit Output-Compare ausgeben.
>Es hat keinen bestimmten Grund sonder ich möchte nur wissen wie dies>funktioniert und es verstehen.
Das ist eine äusserst exotisch-akademische Sache. Wo wird sowas
gebraucht? Fällt mir spontan gar nix ein.
MfG
Falk
>Eingangssignal mit Input-Capture funktion messen.>Frequenz umrechnen.>Ausgangssignal mit Output-Compare ausgeben.
Capture/Compare haben die Timer in diesem PIC nicht.
Die kennen nur Overflow. Der kleine PIC ist für
diese Aufgabe wirklich äußerst ungeeignet :(
Alex wrote:
> Mir geht es darum genau dies mit Pic's 12F675 zu lösen.
Zum Prinzip wurde ja schon das wichtigste gesagt.
Wies mit dem PIC geht, weiß ich nicht. Ich benutze keinen PIC, ist mir
zu kompliziert.
> Es hat keinen bestimmten Grund sonder ich möchte nur wissen wie dies> funktioniert und es verstehen.
Und warum dann gleich mit super-duper Weitbereich?
Hast Du Angst, daß es sonst zu einfach wird?
Zum Testen reicht ein Dymnamikbereich von 10:1 dicke aus. Und wenns
funktioniert, erweitert man ihn schrittweise und löst die dabei
auftretenden Probleme.
Wenn Du erstmal als Bereich 300Hz ... 3kHz nimmst, kannst Du die
korrekte Funktion prima akustisch überprüfen.
Peter
Berichtigung ! ! !
Ich habe mich in der höhe der Frequenz vertan.
----------------------------------------------------------------------
Zu 1)
Ich möchte mit dem Pic 12F675 an einem Port eine Frequenz von 0,1-3kHz
einlesen ändern und an einem anderen Port wieder ausgeben.
Info zum ändern:
Es wird z.B. eine Frequenz von 1500Hz eingelesen, dann möchte ich die
Frequenz um +-30% ändern und wieder ausgeben (z.B. 1200Hz).
Wer kann mir hierfür ein Beispiel (Programmierung und Beschaltung)
mit einem Pic 12F675 geben?
----------------------------------------------------------------------
MfG
Alex
@ Alex (Gast)
>Ich habe mich in der höhe der Frequenz vertan.>---------------------------------------------------------------------->Zu 1)>Ich möchte mit dem Pic 12F675 an einem Port eine Frequenz von 0,1-3kHz>einlesen ändern und an einem anderen Port wieder ausgeben.
Was sind schon drei Zehnerpotenzen ;-)
>Wer kann mir hierfür ein Beispiel (Programmierung und Beschaltung)>mit einem Pic 12F675 geben?
Isch abe gar geine Ahnung von PICs.
MfG
Falk
Schaltplan gibts doch:
http://tachokonverter.de/
Programm für umme gibts dort aber nicht, mußte wohl selber schreiben.
Oder googlen, dann wärs aber dumm, sich nur auf einen Typ zu fixieren.
Ich versteh schon, daß die PICser ihre Programme ungern für umme
rausgeben, kostet ja bestimmt ne ganze Menge mehr Zeit, damit zu
programmieren.
Peter
Hallo Peter
Mit dem Schaltplan kann ich nicht viel anfangen.
Erstens sind dort keine Bautelwerte eingezeichnet.
Zweitens kann ich da auch nicht sehen, ob es für die
Frequenzen die ich mir vorstelle (0,1-3kHz)
funktionieren tät.
Mfg
Alex
Moin moin,
wer lesen kann, ist klar im Vorteil. :-P
Die Werte der Bauteile sind beschrieben.
Einfach mal die Bauanleitung auf der angegebenen Seite herunterladen und
schon ist alles nachlesbar.
Viele Grüße aus Kiel