Einfacher Frequenzgenerator für unter 5 Euro (nur Rechteck). Im Schema ist ein Quarz eingezeichnet. Ich habe aber einen 3 poligen Keramik-Resonator mit 16 MHz verwendet (spart die Kondensatoren). Für den Quarzbetrieb müssen die Fuses angepaßt werden. Der Generator schaltet Timer1 in den PWM Fast Mode mit TOP Wert im Register OCR1A (Mode 15). Der Timer zählt dann bei jedem CLK eins hoch, bis TOP erreicht ist und ändert dann den Status vom Timerausgang OC1A. Dadurch wird eine Quarz-halbe Frequenz möglich. Der Generator hat zwei Tasten, um den TOP-Wert zu vergrößern oder zu verkleinern. Umgekehrt ändert sich dann die Frequenz. Wenn die Tasten länger gedrückt werden, vergrößert sich die Schrittweite (Schnellvorlauf). Werden beide Tasten gleichzeitig länger als eine Sekunde gedrückt, schaltet sich der Generator von High auf Low und zurueck. Dadurch wird der Prescaler von 1024 auf die Quarzfrequenz ein- und ausgeschaltet. Hiermit ist es möglich den großen Frequenzbereich abzudecken.
Klasse Arne !!!! Klein, aber fein !! Vielleicht noch einen digitalen Frequenzzähler Eingang als Erweiterung ? Noch einen schönen Tag Gruß Siegmar
Gute Idee, da schau ich mal.... In dieser neuen Version wird die letzte Einstellung beim erneuten Start wiederhergestellt. Falls sich im Betrieb die Einstellungen 10 Sekunden nicht ändern, wird diese im Eeprom gespeichert.
Oups - in der letzten Version habe ich vergessen, bei dem Eeprom-Data-Statement die Word-Variable als solche zu kennzeichen. Es muss dort Eeocr1a: Data &HFFFF% statt Data &HFFFF heissen.
Der Generator kann jetzt auch rudimentär Frequenzen zählen. Danke Siegmar für die Idee. Um in den Zählmodus zu gelangen, muss man beim Start die "Downtaste" gedrückt halten. Der Zähler zählt dann für 2 Sekunden die Takte an PortD.5 (Pin 11 des Atmegas) und gibt das Ergebniss dann auf dem Display in Hz aus. Dabei ist er erstaunlich genau: so 1% ungefähr. Bei hohen Frequenzen so ab 1MHz wird das allerdings schlechter.
Toller Beitrag --> simple und sehr effektiv. Würde ihn noch heute Abend aufbauen, aber leider jedoch in Basic. Wann wird diese Sprache denn endlich für tot erklärt ? Gruß Manni
@Manni, natürlich nicht, solange noch Lebenszeichen wahrnehmbar sind - und dieses Projekt ist ein kräftiges!
Weniger ist mehr. Die Ungenauigkeiten bei der Messung hoeherer Frequenzen lagen offensichtlich nicht an der Messung selbst, sondern daran, dass die Long- und Wordvariablen schlicht nicht gross genug für die Aufnahme so großer Zahlen waren. Deshalb habe ich den Messzeitraum auf 1 Sekunde verkürzt (halbe Datenmenge). Der Erfolg kann sich sehen lassen: Der Fehler liegt bei 4 Mhz immer noch unter 5%. Ausserdem ist der Code etwas übersichtlicher und auf ein "FineTuning" kann jetzt auch verzichtet werden:
1 | '------------------ Mode1 Frequenzzaehler ------------- |
2 | Mode1: |
3 | |
4 | ' Timer1 als Counter einrichten |
5 | Config Portd.5 = Input : Portd.5 = 0 |
6 | Config Timer1 = Counter , Edge = Falling , Prescale = 1 |
7 | On Counter1 Ueberlauf Nosave |
8 | Enable Timer1 |
9 | |
10 | Do |
11 | Counter1 = 0 |
12 | Overflows = 0 |
13 | Enable Interrupts 'Messung starten |
14 | Wait 1 |
15 | Disable Interrupts 'Messung beenden |
16 | Calclong = Overflows * &HFFFF |
17 | Frequenz2 = Calclong + Counter1 |
18 | |
19 | Print "f= " ; Frequenz2 ; " Hz" |
20 | Cls |
21 | Locate 1 , 1 : Lcd Frequenz2 |
22 | Locate 2 , 1 : Lcd "Hz count" |
23 | Loop |
24 | |
25 | End |
26 | |
27 | Ueberlauf: |
28 | Incr Overflows |
29 | Return |
Damit können Frequenzen von ca. 4 Hz bis 4 MHz recht genau gemessen werden. PS. Bei meinem Lochrasteraufbau aus dem Foto ist die Empfindlichkeit des Eingangspins so gross, dass bei einer Berührung der allgegenwärtige 50 Hz Elekrosmog gemessen wird...
Wenn du Lust hast kannst du gerne dein Projekt auf http://www.comwebnet.de veröffentlichen, Sind alles Bascom Projekte die Leben und zeigen das C nicht die einzige Sprache ist ;) Infos noch hier: http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=5&Itemid=11
Hallo Arne, wie geil ist das denn? Hab das ganze WE damit rumgemacht. Sowas hab ich gesucht. Danke. Problemlos war die Sache nicht. Nachdem ich 'Nicht_BASCOM_Jünger' die IDE angeschmissen hatte gab's auch schon Gemecker bei der Deklaration von 'Ocr1a'. Was muss ich denn da einstellen, dass sowas nicht kommt? - Egal, wurde kurzerhand umbenannt. Weiter ging's mit den Tastern auf Int(). Mein Board(Microe Easyavr5) hat da die wildesten Sachen gemacht. Da war richtig Action auf'm Display... - hatte mir das Steckbrett dazugestellt und versucht zu entprellen, 2xC gegen plus und masse, noch nen R dran... ging dann so, war aber nicht sehr schön. Dann hab ich alles umgebaut. Die Taster an normale Ports. Noch einen dazu für Low/High. Die Subs umgeschrieben(keine Ahnung von BASCOM - aber irgendwie ist alles gleich..), ein paar unnötige Variablen gekillt und für nen m88 mit 20MHz zurecht gemacht.(gibt es einen Q-Oszillator mit 20,48MHz?) Mein Oszi zeigt mir bei 10MHz nen bescheidenen TTL-Pegel, ich werde versuchen eine Endstufe dranzuhängen. Bild oben ist mein Versuchsaufbau. Alles kommt in ein kleines Gehäuse mit Batterie. Immer zur Hand um vergeigte Fuses zu richten :) Vielen herzlichen Dank an 'Toolmaker' Arne - ich will mehr von son Zeuchs.. schöne Woche noch bernd
Kannst ja mal deine Variante mal zeigen. Wegen den Fusebit reicht das hier auch http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=66&Itemid=49 oder nur ein Quarzoszilator.
@bernd > wie geil ist das denn? Hab das ganze WE damit rumgemacht. Sowas hab ich > gesucht. Danke. Das freut mich ja, dass das jemand gebrauchen kann ;-) > Problemlos war die Sache nicht. Nachdem ich 'Nicht_BASCOM_Jünger' die > IDE angeschmissen hatte gab's auch schon Gemecker bei der Deklaration > von 'Ocr1a'. Was muss ich denn da einstellen, dass sowas nicht kommt? - Da weiss ich auch nichts zu zu sagen - ging bei mir problemlos... Andere Version? Sind ja nur wenige Namen reserviert... > Egal, wurde kurzerhand umbenannt. Weiter ging's mit den Tastern auf > Int(). Mein Board(Microe Easyavr5) hat da die wildesten Sachen gemacht. > Da war richtig Action auf'm Display... - hatte mir das Steckbrett > dazugestellt und versucht zu entprellen, 2xC gegen plus und masse, noch > nen R dran... ging dann so, war aber nicht sehr schön. Da könnte ich mir vorstellen, dass dein Board die Tasten oder Eingänge extern High zieht. Der Clou war ja gerade, die Tasten intern high auf einen Interrupt zu legen, um diesen Interrupt beim Auslösen (Kontakt mit GND) sich selbst abschalten zu lassen - sozusagen einen Selbstmord als Entprellung. Aber du hast es ja auch so hingekriegt, was sicher eine professionellere Lösung ist. > > Dann hab ich alles umgebaut. Die Taster an normale Ports. Noch einen > dazu für Low/High. Die Subs umgeschrieben(keine Ahnung von BASCOM - aber > irgendwie ist alles gleich..), ein paar unnötige Variablen gekillt und > für nen m88 mit 20MHz zurecht gemacht.(gibt es einen Q-Oszillator mit > 20,48MHz?) Mein Oszi zeigt mir bei 10MHz nen bescheidenen TTL-Pegel, ich > werde versuchen eine Endstufe dranzuhängen. Evtl. liegt das auch an deinem Board, das den Ausgangspin auch extern auf High oder Low zieht. Bis 4 MHz habe ich noch den vollen Pegel mit Eingangsspannung. Nur bei 8 MHz zeigt mein Oszi nur noch 4,5 der 6V an. > Bild oben ist mein Versuchsaufbau. Alles kommt in ein kleines Gehäuse > mit Batterie. Immer zur Hand um vergeigte Fuses zu richten :) Viel Erfolg dabei und vielen Dank für dein Feedback, arne
hallo arne wirklich tolle arbeit hast du da das ich mir nachbauen wollte allerdings gibt bascom mir beim convertriern diesen fehler raus Variable already dimensioned "Dim Ocr1a As Word " sein schon dimensioniert wenn ich das richtig verstanden habe wurde die variable schon in deinem code definiert allerdings finde ich es nicht oder bin ich da auf dem holzweg gruß siggo
Hallo siggo, das war bernd ja auch schon passiert. Vielleicht ist die Variable ja doch inzwischen reserviert... Ich benutze sie für den 16-bit Registerwert. Versuch doch bitte, die einfach an allen Stellen zu ersetzen, bspw durch "Vergleichsregister". lg, arne
Hallo Arne Danke für die schnelle Antwort ich habe die Variable Ocr1a durch Ocr1a1 im gesamten Code ersetzt. Jetzt meckert mein Bascom nicht mehr :-) jetzt habe ich es auch mein Atmega8 aufspielen können, allerding Funktioniert es nicht so wie es sollte. Das ganze ist sehr träge wenn ich es einschalte kommt nach ca. 4sec. ein kleines p und danach geht es ca. 13.sec. bis auf der Anzeige 0,119209289 HZ Low steht. wenn ich jetzt die Taste up oder down drücke geht garnichts. kann es sein dass meine fusebit falsch eingestellt ist? gruß siggo
Hallo Siggo, ja - deine Fusebits sind nicht richtig fuer diese Anwendung. Sie sollten so sein:
1 | 1100 1001 |
2 | 1110 1111 |
Eine 1 bedeutet im Ponyprog KEIN Häckchen. Eine 0 bedeutet ein gesetztes Häckchen. Die beiden Zeilen stehen für die beiden UNTEREN Zeilen im Ponyprog, also von RDISBL bis BOOTRST BODLEVEL bis CKSL0 An der oberen Zeile braucht man eigendlich NIE etwas ändern. lg, arne
Hallo Arne Habe die Fiusebits so eingestellt wie du es gesagt hast jetzt zeigt das lcd beim einschalten nur noch ein p und bleibt so stehen gruß siggo
ich verstehe es Ehrlich nicht habe es gerade aus meinem evaluierungs boad rausgenommen und auf meine platiene gesteckt und jetzt geht es warum auch immer :-) jetzt macht es wieder spaß gruß siggo
hallo ich noch einmal wie bekomme ich eigenlich die erzeugte frequenz rauß habe es so probiert aber es klappt nicht Config Pinb.0 = Output pinb.0 = frequenz kann mir da jemand helfen gruß siggo
Hallo Siggo, du musst PinB.1 nehmen, weil da der Ausgang von Timer/Counter 1 liegt.
danke hat geklappt gruß siggo
Hallo alle, ich habe versucht das mal nach C umzuschreiben. Es wäre schön wenn mal ein Profi nen Blick draufwerfen könnte. Bin da in der Syntax noch nicht fit. Grundfunktion wie gehabt, mega88 mit 20MHz, 3 Taster an C0/1/2, Ausgang an B1, Hintergrundbeleuchtung LCD (mit transistor) an B3. Ich habe vor das Ganze auf eine Platine zu bringen und in ein kleines Gehäuse einzubauen. Batteriebetrieben.
Hallo allerseits, ich hab mich als relativer AVR Neuling mal an diese Schaltung rangetraut und bin nun leider an einem Punkt, wo ich nicht weiter komme. Beim Anmachen der Schaltung blinkt ein Cursor 2x an der 2. Position in der ersten Zeile und dann passiert nix weiter, außer, dass das LCD mit einem wandernden Flackern auf die Tasten reagiert (man sieht also, dass sich an sich was tut). Auch wenn die Schaltung etwas chaotisch aussieht, denke ich, dass ich alles Richtig gebaut hab. Die einzige Veränderung meinerseit ist, dass ich einen Quarzoszillator (auch 16Mhz) nutze. Kompilieren und Flashen war überhaupt kein Problem. Die Fusebits sind: 1100 1001 1110 0000 Die 0000 weges des Oszillators. Da ich grade überhaupt keine Idee mehr habe, woran es scheitert, würde ich mich über Input jeder Art sehr freuen! Dank im Vorraus! Henrik
Hallo Henrik, kann es sein, dass dein ext-osci nicht richtig angeschlossen ist? Auf dem Foto sieht es aus, als sei Pin 9 (XTAL1) nicht belegt. Dies ist der Eingang für eine externe Clock. lg, arne
Hallo Arne, danke ersteinmal für die Antwort! XTAL1 sollte über das lange, quer liegende, orange Kabel (und weiter durch braun, grau, gelb) an Pin 8 vom Oszillator angeschlossen sein - die Durchkontaktierung hab ich hier, wie auch an allen anderen Stellen getestet. XTAL2 ist nicht belegt - das sollte ja aber beim einem Oszillator so richtig sein?! Kann es vielleicht sein, dass die Leitung zum Quarz zu lang ist und sie einen zu hohen Widerstand bzw. Eigenkapazität hat? LG, Henrik
Hallo Henrik, dieses 'Verrückspielen' auf dem LCD hatte ich auch. Schreib nach dem Init erstmal was auf's LCD und nimm alles Weitere raus. Damit dieses Thema erstmal erledigt ist. Dann schauen wir weiter.
Welche Frequenzstufen hat der Generator? W.
Ist es eigentlich möglich die eingestellt Frequenz mit diesen Frequenzzähler zu messen?
Hallo Bernd, das Schreiben auf das LCD funktioniert super - ich hab mit einem anderen Atmega, der auf interne Clock gestellt ist mal versucht was auszugeben und siehe da (oder siehe Bild) - das funktioniert - Ich werde mal den Oszillator gegen einen normalen Quarz tauschen - vielleicht ist das die Quelle allen Übels... Wenn noch weitere Ideen vorhanden sind, immer her damit :) LG, Henrik
Hallo Henrik, bei mir sitzt der Oszillator näher drann. Hab jetzt so in etwa den finalen Aufbau und bin gerade beim Platine malen. Ich hatte am Anfang Probleme mit den Tastern. Das Ding ist unkontrolliert hoch und runter gelaufen.
Hallo Arne, ich komme nicht drum rum mich zu bedanken. Ich habe heute ein Behelfsboard umgestrickt. Anzeige auf dem Display klappte fast sofort, als ich endlich eingesehen habe das das erste Display offensichtlich einen Schuss hatte. (Sind alles recycled aus alten Telefonen (2*24.... Eine gewisse Hürde war dann noch der Output...... Den habe ich ums verrecken nicht aus portb.0 rausbekommen..... Sollte ja auch Portb.0 sein....und siehe da, kaum macht man es richtig und es geht. Es war mir ein besonderes Vergnügen das Gerätchen mal zusammenzubraten. Das ist ein tolles Gerät, das auch noch in ein Gehäuse kommt. Ich sage mal einfach Danke ! mit freundlichem Gruß Manfred8bm
Hallo, ich hab den Generator auf meinem Pollin Board zusammen gesteckt, funkioniert auch gut. Die Sprünge sind ein bischen grob, z.b. 4 Mhz "Step" 8Mhz. Ist das so ok? Auch die letzte Einstellung wird nicht speichert und fängt immer ganz unten an. Gruß Andreas
Hallo, mit dem Autospeichern hat sich erledigt. Ich hatte mich mit den Fuses vertan. Ich benutze das AVR Studio zum Brennen und habe die Einstellungen als GIF beigefügt. Gruß Andreas
Hallo, manchmal sind die Speicherwerte wieder weg. Hat jemand diesen Effekt auch? Gruß Andreas
Hallo Andreas, ich benutze ein anderes Brennprogramm, hab aber die Option 'Eesave' angekreuzt. Außerdem kann ich das so einstellen, daß ich nur CODE programiere und kein DATA. Probier das mal aus.
Hallo alle zusammen cooles Projekt! kann dieser Frequenzgenerator auch als Oszilator benutzt werden? wenn ja muss das ganze potensialfrei aufgebaut werden? grins (atmels sollte man glaube nicht übertakten) grins schönen feiertag noch
Nettes Gerätchen! Ich habe es auch nachgebaut und es hat auf Anhieb funktioniert. Bei mir läuft es auf 8Mhz intern, da ich noch auf mein Reichelt - Paket mit dem Quarz warte. Aufgebaut habe ich es auf LR - Platte (genau so groß wie das Lcd) mit dem LCD "Huckepack" obendrauf. Morgen kaufe ich mir ein Gehäuse dazu. (Das Teil ist so gut, das es ein schönes mit Lcd - Rahmen verdient!) Gibt es eig. mittlerweile eine neue oder bessere Softwareversion? (Mich interessiert aber nur Bascom, vom Rest habe ich leider "0"Plan!) Gruß Kay
hallo Arne, super programmm, funktioniert auch alles nur sporadisch werden am lcd wirre zeichen angezeigt, an der Serielle ausgabe ist die frequenz noch ok nach einen reset funktionierts wieder. Auch das abspeichern der Frequenz geht nicht, serielle sagt "save" aber nach ein / aus ist wieder die 0,239..Hz möchte es nun auch auf einen atmega 32 brennen. leider hab ich ein problem mit den timern, neuer ausgang ist doch dann D5 oder? kannst du mir weiter helfen? mfg
Hallo, ja OCR1A ist D5 beim mega32. Ich hätte hier für mega48/20MHz und LCD 2x16/4-bit das Programm in Bascom mit Speichern aller Werte, LCD-Kontrast in Software, LCD-Backlight-Fade, 3 Taster für Up/Down/ChangeFlag. Schaltplan für Batteriebetrieb (4xMignon) flattert auch noch irgendwo rum.
hallo Bernd, kannst du mir was zukommen lassen? mfg
..leider völlig undokumentiert. Timer0 ist für PWM Backlight, 1 für den Generator, 2 zum speichern der Werte und Ausschalten der Hintergrundbeleuchtung. LCD in 4-bit auf D, 3 Taster an C3, C4, C5 zum hoch/runter und Flag. ausserdem wenn Flag und hoch/runter wird der Kontrast für's Display eingestellt (bei Batteriebetrieb von Vorteil). Alle Werte werden nach gewisser Zeit gespeichert. die Schritte hoch/runter erhöhen sich, wenn man langer drückt. Wenn du Fragen hast versuche ich mich weiter. Muss da selber erstmal sehen, was ich geschrieben habe.. ;)
hallo Bernd, danke für dein mühe, bei compile kommt "bootloader to long" mfg
Irgendwas ist schief gelaufen. Bei mir kommt derselbe Fehler. Ich hänge die jetzt nochmal ran. Habe es eben nochmal kompiliert (Flash used: 98%). Dazu mal das Hex-File. Mal sehn.. Edit sagt: schalte mal die Optimierung ein. (Output - Optimize Code)
hallo Bernd, danke für dein mühe, leider das gleiche problem, hex nützt mir nichts hab einen atmega 32 mfg
Hallo Leute, tschuldigung, dass ich diesen Fred nochmal Aufleben lasse aber ich habe den Beitrag erst vor kurzem entdeckt. Sowas hab ich schon länger gesucht und hab ihn sofort in die Tat umgesetzt. Ich habe ein 20 x 4 Display an dem Mega8 angeschlossen. Mir fiel als Erstes auf, dass beim Hochzählen (Taste Up gedrückt) ziemlich große Sprünge (128030) gemacht werden! Ist das richtig? Ferner funktioniert das Abspeichern der letzten Einstellung nicht. Kann es richtig sein, dass bei dem Setzen der Fuses EESave nicht gesetzt werden muss? Meine Fuse Bit Einstellung : High = 0xC9, Low = 0xEF . Ansonsten scheint alles zu Laufen. Gruß Klaus
Hi... schade, das dieses kleine Projekt nicht weitergeführt wird, gerade als es interessant wurde und es noch einige Bugs zu bereinigen gäbe...:-( Gruß Michael
nun ja, da geht es leider auch nicht viel weiter, schade! Auch ich habe das Teil mal auf dem Breadboard aufgebaut und bin begeistert, was man aus so einem mega8 alles rausholen kann, ist schon beachtlich! Das Rechteck ist bei 8MHz noch erstaunlich gut und die Frequenz bleibt absolut stabil. Die Flanken können sich auch sehen lassen, bei Gelegenheit lade ich mal ein paar Oszimessungen hoch. Die Idee wäre vielleicht noch eine Sweepfunktion mit einzubauen, wie wär's? Gruß Michael
Hi, Hier mal die versprochenen Shots vom DSO. Ich habe mal ein wenig experimentiert, da ich den Mega8 gerade mal verfused hatte (statt Crystal/Resonator), habe ich aus Versehen auf External gedrückt. Da bot sich gerade die Gelegenheit ein wenig mit den Oszillatoren zu spielen... 1.Foto 16MHz Quarz mit 2x12pF 2.Foto 25MHz Oszillator...macht er locker mit! 3.Foto 28.322MHz Oszillator, hatte ich gerade da. 4.Foto 40MHz Oszillator, bis dahin ging er noch, das Display hat's aber nicht mehr mit gemacht, war klar! Der Mega8 wurde dabei nicht mal warm. beim 40MHz Oszi, bekam er etwas Temparatur. Fazit: Bis 30MHz, könnte man den Mega8 takten, d.h. man könnte eine Frequenz von 15MHz mit einem akzeptablen Rechteck generieren. Vielleicht möchte ja Jemand mal die Software dafür anpassen? Arne wie wär's, ist ja dein Projekt?!? Gruß Michael
Toll gemacht Michael, haste bei 40Mhz den Source mit $crystal = 40000000 neu kompiliert ? denn damit werden auch die 'waits' fuer die LCD ausgabe berechnet vlG Charly
Hi Charly, (war das jetzt Zynismus oder ehlich gemeint?) :-)) 40MHz sind wohl doch etwas oversized, da streikt das Programm sowie das Display...zuviel des Guten. 30MHz ist die oberste Grenze nach meinen Tests zu urteilen! Ich habe mal einen Oszilator(osc) mit 28.3220MHz, hatte ich gerade da, in den Takteingang des mega8. Programmieren kann ich garnicht, mit Bascom ist es wohl nicht so schwierig, ist für mich aber trotzdem edwas undurchsichtig...egal...ich habe die Oszilatorfrequenz mal im Code angepasst und dann kompiliert. Hat alles prima geklappt, das Display zeigt die exakten Werte an, ich bin begeistert! Der mega8 bleibt eiskalt, muß also kein Kühlblech drauf :-))) Mich würde jetzt interessieren ob die Frequenzmessung über 5MHz geht, vielleicht testet das mal Jemand? Anbei mal die compilierte --bas-- und eine --hex-- mit 28322000Hz Takt, ist ja leicht anzupassen für 30MHz (dann hat man auch glatte Werte) Gruß Michael
Moin Michael das war ganz ehrlich gemeint, wenn jemand sich die Arbeit macht und das auch noch f. andere veroeffentlicht ist das doch eine annekennung wert, wenn i was zu mekkern habe mach ich das auch so ('ohne filter') das man es versteht :) leider hab i im moment keine Zeit sonst wuerd i mit eimem M88 das auch mal aufbauen, kommt aber bestimmt bald da i ein sehr aehnliches projekt fast fertig habe, event. fliesen hiervon die ein oder andre Idee dort mit rein. vlG Charly
Hi Charly, ...ich habe hinter diese Bermerkung auch ein breites Lächeln hinterlegt. Und stimmt, habe die ganze Nacht herum experimentiert und nur 4Std. Schlaf gehabt, hat aber Spass gemacht! Natülich teile ich das gerne mit, denn Andere sollen ja auch was davon haben! Kritik, Anregungen, sind doch immer willkommen, oder? Ich finde die Kompilierung für den mega48-88 sehr komfortabel, könnte die mir Jemand für den Mega8 umprogrammieren? Als nächstes nehme ich mir den mega88 vor, mal sehen, was da so geht. Steht immer noch die Sweepfunktion im Raum, hast du (Charly) dazu eine Idee? Noch was, man könnte doch das Ausgangssignal des mega8 in einen Sinus verbiegen aber da ist wohl bei 200kHz ende. Gruß Michael
Hi, ich wollte einmal die Qualität der Ausgangs-Signale dokumentieren. Getestet habe ich mit 1kHz am Osciloskope. Verwendet habe ich 20MHz Quarze von unterschiedlichen Herstellern, jeweils mit externen Kondensatoren(22pF) und ohne, bzw. wurden die internen 36pF des mega8 aktiviert. Die Ergebnisse sind erstaunlich, die Screenshots sind selbsterklärend, denke ich. Gruß Michael EDIT: Shot 3 u. 4 sind Quarze mit einer deutlich besseren Qualität
Hi, gibt es eine einfache Möglichkeit das Tastverhältnis zu ändern? 50:50 ist für mich nicht ideal. Ich benötige z.B. 1µs an und 100µs aus 21µs an und 74µs aus 8µs an und 85µs aus ich mache es bisher mit PWM, aber da kann ich nur bestimmte Werte festlegen. Habt ihr einen Tip wie ich es einfach mit Bascom realisieren kann? Gruß Thorsten
Hi, @Thorsten F. > gibt es eine einfache Möglichkeit das Tastverhältnis zu ändern? > 50:50 ist für mich nicht ideal. Wäre ganz chic. Möglich ist das bestimmt, nur wie man das realsiert, können nur die Programmierer beantworten. Edit: das Abspeichern in das Eprom geht wohl von statten(im Display tut sich wohl was), leider werden die Frequenzeinstellungen nicht mit übernommen, nur LOW oder HIGH, könnte das man mal fixen? Der Frequenzähler ist auch nicht sehr genau, mal zeigt er zuviel, mal zu wenig an...kann das Jemand bestätigen? ansonsten, wünsche ich noch eine erfolgreiche Woche, Gruß Michael
hm, die Resonanzen halten sich sehr in Grenzen, schade eigentlich! Ich habe mal von dem Speicherproblem der letzten Frequenzeinstellung einen Shot von der Terminalausgabe gemacht. An der drittletzten Zeile kommt "saving..." , nach einem Reset wird die letzte Einstellung leider nicht gespeichert, wie man sieht. Da meine Programmierkenntnisse nicht der reisser sind, stehe ich jetzt wohl ein wenig auf dem Schlauch... Gruß Michael
@tfol eine Version mit einstellbarem Tastverhältniss hatte ich mal gemacht. Leider habe ich den Quellcode verloren. Das HEX konnte ich aber noch auslesen - grrr. Zum Einstellen des Tastverhältnisses, beim Boot beide Taster gedrückt halten. lg, arne
Hallo Arne, ist das hex-file für einen Mega8? Kann es mit AVR-Studio nicht flashen. Meldung: zu groß Gruss Peter
...stimmt, passt auch nicht mit Xtrem Burner! Schade, hätte das gerne mal getestet. Hat denn jemand mal eine Idee mit der Frequenzspeicherung??? Gruß Michael
@flexopete das HEX ist mit PonyProg gemacht und schließt den eeprom-Bereich mit ein, -glaube ich-. Daher die Größe. Ja - ist für dem Mega8 mit 16 MHz- Resonator, wie ganz oben im Schaltplan. P.S. Es muss beim Boot die zweite Taste (und nicht beide) gedrückt werden, um in den Modus für das Tastverhältniss zu kommen. @mike0815 benutzt du auch 16 MHz und den Mega8? Falls nicht, kann mir vorstellen, dass das Speichern ins eeprom nicht klappt, weil evtl. die Werte die max. Variablengröße (ich glaube ich nutz da ein WORD) übersteigen. lg, arne
mueste M88 oder M168 sein
@arne habe extra mal Ponyprog auf einem alten Win 2K Rechner installiert und meinen DT006 Prommer entstaubt. Flashbereich geht, EEPROM bringt write error. Könntest Du bitte mal hex und eep separat auslesen. Danke Gruss Peter
...also die Hex und die Bin lässt sich flashen, habe sie auch mit Ponyprog konvertiert, allerdings stimmt warscheinlich die Portzuweisung für das LCD-Display nicht, ist wahrscheinlich gespiegelt... Gibt's denn da keine Asm? Gruß Michael EDIT. wieso kann ich die Hex hier nicht hochladen?
@Michael: Die Portzuweisung ist so: (also für die HEX und deine BIN - danke): 'Fuer Lochrasterplatine - weniger Kreuzungen: Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.0 , E = Portc.3 , Rs = Portc.5 lg, arne
Arne Groh schrieb:
Das HEX konnte ich aber noch auslesen - grrr.
@kywalda
danke, aber ich benötige es in meinem Bascom-Programm, da hilft mir die
Hex nicht weiter. Ich muss mal schauen wie ich es selber geproggt
bekomme, hast du evtl. einen kurzen Ansatz, wie du es gemacht hast? PWM
scheidet ja wohl aus.
Danke
tfol
@Michael Kannst Du mir die Hex mal mailen Gruss Peter
@tfol Der Ansatz liegt hier: Ocr1bh = &B0111_1111 : Ocr1bl = &B1111_1111 'Register fuer Tastverhaeltniss (16 bit Wert 50%) Ist ja schon das Fast-PWM aus dem Atmel Mega8 Datenblatt. 16 bit Variable über die Taster ändern und dann in High- und LowByte aufteilen und in die beiden Register schreiben... &H00 : &H01 -> kleinste mögliche HighTime &HFF : &HFE -> größte Hightime &HFE : &HFF -> genau die Mitte ;-) viel Erfolg, arne
Danke dir arne. Gruß tfol
@Arne,
...bitteschön, die Bin funktioniert?
> benutzt du auch 16 MHz und den Mega8?
Den Mega8 ja, Quarz 16MHz nein! Ich habe einen 20MHz drinnen, da geht's
dann also bis 10MHz!
Ich hatte da schon 25, 28 und 30MHz getestet. Wie schon weiter oben
beschrieben sind die 28MHz schon Grenzwertig(machen auch nicht alle
mega8 mit) die 20MHz gehen aber locker und sehr stabil.
Die Frequenzmessungen sind aber sehr ungenau, egal welchen Takt ich da
fahre...
@Thorsten,
wenn das mit dem Tastverhältin bei dir funzt, kannst du dann die fertige
Bas hier rein setzen?
Btw. kleiner Vorschlag am Rande, wie wäre es mit einem Drehgeber zur
Frequenzauswahl, fände ich praktischer, als die Tastendrückerei?!?
Gruß Michael
Michael D. schrieb: > @Arne, > ...bitteschön, die Bin funktioniert? Habe ich noch nicht probiert - muss ich gestehen --- > >> benutzt du auch 16 MHz und den Mega8? > Den Mega8 ja, Quarz 16MHz nein! Ich habe einen 20MHz drinnen, da geht's > dann also bis 10MHz! > Ich hatte da schon 25, 28 und 30MHz getestet. Wie schon weiter oben > beschrieben sind die 28MHz schon Grenzwertig(machen auch nicht alle > mega8 mit) die 20MHz gehen aber locker und sehr stabil. > Die Erfahrung habe ich auch gemacht: 20 MHz sind für den Mega8 kein Problem ( http://code.google.com/p/leuchtkanister/source/browse/trunk/trunk/TCL5940_base.bas?r=6 ) > Die Frequenzmessungen sind aber sehr ungenau, egal welchen Takt ich da > fahre... > Nuja - für so ein Minial-Project sind 5% Abweichung m.M. nach noch ok. > > > Btw. kleiner Vorschlag am Rande, wie wäre es mit einem Drehgeber zur > Frequenzauswahl, fände ich praktischer, als die Tastendrückerei?!? > Würde halt den 5-€-Rahmen sprengen... Hier habe ich mich aber auch mal an dem Pollin-Panasonic-Drehencoder versucht: Beitrag "Zeitauslöser für Casio EX F1 mit attiny2313" Vieleicht kannst Du ja was mit dem Code anfangen... lg, arne
@Michael ich habe die .bin ausprobiert, ging nicht. Deshalb die Frage nach der .hex. Gruss Peter
@Arne > Nuja - für so ein Minial-Project sind 5% Abweichung m.M. nach noch ok. ich sag' ja schonn nix mehr. ;-( > Würde halt den 5-€-Rahmen sprengen... nun ja, wenn man ein Display vom Reichelt nimmt, sind die eh längst überschritten! ...währe aber trotzdem sehr komfortabel In deinem Link hast du einen Zeitauslöser für die Casio gebaut...also,im Programmieren bin ich nicht so bewandert, ein paar Kleinigkeiten gehen noch, dann hört's aber auch schon auf...bin dann auf Andere angewiesen, die das am besten können! @Peter Das ist jetzt aber ärgerlich, dachte die funzt! Dann müssen wir auf den Thorsten warten ;-| Gruß, Michael
Ich habe mit meinem Ponyprog auch mal den Flashteil als BIN exportiert. Vielleicht geht der ja... arne
@Michael D. > @Peter > Das ist jetzt aber ärgerlich, dachte die funzt! Dann müssen wir auf den > Thorsten warten ;-| Da ich aber gar keinen Frequenzgenerator wie in diesem Beitrag baue, sondern es für einen Pulsgenerator benötige der in meiner Schaltung kurze Pulsfolgen erzeugen soll, kann ich euch leider keinen Frqeuenzgenerator-Code mit Pulsfolge geben. Es ist bei mir nur eine kleine Funktion, die bestimmte feste Pulse ausgeben soll und ich habe mir hier einen Denkanstoss erhofft und erhalten. Weiter bin ich trotzdem noch nicht. Gruß tfol
@Arne habe es jetzt hinbekommen, die .hex Datei (Flash+EEPROM) zu flashen. Dazu musste ich in der Ponyprog.ini SPI langsamer machen. Flash und EEPROM separat exportiert --> dann ging es auch mit AVR-Studio. Takt wird ausgegeben und das Tastverhältnis lässt sich verändern. Mega8 mit 12MHz. Allerdings bekomme ich keine Anzeige auf dem LCD. Das LCD ist nach Deinem post vom 3.5. angeschlossen. Ist zwar ein 16x2, aber irgendetwas sollte man doch sehen können oder ist das timing völlig anders? Gruss Peter
@ Peter Ja - spielt eigendlich keine Rolle, ob 16 oder 8 Zeichen pro Zeile... evtl. vergessen, den RW auf GND zu legen? Geht denn die Kontrastregelung über den Poti? lg, arne
@ Arne RW ist auf GND und die Kontrastregelung geht. Gruss Peter
Tja dann scheint das Display doch sehr sensibel auf falsche Timings zu reagieren. Die HEX war ja für 16MHz kompiliert (und das LCD-Timing wird ja aus der $crystal-Frequenz berechnet)...
@ Arne hab´s eben noch mal durchgeklingelt: die Verdrahtung passt zu Deiner config LCDpin. Das Display läuft auch in einer anderen Schaltung. Da in der ersten Zeile der Balken bleibt, wird es wohl nicht initialisiert. Gruss Peter
@ Arne sehe gerade, dass ich 12 MHz geschrieben habe. Richtig ist 16 MHz Gruss Peter
Dann weiß ich auch nicht weiter. Habe gerade meine Schaltung noch mal durchgemessen und die Belegung aus meinem Post stimmt. Kann ich mir nur noch mit einer kalten Lötstelle oder so erklären 8-(( Tut mir leid...
@ Arne das Display läuft jetzt. Kaum macht man es richtig, da funktioniert es. Hatte mein Standard LCD nach den Pinnummern auf dem Stromlaufplan vom Frequenzgenerator verdrahtet... Nochmal danke für das Projekt. Gruss Peter
Das mit dem speichern der letzten einstellung klappt jetzt auch. Grund war das Kompilieren mit Bascom Ver.2050 bei der aber der USB-Asp unterstützt wird, was bei der Ver.11183 leider nicht der Fall ist! Also mit der Ver.11183 kompilieren und mit dem Xtrem-Burner über USB programmieren, dann bleiben die Frequenzeinstellungen erhalten. Ich habe da mal ein Anliegen: Könnte man die Frequenzsprünge, die im Moment sehr groß sind, vor-u. rückwärts in 1MHz oder 500kHz unterteilen? Gruß Michael
Feste Frequenzänderungen sind in sofern nachteilig, weil ja auch niedrige Frequenzen einstellbar sein müssen (500 KHz wären hier fatal). Eine prozentuale Änderung halte ich deshalb für sinnvoller. Meine Konzept ist ein Kompromiss zwischen schneller Erreichbarkeit einer Wunschfrequenz und des breiten Bereichs.... Falls du noch eine gute Idee hast, wie man beide Ziele mit nur 2 Tasten besser erreichen kann, würde ich mich freuen!
moin Arne, ich meine nicht das Hochzählen zur Maximalfrequenz, das ist ja ok, so wie es ist. Wenn z.B. die max.Frequenz 10MHz erreicht ist und man rückwärts geht, dann springt man ja auf 5MHz, 2,5MHz etc. und umgekehrt. Das man hier evtl. noch einen Taster einbaut, der die großen Sprünge in kleinere aufteilt, d.h. von 10MHz runter auf 9, 8 ,7 etc... wäre das machbar? Der Mega8 Produziert so steile Flanken, man könnte glatt eine Sinus, Sägezahn, Dreieckgenerator damit steuern und man hätte einen schicken Funktionsgenerator Noch ein Vorschlag für den Frequenzzähler: Wie wäre es mit einem Vorteiler 74F73(HC) oder 74F74(HC), zum messen von höreren Frequenzen? Im Moment geht's ja nur bis 3MHz und ein wenig Feintuning für etwas genauere Werte wäre auch von Vorteil?!? Jetzt dreht er ganz durch...:-)) aber warum nicht weiter spinnen? ;-\ Gruß Michael Gruß Michael
Michael D. schrieb: > der die großen Sprünge in kleinere aufteilt, d.h. von 10MHz runter > auf 9, 8 ,7 etc... wäre das machbar? Hast Du denn jemals selber etwas mit Timern & AVR gemacht ? Dann würdest Du erkennen, warum es technisch nicht möglich ist kleinere Schritte auszuführen. Denk mal über die Werte von OCR1A bei der Maximalfrequenz und dann absteigend nach. Ihr unterhaltet Euch ja gut und was Arne da programmiert hat trifft ja auch auf Gefallen, beweist dennoch Folgendes: 1) Jeder kann mit Bascom programmieren 2) Obwohl der Code schlichtweg grauselig ist, kann er funktionieren Übrigens kann das Setzen des OCR1B entfallen, der hat hier keinerlei Wirkung da der OC1A Pin getoggelt wird, Disable/Enable Interrupts wird in einer Interruptroutine auch nicht gebraucht, denn das macht der µC von selbst.
> Hast Du denn jemals selber etwas mit Timern & AVR gemacht ? Ich bin dabei einigermaßen da durchzusteigen, sonst würde ich ja nicht fragen, ob es möglich wäre!?! > Dann würdest Du erkennen, warum es technisch nicht möglich ist kleinere > Schritte auszuführen. Denk mal über die Werte von OCR1A bei der > Maximalfrequenz und dann absteigend nach. Dann kläre mich doch mal auf. > 1) Jeder kann mit Bascom programmieren > 2) Obwohl der Code schlichtweg grauselig ist, kann er funktionieren Dann bring doch deine Verbesserungvorschläge mit ein, wäre eine Bereicherung für Alle!
Michael D. schrieb: > Ich bin dabei einigermaßen da durchzusteigen, sonst würde ich ja nicht > fragen, ob es möglich wäre!?! Ok. Bei Prescaler 1, OCR1A als Topwert von Timer1 und OCR1A = 0 wird OC1A bei jedem µC-Takt getoggelt und gleichzeitig Timer1 auf 0 zurückgesetzt, der kann also gar nicht hochzählen, sondern bleibt in diesem Fall immer 0. Durch das Toggeln entsteht eine Ausgangsfrequenz von µC-Clock / 2. Bei OCR1A = 1 wird bei jedem zweiten µC-Clock zurückgesetzt und getoggelt, Ausgangsfrequenz ist dann µC-Clock 2 2, usw. Daraus ergeben sich die möglichen Frequenzen und das ist auch der Grund, warum 9MHz mit dieser Methode nie erreicht werden können. Michael D. schrieb: > Dann bring doch deine Verbesserungvorschläge mit ein, wäre eine > Bereicherung für Alle! Ein paar Dinge hab' ich genannt, die rausgenommen werden können. Aber "verbessern" bedeutet Bestehendes verändern, hier würd' ich dagegen empfehlen den Code komplett neu zu schreiben. Du bist offensichtlich zufrieden wie's jetzt ist und somit war das mein Hinweis, daß man sich diesen Code möglichst nicht als gutes Beispiel nimmt. Z.B.: Tasterabfrage per Interrupt & Delay, brrr, da schüttelt's mich. Auch die Über-/Unterlaufbehandlung ist recht "interessant" :D Aber, es scheint zu funktionieren und das fand ich beachtlich. Codegewordene abstrakte Kunst sozusagen :-)
MWS schrieb: > ...ist dann µC-Clock 2 2,... Irgendwas hat da die Forensoft verwurschtelt. Bedeutet: ...ist dann µC-Clock durch 2,...
Hi, > Ein paar Dinge hab' ich genannt, die rausgenommen werden können. > Aber "verbessern" bedeutet Bestehendes verändern, hier würd' ich dagegen > empfehlen den Code komplett neu zu schreiben. Du bist offensichtlich > zufrieden wie's jetzt ist und somit war das mein Hinweis, daß man sich > diesen Code möglichst nicht als gutes Beispiel nimmt. Ich habe diesen Code nicht geschrieben, das ist Arnes Ding. Zufrieden ist relativ... ich habe wenig Ahnung vom programmieren und muß es so nehmen, wie es ist! Ich kann eben nur Vorschläge machen oder Ideen einbringen, die Umsetzung zecks programmieren ist Anderen vorbehalten Ich stelle mir das nicht einfach vor einen Code zu schreiben, dir scheint das wohl leichter von der Hand zu gehen... Gruß Michael
Michael D. schrieb: > ich habe wenig Ahnung vom programmieren und muß > es so nehmen, wie es ist! Versuch's halt zu lernen, ist nicht so schwierig. Wenn Du das nicht möchtest, dann musst Du natürlich nehmen was Du bekommst. So gesehen kannst Du mit dem was Du von Arne bekommen hast, durchaus zufrieden sein. Michael D. schrieb: > Ich stelle mir das nicht einfach vor einen Code zu schreiben, dir > scheint das wohl leichter von der Hand zu gehen... Es fällt mir nicht schwer. Nur gegen dieses Prinzip des Timers, d.h. der groben Frequenzauflösung bei kleinen Comparewerten, könnte ich auch nichts machen. Da ist's egal, wie der Code geschrieben ist :D
MWS schrieb : > Z.B.: Tasterabfrage per Interrupt & Delay, brrr, da schüttelt's mich. Habe da viel mit verschiedenen Debounce-Mechanismen rumprobiert und diese funktioniert sehr zuverlässig... > Auch die Über-/Unterlaufbehandlung ist recht "interessant" :D Danke! > Aber, es scheint zu funktionieren und das fand ich beachtlich. > Codegewordene abstrakte Kunst sozusagen :-) Komme auch aus dem Kunstsektor - schön dass das mal jemand merkt ;-) > Übrigens kann das Setzen des OCR1B entfallen, der hat hier keinerlei Das Register brauche ich, um das Tastverhältniss festzulegen. (kann sein dass ich in diesem Code einen anderen PWM-Mode als später genutzt habe) Aber das ist ja schon alles sooo lange her---- > Disable/Enable Interrupts wird > in einer Interruptroutine auch nicht gebraucht, denn das macht der µC > von selbst. Bist du dir da sicher? Ich glaube, die Interruptbedingung wird sonst bei jedem Takt neu abgefragt und der Interrupt wieder ausgelöst - auch wenn die Routine noch nicht beendet ist... @Michael: mit der Schrittweite an den Grenzbereichen hat MWS recht: Mit dieser Technik sind kleinere Schritte technisch nicht möglich.
Hi, > mit der Schrittweite an den Grenzbereichen hat MWS recht: Mit dieser > Technik sind kleinere Schritte technisch nicht möglich. Ich sehe es ja ein! ;-/ Ich finde es trotzdem beachtlich, was hier geleistet wird...noch mal ein dickes Lob an dieser Stelle Wäre trotzdem praktisch das Teil vor einen Funktionsgenerator zu schalten, die Abstufungen bis 1MHz sind ja akzeptabel. Mal schauen, ob ich am We. dazu komme das mal mit einem XR2206 zu testen. Wenn es Recht ist, werde ich dann darüber berichten EDIT: Jetzt wollte ich mal den Mega88 ein wenig quälen und die Freqgen48.bas von Bernd S. Kompilieren, da schreit Bascom: Program will overwrite Bootloader(24 too long) Jetzt habe ich 2 Versionen von Bascom und hatte mich noch mal mit der Ver.2050 versucht...siehe da, kein gepöpel, komisch, wieso sind die Versionen so unterschiedlich mit dem Kompilieren? Hat denn Jemand mal die Schaltung mit dem mega44er bzw.88er aufgebaut und mit dem Programm getestet? Gruß Michael
Arne Groh schrieb: > Komme auch aus dem Kunstsektor - schön dass das mal jemand merkt ;-) :D > Das Register brauche ich, um das Tastverhältniss festzulegen. (kann sein > dass ich in diesem Code einen anderen PWM-Mode als später genutzt habe) > Aber das ist ja schon alles sooo lange her---- Im Mode den Du benutzt toggelst Du den Pin, da ist das Tastverhältnis immer 50/50. Würdest Du mit COM1B0..1 und Mode 15 eine Fast-PWM auf OC1B legen, dann wäre nach wie vor das OCR1A der Top-Wert, würde also die Frequenz der PWM bestimmen, während OCR1B im Bereich von 0 bis OCR1A das Tastverhältnis einstellen würde. > Bist du dir da sicher? Yep, bin ich. > wird sonst bei jedem Takt neu abgefragt und der Interrupt wieder > ausgelöst - auch wenn die Routine noch nicht beendet ist... Genau damit das nicht passiert, sind Interrupts in einer ISR automatisch gesperrt. Man kann sie allerdings gezielt freigeben, nennt sich "Nested Interrupts", das machst Du sogar unbeabsichtigt durch das Enable Interrupts am Ende der ISR. Damit erlaubst Du bereits vor dem Opcode RETI (der am Ende der ISR steht) die Interrupts wieder. Würdest Du ohne Nosave arbeiten, würde das einen erhöhten Hardwarestackbedarf zur Folge haben. Du hast übrigens noch Glück, daß Deine Hauptschleife so klein ist und die Register dort offenbar von den ISRs nicht betroffen sind, denn Du verwendest eben "Nosave", was Du im übrigen gar nicht brauchst. Bei Nosave werden die µC-Register bei der Interruptauslösung nicht gesichert und Code in der ISR kann damit die Inhalte dieser Register zerstören. Kannst Du Dir ja ausmalen, was dann passiert. Sollte die Hauptschleife also ein wenig umfangreicher werden, dann denk daran das richtig zu machen.
Michael D. schrieb: > Jetzt habe ich 2 Versionen von Bascom und hatte mich noch mal mit der > Ver.2050 versucht...siehe da, kein gepöpel, komisch, wieso sind die > Versionen so unterschiedlich mit dem Kompilieren? Ich habe eine DEMO von Bascom auf dem Rechner. Ver 1.11.9.5. Und ja, der 48er ist nahezu 'vollgequetscht'. Evtl. sind in anderen Versionen die vorgefertigten Routinen anders? Kein Plan.
moin Bernd, meine Ver.2050 ist auch eine Demo, wie auch immer, muß man halt zwischen 2 Versionen hüpfen, ist halt so, wie es ist! Gestern Abend habe ich die Schaltung mit dem Mega88 aufgebaut mit der Frqgen48.bas vorher aber den mega88 eingetragen. Das Teil funktioniert totschick. Was bosonders gut gefällt, ist die automatische Kontrastregelung und die Hz, kHz, MHz Anzeige. Praktisch fände ich noch nach jeweils 3 Stellen, einen Punkt zu setzen, zur besseren Übersicht Die Frequenzmessung fällt in dieser Schaltung weg. Der Code scheint mir ganz anders aufgebaut als der von Arne, oder täusche ich mich da? Man könnte für den Batteriebetrieb noch eine Spannungsüberwachung mit einbauen, die beim hochfahren kurz angezeigt wird. Anbei mal die Schaltung, wie ich mir das vorstelle. Gruß Michael
Hallo Michael, habe gerade versucht mit meiner DEMO einen 168er zu beschreiben um die Anzeige noch zu formatieren. Leider kommt die Meldung 'DEMO only supports 4096 bytes of code'. Wie gesagt, der 48er war schon bei 98%. Da bekomme ich nichts mehr rein. Tut mir leid. bernd
hallo Bernd, was für eine Demoversion hast du denn? Evtl. kann ich dir was zukommen lassen, zum testen... Hast du keinen 88er? Der ist gerade mal zur hälfte gefüllt, da geht noch Einiges rein. Ich bin total begeistert, von der Funktion der Soft mit dem mega88! Das einzige was mich stört, ist aber nicht lebenswichtig, wäre noch ein Dezimalpunkt oder Komma, jede 3.Stelle. Ansonsten rennt das Teil locker mit 32MHz ohne zu zicken Könnte man die Freqgen88 für den mega8 umstricken? Dann könnte man das Kontrastpoti sparen u. hätte noch den Dimmer dabei. Beide sind ja Pinkompatibel nur die Programieradressen unterscheiden sich, ich hänge mal das PDF an. Gruß Michael EDIT: jetzt habe ich aus Versehen die Freqgen88_org.bas mit angehängt, vielleicht möchte sie ja Jemand testen. Ich habe den Dimmer nicht ganz runter fahren lassen, da ich ein blaues Display habe und dann sieht man ja nüscht mehr... Noch mal EDIT: Ich habe gestern Abend versucht, wie u. wo man noch einen Dezimalpunkt hinzufügen kann, Stunden sind vergangen, vielleicht kann mir mal Jemand einen Tip geben?
Ich habe auch noch einen 88er gefunden. Der geht auch noch zu beschreiben. Mit dem 168er geht's dann nicht mehr(27%). Mein Problem ist aber die Beschränkung der Demo-Version auf 4kb Code. Mit dem FORMAT-Befehl aus Bascom wollte ich noch ein Hochkomma in den Dezimalstellen einfügen. Das meinst du doch? Denn als Dezimaltrennzeichen steht ja schon ein Punkt. Gibt es denn kostenlose Versionen ohne die Beschränkung auf 4kb? Grüsse bernd
Hi Bernd, > Mit dem FORMAT-Befehl aus Bascom wollte ich noch ein Hochkomma in den > Dezimalstellen einfügen. Das meinst du doch? Denn als > Dezimaltrennzeichen steht ja schon ein Punkt. Genau, das meine ich! > Gibt es denn kostenlose Versionen ohne die Beschränkung auf 4kb? Ich habe die 2.0.5.0 auch als Demo, habe bis jetzt noch keine Beschränkung feststellen können, unterstützt einige USB-Programmer. Die 1.11.8.3 habe ich als Vollversion, unterstützt aber leider weniger Programmer und pöpelt beim kompilieren von Arnes Code und schreit beim 88er wie hier beschrieben: Beitrag "Re: Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom" wie auch immer, welchen Programmer benutzt du denn? Für die oben angegebene Spannungsanzeige(Schaltplan)bräuchte man noch einen ADC-Eingang. Frei wäre noch Port PC0 bis PC2. Anbei mal der Code(Schnippsel?), ist aber nicht in Bascom geschrieben und nicht von mir, läuft in meinem Transistortester! Gruß Michael
Michael D. schrieb: > Ich habe die 2.0.5.0 auch als Demo, habe bis jetzt noch keine > Beschränkung feststellen können, unterstützt einige USB-Programmer. > Die 1.11.8.3 habe ich als Vollversion, unterstützt aber leider weniger > Programmer und pöpelt beim kompilieren von Arnes Code und schreit beim Eigenartig... Als Besitzer einer gekauften und nicht geklauten Bascom Vollversion bekommst Du jederzeit ein kostenloses Update von MCS auf die 2.0.5.0 1.11.8.3 ist uralt. Sehr eigenartig, daß Du die Demo benutzt.
Fehler von mir, ist genau umgekehrt, habe gerade noch mal nach gesehen. Ich habe die 1.11.8.3 dazu installiert, da es Probleme beim Kompilieren mit Arnes Code gab, dann wär das auch geklärt ;-) die Nacht ist kurz...
so, damit es hier nicht langweilig wird, möchte ich meine Experimente mit dem mega48 (gestern frisch eingetroffen) mitteilen. Dafür habe ich gleich ein paar Oszillatoren mit bestellt: 30MHz, 32MHz und 36MHz. Ich wollte das erst mit Quarzen realisieren, dummerweise hat Reichelt ab 20MHz aufwärts nur Oberton-Exemplare, diese bevorzugen dann ihre Grundfrequenz :-( Den 88er hatte ich ja schon mit 32MHz erfolgreich getaktet, jetzt wird der mega48 gequählt. Die 48er-Serie ist mit 1105A gekennzeichnet und scheint sehr willig zu sein. Anbei mal ein paar Oszi-Shots mit 30MHz, 36MHz und dem Clockausgang von 36MHz des mega48, dabei bleiben sämtliche Funktionen sowie das Display völlig stabil. Gemessen wird hier mit einem Welec W2022 und einem Testec-Tastkopf(100MHz) 1:10. Für so wenig Aufwand gibt's hier viel Leistung. EDIT: Die Messungen habe ich auf dem Breadbordaufbau vorgenommen, also auf keinen Fall HF-gerecht! Gruß Michael
Tolles Projekt! Wie groß sind den die Frequenzstufen? Ist das tastverhältnis Stabiel? Würde sich soetwas als Oszillator für ein SDR-Radio eignen? Mit eine PLL könnte man noch die Frequenz verdoppeln/vervierfachen.
Bastler schrieb: > Tolles Projekt! Jo... und es lebt ;-) > > Wie groß sind den die Frequenzstufen? Ist das tastverhältnis Stabiel? Absolut! > Würde sich soetwas als Oszillator für ein SDR-Radio eignen? keine Ahnung. > Mit eine PLL könnte man noch die Frequenz verdoppeln/vervierfachen. Geht auch, habe es selbst mit einem ICL511 Frequenzvervielfacher getestet, der geht auf das 8fache der Eingabefrequenz. Gruß Michael
Hallo, ich hole das mal hoch, weil mir dieses Projekt gerade entgegen kommt. Leider kann ich die beiden Files freqgen.bas oder freqgen1.bas nicht compilieren. Meine aktuelle BASCOM Version (siehe unten) gibt folgende Fehler aus, womit ich nichts anfangen kann. freqgen.bas Error : 25 Line : 99 Variable already dimensioned [Variable already dimensioned] , in File : C:\Desktop\AVR\freqgen.bas Zeile 99 Dim Ocr1a As Word Oder freqgen1.bas Error : 25 Line : 77 Variable already dimensioned [Variable already dimensioned] , in File : C:\Desktop\AVR\freqgen1.bas Zeile 77 Dim Ocr1a As Word Was moechte der Compiler mir damit sagen ? BASCOM Compiler version :1.11.9.8 Compiler build :1.11.9.8.001 IDE version :1.11.9.8 Serial number :Serial DEMO Windows OS :Microsoft Windows XP Windows SP :Service Pack 3 Explorer :8.0.6001.18702
schreib ein rem vor die zeile, dann laesst es sich zumindest compillieren Ocr1a ist bereits in den .def definiert ( "m8def.dat") viel erfolg beim testen vlG Charly
Es liegt an der Zeile: Dim Ocr1a As Word Das geht nicht, weil Ocr1a ein Registername des Kontrollers ist und nicht als Variable dimensioniert werden kann. Ich habe hier die Version 1.11.9.5, aber normalerweise dürfte das so nirgendwo gehen. MfG Paul
Hallo Was ich aber jetzt nicht verstehe, ist wie haben denn die Anderen hier das compiliert bekommen, wenn es nicht geht ? Hat der BASCOM Compiler von 2009 das einfach ignoriert ? Woher bekomme ich so eine alte BASCOM Version ? Google hilft da irgendwie nicht weiter, nur Verweise auf die aktuelle Version. Das Problem ist, dass ich mir vielleicht mit einem LED Blinker helfen koennte, aber das Programm hier ist etwas zu kompliziert fuer mich. Vielleicht kann mir da jemand genauere Anweisungen geben.
Du kannst mal versuchen, die Variable im ganzen Quelltext umzubenennen. Mit "Suchen und Ersetzen" geht das. MfG Paul
hallo bitte projekt in c übersetzen!
Schau mal weiter oben + Antworten siggo schrieb: > hallo arne > wirklich tolle arbeit hast du da > das ich mir nachbauen wollte allerdings gibt bascom mir beim > convertriern > diesen fehler raus > Variable already dimensioned > "Dim Ocr1a As Word " sein schon dimensioniert wenn ich das richtig > verstanden habe wurde die variable schon in deinem code definiert > allerdings finde ich es nicht oder bin ich da auf dem holzweg > gruß > siggo
c fan schrieb: > hallo > bitte projekt in c übersetzen! Hmm, damals schien man noch aufgeschlossener zu sein, was andere Programmiersprachen angeht. Übersetze es doch selbst. So viel ist das nicht...
Paul Baumann schrieb: > Du kannst mal versuchen, die Variable im ganzen Quelltext umzubenennen. > Mit "Suchen und Ersetzen" geht das. > > MfG Paul erklaer mir mal bitte was das bringen soll !? oder : http://www.youtube.com/watch?v=vNc6mIwH9lI vlG Charly
Charly B. schrob: >erklaer mir mal bitte was das bringen soll !? Gerne. Das soll bringen, daß sich das Programm fehlerfrei übersetzen läßt und sogar fehlerfrei läuft. Weiter oben schrieb der Autor einem, dem das Gleiche passiert war: >Hallo siggo, >das war bernd ja auch schon passiert. >Vielleicht ist die Variable ja doch inzwischen reserviert... Ich benutze >sie für den 16-bit Registerwert. Versuch doch bitte, die einfach an >allen Stellen zu ersetzen, bspw durch "Vergleichsregister". >lg, arne Nun noch ein guter Rat zum Wochenende von mir: Lege Dich rechtzeitig in's Nest und schreib nachts um 1/2 12 Uhr keinen Schwachsinn mehr. MfG Paul
Hallo Arne! Ich würde gerne dein generator kaufen.Würdest du für mich gegen bezahlung 3 stk bauen? Wünsche dir Einen schönen Abend Gruß Gregor
Ich würde ja einen bauen wenn ich den Quelltext kompiliert bekäme. Ob ich dann nun eine oder 4 Platinen ätzen muß, wäre mir egal. Wenn Du das mit der Software hin bekommst, mache ich die Platinen.
Was möchtest du denn kompilieren? Ich habe mal, so gut ich konnte, für den Mega8, eine Autorange eingebaut. Die Hz, kHz, MHz Anzeige, war ursprünglich für den Mega48/88 geschrieben worden und nicht im Kompilat des Mega8 enthalten. Mein Generator läuft übrigens mit einem 50MHz Oszillator, da werden dann auf dem Mega48 25MHz Rechteck ausgegeben. Gruß Michael
Hi, die letzte aktuelle .bas Datei von Arne. Wenn man Deinen Quelltext mit der aktuellen Bascom Version kompilieren kann, dann natürlich lieber Deine Version. Ich habe aber eben in den tiefen des Webs ein paar alte Bascom Versionen gefunden und direkt mal sichergestellt. Das kann ich aber erst morgen Abend ausprobieren, weil ich mir nichts einfangen möchte. Wenn das klappt, okay, wenn nicht, könntest Du mir dann helfen ? Wäre ja schade wenn das schöne Projekt nur daran stirbt, weil der Compiler den Quelltext nicht mehr übersetzen will, bzw. wir keine Ahnung von BASCOM haben. Dann würde ich mich mit Gregor Lisewski (tangerine_dream) auch irgendwie kurz schliessen und einige Platinen machen. Wie hast Du den Bestückungsdruck gemacht ? Toner-transfer ? Hält das ?
Barney Geroellheimer schrieb: > Hi, > > die letzte aktuelle .bas Datei von Arne. Hallo leider ist der Thread recht unübersichtlich geworden. Bitte poste doch mal die Version die du haben möchtest als Forum-Dateianhang ich sehe mir das dann mal an und sorge dafür das es sich kompilieren lässt. Danach kann ich die revidierte Version hier wieder posten, falsch gewünscht inklusive der .hex zum flashen. Habe außer div. C compilern auch die Vollversion von Bascom installiert (legale gekaufte Lizenz!) Mann muß ja über den Tellerrand schauen. :-)
Also, ich helfe... Nochmal zur Info: Die Mega8 Version geht mit der Bascom-Ver.11183 zu kompilieren, hat aber keine Autorange(habe ich später ergänzt), keinen Auto-Dimmer, keinen Software-Kontrast und keinen extra Dip-Schalter für die Bereichsumschaltung (High Frequency, Low Frequency) Die Mega48/88 Version geht mit der BascomVer.2050 zu kompilieren, ist aber ein ganz anderes Programm, hat aber alle oben angegeben Futures! Und ja, Bestückungsaufdruck ist mit Tonertransfer gemacht und ist gerade mal 10min mehrarbeit! Er kommt auf alle meine Platinen drauf, spart eine Menge Zeit bei der Bestückung und Fehler sind "fast" ausgeschlossen. Morgen Abend suche ich mal die Codes zusammen und schicke sie am besten dem Rolle, der kann sich dann dran auslassen, wenn er möchte! Wenn du schon dabei bist, könntest du die Futures vom Mega48/88 auf das Mega8 Kompilat einfügen? Gruß Michael
Michael D. schrieb: > Morgen Abend suche ich mal die Codes zusammen und schicke sie am besten > dem Rolle, der kann sich dann dran auslassen, wenn er möchte! > Wenn du schon dabei bist, könntest du die Futures vom Mega48/88 auf das > Mega8 Kompilat einfügen? Hallo, ich versuche es gerne habe das Wochenende Frei und bin aus gesundheitlichen Gründen daheim. Da ich genug überstunden Habe beginnt das WE für mich am Freitag schon so gegen 12 Uhr mittags... :-)
Hi, ich möchte jetzt nicht unverschämt wirken, aber könnte man nicht noch das Tastverhältnis mit einbauen ? Denn dann wäre das Ding eigentlich perfekt. Wenn ich dann ein gescheites Layout, passend zu einem billig Gehäuse und evtl. noch eine Endstufe mit einigen 100mA dran fummel, dann sollte das doch ein brauchbares Projekt für das Archiv sein. Ich bin dann gerne bereit ein paar Platinen mehr zu ätzen, oder je nach Nachfrage eine Sammelbestellung zu organisieren und das alles in unser Wiki einzutragen. Wer mir hilft, dem helfe ich natuerlich auch. Nur, allein kann ich das nicht. Eben wegen der Software.
@Rolle M. Gesundheit geht natürlich überalles...aber wenn du kannst, wäre das Todschick, dann kommt hier wieder Leben in die Bude!!! ;-) Also Barnay, das ist ja wirklich eine Unverschämtheit...sowas :-))) Ich wäre auf jeden Fall auch davon begeistert, der Vorschlag kam ja schon mal, ist dann aber wohl eingeschlafen. Ich hätte da 2 verschiedene Layout's anzubieten. Beide können optional mit Quarz oder Oszillator mit Sockel über jumper bestückt werden, könnte ich dann zur Verfügung stellen, wenn Interesse besteht. BtW. hatte ich mir schon mal überlegt, zur Ergänzung, einen Sinuswandler als Huckepack für den Frequenz Gen. zu bauen, hätte da Jemand schon eine Idee? Ich würde natürlich das Layout dafür bauen. Gruß Michael
Wie läuft das hier, habe ich einiges übersehen? Mein derzeitiger Eindruck ist, verschiedene User haben die Idee und u.U. die Software von Arne Groh weiter entwickelt. Mir scheint, dies wurde nicht groß hier publik gemacht, somit können andere interessierte nicht mitmachen. Finde ich schade. Übrigens, ich habe mal in den Code reingeschaut. Aufgefallen ist mir, der Registerinhalt von OCR1A wird in zwei Variablen zwischengespeichert. Folglich ist nicht die Dimension von OCR1A falsch bzw unpassend, sondern die fehlende Dimensionierung der Variablen OCR1Aold1 und OCR1Aold2. Hier die entsprechende Kopie der Zuweisung --> Ocr1aold = Ocr1a. Entsprechendes hier --> Ocr1aold2 = Ocr1a. Geändert werden müsste die Dim Anweisung von OCR1A as Word in OCR1Aold as Word und zusätzlich OCR1Aold2 as Word hinzu gefügt werden.
ein Zwischenstand mit realen Ergebnissen wäre nicht schlecht. Wo liegt Ihr denn nun wirklich mit den Werten und Funktionen. Ist ja ein richtig interessantes Projekt geworden. Weiter so. Gruß Stephan
Michael D. schrieb: > Gesundheit geht natürlich überalles...aber wenn du kannst, wäre das > Todschick, dann kommt hier wieder Leben in die Bude!!! ;-) Klar, aber bei mir ist nur der Fuß etwas lädiert (bischen hart vom Motorrad abgestiegen...) nicht die Birne, die geht noch einwandfrei. :-) Da ich ja sowieso nicht groß raus kann (da man dafür zwei Stück von den Intakten Stelzen braucht) kann ich etwas am PC sitzen.
Hallo Männer(u.Frauen natürlich) Da hier die Nachfrage nach dem Code von mehreren Seiten kommt, stelle ich mal eine leicht modifizierte Code-Version für den Mega8 hier rein. Es wäre um Einiges übersichtlicher für alle Beteiligten, wenn bei verändern des Codes, eine laufende Versionsnummer vergeben wird. ;-) Da ich nicht so fit im Programmieren bin, bitte ich um Nachsicht für meine Leihenhaften Ergänzungen die in dem jetzigen Code sind. Ich habe quasi versucht, eine Autorange einzufügen. Ob ich da alles so richtig gemacht habe, können nur die Profis entscheiden. Bei der alten Version gab es nur eine "Hz" Anzeige, sonst nüscht, fand ich sehr unpraktisch und hatte eben mein Bestes gegeben. Wie auch immer, jetzt werden beim Frequenzwechsel Hz, kHz und MHz angezeigt, ist aber noch nicht so das Gelbe vom Ei. Also, im Anhang scon mal der Code mit der Versionsnummer: -------------Freqgen-M8-Ver3.0_08-01-2012.bas--------------- für den Mega8 mit 20MHz Quarztakt Gruß Michael EDIT: Den richtigen Code für den Mega48/88, bin ich gerade noch am raussuchen.
So, hier der aktuelle Code für den Mega48/88/168 mit der Versionsnummer: -------------Freqgen-M48-88-Ver.2.0_03-05-2012-50MHz.bas---------- Beinhaltete Futures sind: Autorange(Hz, kHz, MHz), Autodimmer per Software(über BC547 an Kathode der Displaybeleuchtung), Kontrasteinstellung per Software, 3.Taster für die Bereichsumschaltung "High", "Low" Frequency Auto-Save für die letzte Frequenzeinstellung(auch Mega8), Indikator-LED am Signal-Output Der Mega48 ist mit dem Code an seine Speichergrenze gelangt (100%) Ich kann mir denken, das der Code im Assambler etwas kompakter wird?!? hoffe, ich habe nichts vergessen... Den Autor des Codes, weiß ich leider nicht mehr. Gruß Michael
Hallo zusammen, leider bin ich eben erst nach hause gekommen und muss auch morgen ziemlich früh wieder raus. Ich komme also nicht dazu das heute noch zu testen. Morgen habe ich aber etwas Zeit, dann kann ich das mal auf dem STK500 grob zusammenfummeln, ob und wie es geht. @Michael Du hast nicht gaaaanz zuuufällig noch Schaltbild und Layout-Files ? Das würde mir einiges an Arbeit ersparen. Starkstromer schrieb: > Wie läuft das hier, habe ich einiges übersehen? Mein derzeitiger > Eindruck ist, verschiedene User haben die Idee und u.U. die Software von > Arne Groh weiter entwickelt. Mir scheint, dies wurde nicht groß hier > publik gemacht, somit können andere interessierte nicht mitmachen. Finde > ich schade. Wie Du siehst geht es doch vorran. Mein Ziel ist erst mal die Software wieder an's rennen zu bekommen und ein Layout zu machen. Danach baue ich ein kurzes Wiki zusammen. Mehr kann ich nicht tun, da ich von BASCOM nicht die leiseste Ahnung habe. Eine blinkende LED ist das Maximum was ich damit zustande bekomme und auch das nur mit Gugel Hilfe. Wenn der Quelltext von Michael funktioniert bin ich schon mal sehr zufrieden. Wenn die Anderen noch etwas daran rumfeilen und evtl. noch einen einstellbaren DutyCycle einbauen könnten, dann wäre ich begeistert. Und ich denke einige andere hier auch. Natürlich bekomme ich das nicht bis übermorgen fertig, aber ich bin und bleibe dran, wie es meine Zeit her gibt. @Rolle M. (rolle-m) Gute Besserung und keine youtube Videos gucken sondern am Quelltext arbeiten ;) Bidde bidde...
Ach man. Jetzt habe ich extra ein paar m88 besorgt und jetzt das Error : 999 Line : 241 DEMO/BETA only supports 4096 bytes of code
Hier Barney, melde dich mal an...dann könntest du Pos bekommen! Mit was für einer Bascom Version kompilierst du? Der Code für den Mega48/88/168 ist mit der 2.0.5.0 geschrieben. Ptobier mal: "Options"--> "Compiler"--> "Output"--> dann Häckchen setzen, wie auf dem Screen-Shot, unter Anderem "Optimize Code" BtW. hatte gerstern Abend noch mal auf meine Layout's geschaut, da muß noch was überarbeitet werden, kann ich nicht so rausgeben... Wenn noch Jemanden was einfällt, baue ich das mit ein. Evtl. könnte man noch die Pins anders schalten, so das man eine Terminalausgabe zur Verfügung hat, wie beim Mega8. PIN3 (TXD/PCINT17) liegt zur Zeit an D6 vom Display. Zur Verfügung stünden noch PB2-PB5 ! Anbei mal der Grundschaltplan ohne Regler(optional) und ohne Verpolschutz(Shottky-Diode) usw. ...und Rolle, wie sieht's aus, kommst du zurecht? Gruß Michael
Woher hast Du denn eine 2er Version ? Die Aktuellste habe ich vor ein paar Tagen erst runter geladen. Compiler version :1.11.9.8 Compiler build :1.11.9.8.001 IDE version :1.11.9.8 Serial number :Serial DEMO Windows OS :Microsoft Windows XP Windows SP :Service Pack 3 Die Optimierung brachte nichts, selbe Fehlermeldung. Und zu allem Übel ist mir gerade das Netzteil für das STK500 verbrannt, da muss ich erst mal Ersatz basteln.
Michael D. schrieb: > ...und Rolle, wie sieht's aus, kommst du zurecht? Ja bin dran, habe aber viertel vor neun etwas unterbrochen wegen fussball. Danach gehts weiter...
Barney Geroellheimer schrieb: > Woher hast Du denn eine 2er Version ? Die Aktuellste habe ich vor ein > paar Tagen erst runter geladen. Direkt auf www.mcselec.com gibt es die Demo von BASCOM AVR 2.0.7.1 hier der direkte link: http://www.mcselec.com/index.php?option=com_docman&task=doc_download&gid=139&Itemid=54 Gruß Thorsten
moin, seid ihr noch am leben? Ich habe schlechte Nachrichten, was da Kompilieren des Codes mit der Bascom-Ver.2.0.7.1 betrifft. Nach dem Kompilieren der ---Freqgen-M48-88-Ver.2.0_03-05-2012-50MHz.bas--- mit dieser Version, läuft irgendwas falsch, denn danach funktioniert der FreqGen nicht mehr richtig, bzw. das Display zeigt nichts mehr an und mir kommt es so vor, als würde dieses verkehrt initialisiert?!? Wenn ich mit der Ver. 2.0.5.0 kompiliere, läuft alles einwandfrei! Muß ich das jetzt verstehen? Gruß Michael
Ich habe etwas trouble hier, bin aber da und lese auch mit. Compillieren klappt nun mit dem Link, Danke. Weiter kam ich aber noch nicht. Ich muss morgen erst mal richtig ausschlafen und alles ganz langsam angehen, ich bin tot. Denke aber das ich die Hardware bis Abends fertig habe und auch mal ein paar Ergebnisse posten kann. So schoen ein Projekt auch sein mag, Famile und Job geht vor, ich denke das versteht jeder.
So, kleiner erster Test. Alles funktionierte auf Anhieb ganz gut. Nun muss ich mich doch mal etwas mit der Software beschaeftigen um Quarz und Anzeigefrequenz anzupassen. Im Moment habe ich einen 16MHz Quarz dran, morgen probiere ich das mal mit einigen Quarzoszillatoren und verschiedenen m88.
Moin Barney, schön das die Software bei dir funktioniert. Wie ich sehe, ist das meine Modifikation vom Mega88. Mit welcher Bascom Version hattest du diese kompiliert? Ich frage, wegen dem oben angegebenen Problem mit dem kompilieren! Gruß Michael EDIT: hat das noch Jemand getestet?
Hi, genau, ich nehme den m88, ist wohl die beste Alternative. Kompiliert habe ich es mit der Version aus dem Link. Optimierung eingeschaltet, obwohl es auch ohne funktioniert. Compiler version :2.0.7.1 Compiler build :2.0.7.1.001 IDE version :2.0.7.1 Serial number :Serial DEMO Windows OS :Microsoft Windows XP Windows SP :Service Pack 3 Ich möchte jetzt noch etwas mit Quarzen und Quarzoszillatoren rumtesten, mal sehen wie weit man gehen kann, das es noch zuverlässig läuft. Und mir natürlich noch das Ausgangssignal ansehen.
Da es hier wohl doch niemanden so wirklich interessiert, habe ich das hex von oben mal geflasht. Funktioniert ganz gut. Nur blicke ich nicht, wie man die Frequenz speichert, um das Tastverhältnis zu ändern und umgekehrt.
Das Tastverhältnis ist zur Zeit auf 50% und im Moment noch nicht einstellbar! Vielleicht wird's der Rolle richten?!? Ich wollte mal wissen, ob das Problem mit dem Display nach dem Kompilieren --- Beitrag "Re: Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom" --- auch bei Anderen auftritt oder eben nur bei mir? Gruß Michael
Ich hatte doch geschrieben das ich das hex geflasht habe und da ist das Tastverhältnis einstellbar. Beitrag "Re: Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom" Nein, tritt bei mir nicht auf, hatte ich aber auch geschrieben. Beitrag "Re: Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom" Es wäre auch schön zu erfahren, was genau nicht geht.
moin Barnay, du hast die oben angegebene HEX geflasht und die geht? Bin mal kurz drüben gewesen und hab's mal überflogen, kann mich erinnern, das es da schwierigkeiten gab. Hast du für das Display Hardwremässig die Pinbelegung geändert? Quellcode ist ja leider bnicht vorhanden. Und ja, von dir weiß ich ja, das es mit dem Kompilieren bei dir klappt, wollte nur wissen, ob sonst noch Jemand das Ptoblem hat... Gruß Michael
Ja, die geht. m8 / 16MHz, Belegung wie auf dem Original, siehe Bild. Fuses sollten klar sein.
Ich bleibe an der Sache interessiert. Sie ist bereits weit fortgeschritten und manchmal schwer nach zu vollziehen. Barney bietet hier einen Hexfile an, der sich auf welchen Sourcecode bezieht? Falls beim nachbau Fehler auftreten könnte so mancher vielleicht zurecht kommen, wenn er in die Quelldatei schauen könnte. Manches lässt sich aber auch besser verstehen bzw man kann einiges lernen, wenn man die Entwicklung eines Programmes verfolgen kann. Sourcecode von dieser Hexdatei finde ich wo?
Interessent schrieb: > Barney bietet > hier einen Hexfile an, der sich auf welchen Sourcecode bezieht? Beitrag "Re: Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom"
Hey Barney die Bascom Demo Version kann nur max 4.KB hex(en). Gruß Holger(R)
Interessent schrieb : > Ich bleibe an der Sache interessiert. Sie ist bereits weit > fortgeschritten und manchmal schwer nach zu vollziehen. Barney bietet > hier einen Hexfile an, der sich auf welchen Sourcecode bezieht? Der Sourcecode bezieht sich auf den Mega8! Leider existiert für die Modifikation des Tastverhältnisses "kein" Sourcecode, nur die HEX! > > Falls beim nachbau Fehler auftreten könnte so mancher vielleicht zurecht > kommen, wenn er in die Quelldatei schauen könnte. Manches lässt sich > aber auch besser verstehen bzw man kann einiges lernen, wenn man die > Entwicklung eines Programmes verfolgen kann. > > Sourcecode von dieser Hexdatei finde ich wo? Hier habe ich die aktuellsten Sources gepostet: Beitrag "Re: Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom" für Mega8 sowie Mega48/88 @Rolle wollte sich mal dem Code annehmen und evtl. das veränderbare Tastverhältnis mit einbauen?!? Gruß Michael
Klasse Idee! Will ich auch machen :-) Was für ein LCD hast du verwendet?
das da: http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=250992793010&ssPageName=ADME:L:OC:DE:1123 gibt's für kleines Geld... Displaytec 2x16 LED vom Reichelt ist auch im Einsatz Gruß Michael
Danke !! 1A Lösung und ein Guter Frequenzgenerator
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.