Forum: Mikrocontroller und Digitale Elektronik Laserplotter


von Martin J. (bluematrix) Benutzerseite


Angehängte Dateien:

Lesenswert?

Stichworte: Laser, CNC, Umbau, Plotter, Schneidplotter, Lasertreiber, 
Nokia3310

Hallo Euch allen...

hiermit will ich euch die Ergbnisse meiner Arbeit aus den letzten 
Monaten präsentieren.
Herausgekommen ist ein funktionsfähiger Laserplotter, der die 
verschiedensten Materialien schneidet.
Versucht habe ich das ganz mit verschiedenen Lasern unterschiedlicher 
Leistungen.

Zu letzt habe ich eine 1W infrarot Laserdiode verwendet.
Mit dieser konnte ich in einer relativ zügigen Schnittgeschwindigkeit 
folgende Materialien schneiden:
(Dabei gilt natürlich, je dunkler das Material desto besser wird die 
Energie des Lasers aufgenommen.)

      Moosgummi 3mm - sehr gut
      Holz 0,5mm - gut
      Holz 1mm - schlecht

Plotter - Umbau

Der Ploter wurde bisher für das erstellen von Platinenlayout mit einem 
Edding verwendet und das sollte auch weiterhin so bleiben.
Daher durfte die Stiftaufnahme nicht verändert werden. Also wurde, wie 
schon für den Edding, eine spezielle Stift ähnliche Halterung für den 
Laser gebaut.

Geschwindigkeit:
Da der Plotter auch im "slow Modus" viel zuschnell war, musste die 
Geschiwndigkeit irgendwie reduziert werden. Nach einigen Versuchen 
bewährte sich das Austauschen des Prozessor-Quarzes. Den Takt habe ich 
einfach über einen kleinen Microcontroller der Firma Atmel generiert. 
Den Controller habe ich so programmiert, dass ich den Takt über ein 
Drehgeber verstellen kann, um somit die Geschwindigkeit des Plotters zu 
regulieren.

Steuersignal für den Laser:
Außerdem wurde das Signal zum "Stift heben/ senken" zum Ansteuern des 
Laseres verwendet. Über eine kleine Schaltung wird aus dem Stift-Signal 
ein TTL Signal generiert, welches über den TTL Eingang des Lasertreibers 
den Laser moduliert.

Geschwindigkeit beim Einstechen:
... Dieses Signal erhält auch der Controller über einen Interrupteigang 
und reduziert bei dem Signal für Stift senken, bzw. nun Laser an, die 
Geschwindigkeit. Dadurch wird eine besserer Schnitt beim Einstechen 
erreicht.

Spannungsversorgung:
Für die Versorgung von Controller, Display und Lasertreiber mit einer 
störungsfreien Spannung, habe ich in den Plotter einen zusätzlichen 
Spannungswandler eingebaut. Dafür wird über einen Trafo (davor 
Sicherung), Gleichrichter und Festspannungswandler die 220V Stromleitung 
direkt hinter dem Hauptschalter des Plotters angezapft.

Display:
Die Informationen wie Soll- und Ist-Schnittgeschwindigkeit, Laser on/off 
werden über ein Display Nokia3310 angezeigt.

ändern der Schnittgeschwindigkeit:
Um Fehler beim Schneiden zu vermeiden, wird die Schnittgeschwindigkeit 
nicht sprunghaft geändert. Dafür wird über den Drehgeber eine neue 
Sollgeschwindigkeit definiert. Die Ist-Geschwindigkeit wird nun über 
eine gleitende Mittelwertberechnung an die Sollgeschwindigkeit 
angeglichen.

Platine:
Für das Nokia3310 Display und den Microcontroller Atmega8 wurd eine 
kleine von mir entwurfene Platine verwendet. Die Platine, mit der Größe 
des Displays, dient der Ansteuerung des Nokia3310 über SPI, der LED 
Helligkeitsregelung über PWM und der obigen Anwendungen.

Zukünftig:
Als nächstes soll noch eine Absaugung dazu kommen und der externe 
Lasertreiber mit in das Gehäuse integriert werden. Außerdem versuche ich 
noch einen stärkeren laser zu bekommen, um auch 3mm starkes Holz zu 
schneiden.

mehr Informationen Findet ihr auf folgenden Seite unter "CNC Laser 
Plotter":
homepage: http://www.jtronics.de/laser
Youtube : http://www.youtube.com/user/BlueMatrex#p/u/0/PW4Ft8C8xq4

Grüße Martin

von Derda (Gast)


Lesenswert?

Tja, ist ja recht beeindruckend. Gibt's dazu auch irgendwo genaue 
Beschreibungen, damit man selber sowas nachbauen kann, oder soll das 
bloss ein "Seht mal wie toll ich bin"-Beitrag sein?

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

:D   ...  ich hau mich weg

steht doch alles da,
oder was willst du noch wissen?

von Markus F. (5volt) Benutzerseite


