Neueste Beiträge

#21
P
Elektronik allgemein / Aw: Gabelstapler 1980
Letzter Beitrag von picass - 13.07.2024, 10:22:46 CEST
Zitat von: ^Cobra in 03.07.2024, 06:37:09 CESTLeider zickt derzeit mein zweites Auto rum wo ich krampfhaft versuche die Radnabe zu tauschen o.O Somit liegt sowohl der Stapler als auch meine Garten-Werkstatt-Hütte mal wieder hinten.
Es sieht übel aus....! :'( Nicht nur wegen Bidens Alterungserscheinungen und dem Kriegsgetümmel im Osten und Südosten....., es reichen schon vermeintlich harmlose Umstände, um lahm gelegt zu werden: erst der Kauf eines neuen-gebrauchten Autos, dann der Kampf gegen Rollladenprobs und nun ist es mein 18 Jahre alter Wagen mit seiner Luftfederung, die rum zickt. Das ist so kompliziert, dass es die Spezialisten im speziellen Unterforum des speziellen Autoforums zu überfordern scheint. Und was soll ich da als kleiner Wicht sagen, der sich nicht als Schrauber (Mechanik), sondern als Elektroniker betrachtet? Wie gerne würde ich zum Lötkolben oder zum neuen PICkit5 oder dem mit frischem Akku bestückten Notebook zwecks einiger Programmier-Orgien greifen, aber ach......
Grüße, picass

#22
O
Projekte und Eigenbau / Aw: ASM-Projekt PIC16F1827 o....
Letzter Beitrag von Ottmar - 12.07.2024, 17:34:30 CEST
Hallo
Indem ich gerade beim vorangegangenen Thema war, habe ich mir auch gleich noch den Capture-Mode angeschaut.

Capture Mode
Dieser bietet die Möglichkeit 1, 4 oder 16  ansteigende Flanken einer Impulsfolge "einzufangen". Eine fallende Flanke ist nur als Einzelereignis zu erfassen. Will man nur die Zeit für High oder Lowpegel erfassen, kann zwischen den unterschiedlichen Flanken umgeschaltet werden.

Bei der Erfassung von 4 und 16 rising edges erhält man nach 2maligem, bzw. 4maligem  Rechtschieben von CCPR1H:L die durchscnittliche Periodendauer und damit eine verbesserte Genauigkeit.
Beiliegende Codebeispiele zeigen die Initialisierung des Capture-Mode (CCP1).
vgl. Anlage 05 Code-Auszug Capture & C1.pdf

Vorverstärker/Comparator C1 für Analogsignale
Um die Schaltung universeller zu verwenden, wurde der unabhängige interne Comparaor C1 des PIC16F1827 so beschaltet und programmiert, daß dieser auch niedrigere Eingangspegel von Anlogsignalen auf TTL-Niveau umformt und so deren Periodendauer messbar macht.
Je nach Beschaltung ist die erforderliche Hysterese und der Triggerpegel in weitem Bereich durch die Beschaltung einstellbar (siehe Schaltplan)

Ein wenig Fleißarbeit ist es, die Zuordnung der invertierenden und nicht invertierenden Eingänge zu den Portpins herauszufinden. Hinweise auf die Seite im Datenblatt erfolge z.B. so: >DS.185<.

Bilder:
01 Ausgabe von Capture(4,16 )Rising Edge (verschieden Modi). Das "H" in Zeile 2, ganz rechts bedeuted, daß der Programmlauf angehalten wurde um auch die letzte, sstets wechselnde Stelle
ablesen zu können
02 Osziilogram Sinus 500mV/Teil, Rechteck 1,44V/Teil  mit deutlicher 
      Hysterese  (DeltaY = 0,51V)
03 LTspice Schaltung, mit OPA TS812 als Beispiel
04 Signalverlauf mit LTspice. die grüne Linie (Vout) liegt etwa in der
      Größenordnung von Uf der Schutzdiode am Eingang unter dem 0V-Niveau.
     grün: Vout Vp 5V
     blau: Input Sinus Vpp 4V,
     gelb: Triggerschwelle
     lila: Sinus und Hysterese direkt am nicht invert. Eingang, entsprechend, dem dortigen Spannungsteiler 
          10k-10k. Siehe dazu das "echte"Oszillogram Bild 2
