Forum: Mikrocontroller und Digitale Elektronik 16F84 brauche 125 kHz


von Holger (Gast)


Lesenswert?

Hallo,
ich brauche auf eine einfache weise 125 kHz Quarzstabil (+-0,8%)aber
bei +80 - -20 Grad Celsius, und mit +- 12V und noch 120 mA, also dachte
ich an den PIC16F84 (hab da noch einige da) ich programmiere die in PIC
Basic 1.3 das ist aber zu langsamm,

-PIC16F84
-also den gesammten Port B schalten PIN 0..7  (pins werden zur erhöhung
der ausgansstromes parallel geschalten)
- Quarz ist 4 Mhz
- der Ausgang soll 125 kHz sein Rato 50:50 also 0,000004 s ein und
0,000004 s aus,

in basic sind das 5 zeilen,also es soll nicht so kompliziert sein, ich
weiß einen Microcontroller dafür ist wie ein ferarrimotor am rollstuhl,
aber in diesem fall praktisch,

ich brauche bin, oder hex file um es mit icprog oder ponyprog zu
benutzen,

vielen Dank im vorraus ,
cu Holger

von Dirk (Gast)


Lesenswert?

Hi,

sind wir hier bei wuensch dir was?


Mfg

Dirk

von Tobias (Gast)


Lesenswert?

(Bin nur ich der Meinung, dass in letzter Zeit viele Leute nur noch
fertigen Code haben wollen?)

Hier gibt es eine Menge hilfsbereiter, kompetenter Leute, aber um Hilfe
zu bekommen, muss man erst mal selber nachdenken. Wenn du also Probleme
mit deinem Code hast, poste den Code! Wir werden den Fehler schon
finden. Das hier ist ein Forum, wo man kostenlos Hilfe erhalten kann,
wir sind kein Programmierservice! Ich finde das irgendwie ein bischen
dreist. Wenn das doch nur ein paar unkomplizierte Zeilen sind, probier
dich doch erstmal selbst daran. Es ist für viele hier überhaupt kein
Problem das zu machen, auch für mich nicht, ich allerdings sehe es
nicht ein, jemand die Arbeit komplett abzunehmen, wenn dieser keine
Eigeninitative zeigt. Da würde ich mir wie ein Dienstbote vorkommen,
und das in meiner eigenen Freizeit. Ich helfe gerne, bin aber kein
Service und glaube, dass ich mit dieser Meinung nicht alleine bin.

T.

von Holger (Gast)


Lesenswert?

sorry das ich zu dumm bin für dieses profiforum,
ich programmiere eben nur in basic, da habe ich schon vielen leuten
geholfen ohne sie nur zu beleidigen, schon gar nicht wegen 4 zeilen
code,

cu Holger

von Hans (Gast)


Lesenswert?

tipp...

3,686400Mhz/32 =115200 das wären -8,5% und das um das

5fache stabiler als nur mit quarz.. aja 32=2^5 also brauchst nur 5
T-flip flops oder sowas in die richtung..oder einfach einen 5bit
zähler... da brauchst sonnst nix mehr und treibst einfach eine schöne
transistor stufe fertig is alles
wennst einen zähöer baust dann könntest du ja auch ein bisser weniger
weit zählen lassn...dann kommst ziemlich genau rann...

3,686400Mhz/28=131,66kHz -5.3%
3,686400Mhz/29=127,11kHz +1,7%

also das sollt reichen ;)

73 de oe6jwf

von Steffen (Gast)


Lesenswert?

Das mit den 3,zerquetschten ist Quatsch. 4MHz sind da schon eher
geeignet.

4MHz --> 1MHz Instruction-Clock
--> ergibt 8 Befehle/Periode bei 125kHz (Signal muss alle 4 Zyklen
invertiert werden)

Basic ist da freilich zu langsam.
Aber so funktioniert´s gerade noch so in ASM:

FLoop  movlw 00000001b
       xorwf PORTB,f
       goto  FLoop

gibt 125kHz an PORTB,0 aus. Bei 4MHz ist der PIC damit voll
ausgelastet.

Ich bin zwar auch dagegen fertige Programme zu liefern aber es sind ja
wirklich nur drei Zeilen.

Steffen

von Andreas Jäger (Gast)


Lesenswert?

@Steffen

Bestellt war aber ein "bin oder hex file" ... ;)

MfG
Andreas Jäger

von Peter D. (peda)


Lesenswert?

"(pins werden zur erhöhung
der ausgansstromes parallel geschalten)"

Wenn Du 24V Ausgangsspannung willst, brauchst Du noch einen Verstärker
und den kann man bequem mit einem Pin ansteuern.

Die 125kHz kann dann ein 8-Pinner machen, z.B. ATTiny12.


Peter

von Steffen (Gast)


Lesenswert?

@Andreas

Ja, das sollte aber jeder mindestens selbst hinbekommen. In der
Hinsicht sehe ich das genauso.

Steffen

von Holger (Gast)


Lesenswert?

danke euch, haben sich also doch noch leute gefunden die nicht nur
meckern,

