Ich habe einen pb. Ich will diese Signal von der Simulation auf den folgende Link: http://www.technik-emden.de/~elmalab/projekte/ws9899/wss_applet.html Mithilfe von einem Poti regelbar machen-Es soll auf einen PiC 16F690 realisiert und ich habe den Pickit 2 den Program zu lesen. Ein Pin von 16F690 soll ein lampe haben damit ich den Oscill im labor darauf anschliessen kann und den signal beobachten.Ich braue es für ein Wechselstrommsteller.Der pic soll bei 3,7 V der eingang kurzschliessen. Leider bin ich ganz neue bei Programmieren. Ich danke ihnen für ihre Hilfe
Mich sein Bonde, Jamess Bonde, mich Freunde nennen James ...
Ich will ein Programm erstellen, das die Helligkeit einer Lampe über einen Wechselstromsteller steuert.Die Sollwertvorgabe erfolgt über ein Potentiometer. Alles mithilfe der PIC 16F690
OK James, welchen Wechselstromsteller (Dimmer) verwendest Du ? Wie ist der aufgebaut ? Welche Signale liefert er und welche Signale benötigt er ?
Der Wechselstromsteller,sollte von mir gebaut werden,er benötige diese Signal von dem Link: http://www.technik-emden.de/~elmalab/projekte/ws9899/wss_applet.html allgemein ist auch wie von dem links mein wechselstromsteller mit dem Potentiometer den Winkel wie bei diesem Links zu steueren.Es ist ein Projekt,der ich in der HS für Leistungselektronik bekommen habe.Die Simulation von der Wechselstromsteller ist Mit LTspice schon gemacht,und jetzt sollte ich einfahc bauen,aber weil ich diesen PIC 16F690 Programmiere brauche und kenne ich mich nicht gnaz gut mit Programierung.Deswegen bin ich hier angemeldet,damit ich ein Hilfe bekomme. Ich danke euch im vorraus für Ihr Hilfe
Ein normaler Dimmer nur mit Mikrokontroller, ich fasse es nicht,,,, http://www-user.tu-chemnitz.de/~heha/Mikrocontroller/SLB0587Ersatz.htm http://www.google.de/url?sa=t&source=web&ct=res&cd=11&ved=0CEYQFjAK&url=http%3A%2F%2Fwww.electro-tech-online.com%2Felectronic-projects-design-ideas-reviews%2F88654-light-dimmer-controlled-pic.html&rct=j&q=Dimmer+mit+PIC&ei=4Q3zS6DGDojR-Qapza37DQ&usg=AFQjCNEeLobcybq6P97q8JxT6F-0YwCg8A http://www.google.de/url?sa=t&source=web&ct=res&cd=12&ved=0CFMQFjAL&url=http%3A%2F%2Fcomputerchristmas.com%2Fchristmas%2Flink-how_to%2FHowToId-71%2FSimple_PIC-Based_8-Port_Dimmer&rct=j&q=Dimmer+mit+PIC&ei=4Q3zS6DGDojR-Qapza37DQ&usg=AFQjCNFFACiXcPRPW2siD0uCnNtgLfyV-Q
Ich habe den Link geschaue und meine ist wie bei dem Tu-Chemnitzt aber mit dem PIC 16F690 zu realisieren.Deswegen sagte ich in Wechselstromsteller angebaut sein. Ich werde ein Bild von der Schaltung später machen und dir Zeigen, was es schon gemacht ist. Danke noch mal
Mit dem PIC 16F690 sollte als ausgang der Signal von einem Thyristor sein und mit hilfe von einen Potentiometer regelbar sein. Das muss ich auf dem PIC 16F690 programmieren und dem Wechselstromsteller damit Steuerern. Allgemein soll mein PIC in der Lage der Thyristor zu ersetzen und dazu regelbar sein. Danke für ihre Hilfe
Mit dem PIC 16F690 will als ausgang der Signal von einem Thyristor haben und mit hilfe von einen Potentiometer regelbar sein. Das muss ich auf dem PIC 16F690 programmieren und dem Wechselstromsteller damit Steuerern. Allgemein soll mein PIC in der Lage der Thyristor zu ersetzen und dazu regelbar sein. Danke für ihre Hilfe
Der PIC wird nicht als Wechselstrom-Schalter in der Art eines Thyristors funktionieren ! Niemals ! Der Pic wird Dir auch kein Wechselstrom-Ausgangssignal liefern, wie es auf der Seite der Uni zu sehen ist. Niemals ! Ich denke, Du solltest das Problem erst nochmal überdenken und dann nochmal formulieren, was Du wirklich brauchst und nicht wieder zum 1000.Mal auf die Seite der Uni verweisen. Die kennen wir jetzt und können Dir damit nicht helfen. Ist es evtl. Deine Aufgabe, einen Dimmer zu bauen ? Was hast Du bisher aufgebaut oder geplant ?
Hier ist die Schaltung, die schon gemacht und es soll mit den PlC 16F690 Kontrolliert sein. Den Thyristor soll ich mit den PIC 16F690 ersetzen und mit dem Poti regel sein. Ich weiß nicht, ob ich diese mal gut erklärt habe, was ich will. Sonst soll ich noch anders schreiben, wenn es nicht deutlich ist. Danke schön
ich will ein sinusoidale Signal mit dem PIC 16F690 machen und mit einem angeschlossene Poti regeln.Wer hilfe mir ein woche es fertig zu machen ,weil ich mich nicht damit kenne. Bitte mit C programmieren,wenn 's geht ,sonst nehme ich auch mit assembler. danke
http://www-user.tu-chemnitz.de/~heha/Mikrocontroller/SLB0587Ersatz.htm http://pcbheaven.com/circuitpages/PIC_DCV_Controlled_AC_Dimmer/ usw googeln
Danke Helmut, aber die beide Link sind mit einem anderen PIC gemacht und ich brauche eine sinusoidale signal. Sinal funktion von Sinus,ein signal ,der ein Sinus graph beschreib. Danke
> Den Thyristor soll ich mit den PIC 16F690 ersetzen Es ist nicht möglich, einen Thyristor durch einen PIC zu ersetzen. Es hat keinen Sinn, diese Anforderung mehrmals zu wiederholen: da musst Du etwas falsch verstanden oder hier falsch rübergebracht haben. Das Schaltbild ist in einem ungebräuchlichen, nicht portablen Format (.wmf). Ich habe es trotzdem zu öffnen geschafft und festgestellt, dass es sehr holperig zu lesen ist, weil sämtliche Kreuzungspunkte fehlen.
Hc Zimmerer schrieb: > Das Schaltbild ist in einem ungebräuchlichen, nicht portablen Format > (.wmf). Ich habe es trotzdem zu öffnen geschafft und festgestellt, dass > es sehr holperig zu lesen ist, weil sämtliche Kreuzungspunkte fehlen. wiso ?? Windows 7 öffnet das mit Paint. Und die Punkte sind auch da.
Du hast eine eigenwillige Vorstellung von „portabel”. Dieser Portabilität (bzw. dem Mangel an dieser) sind wohl auch die fehlenden Kreuzungspunkte geschuldet, denn gimp zeigt sie nicht an.
>sind wohl auch die fehlenden >Kreuzungspunkte geschuldet, denn gimp zeigt sie nicht an. Dann schmeiss gimp in die Tonne. IRfanview zeigt das Bild klar und deutlich an.
James Bond schrieb: > aber die beide Link sind mit einem anderen PIC gemacht und ich brauche > eine sinusoidale signal. Sinal funktion von Sinus,ein signal ,der ein > Sinus graph beschreib. Auch wenn die Beispiele mit einem anderen PIC erstellt wurden, dann kann Mensch doch die Lösungsansätze begreifen und auf die gewünschte Hardware umsetzen. Etwas Lernen sollte doch bleiben, man findet nicht alles einfach fertig im Netz. Und da sind wir schon bei Deinem wirklichen Problem: Du weißt nicht, was Du willst ! Ich könnte mir vorstellen, daß ein PIC einen Thyristor ansteuert und dann an einem ganz anderen Punkt in der Schaltung eine Sinuskurve in der Form erscheint, wie Du uns anfangs immer wieder eingetrichtert hast, aber wir hier alle wissen, daß der PIC nicht den Thyristor ersetzt und dann auch noch eine Sinuswelle erzeugt. Es wird eher so sein, daß die Sinuswelle aus dem Trafo beeinflußt wird. Darüber solltest Du nachdenken. Was ist das denn überhaupt für eine Schaltung ?
Bernd Rüter schrieb: > James Bond schrieb: >> aber die beide Link sind mit einem anderen PIC gemacht und ich brauche >> eine sinusoidale signal. Sinal funktion von Sinus,ein signal ,der ein >> Sinus graph beschreib. > > Auch wenn die Beispiele mit einem anderen PIC erstellt wurden, dann kann > Mensch doch die Lösungsansätze begreifen und auf die gewünschte Hardware > umsetzen. Etwas Lernen sollte doch bleiben, man findet nicht alles > einfach fertig im Netz. Ich weiss, dass man nicht alles fertig im Netz finden kann. Mein PB ist, dass ich mich überhaupt mit Programmierung nicht kenne und weil ich eine Frist für die Abgabe habe, werde ich es nicht allein schaffen zu ändern( ersten: soll noch Programmierung des PIC lernen, dann den Anderen verstehen,damit ich auf meine wünsche anpasse.Leider habe nicht viel Zeit bis zur Abgabe,sollte noch die Platine montieren), um es auf meinem PIC zu benutzen. > > Und da sind wir schon bei Deinem wirklichen Problem: > > Du weißt nicht, was Du willst ! was ich genaue will, ist ein Sinusoidale Sigmal mit dem Pic zu erzeugen wenn möglich ist, falls nichts möglich ist, werde ich von den letzten Link nehmen. > > Ich könnte mir vorstellen, daß ein PIC einen Thyristor ansteuert und > dann an einem ganz anderen Punkt in der Schaltung eine Sinuskurve in der > Form erscheint, wie Du uns anfangs immer wieder eingetrichtert hast, > aber wir hier alle wissen, daß der PIC nicht den Thyristor ersetzt und > dann auch noch eine Sinuswelle erzeugt. > Es wird eher so sein, daß die Sinuswelle aus dem Trafo beeinflußt wird. > Darüber solltest Du nachdenken. > > Was ist das denn überhaupt für eine Schaltung ? Die Schaltung könnt ihr es vergessen,weil es ein Schaltung für den WechselstromSteller, der ich im Labor in HS bauen werde und es mit dem PlC 16F690 ergänzen werde. Fehlt mir den PIC 16F690. Ü: wenn es nicht möglich ein sinusoidale Signal zubekommen ist, dann nehme ich den Beispiel aus dem Link. Danke
Ich verstehe den Ausdruck sinusförmiger Ausgang auch nicht. Auch die in dem angehängten Bild messbare Ausgangsspannung ist nur deshalb sinusförmig, weil das Eingangssignal dieses Sinusspannung schon hat. Die elektrische Eigenschaft eines Tyristors gibt es nicht her. Da sind auch nur deshalb 2 Tyristoren, weil du zwei Sinushalbwellen hast, eine positive und eine negative Halbwelle und ein Tyristor kann je nur eine! Wenn du die Tyristoren benutzen sollst, dann must du eine Ansteuerung für jeweils eine Sinushalbwelle programmieren. Das brauchst du bei einem Triac nicht --> ein Triac ist Quasi eine Schaltung mit 2 Tyristoren in einem Gehäuse, vereinfacht gesagt. Der Trafo in deiner Schaltung hat die Aufgabe das Ansteuersignal des LTC für BEIDE Halbwellen der SCHON eingespeisten Sinuswelle zu erzeugen. Theoretisch kannst du jede µController Dimmerschaltung auch für Tyristoren benutzen, die in der ZeroCross (Nullspannungserkennung) eine Vollweggleichrichtung (100Hz) hat und die Ansteuerung alle 10ms macht. Das du einen µControllercode nicht für einen anderen Prozessor aus der gleichen Familie umsetzen kannst, nehme ich dir nicht ab. Du must das nur dem Compiler mitteilen und wenn da das nicht kannst.....
Helmut schrieb: > Theoretisch kannst du jede µController Dimmerschaltung auch für > Tyristoren benutzen, die in der ZeroCross (Nullspannungserkennung) eine > Vollweggleichrichtung (100Hz) hat und die Ansteuerung alle 10ms macht. > > Das du einen µControllercode nicht für einen anderen Prozessor aus der > gleichen Familie umsetzen kannst, nehme ich dir nicht ab. > Du must das nur dem Compiler mitteilen und wenn da das nicht kannst..... Meinst du: zu dem Compiler mitteilen,dass ich ein PIC 16F690 , aber was wird mit der Adressierung und PIN sein? wenn es nicht was du gemeint hast, kannst du mir noch bitte erklären? Danke
Habe dir mal ein einfaches Beispiel aufgemalt, wie es mit einem Poti und einem Triac als Wechselspannungsschalter sein könnte: Ein Poti an einen analogen Eingang angeschlossen (Wertebereich 0 bis 1024) wird mit einem Zähler verglichen, dessen Takt kommt von einem Timer Taktfrequenz zB 10 µSekunden kommt. In 10 milli-Sekunden können die 10 µ-Sekunden ungefähr 1000 mal gezählt werden. Ideal um es mit dem Wert des analogen Einganges zu vergleichen. Der Zähler wird durch den Nulldurchgang der Wechselspannung resettet. Ist der Wert des Potis ungefähr halbe Stellung (ca 500 als ADC-Wert) wird der Vergleich dann positiv, wenn der Zählerwert (gespeist von einem Timer 10µs) auch >500 ist. Dann bekommt der Triac Spannung und zündet = Spannung wird zu dem Verbraucher durchgeschaltet. Abgeschaltet wird der Triac (genau wie ein Thyristor), wenn sein Haltestrom unterschritten wird. Also im Nulldurchgang der Sinus-Wechselspannung.
danke,habe verstanden. dh:was ich gefragt habe,ist allein von dem Pic nicht realisiertbart.Sollte ich den einfachen Dimmer Programmieren oder einfach dieses Beispiel,das oben gezeigt wird,für den PIC 16F690 umschreiben? danke
James Bond schrieb: > dh:was ich gefragt habe,ist allein von dem Pic nicht > > realisiertbart. Wieso sollte der PIC die oben gefordete Aufgabe nicht erfüllen können? Der Zündwinkel von 90 Grad entspricht einer Zeit (bei 50Hz) von 5ms. Das heißt, wenn du das Ansteuern des Triac um 5ms vezögerst, dann hast du den gleichen Effekt einer Ansteuerung mit einem Zündwinkel von 90 Grad. Rechnung: Sinus einer 50Hz Wechselspannung = 360 Grad = 20 ms = 1/50Hz Traust du dir zu die Port Zuweisungen von einem vorhandenen Programm zu verändern? Welchen Compiler benutzt du denn?
Helmut schrieb: > James Bond schrieb: >> dh:was ich gefragt habe,ist allein von dem Pic nicht >> >> realisiertbart. > > > Wieso sollte der PIC die oben gefordete Aufgabe nicht erfüllen können? > > Der Zündwinkel von 90 Grad entspricht einer Zeit (bei 50Hz) von 5ms. > > Das heißt, wenn du das Ansteuern des Triac um 5ms vezögerst, dann hast > du den gleichen Effekt einer Ansteuerung mit einem Zündwinkel von 90 > Grad. > > Rechnung: Sinus einer 50Hz Wechselspannung = 360 Grad = 20 ms = 1/50Hz > > Traust du dir zu die Port Zuweisungen von einem vorhandenen Programm zu > verändern? Doch traue ich mich die Port Zuweisungen von einem vorhandenen Programm zu verändern,natürlich wenn es nur darum geht,aber wenn ich noch umschreiben damit es auf dem PIC 16F690 lauft ,traue ich mich,weil ich schon ein paar versucht ahbe,den Compiler sagt immer "Build failed",und ich bin auch dabei zu lernen wie mann so was umschreiben,ob es nur die Port,um zu ändern oder gibt es noch was. Dazu bin ich kein Ass in der Programmierung,aber irgendwann werde ich auch gut darauf haben,weil Programmierung mir gefällt und seit dem ich diese Aufgabe habe,es ist einfach fasziniert,was mann alles damit machen kann. > > Welchen Compiler benutzt du denn? Ich benutze den Sofware MPLAB IDE V8.50 und den Compiler PICkit 2 ,um den Programm zu debuggen und zu schreiben.Ich habe den Complet Set von Microchip mit dem PIC 16F690 dabei zu hause und die Lampen sind schon angeschlossen, wenn ich was darauf probieren soll.
gibt es jemand der mir shcnell für diese programmierung helfen kann?Ihr seid meine letzen Hoffnung,sonst muss ich alles wieder nächste semester neue anfangen,und die gesamte Zeit,die ich schon verbracht mit der schaltung wird verschwinden sein. Bitte ,Bitte Hilfe.
Helmut schrieb: > So könnte die Schaltung aussehen: ich habe ein Programm gefunden der mit Assembler geschrieben ist,wollte wissen was meint ihr damit und ob es uns helfen kann und ob es schnell für den pic 16f690 umschreiben ist. Danke
diese AN958.zip ist ein PIC 10F206 als Triac in .asm programmiert,aber nicht auf dem PIC 16F690,weil ich mich nicht gut mit PIC und familie den PIC kenne,wollte wissen ,ob es möglich ist,es auf dem PIC 16F690 umzuschreiben ist. Danke
Ohne jetzt eine Diskussion "erbrechen" zu wollen, schaue dich nur um: Es gibt so viele Info`s, und du fragst so etwas.... Warum gibt es die 10er, 12er, 16er, oder 18er Typenvielfalt? http://www.sprut.de/electronic/pic/typen.htm Wann mußt du abgeben oder vorstellen und könntest du es dann auch erklären was du dann abgibst?
Helmut schrieb: > Ohne jetzt eine Diskussion "erbrechen" zu wollen, schaue dich nur um: > > Es gibt so viele Info`s, und du fragst so etwas.... Warum gibt es die > 10er, 12er, 16er, oder 18er Typenvielfalt? > > http://www.sprut.de/electronic/pic/typen.htm > > Wann mußt du abgeben oder vorstellen und könntest du es dann auch > erklären was du dann abgibst? heute hat den Prof zu mir gesagt,dass ich nächste Termin Mittwoch was zeigen soll,was ich schon gemacht habe,sonst fliege ich raus.JA ich könnte erklären was ich da abgibt,wenn ich was habe,werde ich versucht zu verstehen ,damit ich erklären kann,ich setze seit 17 h vor dem Computer um was zu machen ,damit ich mindestens was am Mittwoch zeigen kann,aber leider ist mir es nciht einfahc ,weil ich mich nciht kenne.Ich versucht jetzt stück von einpaar Programm mit Kommentar zu kopieren uun dbei mir was damit zu bastel ,hoffentlich kriege ich was für Mittwoch. danke für den Link
hey Helmut, hast du den ZIP datei dir angeschauet,was ich gepostet habe?
warum fehlt immer bei Building ein Project mit dem Sofware MPLAB IDE,wenn den Source mit asm geschrieben ist ,den datei typ .OBJ,kann mir erklären wie ich amchen soll,damit kein fehler noch dazu kommt. danke
Hier noch ein paar Links http://pcbheaven.com/circuitpages/PIC_DCV_Controlled_AC_Dimmer/ http://www.microchipc.com/sourcecode/#triac http://www.microchipc.com/sourcecode/PIC_Hi-Tech_C_Mike_Pearces_phase_controller_TRIAC_or_IGBT_50-60Hz.zip http://www.epanorama.net/links/lights.html in der Mitte sind Dimmer http://www.epanorama.net/links/lights.html#dimbasic
Danke ich werde versuch etwas für morgen zu machen, mal schauen Danke für Ihr Hilfe
Diese Programm war für den Plc 10F206 und ich habe versuch es für den PIC 16F690 zu ändern, aber es lässt mein MPLAB IDE jede mal, wo ich compilieren will, hängen. kann man mir jemand helfen? Ich brauche es dringend. Danke Schön
Ich habe ein PB mit den Code # include <p16F690.inc> den Compiler fünd es nicht woran kann das PB liegen? Ich habe es mit den Triac. asm , die ich oben geschrieben habe Danke für ihr hilfe
#include <p16F690.inc> ; processor specific variable definitions errorlevel -302 ; suppress message 302 from list file __CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & UNPROTECT \ & BORDIS & IESODIS & FCMDIS); ; '__CONFIG' directive is used to embed configuration word within .asm file. ; The lables following the directive are located in the respective .inc file. ; See data sheet for additional information on configuration word settings. ;************************** VARIABLE DEFINITIONS ****************************** cblock 0x08 OnCycles ; number of cycles on per total cycles ; 1 half wave = 1 cycle ; 120 cycles per second (60Hz times 2) CycleCounter ; cycle counter Toggler ; used to detect transistion on zero cross ; this register "toggles" back and forth so that ; a zero cross is detected DischargeTimer ; counts the number of cycles it takes to discharge ; the potentiometer RC circuit RAMTRIS ; this is a baseline part so I have to create my ; own tris register in RAM to keep track of my ; input and output pins (very important!) AutoSDTimerL ; counters for autoshutdown AutoSDTimerH AutoSDTimerZ Flag ; contains misc flags endc ;*************************** DEFINE STATEMENTS ******************************** ;; pin definitions #define LED TRISC,0 #define POT TRISA,0 #define TRIAC TRISC,3 #define ZEROX TRISC,2 ;; masks for manipulating the POT and triac pins #define POT_OUTPUT b'11111101' ; and with this to make pot pin an output #define POT_INPUT b'00000010' ; ior with this to make pot pin an input #define TRIAC_OUTPUT b'11111011' ; and with this to make triac pin an output #define TRIAC_INPUT b'00000100' ; ior with this to make triac pin an input #define TOTALNUMCYCLES .10 #define SETPOINT1 .190 #define SETPOINT2 .175 #define SETPOINT3 .150 #define SETPOINT4 .135 #define SETPOINT5 .120 #define NUMONCYCLES1 .0 #define NUMONCYCLES2 .2 #define NUMONCYCLES3 .4 #define NUMONCYCLES4 .6 #define NUMONCYCLES5 .8 #define NUMONCYCLES6 .10 #define SHUTDOWNACTIVE Flag,0 #define POTSTATE Flag,1 ;****************************** START OF CODE ********************************* org 0x00 movlw 0x40 ;****** REMOVE THIS LINE FOR PRODUCTION ****** movwf OSCCAL ; load the factory oscillator calibration value ;*********************************************************************** ******* ; InitializeSFRs - Initialize Special Function Registers ; ;*********************************************************************** ******* InitializeSFRs movlw b'01111000' ; turn on comparator movwf CMCON0 movlw b'00001010' ; Outputs: LED and Triac pins movwf RAMTRIS tris TRISC tris TRISA clrf TRISC,0 ; turn on LED and Triac clrf TRISC,3 movlw b'01000100' ; 1:32TMR0 prescaler: 1E-6 x 256 x 32= 8.192ms, weak pullups disabled option ;*********************************************************************** ******* ; InitializeVariables - Initialize Program Variables ; ;*********************************************************************** ******* InitializeVariables movlw 0x08 ; initialize Toggler to trigger on positive half-wave first movwf Toggler movlw 0 ; number of cycles on out of total cycles (120 cycles per second) movwf OnCycles clrf CycleCounter ; cycle counter clrf AutoSDTimerL ; Initialize Auto Shutdown Timer (set for 2 hours) clrf AutoSDTimerH movlw .13 movwf AutoSDTimerZ clrf Flag ;*********************************************************************** ******* ; Loop - Main program loop ; - wait for zero cross pin to toggle ; - check to see if triac should conduct during this half-cycle ; * if it should conduct then pulse the gate of the triac ; - if in the positive half-cycle, then call PotReadState0 to charge capacitor ; - if in the negative half-cycle, then call PotReadState1 to time the discharge of the RC circuit ; ;*********************************************************************** ******* Loop clrwdt ; clear Watch Dog Timer movf TRISC2,w ; mask ZEROX bit andlw 0x08 xorwf Toggler,w ; check against toggler (did ZEROX make a transition?) btfss STATUS,Z goto Loop ; no, then loop movlw 0x08 ; yes, then toggle toggler and move on xorwf Toggler,f clrf TMR0 ; clear the timer at zero cross movf OnCycles,w ; if this is an on cycle then turn on triac subwf CycleCounter,w ; otherwise leave triac off and continue btfsc STATUS,C goto EndLoop bsf TRIAC ; pulse Triac gate to turn it on EndLoop incf CycleCounter,f ; increment cycle counter movlw TOTALNUMCYCLES ; if total cycles reached then clear cycle counter subwf CycleCounter,w btfsc STATUS,C clrf CycleCounter btfss POTSTATE goto PotReadState0 ; charge capacitor in potentiometer read circuit btfsc POTSTATE goto PotReadState1 ; time decay of capacitor goto Loop ;*********************************************************************** ******* ; PotReadState0 - Charge the capacitor in the Potentiometer RC circuit ; - turn off comparator ; - charge Poteniometer RC capacitor ; - turn off triac gate after 2ms ; - toggle potentiometer read state ; ;*********************************************************************** ******* PotReadState0 bcf CMCON0,CMPON ; turn off comparitor movf RAMTRIS,w andlw POT_OUTPUT ; make POT pin an output movwf RAMTRIS tris TRISA,0 tris TRISC bsf POT ; charge cap bsf POTSTATE ; ready for next state clrf DischargeTimer ; initialize capacitor discharge timer clrwdt ; clear Watch Dog Timer btfss TMR0,6 ; wait 2ms and turn off triac goto $-2 bcf TRIAC ; turn off Triac Gate goto CheckAutoShutDownTimer ;*********************************************************************** ******* ; PotReadState0 - Release capacitor in potentiometer read circuit and measure ; its decay time ; - configure comparator for read ; - turn off triac gate after 2ms ; - check for comparator trip ; - once tripped, save TMR0 value ; - based on this value set the number of on cycles ; ;*********************************************************************** ******* PotReadState1 bsf CMCON0,CMPON ; turn on comparator movf RAMTRIS,w iorlw POT_INPUT ; make pot pin an input, RC circuit starts to discharge movwf RAMTRIS tris TRISA,0 bcf POTSTATE ; ready for next state clrwdt ; clear Watch Dog Timer btfss TMR0,6 ; wait 2ms and turn off triac goto $-2 bcf TRIAC ; turn off Triac Gate CheckForComparatorTrip clrwdt ; clear Watch Dog Timer btfsc CMCON0,CMPOUT goto CheckForComparatorTrip movf TMR0,w movwf DischargeTimer LookupTable movlw SETPOINT1 ; check Discharge Time against first setpoint subwf DischargeTimer,w btfss STATUS,C goto NextLookup1 ; if measured time is lower then goto next setpoint comparison movlw NUMONCYCLES1 ; otherwise, set number of on cycles appropiately movwf OnCycles bcf LED ; Turn off LED bcf SHUTDOWNACTIVE ; Reset SHUTDOWNACTIVE Flag if POT is turned to off clrf AutoSDTimerL ; Initial Auto Shutdown Timer when burner is off clrf AutoSDTimerH movlw .13 movwf AutoSDTimerZ goto CheckAutoShutDownTimer NextLookup1 btfsc SHUTDOWNACTIVE goto CheckAutoShutDownTimer bsf LED ; Turn on LED movlw SETPOINT2 subwf DischargeTimer,w btfss STATUS,C goto NextLookup2 movlw NUMONCYCLES2 movwf OnCycles goto CheckAutoShutDownTimer NextLookup2 movlw SETPOINT3 subwf DischargeTimer,w btfss STATUS,C goto NextLookup3 movlw NUMONCYCLES3 movwf OnCycles goto CheckAutoShutDownTimer NextLookup3 movlw SETPOINT4 subwf DischargeTimer,w btfss STATUS,C goto NextLookup4 movlw NUMONCYCLES4 movwf OnCycles goto CheckAutoShutDownTimer NextLookup4 movlw SETPOINT5 subwf DischargeTimer,w btfss STATUS,C goto NextLookup5 movlw NUMONCYCLES5 movwf OnCycles goto CheckAutoShutDownTimer NextLookup5 movlw NUMONCYCLES6 movwf OnCycles goto CheckAutoShutDownTimer ;*********************************************************************** ******* ; CheckAutoShutDownTimer - If the range has been on continuously for 2 hours ; then shut it off ; - auto shutdown timer overflows at 1 hour 58min and 12sec ; - when it overflows, turn off triac and LED ; - will reset when user interrupts power or turns dial back to no cycles on ; position ;*********************************************************************** ******* CheckAutoShutDownTimer incfsz AutoSDTimerL,f goto Loop incfsz AutoSDTimerH,f goto Loop decfsz AutoSDTimerZ,f goto Loop AutoShutDownTripped bsf SHUTDOWNACTIVE ; set flag to indicate that auto-shutdown is active clrf OnCycles ; turn off triac and status LED bcf LED goto Loop END ; directive 'end of program' IST DAS FÜR DEN PIC 16F690 RICHTIG?DEN INCLUDE DATEI UND DEN FILE TYP .OBJ IST NICHT VON DEM COMPILER ZU FINDEN. wie kann ich es haben.danke
Bei mir liegt die Include-datei hier: C:\Programme\Microchip\MPASM Suite\P16F690.INC Ich gehe davon aus, dass das bei den anderen MPLAB Installationen auch so ist. Grüße, Peter
Solltest mal die 60 Hz gegen 50Hz tauschen, ob dann die anderen Zeiten (Cyclecounter) stimmen? Hast du denn ein Hex-File davon bekommen? Wenn ja muß man wohl im Mlab anwählen, dass er OBJ erzeugt, kenne mich in Asm nicht aus.
Helmut schrieb: > Solltest mal die 60 Hz gegen 50Hz tauschen, ob dann die anderen Zeiten > (Cyclecounter) stimmen? > > Hast du denn ein Hex-File davon bekommen? > > Wenn ja muß man wohl im Mlab anwählen, dass er OBJ erzeugt, kenne mich > in Asm nicht aus. leider hatte ich kein Hex-File davon bekommen.
Peter Diener schrieb: > Bei mir liegt die Include-datei hier: > C:\Programme\Microchip\MPASM Suite\P16F690.INC > > Ich gehe davon aus, dass das bei den anderen MPLAB Installationen auch > so ist. > > Grüße, > > Peter Danke, ich habe den file gefunden und in den Projekt dazu gemacht, trotzdem Kann es nicht geöffnet werden. Was Kann ich den wohl tun? Danke
@alle ich weiß, dass viele Leser über das Problem von 007 den Kopf schütteln. Ich habe von ASM null Ahnung, mache meine Dinge mit Basic Compilern und mit dem leider eingestelltem Projekt "PARSIC". Kann jemand James erläutern, wie er seinen ASM-Code mit MLAB konvertieren kann? Ich habe es auch mal versucht, bin aber auch gescheitert.
007 hat mehr Probleme, als er jetzt sieht. 1. Er versteht die Aufgabe nicht. 2. Er hat die Zeit für die Lösung vollkommen schleifen lassen. 3. Er hat keine Ahnung von uCs. 4. Ich befürchte auch, daß er keine Ahnung von Elektronik hat. R.I.P. ...
ich entschuldige mich,wenn ich am anfang nicht zu euch gesagt habe,dass ich mich nicht mit uCs kenne und dass ich keine Ahnung mit Programmierung habe,dass es mein erste mal wo ich davon erfahren habe und gleichzeitig ,dass mir ein solche aufgabe gefragt ist.Kann sein,dass ich nicht gut verstanden was zu mir als Aufgabe ist,weil ich mich mit uCs nicht kenne.Und dazu ich weiß nciht wie lange ihr gehabt,um es zu lernen.Aber die Zeit habe ich nicht,weil ich auch anderen Praktika an der UNI habe und für den Gleiche Projekt habe ich nicht nur den Programmierung.D.h :ich versucht meine Zeit umzustellen,damit ich alles in Griff bekomme,naja obwohl ich neue mit PIC und sozusagen mit uCs bin,sollte ich irgendwie mit der zeit die ich habe es schaffen,wie werde ich es schaffen ,weiß ich noch nicht.und weil ich neue auf uCs bin,habe mich auf diese Forum angemeldet,weil ich denke dass ich hier Hilfe von leute finden werde,die schon erfahrung damit haben. Ich danke Ihnen für Ihr Hilfe und für Ihr Verständnis.
Was hälst du davon, wenn du dich schon nicht in µC auskennst, mit einem kleinen Projekt an zu fangen ? Da lernt man am meisten, den µC zu verstehen. Wenn du keine Zeit dafür hast, dann ist es sowieso sinnlos, da überhaupt ein zu steigen. µC zu verstehen braucht Zeit, und das kann man nicht in ein paar Wochen lernen.
Peter K. schrieb: > Was hälst du davon, wenn du dich schon nicht in µC auskennst, > mit einem kleinen Projekt an zu fangen ? > Da lernt man am meisten, den µC zu verstehen. > Wenn du keine Zeit dafür hast, dann ist es sowieso sinnlos, > da überhaupt ein zu steigen. µC zu verstehen braucht Zeit, > und das kann man nicht in ein paar Wochen lernen. Ja,dass war mir schon klar dass mann uC in ein paar Wochen lernen kann,dass mann ZEit dafür sich geben soll,wo ich es von den Prof und dafür angefang auf Internet was zu suchen.Aber ich habe mir gefragt,ob ich zu denn Prof sagen soll,dass ich kein Zeit dafür habe.Weil es ein Labor an der UNI ist.Und wo ich mich auf den Forum angemeldet habe,dachte ich für erfahrene,würde es einfach sein ,oder dass ich was auf interne finden kann,der fast fertig ist,aber danach auch mit fastfertig ist ,ist auch nciht einfach so möglich auf sien PIc einzusetzen ,wenn mann denn uCs nicht kenne.Ich habe mir einfahc alles möglich ausgesuch,ich hatte auch den Sofware Flowcode für PIC,dachte wäre einfahc für mich damit,leider ist auch nciht einfach.Leider kann ich nciht aufgeben,weil ich es brauche,um den LAbor zu bestehen. Als Klein Projekt hatte ich mit "Hallo Word" angefang,aber kamm kein LIcht auf mein Platine ,wo ich den PIC zu testen montieren habe.Dann habe ich auch versuch die beispiel,von PIC zu schauen,leider konnte ich bei mir die beispiel nicht öffnen,weil die verschlüssel sind. NAja ihc suhce immer weiter,eine Lösung zu finden,weil ich es brauche. danke
Kann mir jemand bitte sagen ob ich diese Config: _BODEN_OFF & _LVP_OFF von PIC 16F876 mit _CP_OFF & _CPD_OFF für PIC 16F690 Danke
ist möglich ein PIC auf einem WechselNetz anzuschliessen und den signal den Netzt zu steueren? Wenn ja,wie? danke
Wenn du der Deutschensprache nicht mächtig bist, dann schreib doch in Englisch. Wenn du das besser kannst. Ich versteh nämlich nur Bahnhof. Sorry........
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.