Perimeter Sender V2.0 PCB 1.0 Erfahrungsaustausch

Stephan hat recht und gibt Einen aus.

Weder das was grün blinkt, noch rot leuchtet. Aber die Schleife arbeitet lt. Oszi und der Treiber wird nach längerer Zeit auch minimal warm. Im Serial Log kann ich ja auch die Funktionen sehen (an-abschalten der Schleife und Ladestrom.

Grüße
Mario
 
Hi,

die Duo-LED M1_DuoLED-Schleife1_Rot wird an A6 des Nanos auch niemals leuchten, oder?
A6/A7 sind meines Erachtens nur Eingänge.

Ich habe sie jetzt an D10 gehängt - zumindest kann ich sie jetzt schalten :)

Mein MC33926 wird auch ziemlich warm während des Betriebs - gibt es da eventuell schon Abhilfe?

Vielen Dank,

Thomas
 
Ich hatte heute wieder meinen kleinen Studiernachmittag (Sturm über Niedersachsen!) und will es nun nochmal ganz genau wissen. Wer erbarmt sich freundlicherweise meiner und erweitert meinen Mangel an Fachwissen und Logik?

1) Schleifensender V2 (PCB V1): Verwendung der Potis

Laut aktuellem Schaltplan (Azurit 1.0.a4, Github) liegt Poti 1 an Nano A3, Poti 2 an Nano A7. Das finde ich auf dem Sender-PBC mit Poti RV1 an Nano A3, Poti RV2 an Nano A7 auch bestätigt. Im aktuellem Code Sender V2 azurit 1.0.a4 (Github) findet sich in Zeile 50-53 lediglich der Verweis auf Poti 1:

// ---- sender current control (via potentiometer) ----
// sender modulates signal (PWM), based on duty-cycle set via this potentiometer
#define USE_POT 0 // use potentiometer for current control? (set to '0' if not connected!)
#define pinPot A3 // 100k potentiometer (current control)


In den Codezeilen 324-327 findet die Auswertung der Potistellung für den Fall statt, dass USE-POT auf 1 gesetzt wurde.

if (USE_POT){
// read potentiometer
duty = max(0.01, ((float)map(analogRead(pinPot), 0,1023, 0,1000)) /1000.0 );
}


D. h. das Poti dient primär der Einstellung des Prozentwertes für den duty-cycle. Indirekt ergibt sich bei höherem duty-cycle auch ein höherer Schleifenstrom.
USE_POT ist defaultmäßig auf 0 gesetzt. Dutycycle ist dann 255.
Mit USE_POT auf 1 ergibt sich abhängig von Widerstand und Betriebsspannung der Schleife (die am Poti des DC-DC-Wandlers eingestellt wurde) der Wert für den Schleifenstrom.
Im Betrieb erhalte ich bei Minimalstellung des Potis einen duty-cycle Wert von 0,01 (dutyPWM = 2), der bei Aufdrehen des Potis um ca. ¼ Umdrehung auf 1 (dutyPWM=255) ansteigt.
Der restliche Verstellweg des Potis (½ Umdrehung) wird quasi nicht genutzt und die Einstellbarkeit ist dementsprechend wenig feinfühlig. Durch Parallelschaltung eines Festwiderstandes anpassen zum besseren Ausnutzen des Verstellbereiches.

Fazit und Fragen zu 1)
Fakt: nur ein Poti verwendet (für duty-cycle Schleife 1).
Vermutung: Das andere frei für duty-cycle Schleife 2, jedoch codemäßig noch nicht umgesetzt?)
Frage: durch welche Anpassung bekomme ich den Potiweg voll ausgenutzt? Im Prinzip sind doch die Potis als Spannungsteiler zw. GND und +5V eingesetzt, so dass der Schleiferabgriff über den gesamten Regelweg von 0 auf 5V gehen müßte. Warum erscheint mir dass denn jetzt so, dass nur 1/3 des Regelweges von 0 auf 5V (Potiwert: 1023) führt und die restlichen 2/3 zu keiner Werteänderung führen?