ich habe zur Zeit die schaltung mit einem 555 realisiert, der läuft
eben nur temperaturbedingt zu weit weg, ausreichen würde etwa 124-126
khz, der 555 geht aber bei -20 Grad auf 130 khz und bei +80 Grad auf
120 khz,

Danke Peter, mit AVR kenn ich mich aus, ich programmiere sie mit Bascom
AVR, die können nur 5 V und auch nur gegen +,
ich brauche 12 V da reicht der PIC der 15 V kann, und ich brauche den
Ausgang mit Gegentaktandstufe, also auch mehr hardwareaufwand, auch das
macht der PIC,
das mit dem manuellen frequenzteiler hab ich auch schon gedacht, auch
da muß ich die endstufe auslegen,

basic ist nur zu langsamm das braucht 16 zyklen nur um den port zu
schalten und wieder 16 um auszuschalten,
ich bin nicht zu faul !

port B = output
start
port B = 255
waitys 40
port B = 0
waitys 40
goto start

danke steffen, ich werd mal versuchen das zu kompalieren, muß mal sehen
womit,

ich hatte nur keine zeit für diese eine anwendung wo basic zu langsamm
ist mit einen c Compiler zu suchen  und C lernen, ich habe schon mal 2
tage versucht in C was hinzubekommen, und habe aufgegeben, wenn ich mal
mehr zeit habe werd ich noch mal lernen,

von Steffen (Gast)


Lesenswert?

Mit den 15V liegst Du aber falsch.
Bin jetzt zu faul das Datenblatt zu suchen aber die Ports können nur
5V, 20mA. Einzigste Ausnahme ist glaube ich PORTA,4 der ein OC Ausgang
hat.

Die Gegentaktendstufe brauchst Du auf jeden Fall wenn Du mehr als 5V
schalten willst.

Steffen

von Holger (Gast)


Lesenswert?

ich habe grade mal im datenblatt nachgesehen,
der kann wirklich nur 5 V ;-(
ich muß mir also etwas anderes einfallen lassen,
denk denk denk.....

von Nik Bamert (Gast)


Lesenswert?

hi!

portpin -> optokoppler -> transistor


Nik

von Tobias (Gast)


Lesenswert?

@Holger: "...ohne sie nur zu beleidigen..." Wer hat dich den bitte
sehr beleidigt? Ich habe lediglich geschrieben, das man sich erst mal
selbst an etwas probieren sollte, anstatt es einfach zu "bestellen",
noch dazu eine fertige Datei, die man nur noch laden muss. Je öfter du
betonst, dass das nur "4 Zeilen Code" sind, desto unverständlicher
ist es für mich, warum du dann einfach so diesen "Auftrag" verteilst,
ohne es selber probiert zu haben. Ausserdem habe ich dir Hilfe
angeboten, ich kann deinen pampigen Thread also in keinerweise
verstehen, ich finde es einfach nur dreist, Leute die Hilfe anbieten
als "Werkzeuge" für dein Projekt einzusetzen. Auch wenn es nicht
schwer ist, es geht ums Prinzip. Such mal nach dem Thread "Hallo
Jungs", da hatte wir so einen ähnlichen Fall schonmal.

T.

von Ratber (Gast)


Lesenswert?

@Holger

Stimmt !!
Nen Controller ist wirklich etwas von hinten duch die
Ei....äh....lassen wir das.

Ein Quarz und nen Teiler sind eigentlich alles was du brauchst.

Natürlich bleibt erstmal ds Problem mit der Stabilität die ja
Temperaturabhängig ist.
Obendrein muß der Quarz noch etwas Nachjustiert werden denn Toleranzen
sind eben Toleranzen und nen Quarz mit Hyperniedriger Toleranz ist ,mit
verlaub gesagt, Schweine Teuer.

Also Schritt 1.

Quarz finden der sich Sauber auf deine 125 Khz Teilen läst.

Is nich schwer denn wenn man die 125 Khz Mit 2^n Multipliziert dann
kommt man auch im Kopf schnell auf schöne gängige Frequenzen die fast
in jedem Laden zu bekommen sind.

Also 0.25/0.5/1/2/4/8 usw. Mhz.

Mit nem 8 Stufigen Binärzähler (zb. der alte 7493 und andere.Es gibt
reichlich ) kann der Quarz also bis 32 Mhz ausfallen.
Viel Spielraum um Preis ,Verfügbarkeits oder Genauigkeitsmäßig das
richtige zu finden.

Schritt 2:

Mit nem kleinen Keramiktrimmer läst sich der Quarz sehr gut genauer auf
die gewünschte Frequenz "ziehen".
Natürlich ist dafür ein Geeichter Zähler oder ne Genaue Referenz
nötig.

Schritt 3:

Um das ganze Temperaturstabil zu bekommen (Man merkt es ja schnell wenn
man mit dem Teil die warme Stube verläst und sich nach draussen begibt)
bauen wir jetzt um den Quarz ein kleines isolierendes und geschlossenes
Gehäuse und heizen mit nem Widerstand.
Damit die Temperatur Stabil ist muß se natürlich überwacht werden.
Entweder man bleibt weiterhin "Diskret" und schenkt der Schaltung
noch nen Tempsensor und ne kleine Regelschaltung aus 2 Transistoren und
etwas Kleinfutter oder man macht es bequem mit nem kleincontroller
(Egal ob Pic oder AVR.Muß ja nur schalten (PWM) ) der den Rest
übernimmt.

Damit hat man dann das was man früher als "Quarzofen" (TCXO) kannte
und heute vieleicht auch noch kennt ;)


