Benutzer:Hansinator: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
(added link to Beej's Guide to Network Programming)
 
(89 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
w00t
<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>


<pre>
== <span style="color:#00E000">Was ich so mache</span> ==
50x, KERKO 100N, 3,60
* Ich bastele gelegentlich an Robotern, siehe unten
4x, LM 324 DIL, 0,48
* Ich programmiere manchmal Animationen für die Borgs
2x, L 293 D, 2,40
* Alle farbigen Borgs haben Plasmaeffekte von mir :-)
2x L 298, 5,50
* Ich habe an der rfm12lib, dem rfm12usb und dem rfm12 Bootloader mitgebastelt..<br/>ausserdem benutze ich rfm12s in meinen Projekten
10x, µA 7805, 1,70
* Ich bringe Design in das Wiki!
4x, ATMEGA 8-16 DIP, 5,00
* Ich habe schon mal ein Kind gelötet...
4x, ATMEGA 32-16 DIP, 11,60
* Manchmal helfe ich bei der Labortage Orga
1x, ATMEGA 644-20 PU, 5,99
* Ich pflege die Sourcecodes des [[CAN-Gateway]] und des [[Cand]]
2x, UST-40R, 7,80
* 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 ^^
2x, UST-40T, 7,80
* .. äh, das gleiche gillt für einen Tschibo Staubsaugerroboter... damnit, I see a pattern here...
4x, GS 40P
 
 
== <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>
 
 
=== <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>
</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]

Brainstorming[Bearbeiten | Quelltext bearbeiten]


Mein(e) Robo(s)[Bearbeiten | Quelltext bearbeiten]

Hansis Roboter

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.

Tafel


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