2) Messung des Schleifenstroms und Anzeige in der seriellen Konsole
Zur Schleifendiagnose (Schleife geschlossen und damit intakt) wird der Schleifenstrom über den Motortreiber auf Nano A0 gemessen. Ab einem Strom von 0,03 A wird die Schleife als intakt gemeldet und die LED an Nano D13, bezeichnet als 'Mower in Ladestation', leuchtet permanent.

// motor driver feedback pin (=perimeter open/close detection, used for status LED)
#define USE_PERI_CURRENT 1 // use pinFeedback for perimeter current measurements? (set to '0' if not connected!)
#define pinFeedback A0 // M1_FB
#define PERI_CURRENT_MIN 0.03 // minimum Ampere for perimeter-is-closed detection


Fazit und Fragen zu 2)
Funktion ist nachvollziehbar gegeben, allein die Stromwerte sind mir nicht plausibel:
Das Ergebnis dieser Strommessung vermute ich in der Anzeige periCurrent: bei einem Wert von z.B. 0,05 erhalte ich aber per Schleifenstrommessung direkt über Multimeter in der Schleife 129 mA, bei Anzeige 0,28 gemessen 0,57. Stimmt da eine Meßwertkorrektur nicht oder kann ich den effektiven Strom so per Multimeter nicht genau messen, weil er vom PWM-Signal herrührt?
Bezeichnung der LED auf dem Schaltplan besser 'Perimeter_Status':
zur Erinnerung:
aus: Schleife unterbrochen oder Strom unter 0,03 A (evtl. auch Spannung zu gering)
an: Schleife in Betrieb oder Strom > 0,03A
langsames Blinken: Ladestation in Betrieb mit Ladestrom >0,08A
schnelles Blinken: Motrotreiber überlastet (wo genau sollte der Grenzstrom liegen?)


3) Messung des Ladestroms und Anzeige in der seriellen Konsole

Die Zeilen 55-59 im Sendercode beziehen sich auf die Messung der Ladestromstärke per INA169 über Nano A2.

// ---- sender automatic standby (via current sensor for charger) ----
// sender detects robot via a charging current through the charging pins
#define USE_CHG_CURRENT 0 // use charging current sensor for robot detection? (set to '0' if not connected!)
#define pinChargeCurrent A2 // ACS712-05 current sensor OUT
#define CHG_CURRENT_MIN 0.008 // minimum Ampere for charging detection

Setze ich USE_CHG_CURRENT auf 1, sehe ich Stromwerte für den Ladestrom zwischen 0 und 7 mA, wenn der Mäher NICHT in der Ladestation ist, sondern nur die Schleife in Betrieb ist.
Mit einem 16 Ohm Widerstand am Ladeausgang Leerlaufspannung 29,7 V erwarte ich ca. 1,85 A Ladestrom: in der seriellen Konsole zeigt chgCurrent 1,1. Per Multimeter keine vernünftige Stromanzeige! Gleiche Begründung wie beim Schleifenstrom???
Mit USE_CHG_CURRENT = 1 wechselt der Status isCharging auf 1, sobald der Ladeausgang nennenswert belastet wird (Strom >0,008 A. Die LED 'Mower in Ladestation' blinkt langsam und die Erkennung zur Abschaltung der Schleife funktioniert im gleichen Moment ebenfalls wie erwartet.


4) Anzeige Motortreiberfehler

Im Code Zeile 45-48 setze ich USE_PERI_FAULT auf 1 (default ist 0).

// motor driver fault pin
#define pinFault 4 // M1_nSF
#define USE_PERI_FAULT 1 // use pinFault for driver fault detection? (set to '0' if not connected!)


Drehe ich nun Poti 1 langsam auf, beginnt ab ca. 0,9 A Schleifenstrom (maxWert / serielle Konsole) die Status-LED schnell zu blinken. Ich hätte gedacht, der Schleifenstrom wäre durch den Motortreiber erst oberhalb 1,5 A begrenzt.

Kann mich dazu Jemand aufschlauen?

Vielen Dank und einen schönen Abend!!!

Nach dem Eingraben von 270 m Begrenzungsdraht habe ich die Zeit am Rechner heute mal wieder ganz anders schätzen gelernt :)
 