Natürlich haben jetzt bestimmt einige schon was auf der Zunge .
Nämlich:

"Warum dann nicht gleich mit dem Controller Teilen wenn er schon da
ist ?"

Naja,solange er "NUR" den Takt liefert ginge es ja noch aber wenn er
nebenbei noch regeln soll dann gibt es einen unregelmäßigen Takt falls
und wenn überhaup unglückliche umstände einen Flankenwechsel und die
Heizungssteuerung zusammenkommen lassen.
Vieleicht geht es ohne Kollisionen oder es ist auch egal wenn mal nen
Takjt fehlt.Ich weiß es derzeit nicht denn es ist zu spät für mich noch
drüber nachzudenken.

In jedem Falle ist eine Temperaturstabilisierung nötig wenn dsas
Endprodukt,Was es auch immer werden soll,Tempschwankungen unterliegen
sollte.

Leider hast du "Holger" ja niocht weit blicken lassen wofür das Teil
den nun den Takt angeben soll.

Nur ne Eieruhr,Stimmgabel oder gar ne Zeitkonstante für den
Triebwerkssteuerrechner eines Selbstbau-Crusemisiles ?





Mehr Informationen = Genauere Hilfe.

Ich geh jetzt jedanfalls pennen cu

von Peter D. (peda)


Lesenswert?

@Rather

er schreibt doch: "125 kHz Quarzstabil (+-0,8%)"

Da sind Trimmer und Temperaturkompensation absolut überflüssig.

0,8% kriegt man ja sogar mit einem guten RC-Oszillator hin.


Peter

von Ratber (Gast)


Lesenswert?

@Peter

Ja nen Simplen Oszillator der Konstant läuft dürfte mit den 0.8% wohl
kaum gemeint sein.

Ich beziehe das auf die Frequenzstabilität wie man das seit anfang der
Elektronik macht.

Das beinhaltet Temperaturstabilität,Alterungsstabilität und noch einige
andere die mir jetzt nicht mehr einfallen aber auch nicht so wichtig
sind.

Auf jeden Fall nimmt man Quarze weil se ben recht Temp.- und
Langzeitstabil sind da deren Schwingkonstante eben kaum veränderbar
ist.

Nen RC-Oszilator ,wie du ja sagtest, läuft dir recht schnell aus dem
Ruder oder du mußt schon aufwand betreiben um die Stabilität zu
bekommen.

Und ein Quarz ist zwar wesentlich stabiler aber die Tolleranzklassen
und die endgültige Tolleranz geben den Ausschlag für Preis und Kosten.

Wer meint einfach nen Quarz an nen Controller und die Frequenz stimmt
der hat seine Hausaufgaben nicht gemacht.

Der Grund warum ich einen Quarz mit nem Trimmer noch ziehen kann ist
auch der selbe grund warum ein Quarz eben nicht die Nennfrequenz
erreicht.
Schlichtweg Kapazitäten die sich nicht vermeiden lassen sind schuld.
Aus dem Grund die nachkalibrierung.

Und was die ,wie du es nennst, überflüssige Temperaturkompensation
betrifft so möchte ich mal sehen wie geneu dein Frequenzzähler ist
,wenn du einen hast,wenn man den Quarzofen offen ohne Heizung
betreibt.
Es stzeht nicht immer draußen drauf aber jeder "Ernstzunehmende"
Zähler hat ne Stabile Zeitbasis die eben so realisiert wird.
Natürlich bekommt man die TCXO's auch fix und fertig als Modul mit
Zertifikat (Abgeglichen,Rate mal womit ;)  ) aber wenn man nicht
unbedingt Kkompakt baut dann ist die Selbstbaulösung wesentlich
billiger auch wenn man da mehr Arbeit mit hat.

Wie ich schon sagte wiß ich ja nicht was Holger damit vor hat so das
ich schlecht einschätzen kann wie genau und stabil es denn nun wirklich
sein muß.

Zu 125 Khz fällt mir da nicht viel ein.

Wenn er das Teil nur inner Stube bei 18-25° betreibt dann ist der ganze
Heizungskram natürlich überflüssig und nen 4 Mhz Quarz plus nen alten
7493 reicht dann schon komplett aus (Das sind dann unter 1€ mit
Platine und Zigarette)

aber er schreibt ja oben -20 bis 80° ,also Mobil,da kommt auch der
beste RC-Oszillator nicht weit bzw. läuft weg.

Damit de nicht wieder gleich losmeckerst schau dir mal die Kennlinien
von Widerständen (Kohle,Metallfilm)und Kondensatoren
(Keramik,Folie,Mehrschicht,Elko,Tasntal usw. )an und zeig mir mal wo
das die nötigen Stabilitäte herkommen sollen ?

Nimm dir was dir vorschwebt und bastel nen Oszillator.
Meß ihn bei 40° im Backofen und einmal im Kühlschrank oder in der True
(Wenn du das Kondesnproblem gelöst hast ;););)  ) und erzähl mir dann
das der noch stabil ist.