Lesenswert?

Gut wäre vielleicht noch eine Abdeckung, die geschlossen sein muss, 
damit der Laser überhaupt aktiviert werden kann.
Bei so einem 1 Watt Laser sind ja bekanntlich schon diffuse Reflexionen 
gefährlich fürs Auge. Besonders kritisch ist da auch noch, dass es ein 
Infrarot-Laser ist, man sieht den Strahl also gar nicht...

von Adrian W. (Firma: keine) (adrian_w)


Lesenswert?

Hi Martin tolle Seite ich arbeite zur zeit an einem ähnlichem vorhaben, 
und bin über diesen laden gestolpert http://www.lumics.com sitzen in 
Berlin und haben Telefon scheinen auch Laser in der Leistungsklasse zu 
haben nach der wir suchen. Preise gehen sogar.
Mir wäre deine Schnittbreite <1mm zu stark strebe <0.3mm an.
Hast du in dieser Hinsicht Erfahrungen sammeln können, mir ist die 
Fokussierung von IR "unheimlich".

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

Adrian W. schrieb:
> Hast du in dieser Hinsicht Erfahrungen sammeln können, mir ist die
> Fokussierung von IR "unheimlich"

Anfangs hatte ich auch "Angst" vor diesen Dioden, aber was will man 
machen, man bekommt nix anderes mit der Leistung was bezahlbar ist. Die 
fokusierung mach ich so:
1. Ich hab nehm Moosgummi und stelle den Laser auf eine mittlere 
leistung.
2. Laser aktivieren + Zeit stoppen wie lange dieser an ist, damit 
jedesmal
   der Laser die gleiche Zeit an ist
3. danach schauen, wie klein der Brennlochdurchmesser ist...
   ist der Durchmesser zu Groß, dann fokosierung stellen.
...nun wieder zu Schritt 2

irgendwann wird das Loch so klein, dass man zufrieden ist :-) dauert 
zwar ne weile, ist aber total sicher, da du ja nie in den Laser schauen 
musst.

Wegen dem Durschmesser:
Das mit dem 1mm kann auch weniger sein... ich habe einfach noch nie 
genau nachgemessen und mit nem Lineal ... naja nicht verwertbar ;-)

Die Abdeckung muss auch noch drauf.... aber erst dann wenn ich zufrieden 
bin!

Die Firma ist mir auch schon bekannt... aber son Laser da ist nicht grad 
billig und will man nicht nur Papier schneiden, benötigt man schon 
mindestens 20W... und das kostet :-(

Hast du aber vielleicht eine Idee für einen Lasertreiber bis 10A?

Grüße Martin

von Xian (Gast)


Lesenswert?

Schonmal dran gedacht eine UV-Diode mit Linse oder einen UV-Laser 
einzusetzen um Platinen zu plotten? Meinste das funzt? Das würde ich 
sofort nachbauen.

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

klar funktioniert das.
du kannst einfach eine Blueray Laserdiode verwenden...
es gibt schon einige Projekte im netz, die das beschreiben .
Zwar meist nur mit einem video aber was will man da auch groß erklären.
Ich will es demnächst auch noch testen, aber mein Blueraylaser ist grad 
im laserbeamer verbaut und ist mit 15mW auch nicht stark genug

grüße martin

von sven (Gast)


Lesenswert?

Hey

ich hatte vorher schonmal irgendwo von deinem projekt gelesen weiß nur 
nichtmehr wo habs nur an deinem gelasertem salamander und deiner 
beschreibung erkannt :)

wollt nur mal sagen dank deiner idee habe ich jetzt an meiner cnc fräse 
welche ich eigentlich nutze um sperholz zu fräsen einen 200mw roten 
china billig laser um damit auch gravuren auf das holz zu "brennen"

und ich bin erstaunt das klappt echt gut danke für deine idee

von Michael_ (Gast)


Lesenswert?

Wieviel Zeit braucht man für den mittleren Salamander und wie lang ist 
er?

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

der salamander ist 10cm lang
die Schnittdauer beträgt 1min30sec
bei 4mm starkem Moosgummi.

von Lord Z. (lordziu)


Lesenswert?

@Sven

Was für eine Wellenlänge hat dein Laser und wo hast du ihn her? Ich 
suche auch nach einer Möglichkeit per Laser Sperrholz zu gravieren.

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

Diode:  808nm 1000 mw high power laser diode 1 watt

ich hab den Laser von diesem ebayer aus amerika...
man bekommt neue Laserdioden relativ günstig.

http://shop.ebay.de/joent8jes/m.html?_nkw=&_armrs=1&_from=&_ipg=&_trksid=p4340

Gruß Martin

von Lord Z. (lordziu)


Lesenswert?

Und woher hast du die Fokussieroptik?

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

die optik für die Laser ist selber gebaut.
das sind reine Drehteile aus Messing...
Die Linsen dafür sind von www.roithner-laser.com

