Archiv verlassen und diese Seite im Standarddesign anzeigen : RP6Control_MultiIO_selbsttests - keine ausgabe?
hi,
eigentlich wollte ich nur einen servo testen...
nicht dass ich irgendwelche probleme gehabt hätte, ich habe nur ein servo angeschlossen und wollte es testen. Die multiIO meldet sich am LCD und auch im terminal, die LEDs werden angemacht und dann auch ausgeschaltet. Und dann ist funkstille...
mit einem anderen programm geht der servo...
die selbsttest_2 scheint zu funktionieren, die meldung kommt, die ADC werte auch...
die selbsttest_3 meldet sich, die LEDs an der bumperplatine blinken abwechselnd, dann komt im LCD die abfrage der bumper, beim betätigen leuchten die zugehörigen LEDs, im LCD kommt aber nichts an, im terminal kommen noch die werte der sharps, obwohl ich keine habe...
die selbsttest_5 bringt im LCD verschiedene werte der minimu - da ich die noch nicht richtig kalibriert habe, kann ich nicht sagen ob diese stimmen, sie verändern sich, wenn m,an den RP6 dreht...
was mich beunruhigt ist die reaktion auf die selbsttest_1 - nämlich gar keine...
alle testdateien (hex) stammen aus den beispielen, am inhalt habe ich nichts geändert...
bevor ich anfange alles auseinander zu schrauben und löten, woran könnte es liegen???
Hi inka,
zum Selbsttest 1:
Keine Ahnung, woran das liegt.
Klappte die Demo denn früher OHNE den Servo-Anschluß?
Wenn ja:
Nimm mal die Servopower raus:
// setServoPower(1); // Servo power ON!
... und auch die Servoansteuerung:
// setServo(1, servopos);
Läuft der Selbsttest 1 (natürlich neu kompiliert!) jetzt?
Wenn nein:
Nimm nacheinander die Teile für RTC, EEPROM, LTC2990 usw. raus und teste nach Neukompilierung die Restfunktionen.
So kannst du vielleicht eingrenzen, wo es hakt.
Zum Selbsttest 3:
Wenn du keine Sharps hast, muss die Definition:
#define SHARP_SENSORS // SHARP IR distance sensors are used
... in der RP6M256_LFSBumperLib.h auskommentiert sein. Dort dürfen nur die Definitionen aktiv sein, für die auch Hardware angeschlossen ist.
Hi Dirk, das wirtd ja immer schlimmer!!!
mit diesem
#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
#include "RP6Control_MultiIOLib.h"
#include "RP6Control_I2CMasterLib.h"
#include "RP6Control_MultiIO.h"
#include "RP6ControlServoLib.h"
#define I2C_RP6_BASE_ADR 10
uint16_t servopos;
uint8_t i;
/*********************I2C-fehlermeldungen******************/
void I2C_transmissionError(uint8_t errorState) //gibt I2C fehlermeldungen über LCD aus
{
clearLCD();
writeStringLCD_P("I2C ERROR -->");
setCursorPosLCD(1, 0); // line 2
writeStringLCD_P("TWI STATE: 0x");
writeIntegerLCD(errorState, HEX);
}
/************************************************** **/
int main(void)
{
initRP6Control();
multiio_init();
initLCD();
setLEDs(0b1111);
mSleep(500);
setLEDs(0b0000);
I2CTWI_initMaster(100);
I2CTWI_setTransmissionErrorHandler(I2C_transmissio nError); //aktiviert I2C fehlermeldungen
showScreenLCD(" RP6Control M32", " servo_test","","");
mSleep(1500);
clearLCD();
setLEDs(0b0001);
multiio_init();
while(true)
{
setMultiIOLED1(1);
setMultiIOLED1(0);
}
return 0;
}
leuchten nun nicht einmal die multi_IO LEDs!!!
was ist da wieder schiefgelaufen? Wie bekomme ich das raus???
edit: der selftest läuft jetzt durch:
3V3 Voltage: 0.0V
ADC 3V3: 0
NOT touched.
ADC Touch: 0
Temperature: 22.9°
RTC: 18:48:44 16.02.2014
Temperature: 21.4°
BAT Current: 4.1mA
BAT Voltage: 7.3V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
Hi inka,
leuchten nun nicht einmal die multi_IO LEDs!!!
In deiner Schleife müßtest du noch 2 Pausen (mSleep(500); ) einbauen, um das Blinken der LED1 sehen zu können.
Wie ist das in der Original-Demo?
Da müßten ja die 4 LEDs auf der MultiIO im Wechsel blinken. Klappt das so?
hi Dirk,
gleich zu anfang - es geht wieder (fast) alles. Erklärung habe ich keine, versuche aber die situation so gut wie möglich zu beschreiben:
- im oktober 2013 habe ich den USRBUS1 mit dieser belegung (https://www.roboternetz.de/community/threads/29281-RP6-USRBUS?highlight=userbus) auf die EXP-platine herausgeführt, die verbindung der beiden anschlüsse (Y7 und Y9) zum neuen start/stop button wurde innerhalb der EXP mit zwei steckverbindungen realisiert, die verbindung zwischen base und dem USRBUS1 wurde nach dem_hier (http://www.rn-wissen.de/index.php/RP6#Start.2FStop_Button) ausgeführt
- vorgestern habe ich diese steckverbindungen durch gelötete verbindungen ersetzt, danach funktionierte zunächst alles wie gehabt, einen ganzen tag lang...
- gestern nun die beschriebenen schwierigkeiten...
als erstes habe ich natürlich die neuen verbindungen geprüft, alles ok.... Die richtigen pinns, keine lötbrücken woandershin...
dann lief nicht einmal mehr das selftest_1 programm der multiIO, wie bereits beschrieben...
gestern, spät abends, als ich schon fast die hoffnung aufgegeben habe, machte ich folgenden versuch:
ich löste die verbindung des USRBUS1 steckers auf der EXP-platine und startete das selftest_1 mit dem ursprünglichem start/stop button auf der base - und es lief! Keine ahnung wieso...
Jetzt ist die steckverbindung des USRBUS1 zu der EXP und dem neuen startbutton wieder angeschlossen und es geht alles wie gehabt...
Wie gesagt, eine erklärung ist die beschreibung hier nicht, vielleicht findet jemand von Euch eine...
In deiner Schleife müßtest du noch 2 Pausen (mSleep(500); ) einbauen, um das Blinken der LED1 sehen zu können.
nachdem die probleme verschwunden waren leuchtete die LED1 immerhin...
Wie ist das in der Original-Demo?
Da müßten ja die 4 LEDs auf der MultiIO im Wechsel blinken. Klappt das so? nein, nix...
noch eine frage: im selftest_1 für die multiIO ist ein shutdown drin, der auf die taster 4 und 1 reagiert. Es passiert immer wieder (zumindest ist mir das beim ausführen des selftest_1 aufgefallen), dass - wenn vorher das selftest_1 lief - nach dem einschalten des RP6 zwei LEDs auf der multiIO leuchten, was ja wohl bedeutet, dass dieser shutwdown nicht durchgeführt wurde. Ist da evtl. ein zusammenhang mit meinen problemen?
momentan gibt der selftest_1 folgendes aus:
3V3 Voltage: 0.0V
ADC 3V3: 0
NOT touched.
ADC Touch: 0
Temperature: 22.4°
RTC: 19:08:04 16.02.2014
Temperature: 20.9°
BAT Current: 5.7mA
BAT Voltage: 7.2V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
ist das normal, dass die 3.3V als "0" ausgegeben werden? NOT touched kommt auch wenn ich den bestimmten pin berühre...
Hi inka,
im Grunde funktioniert ja das meiste. ;)
Zu der 3V3 Sache:
Hast du die 3,3V-Versorgung eingeschaltet: Klick (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#3.2C3V-Stromversorgung_2)?
Zum Touchsensor:
Wenn der gar nicht reagiert, müßtest du rund um den NE555 (IC14), Q13, Q14, R58, R59, C31 schauen und evtl. nachlöten.
Zu den Status-LEDs und Servo-Ansteuerung:
Beides wird ja mit dem PCA9685 gesteuert. Wenn die 4 LEDs bei der Original-Demo 1 nicht abwechselnd (je 2 an) blinken, funktioniert evtl. der PCA9685 nicht. Wenn das so wäre, könnte auch das Servo nicht angesteuert werden. Das würde auch erklären, warum nach Shutdown LEDs an bleiben.
Wenn die Adress-Jumper für den PCA9685 (sitzen unterhalb des PCA) richtig sitzen, müßtest du evtl. den Vielbeiner nachlöten oder die MultiIO fabqu zur Reparatur schicken.
hi Dirk,
eigentlich war ja alles schon mal bei der inbetriebnahme der multiIO so weit ok, die 3.3V und auch der touchsensor. ansonsten siehe im text...
Zu der 3V3 Sache:
Hast du die 3,3V-Versorgung eingeschaltet: Klick (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#3.2C3V-Stromversorgung_2)?
der jumper J3_ON war schon drauf, den J3_SDA habe ich draufgesteckt, ausgabe hat sich nicht geändert: (bis auf ADC 3V3 und ADC Touch, was bedeuten die zahlen?)
3V3 Voltage: 0.0V
ADC 3V3: 6
NOT touched.
ADC Touch: 7
Temperature: 22.6°
RTC: 15:52:41 17.02.2014
Temperature: 22.0°
BAT Current: 378.8mA
BAT Voltage: 7.9V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
3V3 Voltage: 0.0V
ADC 3V3: 6
NOT touched.
ADC Touch: 7
Temperature: 22.6°
RTC: 15:52:43 17.02.2014
Temperature: 23.7°
BAT Current: 14.8mA
BAT Voltage: 8.0V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
3V3 Voltage: 0.0V
ADC 3V3: 6
NOT touched.
ADC Touch: 7
Temperature: 22.5°
RTC: 15:52:44 17.02.2014
Temperature: 21.6°
BAT Current: 12.5mA
BAT Voltage: 7.8V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
3V3 Voltage: 0.0V
ADC 3V3: 7
NOT touched.
ADC Touch: 7
Temperature: 22.6°
RTC: 15:52:46 17.02.2014
Temperature: 21.1°
BAT Current: 14.0mA
BAT Voltage: 8.0V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
Zum Touchsensor:
Wenn der gar nicht reagiert, müßtest du rund um den NE555 (IC14), Q13, Q14, R58, R59, C31 schauen und evtl. nachlöten.
kann ich irgendwo was mit dem multimeter messen?
Zu den Status-LEDs und Servo-Ansteuerung:
Beides wird ja mit dem PCA9685 gesteuert. Wenn die 4 LEDs bei der Original-Demo 1 nicht abwechselnd (je 2 an) blinken, funktioniert evtl. der PCA9685 nicht. Wenn das so wäre, könnte auch das Servo nicht angesteuert werden. Das würde auch erklären, warum nach Shutdown LEDs an bleiben.
Wenn die Adress-Jumper für den PCA9685 (sitzen unterhalb des PCA) richtig sitzen, müßtest du evtl. den Vielbeiner nachlöten oder die MultiIO fabqu zur Reparatur schicken.
die LEDs blinken abwechselnd (über kreuz) bei der selftest_1, der servo wird auch angesteuert, die LEDs bleiben nur nach dem beenden des selftest_1 ohne shutdown an, nach dem ausschalten per S1 gehen sie auch wieder an. Auch wenn der RP6 länger ausgeschaltet bleibt (so lange wie ich diesen text geschrieben habe - ca 15sec.) Wenn der stecker zum loader abgezogen ist, gehen die LEDs beim erneuten einschalten des RP6 nicht mehr an. Was hat das damit zu tun?
Hi inka,
die LEDs blinken abwechselnd (über kreuz) bei der selftest_1, der servo wird auch angesteuert,...
Na, dann ist ja doch alles ok mit dem PCA9685. Was hattest du für Sorgen?
die LEDs bleiben nur nach dem beenden des selftest_1 ohne shutdown an, nach dem ausschalten per S1 gehen sie auch wieder an. Auch wenn der RP6 länger ausgeschaltet bleibt (so lange wie ich diesen text geschrieben habe - ca 15sec.) Wenn der stecker zum loader abgezogen ist, gehen die LEDs beim erneuten einschalten des RP6 nicht mehr an. Was hat das damit zu tun?
Das klingt alles ganz normal.
Erklärung:
Nur wenn du in der Demo 1 mit den Tasten 4 und danach 1 den Shutdown-Modus gewählt hast, ist die MultiIO auch im Shutdown-Modus.
Nach der Meldung:
The MultiIO now is in SHUTDOWN MODE!!!
RESET the M256 microcontroller now...
... kannst du Reset oder irgend etwas anderes am RP6 machen (d.h.: MultiIO wird nicht benutzt und bleibt dauerhaft im Shutdown-Modus).
Wenn du die Demo 1 beendest (per Reset o.ä.), ohne vorher in den Shutdown-Modus eingeschaltet zu haben, bleibt die MultiIO aktiv (z.B. LEDs an oder die Servo-Power an).
Erst nach einem kompletten Ausschalten des RP6 (VCC aus) startet die MultiIO (nach ihrem eigenen Init) wieder geordnet (z.B. alle LEDs aus), auch wenn vorher nicht der Shutdown-Modus aktiv war.
... ADC 3V3 und ADC Touch, was bedeuten die zahlen?
Das ist der Wert, den der AD-Wandler misst.
Der ist in beiden Fällen sehr niedrig. 3,3V ist wohl nicht messbar und Touch sagt: Nicht berührt.
Wäre Touch berührt, würde bei ADC Touch über 900 stehen.
Zu 3,3V:
Es gibt ja den 6-poligen, einreihigen Stecker "Luftdruck". Am linken Pin (mit 3V3 beschriftet) müßte 3,3V gegen GND zu messen sein.
Zu Touch:
Du könntest am Wahl-Jumperblock am Pin NE5 messen, welche Spannung der Touch-Sensor ausgibt (gegen GND).
Hast du dort auch die Jumper richtig stecken: Klick (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Multi_IO_Projekt_Library_3)?
(Wenn die Jumper nicht richtig sitzen, könnte das auch die fehlende 3V3-Messung erklären. Übrigens: Der ADC-Stecker der M32 ist mit der MultiIO [ADC_Mxxx] verbunden?)
Hi Dirk,
Na, dann ist ja doch alles ok mit dem PCA9685. Was hattest du für Sorgen? tja, das war gestern am tag leider nich alles so...
Wenn du die Demo 1 beendest (per Reset o.ä.), ohne vorher in den Shutdown-Modus eingeschaltet zu haben, bleibt die MultiIO aktiv (z.B. LEDs an oder die Servo-Power an).
Erst nach einem kompletten Ausschalten des RP6 (VCC aus) startet die MultiIO (nach ihrem eigenen Init) wieder geordnet (z.B. alle LEDs aus), auch wenn vorher nicht der Shutdown-Modus aktiv war.Ich habs jetzt noch einmal durchgespielt:
- selftest_1 geladen und ausgeführt
- abbruch/ausschalten ohne shut down
- RP6 (die m32) mit loaderkabel mit dem PC verbunden
- die multiIO bleibt in NICHT shutdownmodus, die LEDs brennen, servopower ist an.
- loaderkabel abgezogen, RP6 aus und eingeschaltet,multiIO befindet sich im shutdown modus, LEDs sind aus, servopower OFF
Zu 3,3V:
Es gibt ja den 6-poligen, einreihigen Stecker "Luftdruck". Am linken Pin (mit 3V3 beschriftet) müßte 3,3V gegen GND zu messen sein. An allen 3V3 pins habe ich auch 3.1V gemessen, das war mir letzendlich wichtig, weil ich demnächst evtl. ein modul anbauen will, das 3.3V braucht...
Warum werden sie aber nicht angezeigt?
Zu Touch:
Du könntest am Wahl-Jumperblock am Pin NE5 messen, welche Spannung der Touch-Sensor ausgibt (gegen GND).
Hast du dort auch die Jumper richtig stecken: Klick (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Multi_IO_Projekt_Library_3)?
(Wenn die Jumper nicht richtig sitzen, könnte das auch die fehlende 3V3-Messung erklären. Übrigens: Der ADC-Stecker der M32 ist mit der MultiIO [ADC_Mxxx] verbunden?) am NE5 wird 0V gemessen, alle stecker verbunden, jumper gesetzt...
Hi,
Ich habs jetzt noch einmal durchgespielt:
- selftest_1 geladen und ausgeführt
- abbruch/ausschalten ohne shut down
- RP6 (die m32) mit loaderkabel mit dem PC verbunden
- die multiIO bleibt in NICHT shutdownmodus, die LEDs brennen, servopower ist an.
- loaderkabel abgezogen, RP6 aus und eingeschaltet,multiIO befindet sich im shutdown modus, LEDs sind aus, servopower OFF
Klingt alles völlig normal. Was gefällt dir daran nicht?
Warum werden sie aber nicht angezeigt?
Wenn du alles, wie beschrieben, angeschlossen/gejumpert ... hast, fällt mir nichts weiter ein.
Letztlich müßtest du die ganze Verbindungs-Kette von Touch und 3V3 bis auf die M32 durchmessen.Da aber beide nicht funktionieren, denke ich eher nicht an einen Defekt, sondern an einen Fehler bei den Jumper-Verbindungen.
Check auch noch mal die Standard-Jumperstellung für die M32.
Hi Dirk,
Ich habs jetzt noch einmal durchgespielt:
- selftest_1 geladen und ausgeführt
- abbruch/ausschalten ohne shut down
- RP6 (http://www.rn-wissen.de/index.php/RP6) (die m32) mit loaderkabel mit dem PC verbunden
- die multiIO bleibt in NICHT shutdownmodus, die LEDs brennen, servopower ist an.
- loaderkabel abgezogen, RP6 (http://www.rn-wissen.de/index.php/RP6) aus und eingeschaltet,multiIO befindet sich im shutdown modus, LEDs sind aus, servopower OFF
Klingt alles völlig normal. Was gefällt dir daran nicht?
der zusammenhang mit dem loaderkabel...
Wenn du alles, wie beschrieben, angeschlossen/gejumpert ... hast, fällt mir nichts weiter ein.
Letztlich müßtest du die ganze Verbindungs-Kette von Touch und 3V3 bis auf die M32 durchmessen.Da aber beide nicht funktionieren, denke ich eher nicht an einen Defekt, sondern an einen Fehler bei den Jumper-Verbindungen.
Check auch noch mal die Standard-Jumperstellung für die M32.
mache ich morgen...
hier die überprüfung der jumper auf dem IO board, könnte bitte jemand nochmal einen blick draufwerfen (auch wenn ich schon seit längerem nichts geändert habe - ausser den jumper J3_sda hinzu)
27552
und hier die vorlage mit kommentaren:
27551
die ausgabe des selftest_1 ist unverändert...
3V3 Voltage: 0.0V
ADC 3V3: 1
NOT touched.
ADC Touch: 1
Temperature: 21.1°
RTC: 10:32:13 18.02.2014
Temperature: 19.5°
BAT Current: -198.8mA
BAT Voltage: 7.8V
SERVO Volt.: 5.0V
VCC Voltage: 5.1V
Hi inka,
- abbruch/ausschalten ohne shut down
...
- die multiIO bleibt in NICHT shutdownmodus, die LEDs brennen, servopower ist an.
der zusammenhang mit dem loaderkabel...
Wenn du die Demo 1 "OHNE shut down" beendest, dann ist die MultiIO auch nicht im Shutdown-Modus.
Du MUST also mit den Tasten 4 --- 1 in den Shutdown-Modus schalten und erst danach mit Reset rausgehen.
Wenn du dann die MultiIO nicht mehr (durch ein M32-Programm) ansprichst, bleibt sie im Shutdown-Modus.
Zu den Jumpern:
Der Wahl-Jumperblock (J_WAHL) ist nicht in Standard-Stellung für die M32 (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Multi_IO_Projekt_Library_3) (hatte ich schon oben weiter geschrieben), sondern du hast die Jumper dort auf die LFS-Nutzung (Linienfolge-Sensoren) umgesteckt.
Aus der RP6Control_MultiIO.h:
#define ADC_MULTIIO_LFS_L ADC_3 // ADC-Mxxx: ADC
#define ADC_MULTIIO_LFS_M ADC_4 // ADC-Mxxx: ADC
#define ADC_MULTIIO_LFS_R ADC_5 // ADC-Mxxx: ADC
Die LFS nutzen bei dir aktuell die ADC-Kanäle 3 bis 5.
Durch das Umstecken der Jumper auf J_WAHL in die LFS-Stellung sind damit die 3V3 und Touch-Sensoren nicht mehr verfügbar.
Sie sind so definiert:
#define ADC_MULTIIO_3V3 ADC_4 // ADC-Mxxx: ADC
#define ADC_MULTIIO_TOUCH ADC_3 // ADC-Mxxx: ADC
... liefen also (in der J_WAHL Standardstellung!) auf den ADC-Kanälen 3 und 4, die jetzt die LFS für sich brauchen.
Ergo:
Mit der M32 sind (wegen der beschränkten Zahl von ADC-Kanälen) ENTWEDER 3V3, Touch ODER die LFS (links u. Mitte) nutzbar (je nach J_WAHL Jumperstellung).
Wenn du unbedingt die 3,3V-Messung brauchst, kannst du dafür alternativ die ADC-Kanäle 2 oder 7 nutzen, wenn du die nicht für analoge Sensoren auf dem Bumper-Board (Sharps, Radar) brauchst. Auch für den Touch-Sensor könnte man dann einen dieser Kanäle nutzen.
Hi Dirk,
Der Wahl-Jumperblock (J_WAHL) ist nicht in Standard-Stellung für die M32 (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Multi_IO_Projekt_Library_3) (hatte ich schon oben weiter geschrieben), sondern du hast die Jumper dort auf die LFS-Nutzung (Linienfolge-Sensoren) umgesteckt.
verdammt, 3mal gelesen, trotzdem nicht drauf geachtet, dass ich umschalte!
Mit der M32 sind (wegen der beschränkten Zahl von ADC-Kanälen) ENTWEDER 3V3, Touch ODER die LFS (links u. Mitte) nutzbar (je nach J_WAHL Jumperstellung). Wenn du unbedingt die 3,3V-Messung brauchst, kannst du dafür alternativ die ADC-Kanäle 2 oder 7 nutzen, wenn du die nicht für analoge Sensoren auf dem Bumper-Board (Sharps, Radar) brauchst. Auch für den Touch-Sensor könnte man dann einen dieser Kanäle nutzen.
also werden die ADC kanäle nur für die messung der 3V3 im selftest_1 gebraucht? An verschiedenen stellen der multiIO habe ich ja diese spannung gemessen, also sollte ich sie brauchen, kann ich sie dort nutzen, oder?
Würde es für die messung der 3V3 und den touch reichen die ADC kanäle hier in 2 bzw. 7 umzubenennen, oder ist mehr zu tun? Andere sensoren habe ich auf der bumperplatine nicht...
#define ADC_MULTIIO_3V3 ADC_4 // ADC-Mxxx: ADC
#define ADC_MULTIIO_TOUCH ADC_3 // ADC-Mxxx: ADC
Der hintergrund für die 3V3 ist folgender: ich möchte für die verbindung zwischen RP6 und dem PC/loader mit hilfe von bluetooth-modulen realisieren, die brauchen aber 3.3V. Sollte ich die 3.3V von der multiIO holen, oder an dem 10poligen stecker die 5V mit einem spannungsteile in 3.3V umwandeln?
Hi inka,
also werden die ADC kanäle nur für die messung der 3V3 im selftest_1 gebraucht?
Eigentlich kann man die 3V3-Messung und die Touch-Funktion mit der MultiIO-Lib in allen eigenen Programmen nutzen. Man muss nur leider (mit der M32) auf die beiden Funktionen verzichten, wenn man die LFSs nutzen will.
An verschiedenen stellen der multiIO habe ich ja diese spannung gemessen, also sollte ich sie brauchen, kann ich sie dort nutzen, oder?
Ja.
Würde es für die messung der 3V3 und den touch reichen die ADC kanäle hier in 2 bzw. 7 umzubenennen, oder ist mehr zu tun? Andere sensoren habe ich auf der bumperplatine nicht...
Die Grundfrage ist erst einmal:
Brauchst du die 3,3V-Messung und die Touch-Funktion überhaupt? Wenn nein, lass die beiden (weniger wichtigen) Funktionen doch "außer Betrieb".
Wenn du die 3,3V-Messung parallel zu den LFS nutzen willst (J_WAHL-Jumper bleiben in der LFS-Stellung!), dann kannst du in der RP6Control_MultiIO.h Datei nach diesem hier:
// 3V3 Voltage Sensor:
#define ADC_MULTIIO_3V3 ADC_4 // ADC-Mxxx: ADC
//#define ADC_MULTIIO_3V3 ADC_7 // ADC-Mxxx: ADC
//#define ADC_MULTIIO_3V3 ADC_2 // ADC-Mxxx: ADC
... suchen und darin die 1. Definition auskommentieren. Dafür nimmst du die "//" vor der 3. Definition (Kanal 2 soll für 3V3 genutzt werden!) weg.
Nach Neukompilieren ist die Lib jetzt umgestellt auf ADC-Kanal 2 für die 3,3V-Messung.
Auf der Platine must du zusätzlich noch einen Jumper setzen:
Auf den Jumperblock oberhalb des ADC_Mxxx-Steckers (J_ADC) gehört ein Jumper auf die Pins ganz links, die darüber mit "3V3" und darunter mit "Pins 2" beschriftet sind.
Dann sollte die 3,3V-Messung wieder klappen.
Wenn du den Touch-Sensor auch (parallel zu den LFS) nutzen willst, kannst du den Kanal 7 nutzen.
Diese Definition hier:
// Touch Sensor (with NE555):
#define ADC_MULTIIO_TOUCH ADC_3 // ADC-Mxxx: ADC
... kannst du auskommentieren und so ergänzen:
// Touch Sensor (with NE555):
//#define ADC_MULTIIO_TOUCH ADC_3 // ADC-Mxxx: ADC
#define ADC_MULTIIO_TOUCH ADC_7 // ADC-Mxxx: ADC
Nach Neukompilieren ist die Lib jetzt umgestellt auf ADC-Kanal 7 für die Touch-Funktion.
Auf der Platine must du zusätzlich noch eine Kabelverbindung herstellen:
Vom J_WAHL-Jumperblock Pin "NE5" zum J_ADC-Jumperblock Pin "9".
Der hintergrund für die 3V3 ist folgender: ich möchte für die verbindung zwischen RP6 und dem PC/loader mit hilfe von bluetooth-modulen realisieren, die brauchen aber 3.3V.
Mit dem Thema "3,3V MESSEN" (darum ging es bis jetzt...) hat die "STROMVERSORGUNG mit 3,3V" nichts zu tun. Du kannst die 3,3V auf der MultiIO nutzen, OHNE SIE ZU MESSEN.
Sollte ich die 3.3V von der multiIO holen,...
Nein, ich würde unbedingt für die BT-Module eine eigene Spannungsversorgung 3,3V (auf einer eigenen BT-EXP?) aufbauen, z.B. mit so einem Spannungsregler (http://www.reichelt.de/ICs-KA-LF-/LF-33-CV/3//index.html?ACTION=3&GROUPID=2911&ARTICLE=39414&SHOW=1&OFFSET=16&). Als Eingangsspannung dafür kannst du +UB auf dem RP6 Mainboard nehmen (NICHT vom XBUS!).
Grund: Die BT-Module stören ggf. die restlichen Funktionen der MultiIO. Die 3,3V-Versorgung ist da eigentlich nur für 3,3V-Sensoren vorgesehen.
Du kannst aber auch mal fabqu danach fragen: Er kann dir das besser beantworten.
Hallo Dirk,
vielen dank für die ausführliche erklärung, die wirklich keine frage offen ließ...
Im moment brauche ich weder die 3V3 messung, noch den berührungssensor wirklich - lasse sie also "außer betrieb". Sollte ich sie mal brauchen, weiss ich wo die info zum umbau zu finden ist...
Hi inka & MultiIO-Besitzer,
Im moment brauche ich weder die 3V3 messung, noch den berührungssensor wirklich - lasse sie also "außer betrieb". Sollte ich sie mal brauchen, weiss ich wo die info zum umbau zu finden ist...
Im RN-Wissen-Artikel zur RP6 Multi IO Projekt - Software (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software) war zwar die Stellung der vielen Jumper auf der Platine je nach Nutzung beschrieben, aber es gab -mit Recht- die Kritik, dass man selbst die eigene Jumper-Konfiguration nicht prüfen konnte, weil die Verschaltung der Jumperblöcke nur mühsam aus dem Schaltplan zu entschlüsseln ist.
Mit einem neuen Abschnitt des Software-Artikels zur MultiIO (Verschaltung der Jumperblöcke (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Verschaltung_der_Jumperbl.C3.B6cke)) soll sich das jetzt ändern.
Neben einer Abbildung der Verschaltung der großen Jumperblöcke enthält der Abschnitt ein Beispiel, wie man seine eigenen Jumper-Settings überprüfen oder verändern kann.
Ich hoffe, es nutzt ... :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.