Die Frage ist nicht wie man einen stabilen Oszillator baut sondern
"WO" er funktionieren muß also die Betriebsumstände.

@Holger

Also mehr Daten wären wirklich nicht schlecht.

von Peter D. (peda)


Lesenswert?

"Ich beziehe das auf die Frequenzstabilität wie man das seit anfang
der
Elektronik macht."

Ich auch, +-0,8% wären dann also 124..126kHz und da brauchts noch lange
keine Kopfstände.

Jeder billige MC-Quarz ohne Trimmer ist schon genauer.


Peter

von Ratber (Gast)


Lesenswert?

Ich stimm dir ja zu und mir reichen die Quarze die es gibt auch völlig
aus (ausnahme sind natürlich Meßgeräte,da kann die Zeitbasis ja nie
stabil und genau genug sein).

Ich habs nur eingeworfen weil Holger speziell die Temperaturstabilität
angesprochen hat.

Von -20 bis +80° ist die Drift doch schon erheblich wenn es stabil sein
soll.

Kommt also auf Holger an.

Alternativ nen Quarzosszillator.
Die sind zwar etwas größer und teurer aber dafür haben die bei 25° ne
Tolleranz von 0.003% und im Temperaturbereich von -30 bis 70° ca.
50ppm.

Ein gewöhnlicher Quarz kommt da etwas höher.

Da er schon -20° angibt schließe ich mal das das Teil draußen betrieben
werden soll womit sich wieder das PRoblem der Kondensation ergibt.
also kommt er nicht um ne Vollisolierung oder ne Heizung drumrum da
sonst noch andere Komponennten aussteigen können.

Und wieder komme ich auf Mangelnde Informationen ;)

von Holger (Gast)


Lesenswert?

hallo, ich freue mich das so viele interresannte ideen  zusammenkommen
;-)

ich baue an der sicherheitsabschaltung eines Atomkraftwerkes, Spaß
beiseite,

also das ist der sender zu transpondersystem, das nicht kodiert sein
muß, es reicht wenn sich sender und empfänger unter auswertung der
feldstärke finden, ich wollte mir aber die möglichkeit offen lassen
spätere ausbaustufen ev. codieren zu können, deswegen der gedanke zu
einen controller, die abstände der spulen sind 10 cm - 1 m ,
der empfänger ist schon fertig, und der sender auch, aber der
verwendete NE555 (R-C) des senders läuft unter meinen
tiefkühlfach-heizungstests eben von 120-130 khz weg, eine heizung kommt
nicht infrage, das muß auch anders gehen,

erstaunlicherweise sind aber die schwingkreise der sende und
empfangsspulen sehr stabil, ein rückkoplen dieser spulen brachte als
frequenzerzeugung aber kein gutes ergebnis

das weglaufen kann ohne probleme im rahmen von 124-126 khz toleriert
werden, aber mehr auch nicht ! die bandbreite der sender und empfänger
schwingkreise ist nicht sehr hoch,

eingesetzt wird das ganze in schlimmsten autdoorverhältnissen (ich muß
eine Hebebühne mieten um überhaupt daran zu kommen) im freien

zu der gegentaktendstufe habe ich mir gedanken gemacht, der 555 bleibt
drin, er bekommt einfach nur einen "Schrittmacher" und schwingt nicht
mehr selbst,

vieleicht hat auch jemand eine ganz andere idee, wie sich ein
feststehendes und ein bewegtes teil finden können, unter zB
Berkwerkbedingungen,
Störungen:   zwischen sender und empfänger kann auch mal ein
metallträger sein der das system nicht beeinflussen darf,
also 10cm anklebender dreck, viel staub, schließen zumindest:
ultraschall, lichtschranke, mechanik aus,
deswegen kam ich auf die induktive variante,

cu Holger

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

das ist derzeit der sender

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

das der empfänger

von Ratber (Gast)


Lesenswert?

Yo,jetzt seh ich klarer.

Also als Taktquelle nen Quarosszillator (Die kleinen Metallkästchen wo
man nur noch 5V anlegt und am Ausgang nen Schönen Takt bekommt) der ja
oben schon beschrieben ist.

Bei 0.003% Grundgenauigkeit sind das schonmal nur 3.75 Hz abweichung
und  50ppm Temperaturdrift liegen ebenfalls so niedrig das du
insgesammt weit unter 10Hz abweichung liegst.

Dann noch nen Teiler dahinter und fertig ist die Laube.

Wenn das Gerät eh eingeschlpossen ist dann reicht nen päckchen
Silikagel und die Feuchtigkeit ist gegessen.

Wie ich sehe ist dafür ja noch reichlich platz.


Zur Kontaktaufnahme:

Es bleibt ja nurnoch die Induktive methode oder eben glrich per Funk
aber das ist natürlich teurer.

Transponder sind eigentlich ideal.

Der Transponder selber hat ja ne Einmalige Nummer und ist also klar
identifizierbar.
Obendrein braucht er keine Batterie.
Optional gibt es Transponder mit Datenspeicher falls das nötig ist.
Die gibts ja in vielen Bauformen von der Glasperle (Kennzeichnung von
Tieren und auch Personen.Ich hab auch einen)
Aufkleber,Schlüsselanhänger,karten usw.