die Laser Treiber sind ebenfalls selbst gebaut.
Es sind analog (modulierbare) Lasertreiber.
Die Platine ist 2x2cm klein und hat 2 trimmer,
jeweils einen für den Ruhe- und für den Leistungsstrom.

Die Platine werde ich demnächst noch genauer vorstellen.

Gruß martin

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Was ist das für ein Plotter (Hersteller, Produktbezeichnung)?
Ist dabei der "Plotterarm" aus Kunststoff oder Metall?
Wie groß ist das Gerät? A3?

von Mark B. (markbrandis)


Lesenswert?

Martin J. schrieb:
> :D   ...  ich hau mich weg
>
> steht doch alles da,
> oder was willst du noch wissen?

Also ich für meinen Teil sehe auf Deiner Homepage zum Beispiel kein 
Mengengerüst zu dem Projekt. ;)

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

kein was?

von Mark B. (markbrandis)


Lesenswert?

Eine Stückliste. Oder Bauteilliste. "Ein Plotter, ein Laser, eine 
Halterung Marke Eigenbau" ist jetzt nicht wirklich detailliert.

von Michael_ (Gast)


Lesenswert?

>Eine Stückliste. Oder Bauteilliste. "Ein Plotter, ein Laser, eine
>Halterung Marke Eigenbau" ist jetzt nicht wirklich detailliert.
Was willst du denn noch? Am Anfang ist ein stinknormaler handelsüblicher 
Plotter abgebildet.
Wenn du kaufen willst, dann nimm sowas:
http://cgi.ebay.de/CO2-LASER-ENGRAVING-CUTTING-MACHINE-ENGRAVER-40W-NEW-q-/390148240756?cmd=ViewItem&pt=LH_DefaultDomain_3&hash=item5ad6a5b574

von Martin J. (bluematrix) Benutzerseite


Angehängte Dateien:

Lesenswert?

wegen der vielen nachfragen per mail ...
Das Display ist ein Handy Display Nokia 3310
die Bibliothek findet man hier: 
http://www.jtronics.de/elektronik-avr.html

 - Es ist ein Grafikdisplay
 - hat eine Auflösung von 48x84 Pixel
 - kostet in der Bucht max. 5€
 - Ansteuern kann man es mit SPI (ganz einfach)
 - es hat keine Hintergrundbeleuchtung,
   die kann man aber mit LEDs kann einfach selber herstellen

Gruß martin

von sven (Gast)


Lesenswert?

@ Lord Zi

ich hab meinen 200mw rot aus dem großen buten internet auktionshaus 
lieferung direkt aus hong kong die wellenlänge liegt glaub irgendwo bei 
650
ist also wirklich kein guter laser und war auch nicht teuer

ich habe bei meinem die linse fast ganz rausgedraht um den focus 
möglichst nah am laser zu haben

vorschub eher langsam so 10mm minute da das holz sehr hell ist
und zum einstechen lasse ich ihm jeweils 10 sekunden stehen

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

sven schrieb:
> @ Lord Zi
>
> vorschub eher langsam so 10mm minute da das holz sehr hell ist
> und zum einstechen lasse ich ihm jeweils 10 sekunden stehen

naja 200mW ist nicht grad der hammer für so was ;-)
due kannst doch auch einen 1W infrarot laser nehmen
...die diode gibts auch günstig in der bucht
...ist im 9mm gehäuse und den treiber bekommste schon woher.

INFO:
bevor du die kontur auf helles holz laserst
Spann vorher einen dünnen(0,75mm) schwarzen edding ein und fahre mit 
diesem die kontur ab.
Danach laserst du die Kontur. Dein Laser wird gleich eine Wirkung 
zeigen, da jetzt viel mehr von der Energie ins Material geht.

von laserplotterfan ;-) (Gast)


Lesenswert?

hallo martin
ich hab zwar schon öfter videos mit eigenbau Laserplottern gesehn,
aber dein projekt find ich echt gut beschrieben und super gelungen.
werd jetzt auch mal meinen alten plotter wieder zum laufen bringen.

Die Lösung mit dem externen Takt anstatt des Quarzes und das Display mit 
dem Atmega8 ist auch toll

Vielen danke
christoph

von Martin J. (bluematrix) Benutzerseite


Angehängte Dateien:

Lesenswert?

so ich habe jetzt endlich die Daten zum analog Lasertreiber 
hochgestellt.
Dieser Treiber regelt den Dioden Strom und schützt diese vor 
unerwünschten Spannungsspitzen, wordurch das Leben solch einer Diode 
erheblich verlängert wird. Aufbauen tut die Schaltung auf dem treiber 
Die4Drive.
Features von meinem Lasertreiber sind:

* Modulation ohne Spannungsspitzen
* analog Modulation über 0-5V Spannung
* einstellbarer Ruhestrom über Trimmer
* einstellbarer Maximalstrom über Trimmer
* kleine Bauform
* bis ca. 1A Maximalstrom
* 25 x 25mm

