Frage zu PIC12F1572

OP #7849096
Lesenswert?

Hallo Forumgemeinde,

ich benötige einige Unterstützung um ein vorhandenen Bausatz inklusive Programm meinen Bedürfnissen anzupassen.

Der Bausatz misst mit einem DS18B20 Temperatur und stellt den parametrierten Tastgrad für ein Bürstenlosen Gleichstrommotor. Die PWM Frequenz liegt bei 10666Hz.

Der von mir eingesetzte Motor ist wahrscheinlich ein 3 Phasen Wechselstrom Motor mit eigener Elektronik die ein 10Hz PWM Signal benötigt um die Drehzahl zu regulieren. Er hat eine eigenen 12V= Anschluss und eine 12V= Triger Leitung. Die Maximalleistung ist 400W.

Als erstes hätte ich eine frage zum eingesetzten µC PIC12F1572.

  • Kann man mit "Bordmittel" ein 10Hz PWM erzeugen ohne die Messung des DS18B20 zu stören?

  • Wenn nicht, gibt es einen alternativen µC

  • Ist es sinnvoll ein Frequenz Konverter einzusetzen.

  • Ist das anpassungs- vorhaben überhaupt sinnvoll außer zu lernzwecken.

Da der Bausatz von mir gekauft wurde und nicht selbst entwickelt, weiß ich nicht ob ich Schaltung und Quellcode hier so einfach einsetzen darf.

Vorab, der Vertreiber des Bausatzes kann oder möchte nicht unterstützen.

Hoffentlich habe ich das Problem gut beschreiben können Danke für eure Aufmerksamkeit.

PS: Mein wissen ist begrenzt, nicht aber meine Motivation.

#7849107
Lesenswert?

Dionysios schrieb:

ich benötige einige Unterstützung um ein vorhandenen Bausatz

Welcher? Link? Datenblatt?

Dionysios schrieb:

inklusive Programm meinen Bedürfnissen anzupassen.

Welches Programm? Link oder Programm selbst zeigen!

Dionysios schrieb:

Der von mir eingesetzte Motor ist wahrscheinlich ein 3 Phasen Wechselstrom Motor mit eigener Elektronik die ein 10Hz PWM Signal benötigt

Link? Datenblatt?

Dionysios schrieb:

Kann man mit "Bordmittel" ein 10Hz PWM erzeugen ohne die Messung des DS18B20 zu stören?

Klar geht das. Das ist kein Problem des eingesetzten uC, sondern vielmehr wie das Programm aussieht bzw. deine Hardware (Stichwort EMV).

Dionysios schrieb:

Wenn nicht, gibt es einen alternativen µC

Brauchst du nicht. Der vorhandene reicht.

Dionysios schrieb:

Ist es sinnvoll ein Frequenz Konverter einzusetzen.

Für was? Du hast doch bereits den uC.

Dionysios schrieb:

Ist das anpassungs- vorhaben überhaupt sinnvoll außer zu lernzwecken.

Das weißt mit den gegebenen Infos nur du. Aber selbst wenn man den Code komplett neu schreiben müsste, einen DS18B20 auslesen und eine passende PWM ausgeben ist kein Hexenwerk.

Dionysios schrieb:

Da der Bausatz von mir gekauft wurde und nicht selbst entwickelt, weiß ich nicht ob ich Schaltung und Quellcode hier so einfach einsetzen darf.

Wieso nicht? Was spricht dagegen? Lizenzrecht? Oder geht es dir darum ob du es hier Posten darfst?

#7849546
Lesenswert?

Dionysios schrieb:

ich benötige einige Unterstützung um ein vorhandenen Bausatz inklusive Programm meinen Bedürfnissen anzupassen.

Dionysios schrieb:

Vorab, der Vertreiber des Bausatzes kann oder möchte nicht unterstützen.

Gar nicht, oder nicht umsonst? "möchte nicht unterstützen" und "umsonst" würden Sinn ergeben. Vergiss nicht: Mitarbeiter kosten Geld!

Einfach den Hersteller fragen, ob du den Sourcecode hier einstellen darfst. Gibt es einen Link zum Produkt oder zur Bauanleitung?

#7849665
Lesenswert?

Wenn es der Bausatz ist wo ich vermute: Ist der Code downloadbar. In einer Datei werden die Hardware inits gemacht. Man müsste also nur die PWM Register richtig setzen um auf die 10Hz zu kommen und wäre fertig. Das größte Problem wäre dann, dass es mit Basic(Mikroe) geschrieben wurde. Keine Ahnung ob es da noch kostenlose Versionen gibt.