Natürlich hängt da alles am Aktiven empfänger.

also Große Spulen usw.

Deine Version ist natürlich nen eigenbau mit aktiven Sendern und
Empfängern.

Wie ich das jetzt verstehe sollen die empänger schalten (Is ja nen
Relais drinne oder ?) wenn du vorbeikommst ja ?

von Holger (Gast)


Lesenswert?

ja wenn die abstand stimmt schaltet das relais,
ich dachte jetzt daran einen Atmel Tiny zu nehmen,
da ist das quarz drin, die teilung zu programieren,
und der preis ist geringer als ein Quarzosszillator, und der
hardwareaufwand ist 1 Bauteil

von Holger (Gast)


Lesenswert?

ich habe viel mit den transponder experimentiert
(wieso hast du nen Transponder unter der Haut ?)
daher ist auch die 125 khz,
ich möchte sowieso ein low cost system entwickeln,
da ich in meinem haus auto... viel empfänger brauche, und eigentlich
nur 1 transponder, umgekehrt als alle anderen lösungen,
und empfänger nunmal sehr teuer sind,

von Ratber (Gast)


Lesenswert?

Yo,ich verstehe was du vorhast.

Sicher mit nem vernünftigen Controller ist das zu machen.

Die 125 Khz sind also nur Temporär erforderlch.

Eigentlich kannste die Frequenz durch die Mitkopplung synchronisieren
dann haste da auch keine Probleme mit Differenzen.



Zu meinem Transponder:

Ich darf da nicht viel erzählen aber soviel dazu.:

Es war und ist nen Experiment in sachen Sicherheit (Natürlich
freiwillig)

Die Glasperle stört nicht,das einsetzen ist nur nen Stich (Ok die Nadel
ist ne Ecke größer als sonst)und ich kann nun meinen Keller betreten
ohne irgenwas zu machen.Einfach Tür öffnen und gut ist.


Is ja auch mal was lustiges.
vorallendingen wenn andere meinen das die Zür nicht verschlossen ist
und versuchen se zu öffnen gg (Tür entriegelt bei annäherung und
veriegelt wenn ich weiter wie nen Meter weg bin.Bei Versagen der Anlage
durch deffekt oder Stromausfall (Akkustützung ist vorhanden) muß ich
natürlich mit nem Schlüssel ran).

von Steffen (Gast)


Lesenswert?

Ratber hat noch vergessen zu erwähnen, dass auf Arbeit sogar in den
Klo-Brillen Antennen eingebaut sind, so dass der Chef jederzeit sieht
wer wann und wie lange Schei.... ;-)

Noch als kleiner Tipp am Rande schau mal bei EM-Marin, Philips oder
Microchip rein. Dort gibt es ASIC´s, die den Aufbau eines
Schreib-Lesegerätes für Standarttransponder recht einfach machen.
Teilweise ist da sogar der Decoder mit eingebaut und hinten kommen die
reinen Daten seriell raus. So teuer sind die Teile nicht. Man benötigt
nur noch einen Quarz oder Resonator, MC und die Sende/Empfangsantenne.

Um damit aber Reichweiten bis zu einem Meter hin zubekommen, gehört
schon etwas dazu. Vor allem wenn Metall mit im Spiel ist. 10..20cm sind
aber kein Problem.

Steffen

von Holger (Gast)


Lesenswert?

ich möchte auch so einen transponder unter die Haut !

 ich habe die gleiche idee, nur habe ich zu viel angst vor dem
einpflanzen, ich wollte erstmal nur einen aufklebertransponder im schuh
haben, empfänger an allen möglichen stellen: haustür, wohnungstür,
werkstatt, ZV meines Autos...(zb beim baden super, keinen A-schlüssel
mitschleppen)
super sache ! bei den reichweiten bin ich am besten gekommen sender und
empfängerspule getrennt auszuführen, das andere teil sendet auch mit
fast 1,5 Watt in den Raum, das reicht für 1 Meter, der empfänger ist
abgeschirmt vom sender,
wenn ich mit transpondern in die nähe komme so ab 1,5 meter senden
diese bereits ihre daten, nur empfangen kann man sie in der nähe vom
sender nicht mehr, ich habe da 2 genau um 90 grad versetzte spulen
genommen, damit ging das gut,

es müßte transponder geben die blitzschnell zwischen senden und
empfagen umschalten, zb packetweise, und nicht nur das sendersignal
dämpfen, zur modulation, damit könnte man wirklich große reichweiten
erziehlen,

cu Holger

von Ratber (Gast)


Lesenswert?

@Steffen


Hab ich schon nachgesehen ;) gg


@Holger

Zum Experimentieren reicht natürlich nen Anhänger oder wie du schon
sagtest nen Aufkleber im Schuh.
auch ne Karte im Portemonaie (Neudeutsch heißt das jetzt wohl
Portmonää).

Das einsetzen geht recht einfach.
Glasperlentransponder kaufen (zb. Conrad) und dann beim Hausarzt
aufschlagen.
Der Desinfiziert das Teil und setzt es auch (Nachdem man erstmal ne
vietelstunde mit ihm Diskutiert hat warum usw. gg )ein.

