Forum: Mikrocontroller und Digitale Elektronik ATtiny12 <> Bascom - Tutor gesucht


von Michael Buchholz (Gast)


Lesenswert?

Hallo liebe Leser...

... nach ganz langer Zeit hab ich mich entschlossen, mal wieder was mit
µC's zu machen.
Toll fand ich die ganze Serie von ATMEL. Dazu hab ich mir mal für ein
aktuelles Projekt zum Lernen den ATtiny12 besorgt natürlich Bascom;
für'n Anfänger wohl die beste Wahl?!?

Um hier aber nicht die ganzen Profis mit meinen profanen Fragen zu
nerven wäre es toll, wenn sich hier jemand mit Erfahrung mit dem tiny12
für einen eMail-, ggf. telefonischen Austausch finden würde, der mich
bei meinen ersten Schritten unterstützt. Bin gerade schon nach Stunden
Rumprobiererei und Anleitung lesen an einem ganz profanem Problem
gescheitert. Offensichtlich muss man beim tiny12 einige Besonderheiten
beachten, die ich bisher nicht habe finden/lösen können :/


Viele Grüsse
Michael Buchholz (646) aka M*I*B

* http://CBX-FORUM.de
* http://CBX-FIGHTER-CLUB.de Forum
* Kalletal - Forum http://kalletown.de (im Aufbau)

von Chris (Gast)


Lesenswert?

Du willst also gewissermaßen einen Privat-Support bzw. Privatlehrer.
Wieviel bist du bereit auszugeben?

(hint: bei konkreten Fragen wird hier gerne geholfen - kostenlos. dein
Posting klingt nach einer "Suche"-Annonce - gegen Bezahlung)

von ...HanneS... (Gast)


Lesenswert?

BASCOM is zu weit weg von der Hardware. Damit wirst du den MC nicht
kennenlernen.

Der Tiny12 ist so klein und damit so überschaubar, dass es der ideale
AVR für den Einstieg in ASM ist.

Deine Freunde sind AVR-Studio und das Datenblatt. Dazu noch das
instruction-set, also die Befehlsliste, die aber auch per Hilfe im
AVR-Studio aufrufbar ist.

Eine interessante Einführung findest du hier, auch wenn das Projekt
zweifelhaft ist und nicht realisiert wurde:
http://www.mikrocontroller.net/forum/read-1-113815.html

...

von Michael Buchholz (Gast)


Lesenswert?

@ Chris
... genau solche Kommentare wollte ich hier im Forum vermeiden; Deine
Frage brauche ich wohl nicht zu beantworten ...

@ HanneS
Mein ursprüngliches Problem habe ich durch einen Zufallstreffer gelöst,
aber ein weiteres noch nicht:

Ich habe zwei Ausgänge, auf die ich eine Art PWM-Signal schalten muss.
Bereich so 100-1000Hz. PWM kann der Tiny12 ja so von Haus aus nicht,
also muss ich es irgendwie anders lösen (mit dem Timer?) Dabei kommt es
nicht darauf an, das das Signal mit kurzen Aussetzern gestört wird, da
da eh später 12V/21W Lampen dranhängen. Die sind reichlich träge ;o)
Der Haken kommt jetzt: Jeweils einen der Ausgänge muss ich mit einem 1
- Signal überlagern können bei Bedarf, ohne das das PWM-Signal auf dem
anderen Pin abreisst...

von ...HanneS... (Gast)


Lesenswert?

Hi...

So ganz unrecht hat Chris da aber garnicht...

Bei BASCOM werde ich dir nicht helfen, denn ich nutze es selbst nicht.
Auch bei Nutzung einer Hochsprache sind Grundlagen in ASM unabdingbar.
Und die kleinen Tinys (die ohne SRAM) sind so übersichtlich und
überschaubar, da ist ASM angesagt.

Du willst also 12V / 21W - Lampen dimmen. Warum mit 1000 Hz?? Die sind
doch so träge, dass 50 Hz dicke reichen. Und eine Software-PWM mit
50Hz...100Hz schafft der Tiny12 (in ASM) spielend.

Du willst sie zusätzlich einschalten können. Das geht. Wie hoch der
Aufwand wird, wird durch die weiteren Umstände der Schaltung bestimmt.
Wird die Lowside geschaltet (Lampe fest an +12V), dann wird es
einfacher, muss man die Highside schalten weil die Lampe fest an GND
liegt, wird es etwas aufwendiger. Ist aber alles im Rahmen des
Machbaren.

Lies dir aber erstmal den oben genannten Link durch und versuche es zu
verstehen. Schlage dazu auch im Datenblatt des Tiny12 und Tiny15 nach.
Denn ich habe keine Lust alles doppelt und dreifach zu erklären.

...

von Michael Buchholz (Gast)


Lesenswert?

