SBUS-Switch

Hallo,

Ich habe mir den Code noch nicht angeschaut.
Kann PMW auch auf 25kHz eingestellt werden?
Dann kann man Lüttet nach intel-Spec ansteuern.

VG, Björn
 
Hallo Björn

das gibt der AVR leider nicht her.
Es lassen sich nur diese PWM-Frequenzen:
Prescale 1 = 15625Hz
Prescale 8 = 1953Hz
Prescale 64 = 244Hz
Prescale 256 = 61Hz
Prescale 1024 = 15Hz (macht für meine Anwendung keinen Sinn, daher habe ich es weg gelassen)

Wenn Du beschreibst was Du genau anschliessen willst, dann fällt mir vielleicht eine Lösung dafür ein.

Ulf
 
Ah - jetzt:
"Lüfter" meinst Du
Die Specs sagen 25kHz. Einfach mal ausprobieren was bei 15kHz passiert.
Es sollten auch "normale" Lüfter funkionieren. Ein PC macht bei der Drehzahlreglung bei den 3-poligen Lüftern auch nichts anderes
 

wkrug

User
Mit Fast PWM und Prescaler 1 müssten bei 8MHz und einem 8Bit Timer auch noch 31250Hz gehen.
Allerdings mit der Einschränkung das im Prinzip immer ein Spike übrig bleibt - Entweder bei PWM 0 oder bei PWM 255, je nach PWM Polarity.
Das kriegt man nur raus indem man die Hardware PWM vom entsprechenden Pin trennt einen fixel Level drauf macht und bei Bedarf wieder einschaltet.

Ich denk auch, das hier 25kHz nur deshalb angegeben werden, weil das sicher über dem Hörbereich liegt und der Lüfter somit nicht pfeift!
 
Im PWM-Mode zählt der Timer hoch und runter - also 512 Schritte.
PWM 0 ist wirklich "0". PWM 255 ist permanent "1". Ohne Peaks. Die kommen erst ab 1/254.
Das habe ich via Logic Analyser gecheck. Sonst hätte ich das auch via Software abgefangen.
 

wkrug

User
Im PWM-Mode zählt der Timer hoch und runter - also 512 Schritte
Stimmt für alle PWM Modes, ausser dem FAST PWM.
Da zählt der Timer bis 255 und fängt dann wieder bei 0 an.
Darum ist die PWM Frequenz auch doppelt so hoch.
Kannst das ja mal mit deinem Logic Analyzer testen.
 
Du hast Recht - damit wäre das möglich.
Ich hatte den 16kHz PWM eingebaut um Motortreiber ansteuern zu können. Bei noch höheren Frequenzen verpufft aber auch mehr Wärme im Motortreiber. Wenn jemand eine konkrete Anwendung für 32kHz PWM hat, dann gerne hier nachfragen. Vielleicht baue ich das noch ein....
 
die aktuelle Version stelle ich hier ein, sobald die Anleitung fertig ist.
Wichtigste Neuerungen:
- Frame-Erkennung überarbeitet. Erlaubt Framing 5ms bis unendlich
- PWM-Frequenz einstellbar - Prog-Mode erweitert
- manuelle Kalibrierung der Taktfrequenz (nötig wenn man einen AVR erwischt, dessen Takt etwas abweicht)

den 4ms FrSky Race Mode gibts sobald ich einen Empfänger zum Testen habe.
Wer aktuell nachbauen will, gerne nochmal nachfragen
 

ttt126

User
Hallo zusammen, ich habe nach über 25 á Pause wieder mit dem Bau eiens Schiffes begonnen. Duch meine Suche nach einer Möglichkeit Funktionen zu schalten bin ich bei euch gelandet. Mit OpenTX bin ich schon vertraut. Meine aktuelle Frage bezieht sich auf das Programieren des Atiny. Ist es möglich die Programierung selber zu machen, was braucht man dafür? Oder ist es sinnvoller um einen Programierten Atiny zu bitten. Hintergrund ist mein 2. Hobby für Audioelektronic und Verstärker, daher würde ich es mir schon zutrauen. Herzlichen Dank in die Runde, Thomas
 
Der Programmer ist perfekt!
zum programmieren kannst Du dieses Tool benutzen:
Damit kannst Du auch die Fusebits einstellen.

8MHz-intern Fusebits.jpg

Hilfreich ist evtl noch ein solches Programmierboard:

kannst dir aber auch Einfach mit einem IC-Sockel selbst eines basteln.

Mehr braucht es nicht.
Wenn Du selbst die AVR's programmierst, kannst Du auch immer auf die aktuelle Version "updaten".

Wenn Du fertige AVRs haben willst, melde dich einfach per PN

Gib mir ein paar Tage und ich lade die aktuelle Version hier hoch.
 

ttt126

User
Super vielen Dank. Lese schon den ganzen tag über dieses Thema. Da ich noch einen Arduino uno habe, habe ich ihn mit dem Programm sketch bespielt. Deine genannte Software kenn auch den Arduino. Was mir noch nicht gelungen ist, ist herauszufinden wie ich die Verbindung zwischen uno und attiny herstelle, also zum programieren. Wo kommt welche Leitung hin?
Sorry für mich ist das programieren eines attiny absolutes Neuland.
 
Zum programmieren brauchst Du
- VCC (Spannung)
- Reset
- MOSI
- MISO
- UCSK (bei einigen AVR auch SCK benannt)
Das ist bei allen ATMEGA und ATTINY AVRs gleich.
Bei Deinem Arduino sollte das in der Doku angegeben sein, welche Pins das dort sind.


1618162966033.png


2 Dinge sind zu tun:
- Binary in den AVR schreiben (also das eigentliche Programm)
- Fusebits setzen, wie Oben beschrieben
 

ttt126

User
so hab jetzt einen Tiny13 erfolgreich brennen können auf Arduinouno mit Arduino.
Wenn ich AVR Proogtool benutze fpr den Großen 4313 bekommt der aber keine Verbindung zum 4313.
Anschlüsse sind korekt. Mus man Eprom oder flash brennen oder beides? Fusebit zuerst oder gleichzeitig? Fragen über Fragen, sorry
 
Wenn der Tiny13 funktioniert, ist das schonmal super.
Check nochmal die Verkabelung. Kannst sie ja mal aufmalen und hier posten.
Kannst Du den Flash auslesen?
Schreiben musst Du nur Flash und die Fusebits. Reihenfolge ist egal
 

ttt126

User
Damit ich hier nicht alle weiter mit meinen Programierkünsten langweile werde ich mir ordentliche Hardware bei myMCU bestellen. Einen Adapter und ein USB light Programmer. Offensichtlich kommuniziert mein Arduino Uno als ISP nicht mit dem Programm myAVR programmer. Egal ich werde den Arduino weiter für Ardublock Projekte (Blinklicht, Lauflicht, u.ä.) verwenden.
Noch eine Frage zur Schaltung des sbus switsh. Ist es möglich in die Schaltleitung vom 4313 zum Treiner IC eine LED samt Widerstand zu schleifen? Also als Schaltanzeige. So dass bei anliegender Schaltspannung über die LED/Widerstand der Treiber angesteurt wird und eine optische Anzeige erfolgt.
p.s. Reset u.a. auf der Rückseite
Grüße und schönes WE, Thomas
 
parallel dazu schalten geht

1618671952469.png


Widerstände so auslegen, dass ca 5mA pro LED fliessen.
Ich habe mir extra dazu ein Testexemplar gebaut. Nur LEDs, keinen Treiber. Das schliesse ich dann zum Testen an.
Wird nicht unbedingt kleiner durch die LEDs.....
 
Zuletzt bearbeitet:
Oben Unten