von Holger (Gast)


Lesenswert?

ich habe nun 4 tage versucht einen controller dazu zu bewegen 125 khz
auszugeben, ich habe dazu ca 30 programme installiert, und nicht
geschaft ein .bin file zu erzeugen, bascom mit dem ich immer arbeite
macht fehler, gibt entweder 64, 84, oder 500 khz aus, wenn ich an dem
us und der oszillatoreinstellung spiele, niemals etwas anderes:

Config Portb = Output
Start:
Portb.1 = 0
Waitus 4
Portb.1 = 1
Waitus 4
Goto Start

mit dem Assemblervorschlag von Steffen kommt immer:

gavrasm Gerd's AVR assembler version 0.7 (C)2003 by DG4FAC
----------------------------------------------------------
Quelldatei:
D:\elektronik\Elektronik\controller\gavrasm_win_de\1.txt
Hexdatei:
D:\elektronik\Elektronik\controller\gavrasm_win_de\1.hex
Eepromdatei:
D:\elektronik\Elektronik\controller\gavrasm_win_de\1.eep
Kompiliert:  27.11.2003, 11:45:48
Durchgang:   1
Fehler ==> FLoop
[D:\elektronik\Elektronik\controller\gavrasm_win_de\1.txt,1] 077:
Ungueltiges Zeichen in Marke!
Fehler ==> movlw 00000001b
[D:\elektronik\Elektronik\controller\gavrasm_win_de\1.txt,2] 077:
Ungueltiges Zeichen in Marke!
Fehler ==> xorwf PORTB,f
[D:\elektronik\Elektronik\controller\gavrasm_win_de\1.txt,3] 077:
Ungueltiges Zeichen in Marke!
Fehler ==> goto  FLoop
[D:\elektronik\Elektronik\controller\gavrasm_win_de\1.txt,4] 077:
Ungueltiges Zeichen in Marke!
Kompilation abgebrochen, 4 Fehler!

auch mit tomas idee gehts nicht:

loop:
bsf portb,1
nop
nop
bcf portb,1
nop
nop
jmp loop

tavrasmw, ide_30d, gavrasm_win_de, avredit, ASMPACK, und vieles mehr
habe ich probiert

von Steffen (Gast)


Lesenswert?

Hi Holger,

der kurze ASM-Auschnitt war ja auch für den 16F84 und nicht für den
AVR. Funktionieren würde der mit MPASM (MPLAB) von Microchip.

Steffen

von Ratber (Gast)


Lesenswert?

Yo,deswegen hab ich ja die Simple Methode (Quarz + Teiler)
vorgeschlagen.

Wenn der Controller eh nix anderes machen soll ist das der gleiche
aufwand amn Material. (Ein Quarz,ein Chip)

Natürlich sollte der chip schnell genug sein wenn man nen
Basic-Compiler nutzt.

Ich habs mal spaßeshalber mit nem Mega16 (16Mhz Osszillator und Bascom)
probiert und nach einigem Experimentieren mit den Werten gings auch.

Bei 4 Mhz gehts auch noch aber unterhalb von 2Mhz bekomm ich probleme
mit Bascom und es geht nurnoch in Assembler.

von Holger (Gast)


Lesenswert?

also mit bascom hab ich über 30 khz bei 4Mhz Quarz nichts hinbekommen,
am ausgang kommt einfach etwas anderes raus, als logisch programiert
war,

mit der hardwarelösung ist zu aufwendig, sind ja viele pins am teiler
ic, da in fliegender verdrahtung, was draufzulöten ist nicht mehr
tragbar, (die 4 drähte und der quarz bei einem controller ist schon
eine übermäßige zumutung) alle platinen wegzuschmeißen geht auch nicht,



hallo Steffen,
also ich bekomme nur:

Deleting intermediary files... done.
Executing: "C:\Programme\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q
/p16F84A "125.asm" /l"125.lst" /e"125.err"
Error[113]   C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 2 : Symbol not
previously defined (PORTB)
Error[129]   C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 4 : Expected
(END)
Halting build on first failure as requested.
BUILD FAILED: Thu Nov 27 16:27:45 2003

ich habe den mplab früher schon mal installiert, und wollte ihn mit
Pic_Basic_Pro_2 nutzen, ist aber nie geworden.

am besten währ da was für den tiny11, der 16F84a ist auch viel teurer,

cu Holger

von Steffen (Gast)


Lesenswert?

Hallo Holger,

Klar, der Assembler weiß nicht was PORTB ist.

#include p16f84a am Programmanfang sollte das beheben. In der letzten
Zeile des Programmes sollte dann ein end stehen.

Desweiteren sind die Ports nach einem Reset als Eingang definiert. Also
fehlt im Programm noch ein

movlw  0x00
movwf  TRISB   ; PortB als Ausgang definieren

Ansonsten sollte die PowerOnReset-Initialisierung der einzelnen
Register soweit OK sein, das es funktionieren müsste. Ansonsten mal
Datenblatt anschauen.

Steffen

von Ratber (Gast)


Lesenswert?

