Kategorie-Archiv: Bastelstube

KC85/3 mit Arduino verbinden

Um den Arduino mit Robotron KC85/3 zu verbinden, benötigt man das Modul M003 oder das Modul M053. Leider hat das Modul M003 kein TTL. Modul M053 hat am Kanal 2 TTL. Es gibt eine Möglichkeit, das Modul M003 zum M053 mit TTL-Pegel am Kanal 2 umbauen. Kanal 1 kann weiterhin V.24 genutzt werden. Wichtig ist, dass ihr beim Anschluss euch nicht irrt! Dies würde euer Modul beschädigen. Also wenn ihr bastelt und es geht was kaputt, übernehme ich keine Haftung!

Unterschiede beim TTL RS232 / Echter RS232:

Die Unterschiede zwischen einer TTL RS232- und einer RS232-Schnittstelle liegen ausschließlich in der Übertragung von Daten. Diese Daten werden als elektrisches Blocksignal gesendet, das eine Folge von logischen Nullen und Einsern darstellt.
Für ein TTL wäre eine Null idealerweise 0 Volt und eine 1 wäre idealerweise 5 Volt. Die Empfangsvorrichtung muss daher entscheiden, ob ein Signal zu einem bestimmten Zeitpunkt 0 oder 5 Volt betragen soll, um zu erkennen, ob es sich um eine binäre 0 oder eine binäre 1 handelt. Für RS232 wird die 0 durch ideal -12 Volt und eine 1 durch ideal +12 Volt dargestellt. Hier hat es die Empfangsvorrichtung etwas einfacher, da die Differenz zwischen -12 und +12 Volt beträgt.

TTL-Signale werden gegenüber RS232 invertiert. Also 0 wird zur 1 und 1 zu 0. Invertiertes UART (Universal Asynchronous Receiver Transmitter) Signal deutet also auf Pegelwandler wie MAX232 hin. Wenn man also TTL und recht RS232 verbindet, würden falsche ASCII Zeichen/Daten ausgegeben werden. Und wie oben schon beschreiben, die 5V/12V Unterschiede würden auch die TTL Geräte beschädigen!

Mit Arduino ist auch kein V.24 möglich, da Arduino keinen Hardware Flow Control RTS, CTS, DTR hat. Wenn man nun die Software „V.24ALLGEM“ laden würde, würde das Programm solange warten, bis der Arduino sagt, dass er bereit fürs Empfangen ist. Da der Arduino das nicht kann, passiert also auch nichts mehr. Deshalb ist das einfachste TTL zu nutzen.

Mit Arduino hat man mehrere Möglichkeiten. Hardware Serial und Software Serial.
Für Software gibt es die Originale SoftwareSerial Library. Ich bevorzuge aber lieber Hardware, deshalb gehe ich hier nicht weiter auf die Software Library ein.

Am Arduino Mega gibt mehrer TX/RX Anschlüsse. Von Tx 0 und Rx 0 sollte man die Finger lassen. Da hier die USB Verbindung läuft und man sonst keine Verbindung mehr hinbekommt.

Das passende Kabel habe ich schon hier beschrieben:

KC85/3 verbindung mit PC über V.24 Modul M003

Das Kabel wird dort am V.24 zum PC verbunden, aber das ist egal. TX/RX/GND sind am gleichen PIN und Hardware Flow Control gibt es beim TTL nicht. Somit muss nur TX, RX und GND am Kabel gelötet werden. Da ich aber beides mache, nehme ich das Kabel für V.24 und TTL her.

KC85/3 verbindung mit PC über V.24 Modul M003

Heute habe ich mich mal mit dem Modul M003 V.24 für mein Robotron KC85/3 beschäftigt.
Ziel war es eine RS232 Verbindung mit dem KC85/3 aufzubauen. Das M003 ist nach dem V.24 Standard aufgebaut. Hierfür ist eine Hardware „Flow Control“ (CTS/RTS) nötig. Das Modul muss nicht umgebaut werden!
Dennoch geschieht alles auf eure Gefahr, ein Fehler kann das Modul beschädigen!
Sollte etwas schief gehen, übernehme ich keine Haftung!

Benötigt wird:
1 x Modul V.24 M003
1 x kabel 5 adrig.
1 x D-SUB-Buchse, 9-polig weiblich
1 x 5-pol. DIN-Buchse männlich

Aufbau:
D-SUB-Buchse -> 5-pol. DIN-Buchse KC85 (zu M003 v.24 Modul)
3 TxD -> 1 RxD
2 RxD -> 3 TxD
5 GND -> 2 GND
4 DTR -> 4 CTS
8 CTS -> 5 DTR

Das Modul muss unbedingt, im ausgeschalteten Zustand eingesteckt werden. Der Robotron muss aus sein, sonst geht das Modul defekt.
Auch die Kabel, die ich hier zeige, müssen richtig aufgebaut werden. Das Modul kann es sehr übel nehmen und dabei beschädigt werden.
Jeder Robotron-Liebhaber weiß wie schwer es ist noch originale Module zu bekommen.

Sicht auf Lötseite! Unten im Foto die Steckeransicht.

Anwendung:
Programm „V24ALLGE“ muss nun geladen werden. Das Programm ist beim Modul dabei oder im Internet zu finden. Besser gesagt, die Software gab es wahlweise zum Modul dazu. Man musste aber die Software C0171/1 V 24 nicht dazu kaufen. Man konnte so etwas Geld sparen. Nach dem Ladevorgang, gebt „MENU“ ein und nun sollte V24ALLGE ganz oben stehen. Bei V24ALLGE ist nur senden möglich, dafür ist hier 9600 baud einzustellen.

PRINT#n (für Nummer) ist der Befehl um vom KC zum PC/Drucker zu senden.
INPUT#n ist zum Empfangen. Dafür muss aber das Programm „V24DUPL1“ oder „V24DUPL2“ geladen werden.
Die 1 / 2 am Ende ist der Kanal. Hat man z.B. das Serialkabel am Kanal 2, so kann man V24DUPL2 laden.
Man kann aber nachträglich umschalten.

Z.B. Wenn das Modul in Schacht 8 ist und man nun Kanal 2 zu Kanal 1 wechseln will:

V24DUP2 8 1 3

Hier muss man dann aber bei Putty 1200 Baud einstellen.

Ist das M003 V.24 Modul in Schacht 8, gebt ihr in CAOS folgendes ein:
V24 8 2 3

Ist das M003 V.24 Modul in Schacht c, muss 8 durch c ersetzt werden:
V24 C 2 3

Das Programm V24 wird jetzt in einer Schleife sein, solange bis die Verbindung bereit ist.
Wir benötigen jetzt Serial Tool. Ich habe hier das kostenlose Putty Tool im Einsatz.

Putty Einstellung:
Speed(baut): 9600
Data bits: 8
Parity: none
Flow Control: RTC/CTS

Wenn man nun die Verbindung herstellt, sollte nun die Schleife vom V24 Programm aufhören.
Putty sollte seine Empfangsbereitschaft gemeldet haben. Wenn nicht, unbedingt Kabel überprüfen, dann läuft etwas schief oder der Befehl ist falsch. Z. B. wenn man das Modul im Schacht 8 hat aber C verwendet oder im Kanal 2 steckt und Kanal 1 angegeben hat ,…
Es empfiehlt sich auch, das Modul M003 in Schacht 8 zu verwenden, wenn man keine weiteren Module aktiviert hat. Es gibt da sonst ab und zu Probleme.

Jetzt mit dem Befehl Basic ins Basic wechseln und folgenden Code zum Testen verwenden.


10 PRINT#3"I LIKE ROBOTRON"

Man kann einen Basiccode in eine Textdatei speichern.
Dazu muss man erst das Basicprogramm laden und dann folgenden Befehl eingeben:

List#3"V24TEST"

Nun wird der Text an Putty übergeben und man kann den Text kopieren.

Kommt Text bei Putty an, aber lauter seltsame Zeichen? Dann kann das an der falschen Baud Einstellung liegen. Z. B. wenn V24DUP verwendet wird. Hier ist der Standardwert 1200 baud und wenn man jetzt mit Putty 9600 baud zugreift, kommt das zu diesem Effekt.

Cordes CC 80 Funkrauchmelder

Gerade wenn man die Funkverbindung eingerichtet hat, halten die 2 x 1,5 V Batterien nur schlappe 3 Monate. Ich habe 12 Stück installiert, nicht einer ist über die 3 Monate gelaufen. Natürlich fangen dann die Rauchmelder an zu piepsen (Akustische Batteriewarnung) und das ist meistens in der Einschlummer zeit. Was sehr lustig ist, wenn man die ganze Wohnung damit ausgestattet hat. Cordes CC 80 Funkrauchmelder kosten aktuell ca. 18 -22€. Warum ich das Teil gekauft habe, war die Funk-Funktion. Schlägt ein Rauchmelder Alarm, gehen alle Rauchmelder los, die untereinander vernetzt wurden. Also kann man suchen, wer diesen Fehlalarm auslöst. Was positiv ist, ist die Lautstärke vom Alarm, das ist echt klasse.  Ach die LED stört uns im Schlafzimmer nicht.

Jetzt hat mich also mal interessiert warum die Batterien, so schnell ausgesaugt werden. Also habe ich das Teil geöffnet und die 433 MHz Funk Module entfernt.
Da Funk für mich so nicht brauchbar ist. Es funktioniert, aber ich wechsel nicht alle 3 mon. Batterien.

1 Modul ist für den Empfang, das 2 Modul zum Senden (Transmitter/Receiver). Deshalb die 2 schwarzen Drähte, die als Antenne dienen.

Jetzt halten die Batterien im Rauchmelder ewig, man sollte trotzdem 1-mal in der Woche die Rauchmelder prüfen und auch mal absaugen, um Fehlalarme zu vermeiden. Funk geht jetzt zwar nicht mehr, aber lieber das, als permanent Batterien löschen.

Robotron SD – Für KC85 / KC87 (Arduino Tape Emulator)

Anleitung und Projekt „Robotron SD“ ist noch im Aufbau!

Dieser Arduino Tape Emulator ist eine günstige und einfache alternative.
Aktuell wird nur WAV PCM 8bit mono 22kHz abgespielt, geplant ist noch die gängigen Robotron Dateien wie KCC, Tap und SSS.
Da ich aber er wenig zeit habe, suche ich noch Unterstützung für dies Projekt.
Das Projekt liegt aktuell auf Github: https://github.com/paranoid64/Robotron-SD-master Es soll auch eine Aufnahmefunktion zum Speichern hinzugefügt werden.

Hardware:
1 x Arduino Mega 2560
1 x LCD 16×02 HD44780 mit I2C-Interface
1 x LED 5mm Gelb
1 x LED 5mm Grün
1 x AUX 3,5 Klinkenbuchse/Einbaubuchse Audio 3 Pin
1 x SD Card Reader Adapter Modul 3.3V 5V Kartenleser für Arduino SPI ARM MCU
4 x Mini Taster/Drucktaster/Mikroschalter

1 Kabel zum Anschluss vom Robotron KC85 / KC87 Diodenstecker zum Arduino.

Anschluss:


Zum Vergrößern, bitte das Bild anklicken.

Software:
Arduino IDE 1.8.8
librarie LiquidCrystal_I2C
librarie TMRpcm
librarie SDFat

Die Datei „pcmConfig.h“ muss angepasst werden:

#define buffSize 128
#define SD_FULLSPEED
//#define HANDLE_TAGS
#define DISABLE_SPEAKER2
//#define USE_TIMER2

Download:
https://github.com/paranoid64/Robotron-SD-master

Pandora Box 5s 1299 umbau

Sharp MZ 700 – MZ-SD2CMT

Bisher habe ich immer ein altes Android Smartphone genutzt, dazu musste ich aber immer die Dateien in WAV umwandeln und dann mit einem Player die Daten abspielen. Klappt leider nur bei mehreren Versuchen, weil mal die Lautstärke zu laut oder zu leise ist , Player stürzt bei manchen wav dateien ab, …

Jetzt habe ich auf github das Projekt MZ-SD2CMT gefunden und habe dies gleich mal nachgebaut und bin begeistert.
MZ-SD2CMT kann MZF/MZT/M12/LEP oder WAV von SD-Karte am Sharp MZ-700 wiedergeben. Auch die anderen Probleme sind damit weg, wie Lautstärke, Player, ….

Hier die Bauanleitung + Code:
https://github.com/SHARPENTIERS/MZ-SD2CMT

Die Tasten waren mir aber nichts, darum habe ich einen Infrarot-Empfänger hinzugefügt (man kann z.B. VS1838B nehmen). Nun lässt sich das Ganze mit Fernbedienung steuern. Die Tasten funktionieren ganz normal.

Angeschlossen wurde der Infrarot-Empfänger so:

Infrarot-Empfänger VS1838B | Arduino
5V -> 5V
GND -> GND
Signal/Data -> PIN 49

Ich habe bereits Kontakt mit dem Entwickler aufgenommen, sodass dies vielleicht ein Teil vom Projekt wird.
Auf jeden Fall muss das erweiterte Sketch von mir auf das Arduino geladen werden.
Dazu muss aber noch zusätzlich die Library „IRremote“ in der Bibliotheksverwaltung hinzugefügt werden.
Diese kann mit dem Suchbegriff „IRremote“ gefunden und installiert werden.

Sobald das neue Sketch auf dem Arduino läuft, kann man im Serial Monitor von (Arduino IDE) sich die IR-Codes anschauen.
Man nimmt dazu einfach seine gewünschte IR Fernbedienung und drückt die Tasten, die man verwenden möchte.
Es ist egal welche Fernbedienung man nimmt, es kann eine alte Radio/Fernsehr,Videorecorder/DVD -,… Fernbedienung sein.

Bei mir ist das z.B.
Links – CH-
Rechts – CH+
Select – >|| (play)
up – > Forward
down – < replay

Beim Drücken der Fernbedienung wird eine Zahl angezeigt (Fernbedienungscodes), die man sich notieren muss und im Sketch angeben muss.
z.B.:

#define IR_right_code -7651 //CH+ key
#define IR_left_code -23971 //CH-
#define IR_up_code 8925 //preview key (<<) #define IR_down_code 765 //forwards key (>>)
#define IR_select_code -15811 //play key (>||)

Hier noch der Anschluss vom Arduino zum Sharp 700:


MZ-SD2CMT-master

Intel SS4000-E

Heute habe ich eine INTEL SS4000-E bekommen und gleich mal aufgeschraubt und siehe da, es ist ein 256MB UNB PC3200 RAM Riegel verbaut. Also habe ich mal gleich aus der Kiste einen größeren rausgesucht und auch gefunden. Leider nur 512 MB, aber immerhin etwas. Auf dem Webinterface war aber schon wieder nur 256 MB Ram ??? WHAT ????

Also mal weiter das Mainboard abgesucht und einen Serialanschluss gefunden. Also Lötkolben an und DB9 Male Stecker an DL10 gelötet:

DB9 Male Stecker noch am Gehäuse befestigt. Mit Putty folgende Serial Parameter hinterlegt:

Dann mit einem Null-Modemkabel am Laptop verbunden. Wenn man nun die Intel SS4000-E einschaltet, muss man ganz schnell STRG + C drücken!
So sollte das dann aussehen:

Jetzt ist man im RedBoot, hier werden die Images gebootet und da können wir jetzt die Parameter für MEM ändern so, dass wir mehr als nur 256 MB haben.
Gebt folgende Befehle ein:
RedBoot> fconfig boot_script true
RedBoot> fconfig boot_script_data

Es erscheint nun folgende Zeile:

Enter script, terminate with empty line

Gebt ab jetzt diese Zeilen nacheinander ein:

fis load ramdisk.gz

fis load zImage

exec -c „console=ttyS0,115200 rw root=/dev/ram0 init=/linuxrc initrd=0xa1800000,8M mem=512M@0xa0000000“

Damit die Einstellung übernommen wird, einfach eine Leerzeile mit enter/Return bestätigen.
Das Ganze sollte so aussehen:

Es erscheinen folgende Meldungen:

Update RedBoot non-volatile configuration - continue (y/n)? y
... Unlock from 0xf1fc0000-0xf1fc1000: .
... Erase from 0xf1fc0000-0xf1fc1000: .
... Program from 0x1ffd2000-0x1ffd3000 at 0xf1fc0000: .
... Lock from 0xf1fc0000-0xf1fc1000: .

Gebt jetzt Reset ein:

reset

Das System sollte jetzt starten und ihr solltet entweder im Terminal
euch als root anmelden mit euerem Passwort und dann free eingeben:

Oder Ihr geht auf das Webinterface im Browser:
https://xxx.xxx.xxx.xxx/advanced_statusF.cgi (xxx = IP der NAS)

Das war aber noch nicht alles, man kann auch noch SSL aktivieren : ). Das geht sogar ohne Serial/Terminal.
einfach im Browser eure NAS aufrufen:

https://xxx.xxx.xxx.xxx/ssh_controlF.cgi (xxx = IP der NAS)

Die CGI- und Webdateien liegen im Verzeichniss „/usr/local/ipstor/www/“

Hier muss man etwas geduldig sein, es dauert bis da SSH ON/OFF steht und wenn man ON drückt ist erst nach frühestens 60 Sekunden die Verbindung möglich! Ich habe das öfters gemacht, bis ich das verstanden habe ; ).

Leider lässt sich nicht so einfach Debian installieren, da dieser CPU nicht mehr unterstützt wird.
Das Problem ist, dass auf der NAS noch Samba 1 Protokoll läuft, das bei Windows 10 Default abgeschalten wurde.

Powershell als Administrator starten und folgendes eingeben:

Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Nach einem Neustart ist SMB 1 wieder aktiviert.
Deaktivieren kann man das wieder mit:

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

CTC Prusa i3 Pro B

Nachdem Marlin nun den Support für 8 Bit eingestellt hat, ist es die letzte Konfiguration, die ich hier hochlade. Ich werde jedenfalls nicht so schnell auf 32 Bit umstellen. Wohl er die Firmware wechseln : ). Finde ich schon seltsam, weil ich noch kein kenne der 32 Bit verwendet.

Zitat von Marlin: Marlin 1.1.9 is the final release of the 8-bit flat version of Marlin Firmware.

Firmware ist für folgende umbauten:

  • 24V Umbau
  • GT2560 Board
  • Geeetech MK8 Extruder
  • Trapetzgewinde 6M
  • DRV8825 Stepper treiber (32 Step)
  • RepRapDiscount FULL GRAPHIC Smart Controller

Download Marlin-1.1.9

Hier noch ein Druck mit 0.2 Düde 🙂, das ist für eine Logitech MK330 Tastatur, da waren die Füße abgebrochen.

Countdown mit 7-Segment LED Display und Alarm (Arduino)

Ich habe hier ein 7 Segment Display (XH-8401ARW) aus einem defekten Gerät ausgelötet und mal getestet. Aktuell läuft jede Millisekunde der Counter runter, bis der Counter 0 ist und dann gibt es einen Piepston von sich. Man kann natürlich auch eine LED, Motor, Stepper,… auslösen. Das Ganze geht natürlich auch mit anderen 7-Segment LED Displays. Vielleicht kann das ja mal jemand für sein Projekt gebrauchen ;).

1 x Arduino
4 x 1 KOhm Widerstand
1 x Buzzer
1 x 7-Segment LED Display

 

XH-8401ARW 7 Segment Display

Für den Code benötigt man „SevenSeg“ Library.

#include "SevSeg.h" //include Seven Seg. Library
SevSeg sevseg; //init Segment-object

int buzzerPin = A0; //pin for Sound
bool alarm = false;
int number=9999; //Counter value 1-9999

void setup()
{
byte numDigits = 4; //number of digits
byte digitPins[] = {2, 3, 4, 5}; //digit pins
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; //Pins Segment
sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins);
sevseg.setBrightness(90);
}

void loop()
{
static unsigned long timer = millis();
static int deciSeconds = 0;

if (millis() – timer >= 100) {
timer += 100;
deciSeconds++; // 100 milliSeconds is equal to 1 deciSecond
if(number>0){
number–;
}
if (deciSeconds == 10000) { // Reset to 0 after counting for 1000 seconds.
deciSeconds=0;
}
sevseg.setNumber(number, 4);
}

if(number==0 && alarm==false){
tone(buzzerPin, 1000, 2500);
alarm=true;
}

sevseg.refreshDisplay(); // Must run repeatedly

}

Ich übernehme natürlich keine Verantwortung für irgendwelche Schäden. Alles auf eigene Gefahr.
Code kann auch als ZIP runtergeladen werden.

7Seg-anzeige

CTC Prusa I3 Pro B 24 Volt Umbau

Ich habe heute den CTC Prusa I3 Pro B 3D Drucker wieder fertiggestellt. Diesmal läuft alles auf 24 Volt. Warum?? Weil mir das Aufheizen zu lang gedauert hat. Ich habe die Glasscheibe ja schon lange entfernt und durch eine 8mm Alu Pei beschichtete Dauerdruckplatte ersetzt. Ist der Drucker erst mal richtig eingerichtet, funktioniert das super. Aber mit 12V dauert das 15 min, bis die Platte auf 70° kommt. Danach wird erst das Hotend auf 210° für PLA aufgewärmt. Außerdem bekomme ich öfters Anfragen, wegen dem GT2560 Board. Hier stellt sich immer wieder raus, dass die Sicherungen durchgebrannt sind. Deshalb habe ich gleich ein Heated Bed High Power Module Expansion Board MOS Tube TE757 verwendet, damit das GT2560 Board entlastet wird. Das MK2 verbraucht am meisten Leistung, deshalb habe ich nur das Heizbett ausgelagert.

Wichtige Anmerkung: Der Umbau geschieht auf eigene Gefahr. Es können keinerlei Haftungsansprüche bei Funktionsausfällen oder Unregelmäßigkeiten gegenüber mir oder anderen Personen gemacht werden!

Benötigte Teile:

2 x Axial-Lüfter 40x40x10mm 24V= 11,9m³/h 5800U/min SUNON
1 x Hotend 24V 40W – 60W
1 x MK3 Heizbett/Heat Bed
1 x Schaltnetzteil 24V / 20A 480W (21,6 x 11,4 x 5.0 cm)
1 x Heated Bed High Power Module Expansion Board MOS Tube TE757

Beim 24V Umbau gibt es eigentlich nicht viel zu sagen. Alle 12V Teile entfernen, 24V Bauteile ran.
Also das 12V Netzteil, alle 12 Volt Lüfter, MK2 Heizbett (das von CTC kann man nicht auf 24V umbauen) und 12V Hotend muss getauscht werden. Habt ihr noch mehr 12V Geräte dran wie z.B. ich die Selbstbau LED’s am Extruder, müssen die auch auf 24V umgebaut oder ausgetauscht werden.

Hier das Schaltnetzteil 24V / 20A 480W (21,6 x 11,4 x 5.0 cm), Bohrlöcher vom 12V Netzteil passen nicht und man muss neue Löcher bohren. Jenachdem welche Größe ihr besorgt.

Auf dem GT2560 Board muss noch ein Jumper 2 für 24V gesetzt werden.


MK3 Heizbett muss noch auf 24V umgelötet werden, ausgeliefert wurde es bei mir als 12V!
Das ist ganz wichtig, sonst raucht im schlimmsten Fall sogar E^euer Board gt2560 ab.

Zum Schluss muss man noch die Firmware anpassen. Ich habe jetzt hier Marlin 1.1.8 konfiguriert. Diese Version funktioniert aber nur mit CTC i3 Pro B mit folgenden Umbau:

– MK3 Heizbett 24 Volt!
– GT2560 Board 24 Volt
– T8 Gewinde Trapezgewinde Gewindestange Z Achse
– DRV8825 Stepper Motor Treiber, 32 Step !
– RepRapDiscount Full Graphic Smart Controller
– 0,3mm Extruder Düse Nozzle 3D
– MK8 Extruder

Da ich ja hier schnell die Platte aufheizen möchte, ist das MK3 Heizbett in der Firmware auf volle Leistung ausgelegt. Darum sollte man das nicht direkt mit dem GT2560 betrieben werden. Am besten das Board GT2560 mit einem MOS Tube TE757 entladen. Der Umbau geschieht auf eigene Gefahr, genau so die Verwendung der Firmware! Es können keinerlei Haftungsansprüche bei Funktionsausfällen oder Unregelmäßigkeiten gegenüber mir oder anderen Personen gemacht werden! Ich habe hier mehrfach darauf hingewiesen.