mehr gibts unter: 
http://www.jtronics.de/laser/laser-treiber-analog-.html

grüße Martin

von Sebastian H. (haas)


Lesenswert?

Hallo der Beitrag ist schon sehr alt aber ich bin gerade selber dabei 
genau
dies nachzubauen, mich würde brennend interessieren wie man die 
Schaltung gebaut hat wo er mit dem Atmega einen Quarz takt erzeugt, gibt 
es da die möglichkeit genaueres zu erfahren.
Ich habe in meinem Plotter ein 14MHZ Quarz wie kann man mit dem Atmega 
14MHZ erzeugen?
Wie wurde das gelöst?

Gruß
s

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

per PWM Pin ausgeben...

von Sebastian H. (haas)


Lesenswert?

Vielen Dank für die schnelle Nachricht

Aber mit PWM komme ich nicht auf 14MHZ,
hat dein Plotter auch ein 14MHZ Quarz gehabt?
Was hat der ATMEGA für ein Quarz ?
Hast du den Atmega übertaktet ?

Originalplatine vom Plotter ist Sekonic T52|32

Eventuell wäre meine Lösung ein Externen Oszillator zu nehmen
den ich mit Atmega per spi Schnittstelle ansteuere wie das
DDS Modul das wäre aber sehr umständlich.

Gruß
S

von Karl O. (knorke)


Lesenswert?

Hast Du mal probiert eine Platine mit nem blauen Laser und 
Photobasismaterial zu plotten? Geht das?

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

Karl Otto schrieb:
> Hast Du mal probiert eine Platine mit nem blauen Laser und
> Photobasismaterial zu plotten? Geht das?

ja das geht

Sebastian H. schrieb:
> Aber mit PWM komme ich nicht auf 14MHZ,
> hat dein Plotter auch ein 14MHZ Quarz gehabt?
> Was hat der ATMEGA für ein Quarz ?
> Hast du den Atmega übertaktet ?

Wenn du den langsamer laufen lassen willst, warum brauchst du dann 
14MHz? Nimm nen ATmega lass den mit 20 oder 24MHz laufen und nimm dann 
den PWM... Ansonsten könntest du ja auch einen festen Quarz nehmen?

ansonsten hier das beispiel von dem oben gezeigten Board inklusive 
Quellcode... 
http://www.jtronics.de/platinen/display-nokia3310-board.html
Regelung der Geschwindigket bzw. des PWMs über ein Poti, welches am ADC 
eingelesen wird.

von Sebastian H. (haas)


Lesenswert?

Danke für die Nachricht

Ich habe den ersten Erfolg nachzuweisen!

Ich wusste nicht das man den Plotter an so einer Niedrigen Frequenz
betreiben kann, allerdings ist jetzt wie ich befürchtet habe, einige 
Aussetzer in dem Prozessor zu erkennen.
Da muss ich nochmal die Frequenz erhöhen, ich hatte Ihn auf ca. 1MHZ 
betrieben, das war wohl zu wenig!

Vielen Dank erstmal jetzt weiß ich wie ich weiter vorgehen muss!

Gruß
S

von Steven M. (steven1180)


Lesenswert?

Hallo,

lustigerweise baue ich auch gerade an einem solchen Plotter, und bin 
froh hier ein wenig Hilfe bekommen zu haben.
könnt ihr mir vielleicht kurz erklären, wie ihr das mit dem quarzersatz 
gemacht habt?
ich habe den Roland 1300 und auf dem Quarz steht 24.000.
aber da das wohl dann Mhz sein soll, sollten es wohl 24Mhz sein???
ich habe mit dem Oszi um die 7,65Mhz gemessen. kann das sein?

ich denke mal ihr habt den Quarz raus und die beiden Kondensatoren auch.
an welchen pin muss dann der takt des atmeg8 angeschlossen werden, oder 
braucht man zwei anschlüsse mit pwm?
wie ändert ihr die Frequenz der pwm? normalerweise bleibt ja die 
Frequenz gleich, und nur das an/aus Verhältnis wird verschoben.

grüße

steven

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

Hallo,
wie schon gesagt sind es 24Mhz.
Kondensatoren raus. Dann musst du nur noch an einen von beiden Pins den 
Takt deines Atmegas anlegen. Welcher der richtige ist musst du einfach 
probieren.
Natürlich muss der GND deines ATmegas mit dem GND des Plotters verbunden 
sein.

Den Takt erzeugst du mit einem Timer, wobei der Vorteile/Prescaler 1 
ist.
Jetzt veränderst du nicht die Pulsbreite wie beim PWM sondern nur den 
Startwert des Zählers. Dadurch kannst du die Frequenz ändern.

von Steven M. (steven1180)


Lesenswert?

