Liste der Anhänge anzeigen (Anzahl: 1)
Update ...
heute habe ich mich noch mal mit dem Power_Management der Module beschäftigt ...
Der Master kann darüber die Module einzeln abschalten und so auch bei Störungen dieses neu starten,
zum Glück habe ich heute eine Lieferung MosFet bekommen,
denn alle Ports vom Modul müssen vor dem Abschalten vom System-BUS getrennt werden.
Der abgeschaltete Controller zieht sonst alle Leitungen runter.
Schaltet der Master das Modul ein Power_EN = HIGH wird das Modul und alle angeschlossenen Baugruppen mit Strom versorgt,
der PIN PD6 wird als Ausgang geschaltet und auf 1 gesetzt, durch das Power_EN am FET wird dieser PIN aber auf LOW gezogen.
Schaltet der Master nun auf Power_EN = LOW werden alle Leitungen vom BUS getrennt, am PIN PD6 liegt nun HIGH an und erhält so die Stromversorgung für das Modul, in einer Timer-Routine wird dieser PIN abgefragt, ist dieser HIGH wird zu einem Label (Abschalten ) gesprungen,
alle wichtigen Parameter können nun ins EEProm geschrieben werden, danach wird PD6 auf LOW gesetzt, die abschalt Routine wartet nun
in einer do / Loop Schleife solange bis das Modul aus ist ...
Anhang 31883
Liste der Anhänge anzeigen (Anzahl: 2)
Update ...
habe das Bus-Konzept noch mal überarbeitet und die Module entsprechen angepasst.
Die Module haben alle eine Grundschaltung die das abtrennen vom BUS beim abschalten beinhaltet und einheitliche LED-Anzeigen
für ( POWER / I2C-Transfer / Ready-Event / NOT-AUS )
Anhang 31892 Anhang 31893
hier ein kleines Video, wo man mal die BUS-Funktion und das fertige Modul(Antrieb) sehen kann... VIDEO
Liste der Anhänge anzeigen (Anzahl: 1)
Update ...
da ich mich als nächstes mit den Schleifen-Sensoren und dessen Modul beschäftigen möchte,
brauche ich erstmal einen Schleifen-Strom Generator ...
Die Leiterplatte wird auch gleich später noch die Steuerung der Basis-Station (Garage) übernehmen,
dieses Basis-Modul kann über den gleichen RS-232 Transmitter wie der PC und der Bot mit diesen dann auch kommunizieren.
Aufbau Basis-Modul mit vorerst nur dem Schleifen-Strom Generator:
Anhang 31903
Der Schleifen-Strom-Kondensator wird über ein MosFet(P-Kanal) geladen, wobei die Ladespannung vom MCU überwacht wird und beim erreichen des Soll-Wert
abgeschaltet wird, dann wird die Strom-Schleife an den geladenen Kondensator geschaltet über ein MosFet(N-Kanal) ...
Die beiden mosfets werden über spezielle Treiber angesteuert, um die Flanken möglichst steil zu bekommen ...
Die Nand-Gatter dienen allein nur der Verriegelung, so das immer nur ein mosfet durchgesteuert werden kann ...
Das dazugehörige Test-Programm, kann über die RS-232 mit folgenden Befehlen gesteuert werden,
LOOP_OFF
LOOP_ON|xxx
(xxx = Sollwert CU Lade-Schluss-Spannung)
HTML-Code:
1
xxx = UC * ------------------
5V/1024 * 3,16
Code:
' Projekt Mäh-Roboter
' R. Greinert
' 08 / 2016
'
' Basis-Modul
'
' - Strom-Schleife ( Test-Programm )
'
' ------------ Bascom - Parameter ------------------------
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 100
$swstack = 100
$framesize = 100
$baud = 19200
' ------------ DIM ------------------------
Dim T1x As Byte ' Zähler 1/1000
Dim T2x As Byte ' Zähler 1/100
Dim T3x As Byte ' Zähler 1/10
Dim Loop_on As Byte
' ------------ ADC ------------------------
Config Adc = Single , Prescaler = Auto
Dim Adc_w As Word ' analog - wert
Dim Adc_s As Word ' AD sollwert
' ------------ Ports-Config ------------------------------
Config Portb.0 = Output ' Laden
Config Portb.1 = Output ' Entladen
Config Portb.5 = Output ' Herzschlag
Portb.0 = 0
Portb.1 = 0
' ------------ RS232 - Input ------------------------
Config Serialin = Buffered , Size = 40
Dim Na As String * 30 ' RS232 Input-String
Dim Nax As String * 30 ' RS232 Input-UCASE-String
Dim Si As Byte ' RS232 Input Zeichen
' ------ Split -------
Dim Sb As Byte ' Split_Zähler
Dim Sbx(5) As String * 10 ' Split_Array
' ------------ Timer_0 Zeitvorgabe ------------------------------
Config Timer0 = Timer , Prescale = 256
On Ovf0 Timer0_ovf
Enable Timer0
Enable Interrupts
Print "Start_Main"
Do
If Ischarwaiting() <> 0 Then
Si = Inkey()
If Si <> 13 And Si <> 10 And Len(na) < 30 Then
Na = Na + Chr(si)
Else
Nax = Ucase(na)
Sb = Split(nax , Sbx(1) , "|")
If Sbx(1) = "STATUS" Then
Print "ACK|" ; Nax
Elseif Sbx(1) = "LOOP_ON" Then
Print "ACK|" ; Nax
Adc_s = Val(sbx(2) )
Loop_on = 1
Elseif Sbx(1) = "LOOP_OFF" Then
Print "ACK|" ; Nax
Loop_on = 0
Portb.1 = 0
Else
Print "NAK|" ; Nax
End If
Na = ""
End If
End If
Loop
Timer0_ovf:
' ---- Timer_0 ----- Interrupt alle 1 mS ----------------
Timer0 = 194 ' Resrwert = 61
Incr T1x
Adc_w = Getadc(7) ' AD_7 einlesen
If Adc_w > Adc_s Then Portb.0 = 0 ' Sollwert(UC) ereicht = Laden abschalten
If T1x > 9 Then
' -------- Zeitbasis 10 mS ------------------
Incr T2x
T1x = 0
If Loop_on = 1 Then
If T2x = 1 Then
' --- entladen ----
Portb.0 = 0
Portb.1 = 1
Elseif T2x = 4 Then
' --- laden ----
Portb.1 = 0
Portb.0 = 1
End If
End If
If T2x = 8 Then Portb.5 = 0 ' Herzschlag-LED (ein)
If T2x > 9 Then
' -------- Zeitbasis 100 mS ------------------
Incr T3x
T2x = 0
If T3x > 9 Then
T3x = 0
' ------------- Zeitbasis 1 Sec -------------------
' Print "AD=" ; Adc_w
Portb.5 = 1 ' Herzschlag-LED (aus)
End If
End If
End If
Return
Return
Liste der Anhänge anzeigen (Anzahl: 2)
Update ...
benötige da mal die Hilfe der Profis, komme mit meinem Wissen an die Grenze ...
habe die abgebildete Schalung so aufgebaut, das Entladen der ELKOS, derzeit mit 10.000 uF funktioniert super,
der MosFet (N-Kanal) 169A bleibt kalt ... bekomme bereits bei 6-9V Ladung super Sprikes in einer provisorischen
Sensor-Spule ( altes Relais 24V ) in der unmittelbaren Nähe der Schleife recht gute Ergebnisse.
Je nach Ausrichtung der Sensor-Spule zur Schleife sind die Sprikes komplett positiv oder negativ ...
Aufnahme-Leistung je nach Ladeendspannung der Elkos ... 6-12 Watt bei 12V
Was mir aber noch nicht gefällt, der MosFet (P-Kanal) 75A zum laden der Elkos wird recht warm ...
beide MosFet haben einen RDS von 0,02 Ohm ...
Eigentlich sollte der MosFet (P-Kanal) wie der N-Kanal mit diesen FET-Treiber voll durchsteuern, es liegen aber um die 0,5V am besagten Fet(S-D) ...
was habe ich nur übersehen ](*,)](*,)
Liste der Anhänge anzeigen (Anzahl: 1)
Update ...
habe heute noch mal den Schleifen-Generator überarbeitet ...
die Temperatur-Probleme an den Lade-MosFet habe ich einfach durch einen Kühlkörper beheben können,
Zum testen habe ich RL und Cx noch mal angepasst, RL je 18 Ohm und Cx = 3x 4700 uF.
Strom-Aufnahme des Generator bei 12V Ladespannung(100%) ca. 1,5A
Auch habe ich verschiedene Finder-Relais geopfert ... 24VDC / 24VAC und 230VAC
Mit der 230V Spule mit Kern habe ich die besten Ergebnisse bekommen,
in unmittelbarer Nähe des Schleifen-Draht hatte ich Wert um die 100V Peek, in der Schleife (3m Durchmesser) in der Höhe von 50 cm immer noch mehrere Volt ...
Morgen geht es wenn ich Zeit finde weiter, ansonsten nächste Woche ... jetzt geht es erstmal ins Bett