Hallo Wissende
im Netz fand ich eine Minimalschaltung für einen Modellbau-RC-Schalter
mit Tiny 13.Anstelle einer Schaltfunktion möchte ich an Portb.4 eine
Frequenz von etwa 110KHz ausgeben.
Genauer gesagt :
Feernbedienungsknüppel Null Portb.4 = High ,
Knüppel voll Portb.4 = Rechtecksignal.
Mit dem angehängten Programm in Bascom sollte es einfacher verständlich
sein.
Ist das mit einigen Zeilen zu machen oder gehts wohlmöglich garnicht?
So könnte ich mir einen extra Oszillator für LED-Nachtflug-Beleuchtung
ersparen.Die Frequenz und das Tastverältnis sind nicht
kritisch;100Khz-120Khz u.1:2 - 2:1 wären okay.
Ich selber komme mangels Kenntnissen nicht weiter darum frage ich hier
um Hilfe.
Gruß vonder sonnigen Nordsee
Frank
normalerweise: pwm mit ausgabe auf PB0 oder PB1 (OC0A, OC0B Pins). vorteil - macht die hw ohne cpu last im hintergrund, musst du nur konfigurieren - starten und stoppen. da du aber PB4 benutzen willst oder musst, wäre z.B. eine timer-ISR die alle 10usec kommt und in der du den PB4 toggelst eine lösung die dir ca. 100kHz dann erzeugt. wie du dafür den Timer0 des tiny13 zu clocken und konfigurieren hast bitte dem datenblatt im detail entnehmen. tip: konfiguriere deine cpu-clock auf 9,6Mhz, da diese isr schon eine gute cpu-grundlast beinhaltet. damit den timer clocken und du hast 104nsec tick. jetzt so das reload register vom timer konfigurieren (clear timer on compare match mode) das es nach 96 ticks überläuft und die isr gestartet wird und schon hast du 100khz ;o). da der tiny13 nur den einen timer hat und du sicherlich noch andere sachen zeitgesteuert machen wills oder musst könntest du in der alle 10usec kommenden isr ja noch einen z.B. millisekunden counter erzeugen, den du dann von "aussen" auswerten/benutzen kannst. viel spass + erfolg, tom.
axso, alle 10usec und dann toggeln macht natürlich nur 50khz, also doppelt so schnell und du hast dann 100khz...
tom schrieb: > axso, alle 10usec und dann toggeln macht natürlich nur 50khz, also > doppelt so schnell und du hast dann 100khz... Also dann alle 5 µs einen Interrupt. Und dann noch (mit demselben Timer, da Tiny13) die Impulsbreite des Kanalimpulses einlesen. Und das in Bascom. Na denn man tau... Ich würde erstmal über den Einsatz des Tiny25 nachdenken, der hat wenigstens einen zweiten Timer, der im Hintergrund die Frequenz erzeugen kann, während der andere Timer als Referenz für die Kanalimpulsmessung dient. Das dürfte dann auch in Bascom realisierbar sein. ...
Moin Tom ich bin nicht auf PB4 angewiesen,erschien mir am einfachsten weil schon benutzt.Mit dem Timer hast du auch Recht,wird schon benutzt.Das anzupassen ist mehr als ich kann.Die Clockfrquenz sollte imho auch so bleiben wegen der Eingangssignalerkennung. Erzähl mir bitte mehr zur ersten Möglichkeit;ich bin allerdings anfangender Anfänger. Frank
Ich denke man sollte erst mal klären, wozu man > So könnte ich mir einen extra Oszillator für > LED-Nachtflug-Beleuchtung ersparen.Die Frequenz > und das Tastverältnis sind nicht kritisch;100Khz-120Khz > u.1:2 - 2:1 wären okay hier überhaupt 100kHz braucht. Wenn es reicht, einfach irgendein Rechteck zu erzeugen, dann kann man in der Hautschleife auch einfach den Pin toggeln, wenn das Servosignal lang genug ist. Was da als Frequenz rauskommt ist dann zwar nicht mehr so genau definiert, aber wenn es darauf nicht ankommt, ist das ja kein Beinbruch. Und die Erweiterung wäre trivial
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.