Guten Abend Uwe Z,
bin gerade dabei, den Sender V2 so richtig zu verstehen und bin auch darauf gestossen, dass die beiden Duo LEDs - wie Thomas schon festgestellt hatte - zum Teile auf Analog-Inputs hängen. Wir brauchen also noch 3 freie Digtal Outputs.

Für die alternative Schleife 2 sind bereits auf dem PCB V1 verdrahtet 6, 7, 8 und 11.
D.h. frei sind noch - hatte Thomas auch bereits für DuoLed1 Rot genutzt - D10 und D12. D.h. für die 2. DuoLED fehlt 1 Digital Out.

D0 und D1 brauchen wir, wenn der Sender - und das fände ich praktisch zum Überwachen - ebenfalls per BT oder WiFi kommunizieren können soll. Ich habe mir aktuell einen auf das Minimum 'abgeschnitzten' Mini-USB-Stecker im Gehäuse montiert. Aber im Rahmen der experimentellen Abstimmung von Schleife und Mäher wäre es ein enormer Zeitvorteil, über pfodApp die Schleifenspannung (Ersatz des onboard Potis durch ein digitales), den duty-cycle und die anderen Parameter einstellen und die Spannungs- und Stromwerte sowie Statusmeldungen anzeigen zu können.

Laut Schaltplanbeschreibung soll die Duo-LED grün (blinkend = Schleife aktiv) bzw. rot (Dauerlicht = überlastet oder Fehler) zeigen. Diese beiden Stati stellt im Prinzip doch schon die Status LED ('Mower in Ladestation') für Schleife 1 dar, sodass die dazugehörige DuoLED eigentlich keine zusätzliche Information bringt. D.h. wiederum: eine DuoLED - die für Schleife 2 - kann imgrunde entfallen - dann reichen auch die Digitalausgänge.

Liege ich da richtig?

Wenn dem so ist, sollte beim PCB V2 die 2. DuoLED entfallen und D10 für DuoLED 1 Rot (statt jetzt A6) reserviert werden.

Super wäre auch der Ersatz der Potis durch digitale Potis, die man dann ebenfalls über pfodApp (BT oder WiFi) einstellen könnte. Auch eine begrenzte automatische Selbsteinstellung wäre so möglich.

Irgendwo hatte ich einen Bauteilvorschlag für ein digitales Poti gesehen. Allerdings brauchen wir dafür je Poti wieder einen freien Digital Out - zumindest einer - D12 - wäre für 1 digitales Poti für die Hauptschleife noch frei.

Evtl müßte man zur Erweiterung der IOs auf den Arduino Micro umsteigen?
Wie realistisch ist ein 2-Schleifenbetrieb? Ich habe auf meinem Grundstück 2 Rasenflächen, die durch eine 3 m breite Fahrspur geteilt sind. Die größere wird inzwischen von 270 m Schleife umspannt. Wie ich mit einem Mäher zwischen den Flächen wechsele oder ob ich 2 Mäher laufen lasse, weiß ich noch nicht, aber bei 2 Mäher benötige ich eh eine 2. Ladestation. Ich sehe die 2. Schleife allenfalls als von der Hauptschleife getrennte 'Einfädelspur' für eine nicht auf der Hauptschleife liegende Ladestation.

Wie siehst Du den Sachverhalt? Danke und frohes Schaffen.

Gruß ... Peter
 
Hallo Peter,
Wo finde ich die aktuellste Perimeter Sender Software? Besitze die Perimeter Sender V2.0 PCB 1.0 aus dem Shop. Unter Downloads (ardumower/sender/) habe ich folgende Sketche gefunden. RunningMedian.h, TimerOne.cpp, TimerOne.h und sender.ino. Da ich in Sachen Programmierung nicht der Profi bin, wollte ich wissen ob ich alle vier Sketche auf den Nano des Senders aufspielen muss!
Vorab vielen Dank
MfG
S.R.
 
Hi Siegfried,

Im Downloadbereich wird auf Github verwiesen. dort liegt immer die aktuelle Version :