... das, was mich an Chris seiner Aussage gestört hat, ist die Sache mit
dem bezahlen. Wenn ich das wollte, hätte ich ein Pflichtenheft erstellt
und das an einen Programmierer abgegeben.
Ich möchte aber gerne was lernen und ich denke, das ist auch aus meinem
Initialartikel klar hervorgegangen. Und jeder, der sich ohne fremde
Hilfe was beigebracht hat, wird mir sicherlich Recht geben, wenn ich
behaupte, das er viele falsche Wege gegangen ist, vor denen ein Tutor
ihn sicherlich bewahrt hätte, ohne den eigenen Stil zu unterdrücken.
Sicherlich kann man sich sowas auch aus Lehrbüchern u.s.w. beibringen,
aber i.d.R. entspricht der Stil in den Dokumentationen in den
seltensten Fällen dem eigenen Stil.

Was die Sache selbst betrifft:
Ich sagte ja, das es nicht so darauf ankommt. Aber 50Hz ist etwas
wenig, da u.U. dort auch LED-Leuchten drankommen. Und da sieht man das
bei PWM sehr wohl, erst recht, wenn dann noch kleinere Aussetzer durch
Interrupts o.ä. hinzukommen.

Aber gemach ;) Hab ja gestern Abend, nachdem ich meine 2 jährige
Tochter ins Bett gebracht hatte, erst mit der Sache angefangen. Und
dafür hab ich schon ein funktionierendes Progrämmchen hinbekommen,
welches ausser der PWM-Geschichte schon so tut, wie ich mir das
vorgestellt habe...

Baba
Micha

von Andi (Gast)


Lesenswert?

Da liegts Du aber ein wenig falsch mit Deiner Meinung!
Habe selbst PWM für LED´s in 100 einstellbaren Stufen gemacht
(LCD-Backlight) und ab 50Hz sieht man nichts flimmern da
1. unsere Augen recht träge sind (siehe Fernseher mit 50 Halb-/25
Vollbilder) und
2. auch die LED´s eine Nachleuchtzeit haben.
Habe es zwar mittlerweile logarythmisch in 32 Stufen umgestellt wo bei
es dann auf knapp über 200Hz kommt (10KHz/46) aber ab 50Hz flimmert für
uns nichts mehr.

PWM macht man normaler weise sowieso mit Timer-Interrupt und da wird
das PWM nicht von Interrupts gestört, wenn, dann wird das nicht so
zeitkritische "Main-Programm" vom PWM-Interrupt gestört, aber da ist
es ja egal.

Du kannst auch Leuten wie Hannes ruhig glauben schenken da solche Leute
aus Ihren eigenen Erfahrung sprechen und um was zu kapieren mußt wohl
auch Du erst mal Deine eigenen Erfahrungen machen in dem Du auch das
versuchst nachzuvollziehen was andere Dir raten.

Gruß
Andi

von Michael Buchholz (Gast)


Lesenswert?

... nun ja ...

Mit Interesse alles gelesen; nur weitergeholfen hat's mir bisher nicht
die Bohne.
Aber das kenne ich schon aus unseren Foren: Die ursprüngliche Frage
wird, wenn überhaupt, erst am Ende nach Tagen oder Wochen beantwortet,
weil einjeder erstmal ins kleinste Detail geht und sich so der Thread
in viele kleine Schnippsel zerfläddert; da mache ich auch niemandem
einen Vorwurf. Ist halt so ...

Einen Tutor habe ich inzwischen auch gefunden, der zufälliger Weise an
einem ähnlichen Projekt arbeitet, wobei ich nicht sagen will, das ich
auch gerne einen Zweiten begrüssen würde ;o)
Aber die meissten hier machen wohl alles in Assembler... So weit bin
ich noch lange nicht. Ich weiss, das ASM in fast allen Belangen besser
ist als eine Hochsprache, aber ich fange trotzdem erstmal mit Bascom
an, zumindest so lange ich mit dem Tiny12 rummache und so lange mein
Vorhaben in den Speicher passt...

Dank Euch allen
Micha

von ...HanneS... (Gast)


Lesenswert?

Wenn du eine Hochsprache nutzt um dich vor ASM zu drücken, dann wirst du
nach einigen "schnellen Erfolgen" fürchterlich auf die Nase fallen,
weil die Hochsprache (besonders BASCOM) zu weit von der Hardware
entfernt ist und du nicht kapieren kannst, was im MC eigentlich
vorgeht.

Und ich denke mal, du möchtest "Hardware" (Ports, Timer, A-Comp...)
mit deinem Programm ansprechen.

Eine PWM mit mehreren Kanälen mit 100 Stufen geht übrigens mit 150Hz
wenn die ISR alle 100 Takte aufgerufen wird und der Oszi des Tiny12 auf
1,2MHz calibriert wird. In ASM kann ich die (benötigten) Takte zählen,
in BASCOM sterbe ich dumm.

Also mach dein Ding, mir soll es recht sein.

Viel Erfolg

...

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.