Martin J. schrieb:
> Hallo,
> wie schon gesagt sind es 24Mhz.
> Kondensatoren raus. Dann musst du nur noch an einen von beiden Pins den
> Takt deines Atmegas anlegen. Welcher der richtige ist musst du einfach
> probieren.

Ok das hab ich schon gemacht aber anscheinend mit zu kleiner Frequenz

> Natürlich muss der GND deines ATmegas mit dem GND des Plotters verbunden
> sein.

Jep, dass ist klar

> Den Takt erzeugst du mit einem Timer, wobei der Vorteile/Prescaler 1
> ist.
> Jetzt veränderst du nicht die Pulsbreite wie beim PWM sondern nur den
> Startwert des Zählers. Dadurch kannst du die Frequenz ändern.

Das hab ich genau so gemacht. Ich ändere von Timer 1 den startwert.
Aber wenn ich mit 16mhz Quarz einen Ausgang am atmega8 toggle, bekomme 
ich maximal 8 MHz, und ausserdem bleibt kaum noch Zeit für was anderes, 
z. B.  Display.....
Oder hab ich da nen Denkfehler?

Grüße

von Martin S. (led_martin)


Lesenswert?

Also den Startwert des Timers zu ändern ist nur durch Software möglich, 
bei hohen Ausgabe-Taktraten nicht praktikabel. Es gibt aber den 
CTC-Modus, da kann man über OCRA (Bei Timer1 auch wahlweise ICR) den 
Timer-Endwert vorgeben. Wenn man jetzt noch einstellt, daß bei 
Compare-Match A der zugehörige Ausgang toggelt, hat man einen Teiler mit 
Faktor 2 ... 512, der ganz ohne weitere Software-Aktivität seinen Dienst 
tut. Ungerade Teiler-Faktoren bekommt man so nicht, die kann man aber 
bekommen, wenn man OCRB zur Erzeugung einer Fast-PWM mit 50% oder nahe 
daran, bei ungeraden Teiler-Verhältnissen, einstellt. Da sind dann 
Teiler-Faktoren von 2 ... 256 (Timer 0 oder Timer 2) oder 2 .. 65536 
(Timer 1) einstellbar.

Mit freundlichen Grüßen - Martin

von Steven M. (steven1180)


Lesenswert?

Martin Schlüter schrieb:
> Also den Startwert des Timers zu ändern ist nur durch Software möglich,
> bei hohen Ausgabe-Taktraten nicht praktikabel. Es gibt aber den
> CTC-Modus, da kann man über OCRA (Bei Timer1 auch wahlweise ICR) den
> Timer-Endwert vorgeben. Wenn man jetzt noch einstellt, daß bei
> Compare-Match A der zugehörige Ausgang toggelt, hat man einen Teiler mit
> Faktor 2 ... 512, der ganz ohne weitere Software-Aktivität seinen Dienst tut.

Danke Martin.
Ja das klingt logisch, würde aber trotzdem bei 16mhz nur 8mhz raus 
kommen.
Es sollten für meine Zwecke schon annähernd 24mhz bei maximale Auslage 
raus kommen.

Ich werde es mal mit dem vco lct6900 probieren. der geht zwar nur bis 
20mhz,aber das reicht vielleicht schon.
Hab mir gedacht, über PWM und ein Doppel rc-Glied gehen 0-5v und damit 
lassen sich bequem Frequenzen variieren.

Hat jemand Erfahrung bei welchen Frequenzen der Roland plotter welche 
Geschwindigkeiten fährt? zumindest über den Daumen, damit ich weiß wo 
ich ungefähr hin muss.

Mfg
Steven

: Bearbeitet durch User
von Martin S. (led_martin)


Lesenswert?

Du könntest auch einen ATtiny25  ATtiny45  ATtiny85 benutzen, der hat 
eine interne PLL, die als Takt für Timer 1 (64 MHz) genutzt werden kann, 
da würdest Du, mit meinen Vorschlägen, auf maximal 32 MHz kommen, mit 
einem 8-Beiner.

Mit freundlichen Grüßen - Martin

von Steven M. (steven1180)


Lesenswert?

Martin Schlüter schrieb:
> Du könntest auch einen ATtiny25  ATtiny45  ATtiny85 benutzen, der hat
> eine interne PLL, die als Takt für Timer 1 (64 MHz) genutzt werden kann,
> da würdest Du, mit meinen Vorschlägen, auf maximal 32 MHz kommen, mit
> einem 8-Beiner.

Oh, na das klingt interessant. Davon hab ich noch nichts gelesen oder 
gehört. Muss gleich mal die Datenblätter lesen.... Mit dem Thema pll bin 
ich nicht vertraut. Kannst du kurz erklären was das genau ist?
.... Man lernt echt nie aus!!!....

Mfg
Steven

von Steven M. (steven1180)


Angehängte Dateien:

Lesenswert?