@Holger

Ob du nun nen 8 Poligen Tiny oder Pic nimmst ,nen Quarz drann klebst
oder nen 17 Poligen Teiler sammt quarz nimmst ist kein großer
unterschied.

Vom Teiler benötigst du allenfalls wenie pinns.

Zum einen Vcc und Masse
Einen wo es hinein geht und den entsprechenden ausgangspin.

Der Rest bleibt unbeschaltet (Also beim alten 7493 eben 5 und 10 für
Saft.1 oder 14 als Takeingang und wahlweise Q0-Q3 (Je nachdem wie oft
man teilen will) als Ausgang.
Als Taktgeber nen quarzoszillator.(Gibt es auch in klein ,Quadratisch
und flach wennes platzsparend sein soll.

Die schaltung ist in 5 Minuten zusammengebraten und fertig da mache ich
mir keinn kopp um Software.
Und Preislich komme ich auch günstiger weg.

Beispiel Reichelt.

7493 0,31
Quarzosszi.1,90 (Egal ob 4 oder 20Mhz .Kosten alle das gleiche)
Summe 2.21

Atiny 12(4 Mhz.) 1.95
Quarz 0.35
Summe 2.30

Pic 12C508 (4 Mhz) 1,60)
Quarz 0,35
Summe 1,95

Andere Händler ,andere Preise aber wie man sieht tun sich da alle nicht
viel.

Die mech. Stablität ist auch kein Akt.

Quarzoszi aufs kreuzlegen.
Chip drüberlöten (An Vcc,Masse und Takt) und den ganzen Igel mit etwas
Heißkleber (Oder Komponenntenkleber,sonstiges) irgendwo ins Gehäuse
pappen.

Fertig ist die Laube.

zur Platzoptimierung gibt es bestimmt nen Chip mit 2 Flipflops (1:4
Teilung) im 8 Beinigen Gehäuse dann kannste den mit nem kleinen
Quadratischen 1 Mhz Oszi zu ner simplen Murmel zusammenkleben.

von Holger (Gast)


Lesenswert?

Ratber:
beim aufwand gehts immer um die stückzahl, bei 100 rechnet man dan
schon in stunden lötarbeit, und vor allem können große industieanlagen
wegen mir nicht in betrieb genommen werden, nur weil meine baugruppe
fehlt(bzw. nicht temperaturstabil war),
mal dir den ärger selbst aus,


aber ich werd mich nun doch für die oszi variante entscheiden,
bei der nähsten lieferung muß ich dann sowieso neue platinen entwerfen,


heißkleber wird nicht gehen die -20 - +80 Grad herschen dort wirklich,
nicht nur auf einem DIN Blatt, aber das wird schon irgendwie gehen,

ich habe nun schon 1 monat,und x EUR in das ganze projekt gesteckt, es
muß jetzt laufen, egal wie, als einzellunternehmen, oder neudeutsch
ich-ag kann sowas ganz schnell tödlich sein,

Steffen:
vielen dank für deine mühe, rausgekommen ist:

#include pic16f84a
movlw  0x00
movwf  TRISB   ; PortB als Ausgang definieren
FLoop  movlw 00000001b
  xorwf PORTB,f
  goto  FLoop
end

Executing: "C:\Programme\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q
/p16F84A "125.asm" /l"C:\PROGRA~1\MPLABI~1\meine\125.lst"
/e"C:\PROGRA~1\MPLABI~1\meine\125.err"
Error[105]   C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 1 : Cannot open
file (Include File "pic16f84a.ASM" not found)
Warning[203] C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 2 : Found opcode
in column 1. (movlw)
Warning[203] C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 3 : Found opcode
in column 1. (movwf)
Error[113]   C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 3 : Symbol not
previously defined (TRISB)
Error[113]   C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 5 : Symbol not
previously defined (PORTB)
Warning[205] C:\PROGRAMME\MPLAB IDE\MEINE\125.ASM 7 : Found
directive in column 1. (end)

ich werde wohl immer bei basic bleiben, sorry

von Dirk (Gast)


Lesenswert?

Hi,

ich habe dein posting im Bascom Forum gelesen... Es hatte dir doch
jemand die Antwort geschrieben.... ein kleines bischen das Prg
abaendern und es ging bei mir .... Nix gegen dich, aber ich glaube du
hast das gleiche Prob wie ich meistens "Der Fehler liegt zwischen den
Ohren".


Schau dir nochmal den Asm Code im Bascom Forum an ....


Mfg

Dirk

von Ratber (Gast)


Lesenswert?

@Holger

"beim aufwand gehts immer um die stückzahl, bei 100 rechnet man dan
schon in stunden lötarbeit,"

JA und ?

Dein Argument spricht ja für mich.

Ob ich 4 Pole an nem 14/16 Poligen chip anlöte oder das gleiche bei nem
8 Füßler mache ist Zeitlich absolut ladde.

Der chip kann 1000 Pinne haben und es dauert immernoch nicht länger
weil ich immernoch 4 Pinne Löte.

Ein Controller plus Oszi ist genausogroß und es sind genausoviele Pinne
zu löten.
Also wo ist da für dich Löttechnisch ein Unterschied ?

Kostenmäßig liege ich mit Quarz und Teiler gut dabei bis vorne.
Funktionieren tuts sofort und konstant (Du wolltest ja nur deine 125
Khz haben ja ?).

In der Zeit die du für die Soft verplempert hast hätteste schon etliche
Zehn Kombis zusammenlöten können denn Gatter wie Quarze sind gängige
Artikel und in jedem Shop zu bekommen.

Zum kleber:
richtig eventuelle 80° könnten beim Heisleim problematisch werden.

Gut dann eben Komponenten kleber.Das ist ja nur nen kleines Prob.

Nochwas zur I-AG:(Nicht ganz ersnt gemeint)

Du hast nen Auftrag mit termin wie ich so aus deienn Postings
schließe.

Gerade da würde ich nicht groß beim Thema "Takt mit Controller" oder
"Takt Konventionell" rumeiern sondern einfach machen.
Wichtig ist die Funktion und nicht das Design.
Das sieht man erstmal nicht.

Später bei der Serie oder ner Neuauflage kann man da immernoch dran
fummeln.

Hier ist es aufgrund des Preises eh ziemlich egal was genommen wird da
die PReise so dicht liegen.

Das mal zur anmerkung.



" und vor allem können große industieanlagen
wegen mir nicht in betrieb genommen werden, nur weil meine baugruppe
fehlt(bzw. nicht temperaturstabil war),
mal dir den ärger selbst aus,"

Mir brauchste das nicht zu sagen.

Ich hab schon genug Großbaustellenb und betriebe geshen.
Was passsiert wenn eine Gruppe oder Person,Lieferant usw. bla.ect.
nicht fertig wird kenn ich nur zu gut.

Gerde deswegen steht auf Platz eins Sicherheit,Funktion,Norm.

Schönheit steht in keiner Din drinne also ist se nur Optional oder für
Ecken wo man es sieht. ;)

