Guten Morgen, ich suche nach einem Microcontroller, der mindestens 6x PWM out hat, besser wären 8x PWM. Hat jemand einen geeigneten Chip griffbereit, die Suche und Google bringen nicht wirklich etwas brauchbares :-( Danke Euch und einen schönen Sonntag Thorsten
zB. so: http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC Gruß Sven Dann Spalte ablesen ;-)
hallo thorsten was soll der controller noch erledigen ansonten können einfach 8 pin zu fuß als PWM programmiert werden bernd
Ich hätte dir jetzt beinahe den AT89C51ED2 von Atmel empfohlen abr der hat nur 4 PWM Ausgänge. So wie es aussieht must Du es Softwaremässig realisieren. Ich hab mal sowas versucht, siehe folgendes Programm, um ein Lauflicht mit 8 LEDs zu dimmen. Einfach mal Ausprobieren. Läuft auf AT89C51ED2 aber es sollte auch auf jeden anderen 8051er lauffähig sein. Man benötigt allerdings ProgStudio 2007 von Batronix, hier kannst Du ne Demo bis 2k herunterladen: http://www.progshop.com/versand/software/prog-studio/index.html flags EQU 20h fl BIT flags.0 fl1 BIT flags.1 fl2 BIT flags.2 fl3 BIT flags.3 fl4 BIT flags.4 fl5 BIT flags.5 fl6 BIT flags.6 fl7 BIT flags.7 duty DATA 30h duty1 DATA 31h duty2 DATA 32h duty3 DATA 33h duty4 DATA 34h duty5 DATA 35h duty6 DATA 36h duty7 DATA 37h MAX EQU 255 MIN EQU 0 tick EQU R0 $INCLUDE "D:\Batronix\Prog-Studio 2007 Community\Microcontroller\Atmel\89c51ed2.mc" LJMP start ORG 000Bh ;Interrupt Timer 0 LJMP ISR_Timer0 start: MOV flags,#00 MOV duty,#100 MOV duty1,#80 MOV duty2,#60 MOV duty3,#40 MOV duty4,#30 MOV duty5,#20 MOV duty6,#10 MOV duty7,#00 MOV P1,#00 MOV TMOD,#00000010b ;Timer 0 Initialisieren MOV TH0,#0A0h MOV TL0,#0A0h SETB EA SETB ET0 SETB TR0 xxx: SJMP xxx ISR_Timer0: PUSH PSW CLR TF0 INC tick CLR c MOV A,tick CJNE A,#45,ISRX MOV tick,#0 SJMP ISRNEXT ISRX: LJMP ISRXXX ISRNEXT: If Not BIT fl Then INC duty Else DEC duty If Not BIT fl1 Then INC duty1 Else DEC duty1 If Not BIT fl2 Then INC duty2 Else DEC duty2 If Not BIT fl3 Then INC duty3 Else DEC duty3 If Not BIT fl4 Then INC duty4 Else DEC duty4 If Not BIT fl5 Then INC duty5 Else DEC duty5 If Not BIT fl6 Then INC duty6 Else DEC duty6 If Not BIT fl7 Then INC duty7 Else DEC duty7 If duty = MAX Then SETB fl If duty = #MIN Then CLR fl If duty1 = MAX Then SETB fl1 If duty1 = #MIN Then CLR fl1 If duty2 = MAX Then SETB fl2 If duty2 = #MIN Then CLR fl2 If duty3 = MAX Then SETB fl3 If duty3 = #MIN Then CLR fl3 If duty4 = MAX Then SETB fl4 If duty4 = #MIN Then CLR fl4 If duty5 = MAX Then SETB fl5 If duty5 = #MIN Then CLR fl5 If duty6 = MAX Then SETB fl6 If duty6 = #MIN Then CLR fl6 If duty7 = MAX Then SETB fl7 If duty7 = #MIN Then CLR fl7 ISRXXX: If tick < duty Then CLR P1.0 Else SETB P1.0 If tick < duty1 Then CLR P1.1 Else SETB P1.1 If tick < duty2 Then CLR P1.2 Else SETB P1.2 If tick < duty3 Then CLR P1.3 Else SETB P1.3 If tick < duty4 Then CLR P1.4 Else SETB P1.4 If tick < duty5 Then CLR P1.5 Else SETB P1.5 If tick < duty6 Then CLR P1.6 Else SETB P1.6 If tick < duty7 Then CLR P1.7 Else SETB P1.7 POP PSW RETI
Hallo, der AT89C51ED2 hat 5 PWM Kanäle. Nutze ich auch. Alternativ der 8051F410 von Silabs. Kostet 5 - 7 € , hat 6 PWM bis yu 16 Bit. Braucht keinen ext. Oszillator, keine Resetbeschaltung.
Hallo, vielen Dank für die Infos, werde mir die Datenblätter mal anschauen. Der Controller soll eine Multieinspritzung bei einem Heizungsbrenner steuern. Dieser soll sechs Einspritzdüsen bekommen, die unterschiedlich angesteuert werden können. Gruß Thorsten
Sieh dir mal den TMS 470 von TI an( ARM 7 TDMI). Der kann je nach Ausführung zwischen 24 und 32 PWM mit niedriger µSec Auflösung.
@ Thorsten (Gast) >Der Controller soll eine Multieinspritzung bei einem Heizungsbrenner >steuern. Dieser soll sechs Einspritzdüsen bekommen, die unterschiedlich >angesteuert werden können. Dafür reicht Soft-PWM locker aus. Das kann fast jeder uC. MFG Falk
... und wenn die Software-PWM genau in dem Moment abstürzt, wenn sie "hi" ausgibt, dann hat er 'ne Sauna ;-)
Davor schützt auch ne Hardware-PWM nicht von alleine, da bedarf es in jedem Fall zusätzlicher anderer Massnahmen.
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.