Martin Schlüter schrieb:
> Du könntest auch einen ATtiny25  ATtiny45  ATtiny85 benutzen, der hat
> eine interne PLL, die als Takt für Timer 1 (64 MHz) genutzt werden kann,
> da würdest Du, mit meinen Vorschlägen, auf maximal 32 MHz kommen, mit
> einem 8-Beiner.

gesagt getan........
Ich hab mir einen Attiny85 besorgt und einfach mal einen CTC Modus 
genutzt.
ich habe es geschafft, das ich eine einstellbare Frequenz bis 12,5MHz am 
PB1 bekomme.
soweit so gut....jetzt gehts allerdings nicht mehr weiter hoch.
ich weiß auch nicht so ganz, wieso jetzt 12,5MHz anliegen.
12,5MHz bedeuten 25MHz Timer clk...
aber wie kommt die Clock auf eine Zeit von 25MHz.

Hier mal der Code:
$regfile = "attiny85.dat"
$crystal = 8000000                                          'ohne Quarz
'$crystal = 3686400
$hwstack = 10
$swstack = 10
$framesize = 10
'$baud = 19200
'Open "COMB.4:1200,8,N,1" For Output As #1
Pllcsr = &B00000010 '.1=1 PLL Enable
Waitms 1
Pllcsr = &B00000011 '.1=1 PLL Enable ;.0=1 pll lock enable
Pllcsr = &B00000111 '.2=1PCK Enable;.1=1 PLL Enable ;.0=0 pll lock 
enable
Gtccr = &B00000110 '.2=1 force is set; .1=1 prescaler reset
Tccr1 = &B10010001 '1 CTC Modus; 0 PWM off; 01 Toggle output;0001 PCK
Timsk = &B01100100 'schaltet die compare interrupts ein
Ddrb.1 = 1         'B.1 Als Ausgang
Ddrb.4 = 1         'B.4 Als Ausgang
Osccal = &H7F      'calibrations register auf schnell
Clkpr = &B10000000 'clock  prescaler einstellen  auf 1

Enable Interrupts

Dim Freqset As Byte
Freqset = 2

Do
Ocr1c = Freqset
Loop

Ich würde gern die 64MHz als Timer clock nutzen.
Was mache ich denn Falsch????

MfG

Steven

von Martin S. (led_martin)


Lesenswert?

Entschuldige, daß ich mich so lange nicht hier gemeldet habe.

Also die 25 MHz würden zum ATtiny15 Compatibility Mode des ATtiny85 
passen, da sind's laut Datenblatt 25,6 MHz. Dein Fusebits Screenshot 
passt da aber nicht dazu, der ATtiny15 Compatibility Mode wird mit CKSEL 
= 0011 gewählt, in dem Screenshot ist der, für Dich korrekte, Wert 0010 
zu sehen (Fusebits DCBA). Wurde da vielleicht was falsch geschrieben? 
Kannst Du da einen Verify machen, bei den Fuse-Bits? Im ATtiny15 
Compatibility Mode läuft der interne RC Oszillator nicht mit 8 MHz, 
sondern mit 6,4 MHz. Und die PLL macht dann nur x4 (-> 25,6 MHz).

Mit freundlichen Grüßen - Martin

von Steven M. (steven1180)


Lesenswert?

Martin Schlüter schrieb:
> Entschuldige, daß ich mich so lange nicht hier gemeldet habe.
>
> Also die 25 MHz würden zum ATtiny15 Compatibility Mode des ATtiny85
> passen, da sind's laut Datenblatt 25,6 MHz. Dein Fusebits Screenshot
> passt da aber nicht dazu, der ATtiny15 Compatibility

Ja den Verdacht hatte ich auch, aber wir du geschrieben hast, ist der 
15'er Modus nur bei 0011 aktiv. Ich suche die ganze zeit im Datenblatt 
etwas, wo diese Frequenz her rühren kann.... Da ist aber nix was ich in 
dem Programm noch einstellen....??.?
Wenn ich Schritt für Schritt die Diagramme ab fahre, musste ich es 
eigentlich haben. Prescaler ist überall auf eins... Psk ist durch 
geschaltet..... Leider finde ich auch kein Beispiel im Netz....

Mfg
Steven

von Martin S. (led_martin)


Lesenswert?

Ich würde da nicht in Deinem Programm suchen, das ist vermutlich korrekt 
(Ist BASCOM?, ich habe früher, am ATARI, viel BASIC programmiert, bis 
zum Raytracing), sondern nach den Fuses sehen, da klappt irgend etwas 
nicht. Die CKSEL Fuses sind die einzige Möglichkeit den ATtiny15 
Compatibility Mode einzustellen, und im normalen ATtiny85 Betrieb kommen 
diese 'krummen' Frequenzen nicht vor. In den Fuses steht wohl nicht Das, 
was Du da hinschreiben möchtest. Hast Du, zum Programmieren und Fuses 
setzen, a) genügend Spannung am Controller, b) die SPI-Frequenz niedrig 
genug eingestellt (Auslieferungszustand ist 1 MHz Takt, also maximal 250 
kHz, besser 125 kHz, SPI-Takt verwenden). Wenn das nicht passt, gibt es, 
gerade beim Fuses setzen / lesen, schwer nachvollziehbare 
Fehlfunktionen.