05 Code-Auszug Capture & C1.pdf
#23
O
Projekte und Eigenbau / Aw: ASM-Projekt PIC16F1827 o....
Letzter Beitrag von Ottmar - 07.07.2024, 12:28:05 CEST
@picass

Zitat von: picass in 30.06.2024, 10:42:35 CESTDie Länge der 2 Haupt-Impulse stellt die Größe der Temp oder der Pegelhöhe dar. Siehe Bild.
Das wäre eine Anwendung für Komparatoren und Timer.
Grüße, picass
Dein Lieblingspic 18F14K22 hat zwar kein Timer1 Gate-Modul, dafür aber Capture, das wohl auch für diesen Zweck eingesetzt werden kann. Auch hier kann der TIMER1-Count zwischen zwei Flanken erfasst werden.
0100 = Capture mode, every falling edge
0101 = Capture mode, every rising
vgl. Datenblatt zu  18F14K22 "13.0 ENHANCED CAPTURE/COMPARE/PWM(ECCP) MODULE

mfg Ottmar
#24
O
Projekte und Eigenbau / Aw: ASM-Projekt PIC16F1827 o....
Letzter Beitrag von Ottmar - 06.07.2024, 15:45:37 CEST
Hallo piicass
habe erst jetz Deinen Beirag richtig gelesen. Das von mir beschriebene TIGM köönte doch hilfreich sein:
Die Startsequenz aussortieren, dann die beiden Pulse als Gate verwenden und die
Zählimpulse während der Gatephase ins Verhältnis zu Ölstand und Öltemperatur setzen....?
TIMER1-Zähltakt kann ja mit dessen Vorteiler an die Gate-Zeiten angepasst werden.

mfG Ottmar

#25
O
Projekte und Eigenbau / Aw: ASM-Projekt PIC16F1827 o....
Letzter Beitrag von Ottmar - 06.07.2024, 15:25:33 CEST
Mein Projekt "TMR1-Gate Modul (T1GM)" ist us meiner Sicht fertig und ich fasse mal zusammen:

Mit dem T1GM kann man
a) die Dauer zwischen zwei Flanken-Ereignissen messen
b) Ereignisse in einem bestimmten Zeitbereich zählen.
Als Timer1-Taktquelle und/oder Flankenereignisse können sowohl interne Ereignisse,als auch von außen zugeführte Ereignisse verwendet werden.

Die Messgenauigkeit ist sogar mit meinem bescheidenen Steckbrettaufbau und der Verwendung des internen Oszillators (4MHz) recht gut. Kommt es auf den letzten Zählimpuls an, benötigt man quarzstabilisierte Impulsfolgen  für den TIMER1 und/oder das Gate.

Mit dem 16bit-Timer1 und der von mir gewählten Impuls-/Flankenquellle, sind Pulsweiten HIGH oder LOW, sowie Periodendauer bis max 2^16us recht genau messbar. Der Timer verfügt über einen internen Vorteiler bis 16:1 und unter Verwendung des TMR1-Überlaufflag kann eine fast beliebige Erweiterung der Bitbreite /des Zählbereiches vorgenommen werden.

Bedenkt man, daß nicht nur der Arbeitstakt (fosc/4)sondern auch der Oszillatortakt (fosc) für die Zählimpulse des TIMER1 verwendet werden kann und daß der PIC16F1827 bis fosc 32MHz verwendbar ist, eröffnen sich sehr kurze Zeitspannen für Messungen.

Die Initialisierung des T1GM für Pulsdauer und Periode ist einfach, wie nachstehender Beispielcode zeigt.

Hauptprogramm
main:
   CALL     TM1G_Pulse_HIGH      ;22382wc (22.382ms) TMR1G-Routinen
   CALL     TM1G_Pulse_LOW
   CALL     TM1G_Periode  
   CALL     TM1G_Frequenz
   CALL     TM1G_DutyCycle 
   ;
   btfss    KeyPress,KEY1      ;wurde Taste gedrückt?
   CALL     HoldCurrentState   ;Ja Programm anhalten
   GOTO     main