(https://github.com/Ardumower/ardumower/releases). Unter Sender alles komplett in ein Verzeichnis laden, das sender.ino aufrufen, aber das weißt Du sicher ...

Gruß

Peter
 
Hallo Zusammen,

werden eure DC-DC Wandler auch recht warm im Betrieb? Verbrenne mir fast die Finger daran und habe das Ding mit Kühlkörpern ausgestattet. Auch der Kondensator am Eingang (auf dem) DC-DC Wandler wird beachtlich warm.

Ich betreibe den Sender bei 11V, Speisung 29.7V, Schleifenwiderstand 2.4 Ohm + 2.5 Ohm Leistungswiderstand in Serie, Schleifenstrom 1.5A .

Gruess

Chris
 
Ist recht gering mit 2.4 Ohm. Wie lang ist die Schleife?
Bist Du sicher, daß Du die mit 11V fahren mußt?

Gruß
Aiko
 
Ab 5 Ohm Gesamtwiderstand fängt es an zu funktionieren, mehr ist besser. Irgendwo war beschrieben, dass die Minimalspannung am DC-DC-Konverter > 6,5 (?) Volt sein müsste, damit der Nano genug Power hat. Ich habe momentan keinen Zugriff auf meine Schleifendaten, glaube aber bei ca. 8,5 V zu liegen. Strom ca. 0,25 ... 0,4 A - dann wird der Regler bei 24 V Eingangsspannung schon ziemlich warm. Habe vor 3(?) Wochen meine grosse Schleife ca. 270 m (11 Ohm?) eingegraben und danach noch nicht wieder richtig Zeit gehabt, alles einzurichten. Bin gerade am Basteln, dass ich die DC-DC-Spannung per pfodApp über ein Digitalpoti MCP4151, welches das Spindelpoti auf dem DC-DC-Wandler ersetzt, manuell und möglichst auch automatisch auf eine vorgegebene Grenzstromstärke in der Perimeterschleife einstellen kann.

Gruss und viel Erfolg - heute mal aus Paderborn ...

Peter
 
Die Schleife hat um die 100m, hat aber nicht ganz die ideale Kreisform... viele Ecken und Taschen in unserem Garten.
Der Gesamtwiderstand (Schleife + Leistungswiderstand) ist dann um die 5 Ohm
Um das SNR zu erhöhen (Motoren sind noch nicht entstört) und den LM386 nicht zu übersteuern habe ich den Spulenverstärker etwas zurück heruntergeschraubt.
Dadurch benötige ich aber einen höheren Schleifenstromstrom (1-1.5A) um an den Kritischen stellen über SMAG 300 zu bleiben.
Mit diesen Einstellungen läuft bei mir der Perimeter tadellos...

crossing.jpg


middle.jpg


nur eben der DCDC Wandler wird beträchtlich warm.
Solange der Sender ohne Gehäuse arbeitet, stört mich das auch noch nicht, aber im Gehäuse wär die Stauwärme wahrscheinlich zuviel.
Muss mich dann halt mal an die Entstörung der Motoren machen und versuchen den Schleifenstrom zurückzufahren.

Gruess

Chris
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/2380/crossing.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Kurze Rückmeldung: Die Motoren sind jetzt entstört. (Im EBMPabst Mähmotor hat es sogar auf der Platine vorbereitete Vias zum Einlöten der Kondensatoren)
LM386 auf maximale Verstärkung.
Konnte den Schleifenstrom in einem ersten Test auf 0.9A (bei 9V) zurücknehmen.
Ist aber noch nicht der erhofte Durchbruch.
Dafür sind die US-Sensoren stabiler.
Im Wiki sind die Beispiele mit 0.75mm2 Schleifenkabel. Habe hier aber 1mm2 Schleifenkabel verlegt, daher kommt wohl mein kleiner Schleifenwiderstand. Da wären wohl 0.5mm2 sogar noch besser.

Gruess

Chris
 
Hallo Mario,
würde mir auch gerne so ein Oszilloskop anschaffen. Wo hast Du es gekauft, und zu welchem Preis?

Danke im voraus.

MfG
S.R.
 
Das ist ein ganz normales Telefon mit Android Betriebssystem.
Du brauchst dann noch 2 Widerstände um den Kopfhörereingang mittels Spannungsteiler zu schützen.
Guckst Du hier!

Die Software gibts im Google Playstore.
Gruß Mario
 
Oben