Mit freundlichen Grüßen - Martin

von Steven M. (steven1180)


Lesenswert?

>Martin Schlüter schrieb:
>Die CKSEL Fuses sind die einzige Möglichkeit den ATtiny15
> Compatibility Mode einzustellen, und im normalen ATtiny85 Betrieb kommen
> diese 'krummen' Frequenzen nicht vor.

guten morgen,

also ich hab jetzt mal folgendes versucht:
Ocr1a = 0
Freqset=0
Do
Ocr1c = Freqset
Loop

ergebnis: ich habe eine frequenz von 50MHz.
das sollte nun die Grundfrequenz des timers sein....

ausserdem hab ich jetzt mal die cpu clk auf den CLKO PB.1 gelegt und mit 
oszi gemesen....da kommen 25MHZ an.
das würde aber bedeuten, das ich erfolgreich den internen rc übertaktet 
habe und nun aber das timing des timers bei 25MHz + 64Mhz= 89MHz liegen 
müsste...

fällt dir dazu was ein???

grüße steven

: Bearbeitet durch User
von Martin S. (led_martin)


Lesenswert?

Hallo Steven,

das ist alles sehr merkwürdig, und passt auch nicht so recht zusammen. 
50 MHZ aus dem Timer, der müsste dann ja mit 100 MHz laufen. Da hätte 
ich Zweifel, ob die Logik des ATtiny da überhaupt noch stabil läuft, und 
nicht irgend einen Mist macht. Auch wenn der Verstellbereich des 
OSCCAL-Registers das hergibt, im Datenblatt wird davon abgeraten zu weit 
nach oben zu gehen.

Steven Mö schrieb:
> timing des timers bei 25MHz + 64Mhz= 89MHz liegen
> müsste...

Diese Berechnung passt so nicht, die PLL multipliziert den Systemtakt 
mit einem bestimmten Faktor, im ATtiny15 Compatibility Mode x4, im 
normalen ATtiny85 Betrieb x8.

Wie sieht eigentlich Dein Aufbau aus? Mit Frequenzen im xx MHz Bereich 
zu hantieren führt, besonders wenn man nicht auf Soetwas spezialisiert 
ist, wie z.B. Funker, manchmal zu recht seltsamen Erscheinungen. Da mißt 
man schnell mal Mist.

Was für Hard- und Software benutzt Du zum Flashen? Habe, hier im Forum, 
heute das gefunden:

Beitrag "ATtiny841 in der avrdude.conf"

Das mit dem Fuses setzen kann also echt ein Problem sein.

Ich verwende den ATMEL AVRISP mkII und Atmel-Studio, da klappt es, wenn 
Sapnnung und ISP-Frequenz passen.

Mit freundlichen Grüßen - Martin

von Steven M. (steven1180)


Lesenswert?

Hallo Martin,

> das ist alles sehr merkwürdig, und passt auch nicht so recht zusammen.
> 50 MHZ aus dem Timer, der müsste dann ja mit 100 MHz laufen. Da hätte
> ich Zweifel, ob die Logik des ATtiny da überhaupt noch stabil läuft, und
> nicht irgend einen Mist macht. Auch wenn der Verstellbereich des
> OSCCAL-Registers das hergibt, im Datenblatt wird davon abgeraten zu weit
> nach oben zu gehen.

Ja finde ich auch, ich werde das nochmal Schritt für schritt 
nachvollziehen. Idee ist, bei einem attiny ab Werk den CPU Takt auf den 
ob geben, und dann Schritt für Schritt das Timing zuschalten. Mal sehen 
was bei raus kommt.

> Steven Mö schrieb:
>> timing des timers bei 25MHz + 64Mhz= 89MHz liegen
>> müsste...
>
> Diese Berechnung passt so nicht, die PLL multipliziert den Systemtakt
> mit einem bestimmten Faktor, im ATtiny15 Compatibility Mode x4, im
> normalen ATtiny85 Betrieb x8.

Mmmmmh, komisch.... Ehrlich gesagt, hatte ich das so in einem anderen 
Form gelesen. Genauer stand da, die pll Multipliziert den CPU Takt und 
addiert ihn dann dazu.

> Wie sieht eigentlich Dein Aufbau aus? Mit Frequenzen im xx MHz Bereich
> zu hantieren führt, besonders wenn man nicht auf Soetwas spezialisiert
> ist, wie z.B. Funker, manchmal zu recht seltsamen Erscheinungen. Da mißt
> man schnell mal Mist.

Mein Aufbau ist ganz einfach vorerst, auf einem Steckboard nur mit den 
nötigsten Anschlüssen.


> Was für Hard- und Software benutzt Du zum Flashen? Habe, hier im Forum,
> heute das gefunden:

Ich benutze bascom als Software und einen mysmart USB Programmer. Der 
hat bis jetzt noch nie Probleme gemacht.

Soweit reicht er allerdings nun für den Plotter. Wenn ich Osccal auf 10 
stelle, läuft der plotter mit original Geschwindigkeit. Stelle ich ihn 
höher, dann eben langsamer, bis fast zum Stillstand. Das ist schonmal 
sehr positiv. Die Schritte sind auch überraschend klein in der 
Auswirkungen.

Grüße Steven

von Martin S. (led_martin)


Lesenswert?

Wenn Du einen Abblockkondensator zwischen VCC und GND, direkt beim 
Mikrocontroller hast, sollte das auf dem Steckbrett gehen.

Zu Addieren von Takten: Überlege Dir mal, wie das, mit ein Bisschen 
Logik, gehen sollte, ohne das da ein wildes Durcheinander an 
uterschiedlichen Periodendauern rauskommt.

Die Blockschaltbilder unter "System Clock and Clock Options" im ATtiny 
Datenblatt zeigen recht gut, wie es funktioniert.

Muß direkt mal schauen, ob ich einen ATtiny85 da habe, und ob das, bei 
mir, auch so biestig ist ...

Mit freundlichen Grüßen - Martin

von Steven M. (steven1180)


Lesenswert?

Hallo Martin,

sieh dir mal die seite an und das video auf der dritten seite.
da müsste man doch bis 96 Mhz kommen....oder nicht

Link: http://spritesmods.com/?art=avrfmtx&page=1

von Steven M. (steven1180)


Lesenswert?

Hallo Martin,

Ich hab's gefunden.... Das Oscall Register ist der Schlüssel....
Das 7. Bit setzt einen Bereich, entweder 1 Higher Frequenz oder 0 Lower. 
Die bit's 6-0 geben einen Kalibrierungswert um die Frequenz zu 
verändern. Das heißt man kann den Takt langsamer und schneller machen. 
Da sich diese Bereiche überschneiden, dass heißt, höchster wert des 
niedrigeren Bereiches liegt höher, als der tiefste wert des hohen 
Bereiches, hatte ich diese 50Mhz.

Ich das mit den Bereichen nicht gleich überrissen und daher kann diese 
Frequenz zustande.
Jetzt hab ich ihn auch bis insofern 96mhz hoch bekommen.
Attiny auf 96mhz für Timer 1 stellen.
Schrittfolge :
1. Internen Oszillator auf 8mhz stellen
2. Osccall Register auf 1111 1111 stellen
3. Pll starten kurze Pause
4. Pll fest stellen über lock
5. Pll auf CPU Takt stellen

Jetzt läuft der Timer 1 mit 96mhz und die CPU=pll/4=24mhz
Ich hoffe ich hab nichts vergessen...
Aber bei mir geht das jetzt so.

Grüße Steven

von Martin S. (led_martin)


Lesenswert?

Hallo Steven Mö,

schön daß das jetzt funktioniert. Ja, über diese 2 Bereiche beim 
OSCCAL-Register bin ich auch schon mal gestolpert, als es darum ging, 
den internen Takt eines ATmega328 automatisch, anhand des, mit einem 
Uhrenquarz getakteten, Timer2, so abzugleichen, daß störungsfreier 
UART-Betrieb möglich ist. Das wurde dadurch unnötig kompliziert, geht 
aber. Das mit den 2 Bereichen ist wohl bei den meisten AVRs so. Mit der 
Inbetriebnahme von Deinem Projekt hättest Du dich vermutlich leicher 
getan, wenn Du das OSCCAL-Register zunächst unangetastet gelassen 
hättest, und geschaut hättest, erstmal die 64MHz / 16Mhz zu bekommen. 
das hätte viel Verwirrung vermieden.

Das, von Dir verlinkte, Projekt ist ganz interessant, eine sehr 
ungewöhnliche Idee. Das Video läuft leider bei mir nicht.

Solch einen Betrieb 'out of spec' versuche ich, auch bei 
Bastelprojekten, eigentlich zu vermeiden. Auch wenn es oft funktioniert, 
garantiert ist es halt nicht, und plötzlich steht man, z.B. nach Tausch 
des Controllers, vor merkwürdigen Fehlfunktionen. Wobei ich, hier im 
Forum, schon Projekte gesehen habe, mit 30MHz Takt für einen AVR. 
Offiziell ist ja meist bei 20HMz / 16MHz Schluss.

Bin, bis jetzt, noch nicht dazu gekommen, selbst zu experimentieren, 
habe aber tatsächlich ein paar ATtiny85 da, falls es da doch noch was 
auszuprobieren gibt.

Dann noch viel Spaß - Martin

von Steven M. (steven1180)


Lesenswert?

Hallo Martin,
ich danke dir auf alle fälle für deine Unterstützung.

Grüsse Steven

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.