mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pic 12F675 Frequenz einlesen und geändert ausgeben


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas Müller (thomas1123) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Falk,

die Frequenz sollte von 0-2MHz am Eingang bzw. Ausgang gehen.

Gruß
Alex

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

es ist schön, das Du mir sagst was nicht geht.
Wie wäre es mal damit das Du mir sagst was geht.

Also: 0,1 bis ..?

Danke
Alex

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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 :(

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: de_oli_78 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ de_oli_78

Glaubst Du, das hat er in den acht Monaten seit seinem Post nicht selber 
herausgefunden?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.