von Steffen (Gast)


Lesenswert?

Hallo Holger,

etwas Eigenarbeit sollte schon dabei sein. Du hast zwar alles schön
abgepinselt aber einen Schreibfehler eingebaut. Der sollte dir sofort
klar werden, wenn Du dir mal die Fehlermeldungen anschaust.

Steffen

von Holger (Gast)


Lesenswert?


von edi (Gast)


Lesenswert?

produziere doch deine frequenz an einem ''kuehlen oertchen''
warum in die teufelskueche..?..wenns auch anders geht

soooo viele worte um banale 125 kHz ; menschmaier!

von Andreas Jakob (Gast)


Lesenswert?

Vielleicht ist das ne Lösung, weiss leider nicht ob das für deine
Anwendung passt, aber schaus dir halt mal an. 125 KHz System.

http://www.semiconductors.philips.com/pip/HTRC11001.html

Kostet zwar einzeln bei www.segor.de 5 Euro, aber ist
sicherlich in Stückzahlen viel billiger.

von Holger (Gast)


Lesenswert?

hallo andreas,

danke für den tip, für diese lösung ist das zwar nicht passend,
ich habe mich damit aber schon wegen einer andren sache beschaftigt,
das es dioe teile aber für 5 eur gibt ist ein sehr guter tip, ich habe
sie bisher nur sehr teuer gesehen 19$ und damit waren die
uninteressant, ist aber schon eine weile her
cu Holger

von profi (Gast)


Lesenswert?

Es gibt auch Quarzoszillatoren mit eingebauter programmierbarer PLL.
Damit kann man die Ausgangsfrequenz in weiten Bereichen einstellen.
Danach suchen musst Du schon selber.

Wenn Du als 1-Mann-Fa überleben willst und mit so einfachen Sachen 1
Monat rumtust, musst Du dich mächtig anstrengen.

z.B. die Fehlermeldungen ein paar Posts weiter oben:

Cannot open file (Include File "pic16f84a.ASM" not found)
Da musst Du halt schauen, ob Du dieses File hast, ob der Name stimmt
und ob es im richtigen Verzeichnis steht.

Found opcode in column 1. (movlw)
sogut englisch sollte man schon können (oder noch lernen), dass man
sieht, dass das movlw in der ersten Spalte steht und der Assembler in
der ersten Spalte lieber Labels sieht.

Also, Kopf hoch und weitergelernt.

von Holger (Gast)


Lesenswert?

ich habe schon ein paar cd 4060 und quarze bestellt,
und zur sicherheit kleine menge an oszi und 74HC93,

ja, die fehlermeldung mit der datei habe ich natürlich gelesen, aber
aber ich habe solche dateien nicht, pic16f84a.ASM oder auch nur p,

das mit den labels wußte ich nicht,

der monat wurde ja nicht nur davon ausgefüllt ;-) aber trotzdem steckt
viel arbeit drin, vororttermine, prototyp, vororttest,
leiterplattenfertigung.....

ich überlebe schon seit 1997 mit meiner 1-mann firma, mal sehen wie
lange noch, (bis es mehr leute werden ;-)  )

von Holger (Gast)


Lesenswert?

hi,

danke noch mal an alle !

die schaltungen laufen jetzt mit dem cd4060 und einem 4 Mhz quarz
perfekt,

cu Holger

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.