OP #7849764
Lesenswert?

Ich möchte mich als erstes für euer Interesse und Engagement bedanken.

@mani du hast natürlich recht das ist in MicroBasic Zu den MicroBasic Compiler, es gibt eine freie Version.

Habe den Herren in Österreich kontaktiert und keine Antwort erhalten. Scheint wohl ein Kapazitätsproblem zu sein.

Nachdem ich einige Stunden verbracht habe mich in die Materie einzulesen, habe ich mich an euch gewandt um die Machbarkeit festzustellen.

N. M. schrieb:

Man müsste also nur die PWM Register richtig setzen um auf die 10Hz zu kommen

da fangen die "drei Probleme" an. -Basistakt ändern? -Prescaler setzen? -? Ich muss sagen das mit der pwm Frequenz habe ich nicht verstanden

sub procedure InitHardware ANSELA = %00000000 'All pins are digital PORTA = %00000000 'Reset all IO bits to Input/Output TRISA = %00001010 'Select inputs/outputs 'TRISA.0 = 0 'RA0 = Output = TX 'TRISA.1 = 1 'RA1 = Input = RX 'TRISA.2 = 0 'RA2 = Output = PWM 'TRISA.3 = 1 'RA3 = Input = Option Jumper 'TRISA.4 = 0 'RA4 = Output = LED 'TRISA.5 = 1 'RA5 = Input = 1 Wire 'TRISA.6 = 0 'Not implemented 'TRISA.7 = 0 'Not implemented OSCCON = %11111011 'Intrnal Oscillator 16Mhz PWM3CLKCON = $00 'Config PWM 3 PWM3LDM_bit = 0 'Config PWM 3 PWM3CON = $00 'Config PWM 3 PWM3DCH = $00 'Config PWM 3 PWM3DCL = $00 'Config PWM 3 PWM3PHH = $00 'Config PWM 3 PWM3PHL = $00 'Config PWM 3 PWM3OFH = $00 'Config PWM 3 PWM3OFL = $00 'Config PWM 3 PWM3PRH = 5 'Config PWM 3 Frequency = 10666 Hz PWM3PRL = 220 'Config PWM 3 Frequency = 10666 Hz end sub

wie kommt es zu den 10666Hz? Wohl 16MHz/1500 aber warum 1500?

Das Brennen könnte ich mit MPLAB X IPE und einen China Klon PIKKIT3 warscheinlich machen.

Gast #7849766
Lesenswert?

Dionysios schrieb:

PWM3PRH = 5 'Config PWM 3 Frequency = 10666 Hz PWM3PRL = 220 'Config PWM 3 Frequency = 10666 Hz end sub

wie kommt es zu den 10666Hz? Wohl 16MHz/1500 aber warum 1500?

Naja, 5*256+220 sind 1500, und das hat sich der Autor wohl einfach so ausgewählt.

Du wirst aber auch die Taktquelle für die PWM ändern müssen:

PWM3CLKCON = $00 'Config PWM 3

Gast #7849848
Lesenswert?

Dionysios schrieb:

H. H. schrieb:

Du wirst aber auch die Taktquelle für die PWM ändern müssen:

PWM3CLKCON = %01110001 'Config PWM 3

Hätte %01110000 angenommen.

PWM3PRH = 5 'Config PWM 3 Frequency = 10Hz

PWM3PRL = 220 'Config PWM 3 Frequency = 10Hz

Da komme ich für 10Hz aber auf andere Werte.

OSCCON = %11111011 kann bleiben?

Ah nein das muss warscheinlich %11100011 sein.

Nö, bleibt.

Den Wertebereich des Duty-Cycle wird man noch anpassen müssen.

OP #7850264
Lesenswert?

H. H. schrieb:

du kannst ja schon mal nach PWM3DC und PWM3PH suchen

Da ich das anfahren des Motors mit 50% für 2 Sekunden möchte habe ich die Duty-cycle auf 50% ausgerechnet.

Warum ich mir einbilde das Phase 90° sein muss weiß ich nicht. Macht doch einer mal das Licht an!

1
PWM3DCH     = 24                                                           
2
PWM3DCL     = 105                                                           
3
PWM3PHH     = 12                                                           
4
PWM3PHL     = 53                                                           
5
PWM3OFH     = $00                                                           
6
PWM3OFL     = $00                                                           
7
PWM3PRH     = 48                                                            
8
PWM3PRL     = 211

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren