Benutzer:Hansinator: Unterschied zwischen den Versionen
Aus LaborWiki
KKeine Bearbeitungszusammenfassung |
(added link to Beej's Guide to Network Programming) |
||
(85 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
< | <div style="background:black;color:#00E000;padding:10px"> | ||
<div style="font-weight:bold;font-size:42px;padding-top:10px;padding-bottom:23px">Hallo und willkommen auf meiner Seite!!!1!1!11</div> | |||
== <span style="color:#00E000">Was ich so mache</span> == | |||
* Ich bastele gelegentlich an Robotern, siehe unten | |||
* Ich programmiere manchmal Animationen für die Borgs | |||
* Alle farbigen Borgs haben Plasmaeffekte von mir :-) | |||
* Ich habe an der rfm12lib, dem rfm12usb und dem rfm12 Bootloader mitgebastelt..<br/>ausserdem benutze ich rfm12s in meinen Projekten | |||
* Ich bringe Design in das Wiki! | |||
* Ich habe schon mal ein Kind gelötet... | |||
* Manchmal helfe ich bei der Labortage Orga | |||
* Ich pflege die Sourcecodes des [[CAN-Gateway]] und des [[Cand]] | |||
* Ich habe eine experimentelle Steuerung für die Lernroboterarme im Labor gebaut..<br/>.. aber nirgends dokumentiert, keinen source hochgeladen und die Platine mit handschriftlichem Schaltplan zuhause.. shame on me ^^ | |||
* .. äh, das gleiche gillt für einen Tschibo Staubsaugerroboter... damnit, I see a pattern here... | |||
== <span style="color:#00E000">Spannende Links</span> == | |||
* [http://web.archive.org/web/20030201183139/mpt.phrasewise.com/discuss/msgReader$173 Why Free Software usability tends to suck] | |||
* [http://cwe.mitre.org/top25/ Top 25 Most Dangerous Programming Errors] | |||
* [http://illegalargumentexception.blogspot.com/2008/10/java-how-not-to-make-mess-of-stream.html Java: how not to make a mess of stream handling] | |||
* [http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux] | |||
* [http://stackoverflow.com/questions/3437404/min-and-max-in-c MIN and MAX in C] | |||
* [http://graphics.stanford.edu/~seander/bithacks.html Bit Twiddling Hacks] | |||
* [http://www.gnu.org/licenses/license-list.html Various Licenses and Comments about Them] | |||
* [http://tryhaskell.org/ Try Haskell in your browser! An interactive tutorial for the Haskell programming language] | |||
* [http://www.joelonsoftware.com/articles/Unicode.html What every programmer should know about Unicode] | |||
* '''[http://c-faq.com/index.html C-FAQ]''' | |||
* '''[http://www.parashift.com/c++-faq-lite/index.html C++-FAQ]''' | |||
* [http://floating-point-gui.de/ What Every Programmer Should Know About Floating-Point Arithmetic] | |||
* [http://www.sensorsportal.com/HTML/Sensor.htm Comprehensive List of Sensors and Manufacturers] | |||
* [http://beej.us/guide/bgnet/ Beej's Guide to Network Programming] | |||
* Useful hints about select, pselect, poll, ppoll & epoll | |||
** [http://www.unixguide.net/network/socketfaq/2.14.shtml Whats the difference between select() and poll()?] | |||
** [http://stackoverflow.com/questions/970979/what-are-the-differences-between-poll-and-select What are the differences between poll and select?] | |||
** [http://stackoverflow.com/questions/9774986/linux-select-vs-ppoll-vs-pselect Linux select() vs ppoll() vs pselect() and race conditions] | |||
** [http://lwn.net/Articles/176911/ The new pselect() system call] | |||
** [http://stackoverflow.com/questions/2032598/caveats-of-select-poll-vs-epoll-reactors-in-twisted Caveats of select/poll vs. epoll reactors in Twisted] | |||
** [http://lse.sourceforge.net/epoll/index.html epoll Scalability Web Page] | |||
* [http://lse.sourceforge.net/ Linux Scalability Effort Homepage] | |||
* [http://taz.de/!77472/ Die Welt der Pirahã-Indianer: Ein Leben ohne Angst und Sorgen] | |||
* [http://bullschiet.de/temp/help.html Kleine Hilfestellung für den Heizungs-Nichtfachmann] | |||
* [http://sleepyti.me/ sleepyti.me bedtime calculator] | |||
== <span style="color:#00E000">Brainstorming</span> == | |||
* [[HAP Version 0]]<br />Ein Protokoll zur Hausautomatisierung | |||
* [[LCAP]]<br />Labor CAN Automation Protocol | |||
* [[/Projektseiteneubauen|Projektseite neu bauen]] | |||
== <span style="color:#00E000">Mein(e) Robo(s)</span> == | |||
[[Bild:Roboter.jpg|thumb|260px|<span style="color:black">Hansis Roboter</span>]] | |||
Rechts sieht man mein aktuelles Roboterprojekt, den [[Shr0dBot]]. | |||
Vielen Dank an [[Benutzer:Mati|Mati]] für das Foto!<br style="clear:both" /> | |||
== <span style="color:#00E000">Kunst im Lab</span> == | |||
Das habe ich mal gemalt, als ich die bunte Kreide fand. | |||
[[Bild:Tafel.JPG||1024px|Tafel]] | |||
== <span style="color:#00E000">VacuBot</span> == | |||
<pre style="background:#0F0F0F;color:#E000A0;font-size:16px"> | |||
==== MOTORCTRL ATMEGA8 PIN CONFIGURATION ==== | |||
Names in () are or were planned. | |||
Pins marked with [in] are inputs, whilst the ones marked with [out] are outputs. | |||
All other pins make use of their respective special function(s). | |||
** GENERIC | |||
XTAL1,2 - 16MHZ, no capacitors | |||
VCC, | |||
AVCC - +5V, 100nF | |||
GND - COMMON GROUND | |||
** PORT B | |||
0 - VACCUUM CLEANER DRIVE ON/OFF [out] | |||
1 - PWM MOTOR 1 [OC1A] | |||
2 - ISP [SPI SS], PWM MOTOR 2 [OC1B] | |||
3 - ISP [SPI MOSI], WHEEL/MOTOR 1 LIFTOFF DETECTOR [in, int. pullup] | |||
4 - ISP [SPI MISO], WHEEL/MOTOR 2 LIFTOFF DETECTOR [in, int. pullup] | |||
5 - ISP [SPI SCK], FRONT LIFTOFF DETECTOR [in, int. pullup] | |||
6 - XTAL1 | |||
7 - XTAL2 | |||
** PORT C | |||
0 - BATTERY POWER DIVIDER (1nF load) [ADC0] | |||
1 - MOTOR 1 CURRENT MEASUREMENT (capacitive load?) [ADC1] | |||
2 - MOTOR 2 CURRENT MEASUREMENT (capacitive load?) [ADC2] | |||
3 - ACCU LOADER ON/OFF [out] | |||
4 - TWI SLAVE [SDA] | |||
5 - TWI SLAVE [SCL] | |||
6 - RESET | |||
** PORT D | |||
0 - MOTOR 2 FORWARD [out] | |||
1 - MOTOR 2 REVERSE [out] | |||
2 - ENCODER A [in] | |||
3 - ENCODER B [in] | |||
4 - MOTOR 1 FORWARD [out] | |||
5 - MOTOR 1 REVERSE [out] | |||
6 - BRUSH DRIVE 1 ON/OFF [out] | |||
7 - BRUSH DRIVE 2 ON/OFF [out] | |||
** FREE | |||
PD6, PD7 | |||
==== MOTORCTRL MISC STUFF ==== | |||
* Encoder IR-Diodes 1k ?? (re-evaluate) | |||
* How to connect phototransistors? I can remeber they had 1k resistors on em. (See on orig. board) | |||
* Use 1/8th Voltage divider (14.4 / 8 = 1.6V -> 12 cells * 1.5V max = 18V -> 18/8 = 2,25V) | |||
* Use logic level fets for vacuum and brush motor turnon/off | |||
* Reverse engineer loader circuit, reuse relais if it could cut loader power | |||
* Use L6202 motor driver ICs | |||
* Motor current: | |||
** Blocked motor draws max. ~800mA | |||
** Normal operation ~350mA | |||
** 0.1 ohm current sense resistors | |||
** Max ~80mV sense voltage | |||
** ~35mV in normal operation | |||
** 25 times amplification to use with adc @ 2.56V internal reference | |||
** Use lm358 opamp | |||
* What do the two diodes @ current sense / gnd do? | |||
* atmega input with pullup -> encoder phototransistors -> 4,7k -> gnd | |||
They used: | |||
* L289 for motor control | |||
* 14.4V motor power | |||
* LM2565T switching power supply for logic | |||
* IR-led + phototransistor for encoders | |||
** 14.4V+1K for leds | |||
** ~2.3V / 11mA for leds | |||
** Try 220ohm @ 5V (should be around 12-13mA) | |||
** Phototransistors are pulled up by 10k or something (one has 10k, one has something else) | |||
==== MAINBOARD SPECS ==== | |||
* Use the fat 128k flash / 16k ram 40pin DIP Atmega | |||
* Probably use a switched power supply -> ask peter for that chip | |||
* Think of creative use for the big fat atmel | |||
* Use rfm12 | |||
</pre> | </pre> | ||
{{ | |||
=== <span style="color:#00E000"> Hansinator's MotorCTRL Board</span> === | |||
* Both L6202 are correctly connected to motor and atmega | |||
** Need a solution for current sensing | |||
== <span style="color:#00E000">svn notizen</span> == | |||
<pre style="background:#0F0F0F;color:#E000A0;font-size:16px"> | |||
someday this needs to be patched to use crc and stuff, as in trunk | |||
./src-atmel/automatization2.0/cand/branch/usb_support/ | |||
ask sören about branch -> delete | |||
./src-host/src/cand-ucspi_tcp/config.h:8:#define UART_HOST | |||
ask peter which source is for moodbar (src-atmel/theke or src-atmel/moodbar) | |||
-> one is crap, the other doesn't work... | |||
ask peter about ruby lapd | |||
</pre> | |||
== <span style="color:#00E000">bash the sources</span> == | |||
<pre style="background:#0F0F0F;color:#E000A0;font-size:16px"> | |||
# grep for stuff | |||
grep -Hirn UART_HOST . | grep config | grep -v svn > uarthost.txt | |||
# print all files in uarthost.txt (grep output) | |||
for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do echo $i; done | |||
# remove all occurences of uart host define in files | |||
for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do sed -e '/#define UART_HOST/d' < $i > $i.new; done | |||
for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do mv $i.new $i; done | |||
# revert files... | |||
for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do svn revert $i; done | |||
</pre> | |||
== <span style="color:#00E000">reichelt temp</span> == | |||
<pre style="background:#0F0F0F;color:#E000A0;font-size:16px"> | |||
Name Bestellnummer Bauteil E-Preis Anzahl G-Preis | |||
---------------------------------------------------------------------------------------------------- | |||
Hansi LM 75 SMD Sensor 1.45€ 4 5.80 € | |||
Hansi SHS A5 Sensor 7,30€ 1 7,30 € | |||
Hansi TSIC 206 TO92 Sensor 4,20€ 1 4,20 € | |||
Hansi A 906013 Widerstand 0,95€ 4 3,80 € | |||
Hansi BA 282 Diode 0,06 5 0,29 € | |||
Hansi BAX 16 Diode 0,05 5 0,25 € | |||
Hansi BAY 93 Diode 0,05 5 0,25 € | |||
</pre> | |||
1µH, 10µH, 50µH, 470µH, 10mH | |||
</div> |
Aktuelle Version vom 16. März 2013, 03:07 Uhr
Hallo und willkommen auf meiner Seite!!!1!1!11
Was ich so mache[Bearbeiten | Quelltext bearbeiten]
- Ich bastele gelegentlich an Robotern, siehe unten
- Ich programmiere manchmal Animationen für die Borgs
- Alle farbigen Borgs haben Plasmaeffekte von mir :-)
- Ich habe an der rfm12lib, dem rfm12usb und dem rfm12 Bootloader mitgebastelt..
ausserdem benutze ich rfm12s in meinen Projekten - Ich bringe Design in das Wiki!
- Ich habe schon mal ein Kind gelötet...
- Manchmal helfe ich bei der Labortage Orga
- Ich pflege die Sourcecodes des CAN-Gateway und des Cand
- Ich habe eine experimentelle Steuerung für die Lernroboterarme im Labor gebaut..
.. aber nirgends dokumentiert, keinen source hochgeladen und die Platine mit handschriftlichem Schaltplan zuhause.. shame on me ^^ - .. äh, das gleiche gillt für einen Tschibo Staubsaugerroboter... damnit, I see a pattern here...
Spannende Links[Bearbeiten | Quelltext bearbeiten]
- Why Free Software usability tends to suck
- Top 25 Most Dangerous Programming Errors
- Java: how not to make a mess of stream handling
- A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux
- MIN and MAX in C
- Bit Twiddling Hacks
- Various Licenses and Comments about Them
- Try Haskell in your browser! An interactive tutorial for the Haskell programming language
- What every programmer should know about Unicode
- C-FAQ
- C++-FAQ
- What Every Programmer Should Know About Floating-Point Arithmetic
- Comprehensive List of Sensors and Manufacturers
- Beej's Guide to Network Programming
- Useful hints about select, pselect, poll, ppoll & epoll
- Linux Scalability Effort Homepage
- Die Welt der Pirahã-Indianer: Ein Leben ohne Angst und Sorgen
- Kleine Hilfestellung für den Heizungs-Nichtfachmann
- sleepyti.me bedtime calculator
Brainstorming[Bearbeiten | Quelltext bearbeiten]
- HAP Version 0
Ein Protokoll zur Hausautomatisierung - LCAP
Labor CAN Automation Protocol - Projektseite neu bauen
Mein(e) Robo(s)[Bearbeiten | Quelltext bearbeiten]
Rechts sieht man mein aktuelles Roboterprojekt, den Shr0dBot.
Vielen Dank an Mati für das Foto!
Kunst im Lab[Bearbeiten | Quelltext bearbeiten]
Das habe ich mal gemalt, als ich die bunte Kreide fand.
VacuBot[Bearbeiten | Quelltext bearbeiten]
==== MOTORCTRL ATMEGA8 PIN CONFIGURATION ==== Names in () are or were planned. Pins marked with [in] are inputs, whilst the ones marked with [out] are outputs. All other pins make use of their respective special function(s). ** GENERIC XTAL1,2 - 16MHZ, no capacitors VCC, AVCC - +5V, 100nF GND - COMMON GROUND ** PORT B 0 - VACCUUM CLEANER DRIVE ON/OFF [out] 1 - PWM MOTOR 1 [OC1A] 2 - ISP [SPI SS], PWM MOTOR 2 [OC1B] 3 - ISP [SPI MOSI], WHEEL/MOTOR 1 LIFTOFF DETECTOR [in, int. pullup] 4 - ISP [SPI MISO], WHEEL/MOTOR 2 LIFTOFF DETECTOR [in, int. pullup] 5 - ISP [SPI SCK], FRONT LIFTOFF DETECTOR [in, int. pullup] 6 - XTAL1 7 - XTAL2 ** PORT C 0 - BATTERY POWER DIVIDER (1nF load) [ADC0] 1 - MOTOR 1 CURRENT MEASUREMENT (capacitive load?) [ADC1] 2 - MOTOR 2 CURRENT MEASUREMENT (capacitive load?) [ADC2] 3 - ACCU LOADER ON/OFF [out] 4 - TWI SLAVE [SDA] 5 - TWI SLAVE [SCL] 6 - RESET ** PORT D 0 - MOTOR 2 FORWARD [out] 1 - MOTOR 2 REVERSE [out] 2 - ENCODER A [in] 3 - ENCODER B [in] 4 - MOTOR 1 FORWARD [out] 5 - MOTOR 1 REVERSE [out] 6 - BRUSH DRIVE 1 ON/OFF [out] 7 - BRUSH DRIVE 2 ON/OFF [out] ** FREE PD6, PD7 ==== MOTORCTRL MISC STUFF ==== * Encoder IR-Diodes 1k ?? (re-evaluate) * How to connect phototransistors? I can remeber they had 1k resistors on em. (See on orig. board) * Use 1/8th Voltage divider (14.4 / 8 = 1.6V -> 12 cells * 1.5V max = 18V -> 18/8 = 2,25V) * Use logic level fets for vacuum and brush motor turnon/off * Reverse engineer loader circuit, reuse relais if it could cut loader power * Use L6202 motor driver ICs * Motor current: ** Blocked motor draws max. ~800mA ** Normal operation ~350mA ** 0.1 ohm current sense resistors ** Max ~80mV sense voltage ** ~35mV in normal operation ** 25 times amplification to use with adc @ 2.56V internal reference ** Use lm358 opamp * What do the two diodes @ current sense / gnd do? * atmega input with pullup -> encoder phototransistors -> 4,7k -> gnd They used: * L289 for motor control * 14.4V motor power * LM2565T switching power supply for logic * IR-led + phototransistor for encoders ** 14.4V+1K for leds ** ~2.3V / 11mA for leds ** Try 220ohm @ 5V (should be around 12-13mA) ** Phototransistors are pulled up by 10k or something (one has 10k, one has something else) ==== MAINBOARD SPECS ==== * Use the fat 128k flash / 16k ram 40pin DIP Atmega * Probably use a switched power supply -> ask peter for that chip * Think of creative use for the big fat atmel * Use rfm12
Hansinator's MotorCTRL Board[Bearbeiten | Quelltext bearbeiten]
- Both L6202 are correctly connected to motor and atmega
- Need a solution for current sensing
svn notizen[Bearbeiten | Quelltext bearbeiten]
someday this needs to be patched to use crc and stuff, as in trunk ./src-atmel/automatization2.0/cand/branch/usb_support/ ask sören about branch -> delete ./src-host/src/cand-ucspi_tcp/config.h:8:#define UART_HOST ask peter which source is for moodbar (src-atmel/theke or src-atmel/moodbar) -> one is crap, the other doesn't work... ask peter about ruby lapd
bash the sources[Bearbeiten | Quelltext bearbeiten]
# grep for stuff grep -Hirn UART_HOST . | grep config | grep -v svn > uarthost.txt # print all files in uarthost.txt (grep output) for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do echo $i; done # remove all occurences of uart host define in files for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do sed -e '/#define UART_HOST/d' < $i > $i.new; done for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do mv $i.new $i; done # revert files... for i in $( gawk -F : '{ print $1 }' uarthost.txt ); do svn revert $i; done
reichelt temp[Bearbeiten | Quelltext bearbeiten]
Name Bestellnummer Bauteil E-Preis Anzahl G-Preis ---------------------------------------------------------------------------------------------------- Hansi LM 75 SMD Sensor 1.45€ 4 5.80 € Hansi SHS A5 Sensor 7,30€ 1 7,30 € Hansi TSIC 206 TO92 Sensor 4,20€ 1 4,20 € Hansi A 906013 Widerstand 0,95€ 4 3,80 € Hansi BA 282 Diode 0,06 5 0,29 € Hansi BAX 16 Diode 0,05 5 0,25 € Hansi BAY 93 Diode 0,05 5 0,25 €
1µH, 10µH, 50µH, 470µH, 10mH