Initialisierung TMR1-Gate-Modul
TM1G_Pulse_HIGH:              ;Debug 1739ms=0x06CB
   movlw    b'00000000'       ;clock fosc/4, Presc.1:1,TMR1 OFF
   movwf    T1CON  
   movlw    b'11010000'       ;TMR1G enabled,activ HIGH,sgl.puls mode,
   movwf    T1GCON            ;TMR1 Gate source TMR1 input pin RB0
   CALL     TMR1_Gate

TM1G_Periode:                 ;Debug 8251us=0x203B
   movlw    b'00000000'       ;clock fosc/4, Presc.1:1,TMR1 OFF
   movwf    T1CON  
   ;
   movlw    b'10110000'       ;enabled,activ LOW,sgl.puls mode,
   movwf    T1GCON            ;TMR1 Gate source TMR1 input pin RB0
   CALL     TMR1_Gate

TMR1_Gate: 
   clrf     TMR1H             ;vlear TIMER 1
   clrf     TMR1L
   bsf      T1CON,TMR1ON   ;b0=1 Start TMR1
   bsf      T1GCON,T1GGO   ;b3=1 Gate startbereit wartet auf Flanke
   btfsc    T1GCON,T1GGO   ;Gate geschlossen? T1GGO=0? 
   GOTO     $-1
   copy     TMR1H,tmpTMR1H  ;TMR1:H in Arbeitsvariable kopieren 
   copy     TMR1L,tmpTMR1L
   RETURN

Interne Komparatoren - Verwendung von C2 Als astabiler Multivibrator

Die Komparatoren C1,C2 lassen sich unabhänging betreiben und können rasch programmiert werden. Die Impulse meines mit dem C2 aufgebauten AMV haben eine Flankensteilheit (1-90%) von ca. 68ns.
Mt 2 Widerständen und einem Kondensator lassen sich, wie die unten stehende Tabelle zeigt, variable Frequenzen erzeugen.

Ebenso einfach ist die Initialisierung des Komparators C2:
   BANKSEL  TRISA          ;bank1
   clrf     TRISA
   bcf      TRISA,RA4      ;(03) Comparator2 C2OUT 
   bsf      TRISA,RA3      ;(02) "           C2IN-
   bsf      TRISA,RA2      ;(03) "           C2IN+
   BANKSEL  ANSELA         ;bank3
   clrf     ANSELA         ;RB7:0 digital IO
   bsf      ANSELA,RA3     ;(02) Comp.2 analog  C2IN-
   bsf      ANSELA,RA2     ;(03) "    " "       C2IN+   

;--Komparator C2
   BANKSEL  CM2CON0        ;bank2 S.162ff, 170
   movlw    b'10100000'    ;vgl. MACROS.INC
   movwf    CM2CON0
   bsf      CM2CON0,C2HYS   ;Hysterese 65mV
   ;
   movlw    b'00000011'     ;11 = C2VN connects to C12IN3- pin RA3
   movwf    CM2CON1

Die Bauteile in der von mir am 26.6. mitgeeiltenSchaltung können weitgehend veränert werden und erlauben eine vielfältige Variation der Pulsbreiten bzw. der Periode.

Allgemeines zum C2-Komparatormodul
Die Komparatoren C1,C2 lassen sich unabhänging betreiben und können rasch programmiert werden. Die Impulse meines mit dem C2 aufgebauten AMV haben eine Flankensteilheit (1-90%) von ca. 68ns. 

Nachstehend eine Übersicht zu den Ergebnissen bei unterschiedlicher Bemessung von C1 (Schaltung aus meinem Beitrag vom 26.06.2024).
C1           2,2uF  680nF 100nF  22nF  1nF    Cx*
fmin (Hz)ca. 15     34    377	 675   15800  ?
fmax (Hz)ca. 18     60    418	 1180  27700  460kHz
Cx* C1 ist die parasitäre Kapazität zwischen  benachbarten 
Steckbrettkontakten.

mfG Ottmar
#26
P
Elektronik allgemein / Aw: Gabelstapler 1980
Letzter Beitrag von PICkel - 03.07.2024, 12:35:50 CEST
Sooo,

also hier die korrigierte Schaltung.
Es sei noch dazu gesagt, dass es sich nur um eine Prinzipdarstellung handelt. In der Realität wird da u.U. schon einiger Mehraufwand getrieben, als Beispiel sei die Tröger- Schaltung genannt.
Eine Erklärung gibt's hier:

https://www.youtube.com/watch?v=C4iXrNoWYII
(Kann man eigentlich den dämlichen Werbevorspann abstellen?)

Gruß
PICkelThyristor.png

#27
^
Elektronik allgemein / Aw: Gabelstapler 1980
Letzter Beitrag von ^Cobra - 03.07.2024, 06:37:09 CEST
Moin Jungs!
Ihr seid schneller als ich arbeiten kann...
Also:
Ja im Grunde läuft es so wie PICkel geschrieben hat. Es gibt eine Recht gute Doku über diese Stapler Steuerung welche der Kollege von ein Stapler Service Firma netterweise erhalten hat. Der Kondensator hatte noch recht genau seine Kapazität, dies haben wir nachgemessen. Und ja, der war schon etwas größer :P

Leider zickt derzeit mein zweites Auto rum wo ich krampfhaft versuche die Radnabe zu tauschen o.O Somit liegt sowohl der Stapler als auch meine Garten-Werkstatt-Hütte mal wieder hinten.

#28
P
Elektronik allgemein / Aw: Gabelstapler 1980
Letzter Beitrag von picass - 02.07.2024, 16:53:06 CEST
Der "Klinker" hats gerichtet. Also fast, bis auf den Zeichnungsfehler. >:D Gibst noch eine Korrektur-Zeichnung?
Jetzt wo du es sagst, so ganz düster....da war doch mal was......? ::)

Da muss aber schon ein sehr, sehr fetter Kondensator sitzen, der es schafft, mit seiner Energie gegen die irre fetten Ströme im Lastzweig anzukämpen. Is klar, da reicht wohl schon eine Milli-Sekunde, aber dennoch... NIcht auszudenken, was wäre, wenn  der Elko irgendwann seine Kapazität nennenswert einbüßt und der Hautzweig nicht mehr abgeschaltet wird.
Danke für die Erinnerung.
Grüße, Bernd
#29
P
Elektronik allgemein / Aw: Gabelstapler 1980
Letzter Beitrag von PICkel - 01.07.2024, 18:45:12 CEST
Entschuldigung, Korrektur!
Da hat sich bei der Schaltung leider ein Fehler eingeschlichen:
Bei leitendem Arbeitsthyristor ist die Spannung über C1 gleich Null. Also kann bei gezündetem Löschthyristor kein Stromfluss zustande kommen. R2 muss als Ladewiderstand geschaltet werden (linker Anschluss an Betriebsspannung).
Dann wird beim Zünden von T2 die Anode von T1 mit umgekehrter Polarität beaufschlagt und T1 sperrt.

Gruß
PICkel


#30
P
Elektronik allgemein / Aw: Gabelstapler 1980
Letzter Beitrag von PICkel - 01.07.2024, 15:46:25 CEST
Zitat von: picass in 01.07.2024, 12:30:13 CESTAber wofür dann doch noch ein Lösch-Thyristor?

Wenn ich mich dazu mal "einklinken" darf:

Ein Thyristor bleibt nach dem Zünden solange leitend, bis sein Haltestrom unterschritten wird.
Bei Wechselspannung passiert das periodisch beim Nulldurchgang der Wechselspannung.
Bei Gleichspannung/Gleichstrom und einer im Wesentlichen ohmschen Last bleibt normalerweise der Stromfluss im Bereich oberhalb des Haltestroms und der Thyristor sperrt nicht.
Man muss also dafür sorgen, dass durch geeignete Maßnahmen der Stromfluss kurzzeitig den Haltestrom unterschreitet. Das wird normalerweise über einen zweiten (Lösch-)Thyristor realisiert. Dieser schaltet einen Kondensator parallel zum Arbeits- Thyristor und erzeugt dadurch quasi einen Kurzschluss, der zum Unterschreiten des Haltestromes am Arbeits- Thyristor und zu dessen Löschung führt. Ist der Kondensator geladen, fällt auch der Strom des Löschthyristors unter dessen Haltestrom und die Schaltung geht in den nichtleitenden Zustand.
Der Löschkondensator wird durch einen Entladewiderstand entladen.

Ich nehme an, dass auch im vorliegenden Fall so vorgegangen wird.

Gruß
PICkel
Thyristor.png